Ejercicio Creación, Edición y Manipulación de Base de Datos
Enunciado del Problema
1. En una universidad las facultades, (Sección de una universidad que comprende los
estudios de una rama de la enseñanza, organiza la docencia y expide los
títulos). son dirigidas por un decano, (Decano o decana es la persona nombrada
para dirigir una facultad dentro de una universidad). y a su vez, un decano dirige
una facultad.
2. Cada facultad cuenta con una serie de docentes, pero cada docente solo puede
pertenecer a una facultad.
3. Cada docente dicta varias asignaturas, así mismo una misma asignatura la pueden
dictar docentes diferentes.
4. Los estudiantes inscriben las asignaturas que le corresponde cada semestre.
5. De las facultades, Sección de una universidad que comprende los estudios de una
rama de la enseñanza, organiza la docencia y expide los títulos. interesa saber cuál
es su nombre, ubicación y número de bloque.
6. De los decanos se requiere la cedula, nombres, apellidos y celular.
7. De los docentes se debe registrar la cedula, nombres, apellidos y título.
8. Cada asignatura tiene un código, nombre y número de créditos, Es un valor
numérico que se le da a cada asignatura dependiendo de la importancia y nivel de
esfuerzo que esta representa para un estudiante.
9. De los estudiantes se debe registrar identificación, nombres, apellidos y dirección
de residencia
Teniendo esta información lo primero que debemos hacer es aplicar los pasos para el
diseño del MER.
Entidades
Facultades
Decano
Docentes
Asignaturas
Estudiantes
Relaciones
Pertenecer (Entre Facultad y Docente)
Orientar (Entre Docente y Asignatura)
Inscribir (entre Asignatura y Estudiante)
Dirigir (entre Decano y Facultad)
2. Elaborar el Modelo Entidad Relación, el cual debe quedar de la siguiente manera:
3. a partir del MER, elaborar el Modelo Relacional
Modelo Relacional
4. A partir del Modelo Relacional, ahora, crearán la BD en el Sistema Gestor de Base de
Datos MySQL o SQL Server
5. Crear las tablas de acuerdo con el Modelo Relacional. No olvide crear la Llave Primaria y
la Foránea según corresponda
Nota:
Tener en cuenta que el orden en que se crean las tablas es importante. No se puede crear
una tabla que tenga una llave foránea apuntando a una tabla que aún no existe.
6. Inserción de Datos
a. Agregar una Columna a la tabla Docentes, llamada Sueldo
ALTER TABLE nombreTabla ADD nombreCampo Tipode Dato;
b. Insertar los siguientes registros
INSERT INTO decanos (cedula, nombres, apellidos, celular) VALUES ('189787650', 'Juan Andrés', 'Pérez
Sánchez', '3109876543');
Continua con los datos en las siguientes tablas:
Decanos
Cédula Nombres Apellidos Celular
1234234 Juan Pérez 3103216547
5678546 Carlos Vélez 3126545678
3242344 Mario Toro 3008464647
9585835 Sandra Ruiz 3114046784
1064933 Pedro Flórez 3157864667
5373548 Diana Sánchez 3206766674
1324459 Paula Vélez 3103858583
Facultad
Número Nombre_facultad Ubicación Cedula_dec
001 Medicina Edificio 2 piso 1 9585835
002 Deportes Edificio 3 piso 1 5373548
003 Física Edificio 2 piso 2 1234234
004 Bellas Artes Edificio 1 piso 1 1324459
005 Química Edificio 3 piso 2 3242344
006 Ciencias Humanas Edificio 1 piso 2 1064933
007 Ingenierías Edificio 1 piso 3 5678546
Docentes
Cedula Nombres Apellidos Titulo salario
98765434 Sergio Gálvez Ingeniero Electrónico 500000
76543275 Raúl Franco Ingeniero Industrial 250000
43532658 Viviana Rodríguez Administradora Pública 300000
63297867 Fernando Muñoz Contador Público 400000
54637829 Martha Castro Licenciada en Lenguas 450000
34764456 Rubén Osorio Ingeniero de Software 350000
TABLA DECANO
TABLA DOCENTES
TABLA FACULTAD
7. Actualización de Datos
UPDATE <nombre_tabla> SET <campo_1>=<valor_1>, <campo_2>=<valor_2>,...,<campo_n> =<valor_n>
WHERE <campo_x> = <valor_x>;
Nombre_tabla: corresponde al nombre de la tabla en la cual se va a actualizar los datos.
Campo 1 al n: Corresponde a cada uno de los campos en los cuales se hará la modificación de su valor.
Valores 1 al n: Corresponde a cada uno de los valores que se actualizarán en cada uno de los campos
Campo x y Valor x: es un campo cualquiera de la tabla y <valor_x> es un valor cualquiera a evaluar en el
campo definido. Esto quiere decir que la actualización se realizará solo en aquellos registros donde el campo
<campo_x> posea el valor <valor_x>.
Cambiarle el nombre al decano Juan Pérez por Julián Parra
8. Eliminar registros
Eliminar la fila o registro donde se encuentra Sandra Ruiz
DELETE FROM <nombre_tabla> WHERE <campo_x> = <valor_x>;
Nota
Tener cuidado cuando se realiza actualizaciones de datos o borrado de registros, ya que estas acciones
pueden generar problemas de integridad referencial, ya que se puede realizar una modificación o
eliminación incoherente en una llave de la cual depende un campo en otra tabla.
9. Extraer información o realizar consultas a la Base de Datos
SELECT <campo_1>, <campo_2>, … , <campo_n> FROM <tabla_1>, <tabla_1>, … ,<tabla_n>
WHERE <condición_1> <AND | OR > <condición_2> <AND | OR > … <condición_n>;
Operadores de Comparación
p Nombre Descripción
< Menor que Teniendo A<B, indica que A sea menor que B
> Mayor que Teniendo A>B, indica que A sea mayor que B
<= Menor o igual que Teniendo A<=B, indica que A sea menor o igual que B
>= Mayor o igual que Teniendo A>=B, indica que A sea mayor o igual que B
<> Diferente de Teniendo A<>B, indica que A sea diferente de B
= Igual a Teniendo A=B, indica que A sea igual que B
Operadores Lógicos
Entre dos condiciones va uno de los operadores lógicos (Los operadores lógicos proporcionan un resultado a
partir de que se cumpla o no una cierta condición. Es una comparación que se realiza para determinar si esta
es verdadera o falsa. Si se cumple el resultado es verdadero y si no se cumple el resultado es falso) AND ó OR.
El operador AND indica que el par de condiciones que se están evaluando se deben cumplir para el resultado
de la consulta, mientras que el operador OR solo requiere que uno de las 2 condiciones se cumpla.
a. Realizaremos una consulta que nos muestre todos los decanos de apellido “Vélez”.
b. Consultar todos los decanos de nombre “Diana” y los decanos de nombre “Mario”
c. La consulta que realizaremos nos mostrará todos los registros de la tabla “Decanos” con
los campos cedula, nombres y apellidos. Y de la tabla “facultad” los campos nombre_facultad y
ubicación, de esta manera sabremos que facultad dirige cada uno de los decanos.
d. Consultar la misma información del punto c, pero solo para los decanos de apellido “Veléz”.
10. Aplicación de Funciones
Nombre Función Descripción Sintaxis
calcula el total de la suma de SELECT SUM(campo) FROM
SUM(Campo) un campo numérico
específico dado. tabla;
calcula el valor promedio de SELECT AVG(campo) FROM
AVG(Campo) un campo numérico dado tabla;
calcula la cantidad de SELECT COUNT(*) FROM tabla
COUNT(*) registros devueltos en la WHERE campo = 'valor';
consulta con las condiciones
dadas.
une todos los textos que se SELECT campo,
CONCAT(texto1,texto2,…) envían dentro de los CONCAT(campo1,' ',campo2)
paréntesis. FROM tabla
Esta función convierte a SELECT UPPER(nombres),
UPPER(texto) mayúscula el texto que se le UPPER(apellidos) FROM
envía dentro del paréntesis. empleados WHERE genero='F';
Esta función coloca entre SELECT QUOTE(nombres),
QUOTE(texto) comillas el texto que se le QUOTE(apellidos) FROM
envía dentro del paréntesis. empleados
WHERE genero='F';
a. Obtener el total de la suma de los salarios de todos los docentes.
b. Obtener el valor promedio de los salarios de todos los docentes.
c. Obtener la cantidad de docentes.
d. Unir los campos de nombre y apellido de los docentes
EMPAREJAMIENTO DE SENTENCIAS SQL
Instrucciones:
A cada No. De la lista de la Izquierda le corresponde 1 de la lista de la derecha.