Formato de Reporte de Practica FBD
Formato de Reporte de Practica FBD
Formato de Reporte de Practica FBD
ANDRES TUXTLA
AREA ACADEMICA
ELABORADO POR:
AREA ACADEMICA
ASIGNATURA: FUNDAMENTOS
DE BASE DE DATOS
PRÁCTICA NO. NOMBRE DE LA PRÁCTICA:COMANDOS
BASICOS PARA CREACION DE BASE DE
DATOS, INSERCION DE REGISTROS
FUNDAMENTO TEORICO
MATERIAL/EQUIPO
COMPUTADORA
METODOLOGIA Y DESARROLLO
Para el desarrollo de esta PRACTICA nos vamos a basar en el modelo entidad relación
utilizando como nombre de la base de datos la palabra compania en lugar de compañía,
debido a que el gestor de bases de datos presenta problemas con caracteres especiales
como la ñ y tildes en la línea de comandos.
AREA ACADEMICA
La creación de la base de datos se puede hacer de diferentes formas, una de ellas es por
medio de la línea de comando en DOS, en el menú inicio > todos los programas
>accesorios > símbolo del sistema, ejecutamos la siguiente línea de comando para
realizar la conexión a MySQL:
MySQL –u root –p
AREA ACADEMICA
Una vez creada la base de datos, debemos ingresar a la misma para poder manipularla,
ya sea creando tablas, ingresando datos, etc.
USE compania;
Mostrar el resultado de la aplicación del comando
La base de datos se crea solo una vez pero cada vez que iniciemos una sesión en
MySQL es necesario seleccionarla para hacer cambios dentro de la misma con la
instrucción anterior.
AREA ACADEMICA
Relación N:M
Cuando existe una relación de este tipo (varios a varios), se debe crear una nueva tabla,
la cual estará compuesta por los atributos de la relación en caso de tenerlos, además de
las llaves primarias de las entidades que participan en la relación
En este caso se creará una nueva tabla llamada Trabaja_en, cuyas llaves serán la cédula
del empleado y el número del proyecto, además del atributo horas que pertenece a la
relación.
EMPLEADO (nombre, apellido, ci, fecha_n, dirección, sexo, salario, superci, dno)
PROYECTO (pnombre, pnumero, plocal, dnum)
TRABAJA_EN (eci, pno, horas)
Relación 1:N
En el caso de que exista este tipo de relación (uno a varios), se realiza una propagación
de la llave de la tabla N hacia la tabla 1.
Existen casos en los que es recomendable no propagar la llave sino transformar a la
relación en una tabla nueva, como si se tratara de una relación N:M, como por ejemplo:
• Cuando el número de ocurrencias es muy pequeño, esto es para evitar valores nulos.
• Cuando se considera que a futuro la relación se convertirá en una relación N:M.
• Cuando existen atributos propios de la relación.
Relación 1:1
En este tipo de relación (uno a uno), se realiza una propagación de llave, esto se puede
hacer de forma bidireccional, es recomendable propagar la llave de la entidad con
participación parcial a la entidad con participación total.
AREA ACADEMICA
empleado como jefe del mismo, pero no todos los empleados van a ser jefes de algún
departamento.
EMPLEADO (nombre, apellido, ci, fecha_n, dirección, sexo, salario, superci, dno)
DEPARTAMENTO (dnombre, dnumero, jefeci, fecha)
En caso de que las dos entidades tengan participación parcial, es recomendable crear
otra tabla con la relación, en el siguiente ejemplo se considera que pueden haber
departamentos que no tengan jefe, en el cual, es recomendable la creación de una nueva
tabla, debido a la participación parcial de las dos entidades.
EMPLEADO (nombre, apellido, ci, fecha_n, dirección, sexo, salario, superci, dno)
DEPARTAMENTO (dnombre, dnumero)
JEFE (ci,dnumero,fecha)
Creación de Tablas
En este momento la base de datos se encuentra vacía, esto se lo puede comprobar
utilizando la siguiente instrucción:
SHOW TABLES;
Como resultado obtendremos el mensaje “Empty set” que quiere decir que la base de
datos no tiene tablas creadas aun.
Para comenzar a crear las tablas de la base de datos usamos el comando CREATE de la
siguiente forma:
AREA ACADEMICA
EMPLEADO
DEPARTAMENTO
LOCALIZACIONES
AREA ACADEMICA
AREA ACADEMICA
Para verificar que las tablas fueron creadas correctamente utilizamos la función SHOW
TABLES, esta nos mostrará el nombre de las tablas existentes en nuestra base de datos.
Si queremos ver a detalle los campos que contiene la tabla, utilizaremos la función
DESCRIBE [nombre de la tabla], se mostrará el contenido de la tabla seleccionada.
Se conoce como llave primaria al campo de la tabla que es único, es decir, no puede
repetirse y por el cual se podrá identificar y relacionar claramente toda la información de
AREA ACADEMICA
uno o varios registros de una o varias tablas. La llave primaria no puede ser un valor nulo
o NULL y una tabla solo puede tener una llave primaria.
Para crear llaves primarias en una tabla utilizamos la siguiente instrucción:
Tabla Empleado:
ALTER TABLE empleado
ADD PRIMARY KEY (ci);
Tabla Departamento:
ALTER TABLE departamento
ADD PRIMARY KEY (dnumero);
Tabla Proyecto:
ALTER TABLE proyecto
ADD PRIMARY KEY (pnumero);
AREA ACADEMICA
Proyecto
Llaves Foráneas
Se conoce como llave foránea a los campos que vienen de las relaciones entre tablas en
el modelo entidad relación. Al igual que las llaves primarias, las foráneas tampoco
pueden tener valor nulo y una tabla puede tener más de una llave foránea.
Para crear llaves foráneas debemos indicar como se manejará la base de datos en caso
de que un registro de la tabla principal sea borrado o actualizado, utilizamos la siguiente
instrucción:
Tabla Empleado:
ALTER TABLE empleado
ADD FOREIGN KEY (dno)
REFERENCES departamento (dnumero)
ON DELETE SET NULL
ON UPDATE CASCADE,
ADD FOREIGN KEY (superci)
REFERENCES empleado (ci)
ON DELETE SET NULL
ON UPDATE CASCADE;
Tabla Departamento:
ALTER TABLE departamento
ADD FOREIGN KEY (jefeci)
REFERENCES EMPLEADO (CI)
AREA ACADEMICA
Tabla Localizacion:
ALTER TABLE localizacion
ADD FOREIGN KEY (dnumero)
REFERENCES departamento (dnumero)
ON DELETE CASCADE
ON UPDATE CASCADE;
Tabla Trabaja_en:
ALTER TABLE trabaja_en
ADD FOREIGN KEY (eci)
REFERENCES empleado (ci)
ON DELETE CASCADE
ON UPDATE CASCADE,
ADD FOREIGN KEY (pno)
REFERENCES proyecto (pnumero)
ON DELETE CASCADE
ON UPDATE CASCADE;
Tabla Proyecto:
ALTER TABLE proyecto
ADD FOREIGN KEY (dnum)
REFERENCES departamento (dnumero)
ON DELETE SET NULL
ON UPDATE CASCADE;
Tabla Carga_f:
ALTER TABLE carga_f
ADD FOREIGN KEY (eci)
REFERENCES empleado (ci)
ON DELETE CASCADE
ON UPDATE CASCADE;
Restricción UNIQUE
AREA ACADEMICA
Para cambiar el nombre a una tabla usamos el comando RENAME con el siguiente
formato:
Para borrar tablas de una base de datos utilizamos el comando DROP con el siguiente
formato:
DROP TABLE nombre_de_la_tabla;
Para añadir columnas en una tabla usamos el comando ALTER TABLE, acompañado de
la opción ADD COLUMN con el siguiente formato para crear la columna al final de las
existentes:
AREA ACADEMICA
AFTER columna_de_referencia;
Para insertar una columna en la primera posición, utilizamos la opción FIRST con el
siguiente formato:
Para ingresar datos en una tabla, utilizamos el comando INSERT, por medio de la opción
VALUES con el siguiente formato:
Para el ingreso de datos también se puede realizar copias de datos de otras tablas ya
existentes, esto lo hacemos por medio de la siguiente instrucción:
La copia de datos se realiza solamente cuando la tabla donde vamos a insertar los datos
ya está creada.
Por ejemplo si deseamos guardar en una nueva tabla los empleados que trabajan en el
departamento de Compras realizaríamos las siguientes instrucciones:
AREA ACADEMICA
Como se observa en la sentencia anterior, podemos ver que los campos DNO y
SUPERCI no han sido ingresados, esto se debe a que la integridad referencial se ve
afectada al momento de ingresar los registros, puesto que no se nos permite el ingreso
de un departamento ni un supervisor que todavía no existe.
AREA ACADEMICA
Para actualizar datos en una tabla, utilizamos el comando UPDATE, por medio de la
opción SET con el siguiente formato:
UPDATE nombre_tabla
SET nombre_columna = ‘nuevos_datos’
WHERE nombre_ columna=’referencia _del_registro_a_actualizar’;
UPDATE empleado
SET superci=’333445555’, dno=’5’
WHERE ci=’123456789’;
UPDATE empleado
AREA ACADEMICA
UPDATE empleado
SET superci=’987654321’, dno=’4’
WHERE ci=’999887777’;
UPDATE empleado
SET superci=’888665555’, dno=’4’
WHERE ci=’987654321’;
UPDATE empleado
SET superci=’333445555’, dno=’5’
WHERE ci=’666884444’;
UPDATE empleado
SET superci=’333445555’, dno=’5’
WHERE ci=’453453453’;
UPDATE empleado
SET superci=’987654321’, dno=’4’
WHERE ci=’987987987’;
UPDATE empleado
SET dno=’1’
WHERE ci=’888665555’;
Para borrar registros de una tabla, utilizamos el comando DELETE, con el siguiente
formato:
DELETE nombre_columnas
FROM nombre_tabla
WHERE nombre_columna=’referencia_del_registro_a_borrar’;
En caso de que se desee borrar todos los registros de la tabla usamos la siguiente
instrucción:
DELETE *
FROM nombre_tabla;
CUESTIONARIO
AREA ACADEMICA
Ejercicio Propuesto
AREA ACADEMICA
AREA ACADEMICA
AREA ACADEMICA
RESULTADOS
CONCLUSIONES
BIBLIOGRAFIAA