Introducción
En este proyecto, aprenderás a crear una base de datos de sistema de gestión de personal utilizando MySQL. La base de datos almacenará información sobre empleados, sus unidades de trabajo y detalles residenciales.
👀 Vista previa
MariaDB [companySys]> DESC company;
+--------------+-------------+------+-----+---------+-------+
| Campo | Tipo | Nulo | Clave | Predeterminado | Extra |
+--------------+-------------+------+-----+---------+-------+
| nombre_empresa | varchar(50) | NO | PRI | NULL | |
| ciudad | varchar(10) | YES | | NULL | |
+--------------+-------------+------+-----+---------+-------+
2 filas en el conjunto (0,001 segundos)
🎯 Tareas
En este proyecto, aprenderás:
- Cómo acceder a MySQL utilizando el comando
sudo - Cómo crear una base de datos llamada
companySys - Cómo crear tres tablas:
company,workyemploy - Cómo establecer las restricciones adecuadas de clave primaria y clave externa para cada tabla
- Cómo insertar datos en las tablas
🏆 Logros
Después de completar este proyecto, podrás:
- Comprender los conceptos básicos de creación y gestión de bases de datos
- Implementar operaciones CRUD (Crear, Leer, Actualizar, Eliminar) en una base de datos relacional
- Establecer relaciones entre tablas utilizando claves primarias y claves externas
- Administrar y manipular datos en una base de datos de sistema de gestión de personal
Acceder a MySQL y crear la base de datos
En este paso, aprenderás a acceder a MySQL utilizando el comando sudo y a crear la base de datos companySys.
- Abra una terminal y ejecute el siguiente comando para iniciar el servicio MySQL:
sudo service mysql start
- Acceda a MySQL utilizando el comando
sudo:
sudo mysql
- Abra el archivo
creatComDatabase.sql. - En el archivo
creatComDatabase.sql, cree la base de datoscompanySyscon el conjunto de caracteres UTF-8:
CREATE DATABASE IF NOT EXISTS companySys DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
- Utilice la base de datos
companySys:
USE companySys;
Crear las tablas
En este paso, crearás las tres tablas: company, work y employ.
- Abre el archivo
creatComDatabase.sqly crea las siguientes tablas en el archivo en orden. - Crea la tabla
company:
CREATE TABLE IF NOT EXISTS company (
company_name varchar(50) NOT NULL,
city varchar(10),
PRIMARY KEY (company_name)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
- Crea la tabla
work:
CREATE TABLE IF NOT EXISTS work (
per_name varchar(10) NOT NULL,
company_name varchar(50),
salary decimal(10,2),
PRIMARY KEY (per_name),
FOREIGN KEY (company_name) REFERENCES company(company_name)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
- Crea la tabla
employ:
CREATE TABLE IF NOT EXISTS employ (
id int NOT NULL,
person_name varchar(10),
street varchar(100),
city varchar(10),
PRIMARY KEY (id),
FOREIGN KEY (person_name) REFERENCES work(per_name)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
Insertar los datos
En este paso, insertarás los datos en las tres tablas.
- Abre el archivo
creatComDatabase.sqly continúa desde el paso anterior para agregar la siguiente instrucción sql. - Inserta datos en la tabla
company:
INSERT INTO company (company_name, city) VALUES
('ABC Company', 'New York'),
('LabEx', 'London'),
('Company 3', 'Paris');
- Inserta datos en la tabla
work:
INSERT INTO work (per_name, company_name, salary) VALUES
('John', 'ABC Company', 5000.00),
('Jane', 'LabEx', 6000.00),
('Mary', 'Company 3', 5500.00);
- Inserta datos en la tabla
employ:
INSERT INTO employ (id, person_name, street, city) VALUES
(1, 'John', '123 Main Street', 'New York'),
(2, 'Jane', '456 Park Avenue', 'London'),
(3, 'Mary', '789 Broadway', 'Paris');
Verificar la base de datos
En este paso, verificaras la base de datos describiendo las tablas.
- En el cliente MySQL, ejecuta el siguiente comando para ejecutar el script SQL:
MariaDB [(none)]> SOURCE /home/labex/project/creatComDatabase.sql;
- Describe la tabla
company:
DESC company;
MariaDB [companySys]> DESC company;
+--------------+-------------+------+-----+---------+-------+
| Campo | Tipo | Nulo | Clave | Predeterminado | Extra |
+--------------+-------------+------+-----+---------+-------+
| nombre_empresa | varchar(50) | NO | PRI | NULL | |
| ciudad | varchar(10) | YES | | NULL | |
+--------------+-------------+------+-----+---------+-------+
2 filas en el conjunto (0,001 segundos)
- Describe la tabla
employ:
DESC employ;
MariaDB [companySys]> DESC employ;
+-------------+--------------+------+-----+---------+-------+
| Campo | Tipo | Nulo | Clave | Predeterminado | Extra |
+-------------+--------------+------+-----+---------+-------+
| id | int(11) | NO | PRI | NULL | |
| nombre_persona | varchar(10) | YES | MUL | NULL | |
| calle | varchar(100) | YES | | NULL | |
| ciudad | varchar(10) | YES | | NULL | |
+-------------+--------------+------+-----+---------+-------+
4 filas en el conjunto (0,001 segundos)
- Describe la tabla
work:
DESC work;
MariaDB [companySys]> DESC work;
+--------------+---------------+------+-----+---------+-------+
| Campo | Tipo | Nulo | Clave | Predeterminado | Extra |
+--------------+---------------+------+-----+---------+-------+
| nombre_persona | varchar(10) | NO | PRI | NULL | |
| nombre_empresa | varchar(50) | YES | MUL | NULL | |
| salario | decimal(10,2) | YES | | NULL | |
+--------------+---------------+------+-----+---------+-------+
3 filas en el conjunto (0,001 segundos)
¡Has creado con éxito la base de datos del sistema de gestión de personal e insertado los datos! ¡Felicidades!
Resumen
¡Felicidades! Has completado este proyecto. Puedes practicar más laboratorios en LabEx para mejorar tus habilidades.
