Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Version2 Guia Practicos BD 2018
Version2 Guia Practicos BD 2018
DE PRÁCTICAS
Modalidad Presencial
“BASE DE DATOS I”
INF312
(VERSION 2 - 2018)
UAGRM
Facultad Integral Del Chaco
Ingeniería Informática y Sistemas
GUÍA DE PRÁCTICAS - BASE DE DATOS I
________________________________________________________________________
TABLA DE CONTENIDO
PARTE I ............................................................................................................................... 7
DIAGRAMAS DE CLASES .............................................................................................. 7
PRACTICO 1 ........................................................................................................................ 8
BASE DE DATOS PARA UNIVERSIDAD ....................................................................... 8
PRACTICO 2 ........................................................................................................................ 9
BASE DE DATOS DE LOS RRHH DE LA EMPRESA “LA SUPREMA” ..................... 9
PRACTICO 3 ...................................................................................................................... 10
BASE DE DATOS PARA VEHICULOS Y SUS PROPIETARIOS ............................. 10
PRACTICO 4 ...................................................................................................................... 11
BASE DE DATOS PARA LA UAGRM ............................................................................ 11
PRACTICO 5 ...................................................................................................................... 12
BASE DE DATOS PARA CONTROL DE GUARDIAS DE SEGURIDAD Y
PERSONAL DE LIMPIEZA DE LA FACULTAD INTEGRAL DEL CHACO .............. 12
PRACTICO 6 ...................................................................................................................... 12
BASE DE DATOS PARA EL GARAJE DE LA FICH Y EL CONTROL DE
VEHÍCULOS ....................................................................................................................... 12
PRACTICO 7 ...................................................................................................................... 13
BASE DE DATOS PARA LA COMPAÑÍA “ABC” ......................................................... 13
PRACTICO 8 ...................................................................................................................... 14
BASE DE DATOS PARA RESERVA DE VEHICULOS ............................................... 14
PRACTICO 9 ...................................................................................................................... 15
BASE DE DATOS PARA RESTAURANTE ................................................................... 15
PRACTICO 10 .................................................................................................................... 19
BASE DE DATOS PARA LA FERIA ACADÉMICA DE LA FICH ............................... 19
PARTE II ............................................................................................................................ 20
DISEÑO LÓGICO (MAPEO) ............................................................................................ 20
PRACTICO 11 .................................................................................................................... 21
MAPEO DEL DIAGRAMA DE CLASES GENERADO EN PRACTICA 1 ................. 21
PRACTICO 12 .................................................................................................................... 22
MAPEO DEL DIAGRAMA DE CLASES GENERADO EN PRACTICA 2 ................. 22
PRACTICO 13 .................................................................................................................... 23
MAPEO DEL DIAGRAMA DE CLASES GENERADO EN PRACTICA 3 ................. 23
PRACTICO 14 .................................................................................................................... 24
MAPEO DEL DIAGRAMA DE CLASES GENERADO EN PRACTICA 4 ................. 24
PRACTICO 15 .................................................................................................................... 25
MAPEO DEL DIAGRAMA DE CLASES GENERADO EN PRACTICA 5 ................. 25
PRACTICO 16 .................................................................................................................... 26
MAPEO DEL DIAGRAMA DE CLASES GENERADO EN PRACTICA 6 ................. 26
PRACTICO 17 .................................................................................................................... 27
MAPEO DEL DIAGRAMA DE CLASES GENERADO EN PRACTICA 7 ................. 27
PRACTICO 18 .................................................................................................................... 28
MAPEO DEL DIAGRAMA DE CLASES GENERADO EN PRACTICA 8 ................. 28
PRACTICO 19 .................................................................................................................... 29
MAPEO DEL DIAGRAMA DE CLASES GENERADO EN PRACTICA 9 ................. 29
PRACTICO 20 .................................................................................................................... 30
MAPEO DEL DIAGRAMA DE CLASES GENERADO EN PRACTICA 10 ............... 30
PRACTICO 21 .................................................................................................................... 31
MAPEO DEL DIAGRAMA DE CLASES ......................................................................... 31
PRACTICO 22 .................................................................................................................... 32
MAPEO DEL DIAGRAMA DE CLASES ......................................................................... 32
PARTE III ........................................................................................................................... 33
ALGEBRA RELACIONAL ................................................................................................. 33
PRACTICO 23 .................................................................................................................... 34
ALGEBRA RELACIONAL ................................................................................................. 34
PARTE IV ........................................................................................................................... 44
NORMALIZACIÓN ............................................................................................................. 44
PRACTICO 24 .................................................................................................................... 45
NORMALIZANDO TABLAS ............................................................................................. 45
PARTE V ............................................................................................................................ 49
SQL ...................................................................................................................................... 49
PRACTICO 25 .................................................................................................................... 50
LENGUAJE ESTRUCTURADO DE CONSULTAS SQL ............................................. 50
PRACTICO 25 .................................................................................................................... 87
MAS CONSULTAS EN SQL ............................................................................................ 87
IDENTIFICACION DE LA MATERIA
JUSTIFICACION
Para desarrollar un sistema de información es necesario seguir pasos lógicos entre los
que se encuentran: El relevamiento de información, análisis, diseño, codificación,
pruebas y mantenimiento. La materia toma importancia en el proceso de diseño,
porque en este paso, se diseña la base de datos que soportara los datos que se requieren
ser registrado por un lapso de tiempo.
OBJETIVOS DE LA ASIGNATURA
OBJETIVO GENERAL
Modelar base de datos utilizando una metodología determinada asociada a un
paradigma para la solución de problemas reales.
OBJETIVOS ESPECIFICOS
• Describir los componentes de un sistema de base de datos
• Aplicar el modelo orientado a objetos como herramienta de modelado
conceptual de datos en la fase de diseño de una base de datos
• Diseñar una base de datos utilizando los conceptos del modelo relacional
(Estructura, restricciones y lenguaje)
PARTE I
DIAGRAMAS DE CLASES
PRACTICO 1
Se quiere diseñar una Base de Datos para almacenar información sobre las diferentes
universidades del país, cada universidad tiene sus propias características como: Nro
matricula de funcionamiento, nombre, dirección y año de creación.
Se necesita también guardar información de las diferentes Facultades que tienen las
Universidades considerando que cada una tiene: Nombre, Ubicación, Nro de estudiantes,
fecha de creación.
Cada Facultad tiene a su vez diferentes especialidades de las mismas se necesita guardar
información del Nombre de las especialidades, tiempo de duración y fecha de creación.
PRACTICO 2
BASE DE DATOS DE LOS RRHH DE LA EMPRESA “LA SUPREMA”
Para la Empresa “LA SUPREMA”, se requiere hacer el diseño de una Base de Datos, para
ello se ha realizado el relevamiento de información, sacándose las siguientes conclusiones:
1.- Se tiene diferentes administradores, de los que se necesita guardar información como
ser: CI, Nombre, Dirección, Teléfono y sexo, además que tienen cada uno de ellos
diferentes niveles.
2.- Existen contadores de los que se necesita guardar información como: CI, Nombre,
Dirección, Teléfono, sexo y matrícula profesional.
3.- De las secretarias de la empresa que son 4 se debe guardar la siguiente información:
CI, Nombre, Dirección, Teléfono, sexo y velocidad de Typeo.
PRACTICO 3
Se quiere diseñar una Base de Datos para almacenar información sobre diferentes
vehículos que existen y sus propietarios.
De las camionetas debe registrarse su número de placa, modelo, número de personas que
puede transportar además de la capacidad de carga que tiene.
De las motos se debe registrar su número de placa, modelo, número de personas que
puede transportar y el tipo de manubrio que tiene.
También se debe guardar información de los propietarios de los autos, camionetas y motos,
siendo importante registrar su nombre del propietario, Ci, dirección, teléfono y sexo.
PRACTICO 4
BASE DE DATOS PARA LA UAGRM
Se quiere diseñar una Base de Datos para almacenar información sobre las diferentes
carreras que existen en la UAGRM.
PRACTICO 5
PRACTICO 6
PRACTICO 7
1.- La Compañía está organizada en deptos, cada depto tiene un nombre, un número, un
empleado que administra el depto y una ubicación. Se necesita guardar información de la
fecha de inicio cuando el empleado comenzó con la administración.
2.- Un departamento controla un número de proyectos, cada uno de los cuales tiene un
nombre, un número y una ubicación simple.
3.- Del empleado se necesita almacenar su nombre, número de CI, dirección, salario, sexo
y fecha de nacimiento. Un empleado es asignado a un depto., pero puede trabajar en varios
proyectos los cuales no son necesariamente controlados por el mismo depto.
Se debe guardar también información del número de horas por semana que un empleado
trabaja en un proyecto, además de la información del supervisor directo de cada empleado.
4.- De los dependientes de cada empleado se necesita también guardar información por
propósito de seguros, en tal sentido se debe guardar de los dependientes su nombre, sexo,
fecha de nacimiento y su conexión con el empleado.
PRACTICO 8
PRACTICO 9
BASE DE DATOS PARA RESTAURANTE
El dueño de una cadena de restaurantes de Madrid quiere que se haga de forma automática
las siguientes actividades:
PRACTICO 10
PARTE II
PRACTICO 11
Para este proceso debe tomar en cuenta las diferentes reglas de mapeo estudiadas en la
Unidad 2
PRACTICO 12
Para este proceso debe tomar en cuenta las diferentes reglas de mapeo estudiadas en la
Unidad 2
PRACTICO 13
Para este proceso debe tomar en cuenta las diferentes reglas de mapeo estudiadas en la
Unidad 2
PRACTICO 14
Para este proceso debe tomar en cuenta las diferentes reglas de mapeo estudiadas en la
Unidad 2
PRACTICO 15
Para este proceso debe tomar en cuenta las diferentes reglas de mapeo estudiadas en la
Unidad 2
PRACTICO 16
Para este proceso debe tomar en cuenta las diferentes reglas de mapeo estudiadas en la
Unidad 2
PRACTICO 17
Para este proceso debe tomar en cuenta las diferentes reglas de mapeo estudiadas en la
Unidad 2
PRACTICO 18
Para este proceso debe tomar en cuenta las diferentes reglas de mapeo estudiadas en la
Unidad 2.
PRACTICO 19
Para este proceso debe tomar en cuenta las diferentes reglas de mapeo estudiadas en la
Unidad 2
PRACTICO 20
Para este proceso debe tomar en cuenta las diferentes reglas de mapeo estudiadas en la
Unidad 2
PRACTICO 21
Para este proceso debe tomar en cuenta las diferentes reglas de mapeo estudiadas en la
Unidad 2
PRACTICO 22
Para este proceso debe tomar en cuenta las diferentes reglas de mapeo estudiadas en la
Unidad 2
PARTE III
ALGEBRA RELACIONAL
PRACTICO 23
ALGEBRA RELACIONAL
ENVIOS
Para cada ejercicio se aporta una posible solución pero es posible que existan
varias que sean también correctas.
Instrucciones
Obtener:
- Todos los valores de P# para los proveedores que abastecen el artículo T1.
b) Proyección
c) Unión
d) Intersección
e) Diferencia
f) Producto Cartesiano
g) Renombramiento
h) División
i) Reunión Natural
PARTE IV
NORMALIZACIÓN
PRACTICO 24
NORMALIZANDO TABLAS
Ordenes
Id_orden Fecha Id_cliente Nom_cliente Estado Num_art nom_art cant Precio
Asignatura/
Colegio Profesor Aula Curso Libro Editorial Fecha_prestamo
Habilidad
Aprender y
C.P Juan Pensamiento 1er enseñar en
1.A01 Graó 09/09/2010
Cervantes Pérez Lógico Grado educación
infantil
C.P Juan 1er Preescolar Técnicas
Escritura 1.A01 05/05/2010
Cervantes Pérez Grado Rubio,N56 Rubio
Aprender y
C.P Juan Pensamiento 1er Enseñar en
1.A01 Graó 05/05/2010
Cervantes Pérez Numérico Grado educación
infantil
Pensamiento
C.P Alicia Espacial, 1er Educación Prentice
1.B01 06/05/2010
Cervantes García Temporal y Grado Infantil N9 Hall
causal
Aprender y
C.P Alicia Pensamiento 1er enseñar en
1.B01 Graó 06/05/2010
Cervantes García Numérico Grado educación
infantil
Aprender y
C.P Andrés 2do enseñar en
Escritura 1.A01 Graó 09/09/2010
Cervantes Fernández Grado educación
infantil
Saber
educar:
C.P Andrés 2do Temas de
Ingles 1.A01 guía para 05/05/2010
Cervantes Fernández Grado Hoy
Padres y
Profesores
Saber
educar:
C.P Juan Pensamiento 1er Temas de
2.B01 guía para 18/12/2010
Quevedo Méndez Lógico Grado Hoy
Padres y
Profesores
Aprender y
C.P Juan Pensamiento 1er enseñar en
2.B01 Graó 06/05/2010
Quevedo Méndez Numérico Grado educación
infantil
Normalizar
Código
Código/ Nombre/ Especiali Nombre_curs Nombre/
/ Oficina curso
alumno alumno dad o docente
curso
382145 Luis Carlos
Industrial MA123 Matemática 2 CB-214 U
A Zuloaga Arambulo
382145 Luis Petra
Industrial QU514 Física Química CB-110 U
A Zuloaga Rondinel
382145 Luis Víctor
Industrial AU521 Descriptiva CB-120 W
A Zuloaga Moncada
Cesar
360247k Raúl Rojas Sistemas PA714 Investigación 1 SC-220 V
Fernadez
Carlos
360247k Raúl Rojas Sistemas MA123 Matemática 2 CB-214 V
Arambulo
Víctor
360247k Raúl Rojas Sistemas AU511 Dibujo CB-120 U
Moncada
4. Se presenta una base de datos de una biblioteca, aplicar las reglas de normalización
simplificando hasta la tercera forma normal.
PARTE V
SQL
PRACTICO 25
3. Aplicar Normalización
TABLAS DE PRUEBA:
5. Realizar Consultas
BORRAR
OPERACIONESSOBREATRIBUTOS
INSERTAR TUPLAS
En la tabla cliente:
INSERT INTO cliente VALUES (111, 'Juan Perez', 'Avenida Bolivar', 'M', 2000);
INSERT INTO cliente VALUES (222, 'Rosa Mendez','Calle Camacho', 'F', 500);
INSERT INTO cliente VALUES (333, 'Luis Casas', 'Avenida Bolivar', 'M',200 );
INSERT INTO cliente VALUES (444, 'Ana Cosio', 'Calle Peru', 'F',3000 );
En la tabla Vendedor:
En la table unidadmedida:
En la tabla notaventa:
En la tabla producto:
En la tabla detalleventa:
SELECT clici,clinombre
FROM cliente
ORDER BY clinombre;
SELECT clici,clinombre
FROM cliente
ORDER BY clinombre DESC;
-Listar una tupla específica del cliente donde su código es 111 y se quiere mostrar
solo su código, nombre y sexo:
FROM cliente
WHERE clici=111
-Listar todos los clientes que son de sexo Masculino y tienen un limite de credito
superior a 1000:
Nota: Cuando se desea especificar palabras que solo contengan ciertos caracteres se puede adicionar un espacio, ejemplo
si se quisiera listar productos que son ace y no aceite se deberá colocar luego de la palabra ace un espacio ya que si no
se deja el espacio busca todas las palabras que contengan ‘ace’ incluyendo como resultado aceite, ace, etc
SELECT procodigo,prodescripcion
FROM producto
WHERE uniid IN (SELECT uniid FROM unidadmedida
WHERE uniabrev='mts' )
- Mostrar el código
SELECT procodigo,prodescripcion
FROM producto,unidadmedida
WHERE producto.uniid=unidadmedida.uniid
AND unidadmedida.uniabrev='und'
SELECT procodigo,prodescripcion
FROM producto
WHERE uniid IN (SELECT uniid FROM unidadmedida
WHERE uniabrev='und' )
notaventa cliente
vendedor
- Mostrar el numero de la venta 3, fecha de venta, ci del cliente nombre del cliente,
código y nombre del vendedor:
notaventa producto
detalleventa
WHERE d.vennumero=n.vennumero
AND d.procodigo=p.procodigo
AND n.venmonto=240
notaventa producto
Detalleventa
cliente
SELECT
cliente.clici,cliente.clinombre,producto.procodigo,producto.prodescripcion
FROM cliente, notaventa,producto,detalleventa
WHERE detalleventa.procodigo=producto.procodigo
AND detalleventa.vennumero=notaventa.vennumero
AND notaventa.clici=cliente.clici
AND cliente.clinombre='Luis Casas '
Para que no repita el nombre del cliente solo quitamos cliente.clici y cliente.clinombre:
SELECT producto.procodigo,producto.prodescripcion
FROM cliente, notaventa,producto,detalleventa
WHERE detalleventa.procodigo=producto.procodigo
AND detalleventa.vennumero=notaventa.vennumero
AND notaventa.clici=cliente.clici
AND cliente.clinombre='Luis Casas '
HERENCIA DE CLASES
- Mostrar ci, nombre y dirección de todas las personas que viven sobre alguna
avenida y son de sexo = 'F'
- Mostrar ci, nombre y sexo de todas las personas que son de ambos tipos de
persona clientes y vendedor:
SELECT ci,nombre,sexo
FROM persona
WHERE tipoc = tipov
SELECT ci,nombre,sexo
FROM persona
WHERE tipoc <> tipov
SELECT ci,nombre,sexo
FROM persona
WHERE tipoc =1
▪ CASO 2: DISJUNTA
);
La
inserción de los datos:
PRACTICO 25
1. Mostrar el código, descripción de los productos que son teclado, además de los
números de las ventas en que están registrados.
4. Mostrar todos los nombres de los clientes cuyas compras son menores a 100 Bs.
5. Mostrar los nombres de los vendedores que nunca realizaron una venta
SOLUCION PRACTICA 26
1. Mostrar el código, descripción de los productos que son teclado, además de los
números de las ventas en que están registrados.
SELECT p.prodescripcion
FROM producto p
WHERE p.procodigo NOT IN (SELECT d.procodigo
FROM detalleventa d)
4. Mostrar todos los nombres de los clientes cuyas compras son menores a 100 Bs.
SELECT c.clici,c.clinombre
FROM cliente c, notaventa n
WHERE n.clici = c.clici
AND n.venmonto<100
5. Mostrar los nombres de los vendedores que nunca realizaron una venta