Vous êtes sur la page 1sur 21

Diseño y

Administración de
Base de Datos
Analista de Sistemas de
Computación
Diseño y
Administración de
Base de Datos

Guía de
Trabajos Prácticos
INSTITUTO de TECNOLOGÍA O. R. T. Analista de Sistemas de Computación
Instituto Incorporado a la Enseñanza Oficial (A-763) Diseño y Administración de Bases de Datos

TRABAJO PRACTICO N° 1
INTRODUCCION
OBJETIVO: Afianzar los conocimientos básicos que introducen al alumno al estudio de las Bases de Datos,
concretamente, saber qué es un SGBD, conocer su estructura, qué características presenta, qué facilidades
brinda, qué problemáticas se propone resolver.

1) Explique cada uno de los siguientes componentes de un sistema de base de datos: hard, soft,
datos y usuarios.
2) ¿Qué objetivos se persiguen al pasar de un sistema tradicional de archivos a uno de base de
datos?
3) ¿Por qué se dice que en una base de datos se consigue la independencia de los datos? ¿Qué es
independencia física y lógica?
4) ¿Qué se define en cada uno de los tres niveles de la arquitectura de base de datos: interno,
conceptual y externo?
5) ¿Qué ventajas proveen los sistemas de bases de datos comerciales referidas a la protección de
la información, a los lenguajes utilizados y a la recuperación ante fallas?
6) ¿Los sistemas de bases de datos controlan la seguridad e integridad de los datos? ¿Cómo?
¿Qué significa que sean a prueba de fallas?
7) ¿Qué información guarda el archivo de LOG o Bitácora y para qué se utiliza?
8) ¿Qué es una transacción?
9) ¿Por qué es necesario realizar el “control de concurrencia” en un sistema de base de datos?
Ejemplifique.
10) Mencione y explique brevemente algún método que permita controlar la concurrencia en el
sistema.
11) Indique posibles tipos de usuarios de una base de datos. ¿Qué debe conocer cada uno de ellos
para poder acceder a la información?
12) ¿Cuáles son las funciones principales del administrador de la base de datos?
13) ¿Cuáles son los componentes de un DBMS?

Yatay 240 - Buenos Aires - República Argentina -1- Guía de Trabajos Pràcticos
INSTITUTO de TECNOLOGÍA O. R. T. Analista de Sistemas de Computación
Instituto Incorporado a la Enseñanza Oficial (A-763) Diseño y Administración de Bases de Datos

TRABAJO PRACTICO N° 2
MODELO ENTIDAD RELACION
OBJETIVOS: Aplicar las herramientas brindadas por el Modelo Entidad Relación para el diseño de una base
de datos, partiendo de una problemática inicial (relevamiento). Transformar estos resultados (DER), al
Modelo Relacional. Identificar claves candidatas, primarias y foráneas. Utilizar una herramienta de diseño
para la resolución de problemáticas planteadas.

1) Diseñar una base de datos para una organización con las siguientes características:
a) Se registran los datos personales de cada empleado, como número de legajo, tipo y número de
documento, nombre, dirección, teléfono, fecha de nacimiento, sueldo, y el número y nombre del
departamento donde trabaja.
b) Algunos empleados son gerentes de departamento. En estos casos, se desea registrar la fecha de
inicio en el cargo para cada empleado gerente. Un empleado no puede ser gerente de más de un
departamento.
c) La organización desarrolla diferentes proyectos, y lleva el registro de los mismos a través de los
datos: número de proyecto, nombre de proyecto, descripción y fecha de inicio del proyecto. Cabe
señalar que un empleado puede trabajar en varios proyectos.
d) Se desea registrar la cantidad de horas semanales (fija) que un empleado trabaja en cada proyecto.
e) Un departamento controla varios proyectos, y un proyecto es controlado por un único
departamento.Es necesario conocer, por cada departamento la cantidad de proyectos que controla,
y también, la cantidad total de empleados que tiene ese departamento.
f) Por cada empleado se necesita registrar su edad, y los datos de los familiares-dependientes, como
por ejemplo, nombre, fecha de nacimiento, y el parentesco con el empleado.
1.1. Confeccionar el Modelo E/R.
1.2. Mapear el Modelo E/R al Modelo Lógico Relacional.
1.3. Indicar claves candidatas, primarias y foráneas.

2) Modelo E/R: Determinar el modelo E/R para una base de datos de una clínica donde se almacenan los
datos de los pacientes y de los médicos. Para cada paciente se lleva además la historia clínica de las
consultas y de los distintos análisis realizados.

3) Modelo Lógico: Mapear el modelo E/R obtenido en el punto 2) al Modelo Lógico Relacional y obtener
las tablas apropiadas, indicando: a) los atributos, b) las claves (alternativas, primarias y foráneas).

4) Para llevar la información de un supermercado se requieren las siguientes entidades:


⇒ Proveedor: nombre, dirección, etc.
⇒ Artículos: código, nombre, etc.
⇒ Departamento: número, nombre, etc.
⇒ Empleado: nombre, sueldo, etc.
⇒ Director del departamento, como caso especial de empleado
⇒ Clientes: nombre, dirección, deuda,...
⇒ Pedidos: número y fecha.

Las asociaciones se establecen entre los siguientes pares de entidades:

Yatay 240 - Buenos Aires - República Argentina -2- Guía de Trabajos Pràcticos
INSTITUTO de TECNOLOGÍA O. R. T. Analista de Sistemas de Computación
Instituto Incorporado a la Enseñanza Oficial (A-763) Diseño y Administración de Bases de Datos
⇒ Proveedores y Artículos: muchos a muchos, incluye precio.
⇒ Departamentos y Artículos: muchos a muchos.
⇒ Departamentos y Empleados: uno a muchos.
⇒ Artículos y Pedidos: muchos a muchos, incluye cantidad.
⇒ Clientes y Pedidos: uno a muchos.
a) Confeccionar el Modelo E/R
b) Indicar cuáles son las claves para cada entidad y para cada asociación.

5) Modelo Lógico: Mapear el modelo E/R obtenido en el punto 4) al Modelo Lógico Relacional y obtener
las tablas apropiadas, indicando: a) los atributos, b) las claves (alternativas, primarias y foráneas).

6) Diseñar una base de datos para la oficina de alumnos de una Universidad, donde se registran los datos
necesarios de cada uno de los cursos, que incluyen el nombre del profesor, nombre del alumno, aula,
fecha de comienzo y fecha de finalización. Para cada alumno se registra además la calificación final.
a) Confeccionar el Modelo E/R
b) Mapear el Modelo E/R al Modelo Lógico Relacional.

7) Utilizar una herramienta de diseño para diagramar los ejercicios 2), 4) y 6). ¿Es posible realizar la
transformación al Modelo Lógico Relacional en forma automática? Si es posible, hágalo.

Yatay 240 - Buenos Aires - República Argentina -3- Guía de Trabajos Pràcticos
INSTITUTO de TECNOLOGÍA O. R. T. Analista de Sistemas de Computación
Instituto Incorporado a la Enseñanza Oficial (A-763) Diseño y Administración de Bases de Datos

TRABAJO PRACTICO N° 3
LENGUAJES DE CONSULTA
OBJETIVOS: Utilizar el lenguaje SQL como ejemplo de lenguaje de manipulación de datos, y de lenguaje de
definición de datos, para resolver distintas problemáticas. Identificar las restricciones de integridad del
Modelo Relacional, en las sentencias de un lenguaje comercial, relacionando conceptos teóricos con
resoluciones prácticas. Utilizar un producto que soporte SQL para la resolución de las consultas.

1) Dados los esquemas de relación,


EMPLEADO (nro-leg, nombre, domicilio, localidad, pcia, fecha_ingreso, sueldo, codigo-
postal)
PLANTA (nro-planta, descripcion, localidad, pcia)
TRABAJA (nro-leg, nro-planta)
Resolver las siguientes consultas en SQL:
• SELECT BASICO
1. Listar los datos de todos los empleados
2. Listar el legajo y el nombre de todos los empleados
3. Listar el legajo y el nombre de todos los empleados de Santa Fe
4. Listar el legajo y el nombre de todos los empleados de Bs. As. que hayan ingresado después de 1985
5. Listar el legajo y el nombre de todos los empleados que sean de La Pampa o Bs. As.

• BETWEEN, LIKE, IS NULL, DISTINCT


6. Listar el legajo, el nombre y el sueldo de los empleados que ganan un sueldo entre $1500 y $2500
7. Listar el legajo, el nombre y el sueldo de los empleados que ganan un sueldo menor a $1500 o
mayor a $2500
8. Listar los nombres de los empleados que comiencen con “AVA”
9. Listar los nombres de los empleados que vivan en una calle o avenida llamada “San Martin”
10. Listar los datos de los empleados que en la cuarta letra del nombre tengan una R
11. Listar el legajo y el nombre de los empleados que no tengan registrado el código postal
12. Listar todas las provincias presentes en la tabla EMPLEADO

• UNION, IN
13. Listar todas las provincias presentes en la base de datos
14. Listar los datos de los empleados que trabajen en alguna planta
15. Listar los datos de los empleados que no trabajen en ninguna planta
16. Listar los datos de los empleados de Bs. As., Córdoba, Santa Cruz y La Pampa

• FUNCIONES DE AGREGACION
17. Listar la cantidad de empleados registrados
18. Listar la suma de todos los sueldos
19. Listar la suma de todos los sueldos de empleados de Neuquén
20. Listar el sueldo máximo

Yatay 240 - Buenos Aires - República Argentina -4- Guía de Trabajos Pràcticos
INSTITUTO de TECNOLOGÍA O. R. T. Analista de Sistemas de Computación
Instituto Incorporado a la Enseñanza Oficial (A-763) Diseño y Administración de Bases de Datos
21. Listar la cantidad de provincias presentes en la tabla EMPLEADO
22. Listar el nombre de los empleados cuyos sueldos son mayores que el promedio de sueldos de todos
los empleados
23. Listar el nombre de los empleados cuyos sueldos son mayores que el promedio de sueldos de todos
los empleados de Bs. As.

• AGRUPAMIENTO
24. Obtener el promedio de sueldos de los empleados, por provincia
25. Obtener el promedio de sueldos de los empleados, por provincia, pero sólo para las provincias cuyo
promedio supere los $900
26. Listar por cada planta, el número de planta y la cantidad de empleados que trabajan en ella
27. Listar por cada planta, el número de planta y la cantidad de empleados que trabajan en ella, sólo
para las plantas donde trabajen más de 500 empleados

• JUNTA NATURAL
28. Listar los nombres de los empleados que trabajen en alguna planta
29. Listar, por cada empleado, su número de legajo, el número de planta donde trabaja, su descripción,
y la provincia donde está ubicada
30. Listar, por cada empleado, su número de legajo, su nombre, el número de planta donde trabaja, su
descripción, y la provincia donde está ubicada
31. Listar los datos de los empleados que trabajan en la planta de La Plata
32. Listar el número de legajo y el nombre de los empleados que trabajen en una planta que se
encuentre en una provincia distinta a la del domicilio del empleado

• VARIOS
33. Listar el número de legajo y el nombre de los empleados que trabajen en una planta que se
encuentre en una localidad distinta a la del domicilio del empleado, pero en la misma provincia
34. Listar los datos de los empleados que vivan en Bs.As. y trabajen en más de dos plantas
35. Listar la provincia asociada al mayor sueldo promedio

2) Dadas las siguientes tablas,


LIBRO (NRO-LIBRO, TITULO, AUTOR, TIPO, PRECIO-ORI, PRECIO-ACT, EDICION, CANT)
LECTOR (NRO-LECTOR, NOMBRE, DIRECCION, TRABAJO, SALARIO)
PRESTAMO (NRO-LECTOR, NRO-LIBRO, NRO-COPIA, F-PREST)
resolver los siguientes ejercicios utilizando SQL:
1. Indicar cuáles son los títulos y autores de los libros que son novelas y sus precios originales superen los $21.
2. ¿Cuáles son los títulos y nombres de los autores de los libros que son novelas o aquellos cuyos precios de
origen superan $21?
3. ¿Cuáles son los números, precios originales y ediciones de los libros que son novelas o que sus precios
originales superen $21 y las ediciones sean posteriores a 1985?
4. ¿Cuáles son los números, precios originales y ediciones de los libros cuyas ediciones son posteriores a 1985 y
además o bien son novelas o el precio original supera $21?
5. Obtener la lista de títulos y precios originales de los libros que se editaron en 1948, 1978 y 1985
6. Obtener los títulos y ediciones de los libros cuyos precios originales estén dentro del rango de $12 a $25
inclusive

Yatay 240 - Buenos Aires - República Argentina -5- Guía de Trabajos Pràcticos
INSTITUTO de TECNOLOGÍA O. R. T. Analista de Sistemas de Computación
Instituto Incorporado a la Enseñanza Oficial (A-763) Diseño y Administración de Bases de Datos
7. Obtener la lista autores y ediciones de los libros cuyos nombres de autores comienzen con la letra G.
8. Obtener la lista de autores, precios originales y ediciones de los libros cuyos autores tengan la hilera "RR" en
algún lugar del nombre
9. Obtener la lista de títulos, precios originales y ediciones de aquellos libros cuyos títulos tengan las letras "R" y
"S" en algún lugar y en ese orden.
10. Obtener la lista de títulos, precios originales y ediciones de aquellos libros que tengan la letra "A" en la
segunda posición del título.
11. Obtener la lista de autores y ediciones de los libros cuyos nombres de autores no comienzen con la letra G.
12. Obtener la lista de títulos y ediciones de aquellos libros cuyos precios originales no estén comprendidos
entre $12 y $25.
13. Ordenar en secuencia ascendente por año de edición los títulos de los libros que son novelas. Listar también
la edición.
14. Listar los números, ediciones y tipos de libros cuyos precios originales superen los $20. Clasificar por edición
en forma descendente y por número de libro ascendente en ese orden.
15. Idem anterior pero ordenado por edición (ascendente) y número de libro (descendente)
16. Obtener la lista de todos los tipos diferentes de libros.
17. Obtener todos los tipos y ediciones de los libros.
18. Idem anterior pero ordenado por año de edición ascendente
19. Listar los números, ediciones, tipos, precios originales, precios actuales y diferencias de precios para todos
los libros de estudio.
20. Listar los números, ediciones, tipos, precios originales, precios actuales, calculando la diferencias de precios
prorrateada por año desde el año de edición hasta el año 1992 para todos los libros de estudio.
21. Listar los números, ediciones, tipos, precios originales, precios actuales y diferencias de precios para todos
los libros cuyas diferencias de precio sean superiores a $10.
22. Listar los números, ediciones, tipos, precios originales, precios actuales y diferencias de precios para todos
los libros cuyas diferencias de precio sean superiores a $10, clasificado por dicha diferencia en forma
descendente.
23. Listar los números, ediciones, tipos, precios originales, precios actuales y diferencias de precios para todos
los libros clasificado por tipo y por dicha diferencia en forma ascendente, en ese orden.
24. Obtener la suma y el promedio de los precios originales y el mínimo y el máximo de los precios actuales
para todos los libros cuyao año de edición sea mayor a 1970
25. Obtener la suma de los precios originales y actuales para cada libro y el promedio de dicha suma y el
mínimo y el máximo de las diferencias de precios para todos los libros cuyo año de edición sea superior a
1970.
26. Contar la cantidad de libros, los distintos tipos de libros, el mínimo y el máximo del precio original, pero sólo
para aquellos libros cuyo precio original supere los $30.
27. Calcular el promedio y el total de los precios actuales de todos los libros, imprimiendo los títulos adicionales
"PROMEDIO --->" y "TOTAL --->" en la línea de resúmen.
28. Listar los tipos de libros, totales de precios originales y promedios de precios actuales, de aquellos libros
que no fueron editados en 1946, resumidos por tipo de libro.
29. Idem anterior pero clasificado por promedio de precios actuales de menor a mayor.
30. Listar los tipos de libros, totales de precios originales, promedios de precios actuales, resumidos por tipo de
libro y para los libros cuyas ediciones no sean de 1946, pero sólo para aquellos tipos de libros cuya
sumatoria de precios originales supere $40.
31. Listar los tipos de libros y promedios de precios originales, resumidos por tipo de libro y para los libros
cuyas ediciones no sean de 1946, pero sólo para aquellos tipos de libros que tengan más de dos libros cuyas
ediciones no sean de 1946.

Yatay 240 - Buenos Aires - República Argentina -6- Guía de Trabajos Pràcticos
INSTITUTO de TECNOLOGÍA O. R. T. Analista de Sistemas de Computación
Instituto Incorporado a la Enseñanza Oficial (A-763) Diseño y Administración de Bases de Datos
32. Obtener los cinco primeros caracteres de los nombres de todos los lectores de libros
33. Para cada préstamo, obtener el número del lector, el número del libro, título y fecha del préstamo (calificar
con nombre de tabla)
34. Obtener la lista de los títulos de los libros prestados y los nombres de los lectores que los tienen en
préstamo
35. Listar los nombres y la dirección de los lectores que tienen libros a préstamo (usar subconsultas)
36. Listar el número, título y precio original de aquellos libros cuyos precios originales sean más altos que el
promedio de precios actuales de todos los libros.
37. Listar el número, título y precio actual del libro que tenga el máximo precio original.
38. Listar los números, títulos y precios originales de aquellos libros cuyos precios originales sean mayores que
todos y cada uno de los precios originales de las novelas.
39. Listar los números, títulos y precios originales de aquellos libros cuyos precios originales sean mayores que
alguno cualquiera de los precios originales de las novelas.
40. Listar los tipos de libros y promedios de precios originales agrupados por tipos, para aquellos tipos que
tengan el promedio de sus precios originales por arriba del promedio de precios originales de todos los
libros.
41. Listar aquellos libros (título, tipo y precio original) que tengan sus precios originales mayores que el
promedio de los precios originales del tipo al que pertenecen. Porqué no aparece "ju" (juegos)?
42. Listar el número de lector, su nombre y la cantidad de préstamos realizados a ese lector.
43. Listar el número de libro, el título, y la cantidad de préstamos realizados para ese libro a partir del año
1999.
44. Listar el número de libro, el título, el número de copia, y la cantidad de préstamos realizados para cada
copia de cada libro.
45. Listar el número de libro, el título, el número de copia, y la cantidad de préstamos realizados para cada
copia de cada libro, pero sólo para aquellas copias que se hayan prestado más de 100 veces.
46. Listar los títulos y las fechas de préstamo de todos los libros que hayan estado en préstamo no

3) Utilizar un producto que soporte SQL para resolver las consultas del ejercicio 2), y probarlas con la base
de datos del laboratorio.

4) Dada la siguiente sentencia SQL:


CREATE TABLE Empleado
(nro_leg int,
tipo_doc char NOT NULL,
num_doc char(8) NOT NULL,
nombre varchar(40) NOT NULL,
domicilio varchar(30),
localidad varchar(20),
provincia varchar(20),
fecha_ingreso date,
sueldo decimal(10,2),
Depto_nro int,
PRIMARY KEY (nro_leg),
UNIQUE (tipo_doc, num_doc),
FOREIGN KEY (Depto_nro) REFERENCES Depto (nrod),
CHECK sueldo >=400 ) ;

a) Indicar en qué cláusulas de la sentencia anterior se expresan las restricciones de integridad del modelo
relacional, y explicar además qué significa cada restricción.
Yatay 240 - Buenos Aires - República Argentina -7- Guía de Trabajos Pràcticos
INSTITUTO de TECNOLOGÍA O. R. T. Analista de Sistemas de Computación
Instituto Incorporado a la Enseñanza Oficial (A-763) Diseño y Administración de Bases de Datos
b) En la sentencia SQL anterior, ¿todo lo escrito es estrictamente necesario o hay redundancias?
Justifique.
c) Escribir la sentencia SQL que permita agregar a la tabla Empleado el atributo cod_postal de 8
posiciones.
d) Si en la sentencia anterior, la definición del atributo Depto_nro, fuera modificada de la siguiente
manera:
... Depto_nro int NOT NULL DEFAULT 1, ...
y la cláusula FOREIGN KEY fuera reemplazada por:
... FOREIGN KEY (Depto_nro) REFERENCES Depto (nrod)
ON DELETE SET DEFAULT
ON UPDATE CASCADE, ...
¿qué efecto causaría esto en las operaciones sobre la base de datos?

5) Escribir las sentencias SQL que generen la base de datos diseñada en el ejercicio 1) del Trabajo
Práctico N°2.

Yatay 240 - Buenos Aires - República Argentina -8- Guía de Trabajos Pràcticos
INSTITUTO de TECNOLOGÍA O. R. T. Analista de Sistemas de Computación
Instituto Incorporado a la Enseñanza Oficial (A-763) Diseño y Administración de Bases de Datos

TRABAJO PRACTICO N°4


NORMALIZACION

OBJETIVOS: Afianzar los conocimientos sobre el por qué de un buen diseño de base de datos, el
procedimiento para obtener un buen diseño partiendo de un relevamiento de datos, y las herramientas
conceptuales necesarias para lograrlo. Aplicar estos conocimientos para la resolución de problemáticas
concretas.

1) ¿Por qué es necesario obtener un buen diseño de base de datos?

2) Dados los siguientes conceptos:


. esquemas normalizados . relevamiento de datos . esquemas de relación
. dependencias funcionales . clave primaria . formas normales . DER
confeccionar un cuadro sinóptico que los relacione y que explique brevemente qué es cada uno.
Indicar además, de dónde se parte, qué se obtiene como resultado final, y qué proceso se está
describiendo.

3) Definir dependencia funcional y dar un ejemplo.

4) Enunciar todas las formas normales estudiadas, y por cada una, dar un ejemplo de un esquema de
relación que no la cumpla, y otro que la cumpla. Justificar.

5) Para el siguiente conjunto de datos:


B: agente de bolsa
O: oficina
I: inversor
S: acciones
Q: cantidad de acciones que posee cada inversor
D: dividendo pagado por las acciones,
y conociendo que se cumplen las siguientes dependencias funcionales:
S --> D, I --> B, B --> O, IS --> Q
a) Encontrar una clave para la relación R=R(BOSQID)
b) En qué forma normal se encuentran las relaciones R1=R1(ISQD) y R2=R2(IBO)?
c) ¿Qué redundancias y anomalías se presentan en las relaciones del punto b?
d) Realizar las proyecciones correspondientes para expresar relaciones en 3FN

6) Para el siguiente conjunto de datos:


S: barco T: tipo de barco P: puerto
D: día V: identificación del viaje C: carga de un barco en un viaje,
y conociendo que se cumplen las siguientes dependencias funcionales:
S --> T, V-->SC, SD-->PV
a) Encontrar las claves de las relaciones R1=R1(SDPVT) y R2=R2(VSC)
b) ¿En qué forma normal se encuentran las relaciones?
c) ¿Qué redundancias y anomalías se presentan?
d) Realizar las proyecciones correspondientes para expresar las relaciones en 3FN.

Yatay 240 - Buenos Aires - República Argentina -9- Guía de Trabajos Pràcticos
INSTITUTO de TECNOLOGÍA O. R. T. Analista de Sistemas de Computación
Instituto Incorporado a la Enseñanza Oficial (A-763) Diseño y Administración de Bases de Datos
7) Se almacena información sobre una empresa de microómnibus. Los principales datos a almacenar son
los siguientes:
⇒ De los Choferes: Nro., Nombre, Antigüedad, etc.
⇒ De los Colectivos: Nro. de Interno, Patente, Dueño, etc.
⇒ De los Horarios: Fecha, Hora de Salida, Hora de llegada, Nro.de Interno, Nro.de chofer, boleteras,
etc.
⇒ De los Supervisores: Nro., Nombre, etc.

Hipótesis Semánticas:
 Un chofer se puede asignar a distintos micros en distintos horarios.
 Un micro puede ser conducido por distintos choferes en distintos horarios.
 Un supervisor verifica la exactitud de las boleteras en distintos puntos del recorrido.
 Un micro puede ser supervisado varias veces en su recorrido.
a) Confeccionar el diagrama de dependencias funcionales.
b) Escribir relaciones en 3FN que representen los datos anteriores.

8) En una empresa se lleva información acerca de los empleados y departamentos:


 Para cada departamento la base contiene un número (único) de departamento, un valor de presupuesto y
el número (único) de empleado del administrador del departamento.
 Para cada departamento se lleva información acerca de todos los empleados que trabajan en él, todos los
proyectos asignados al departamento y todas las oficinas ocupadas por el departamento
 La información de los empleados se compone de un número (único) de empleado, el número del proyecto
donde trabaja y sus números de oficinas y de teléfono (único).
 La información de proyectos contiene el número (único) de proyecto y el valor del presupuesto.
 La información de las oficinas se compone de un número (único) de oficina y la superficie de la misma.
 Además para cada empleado se registra su historia en la empresa que contiene el cargo desempeñado, la
fecha y el importe de cada salario distinto recibido en ese cargo; y para cada oficina contiene los números
de todos los teléfonos de esa oficina.
a) Confeccionar el DER que represente los datos dados agregando las hipótesis que sean necesarias.
b) Escribir las relaciones normalizadas a 3FN
c) Codifique en SQL las instrucciones necesarias para:
c1) Obtener la fecha de ingreso a la empresa de cada uno de los jefes actuales de departamento.
c2) Obtener un informe de la cantidad de oficinas asignadas a cada departamento y de la superficie total
ocupada por el departamento.
c3) Para el departamento liderado por "Juan Pérez" obtener la información de cada uno de los proyectos
encomendados siempre que el presupuesto del proyecto sea superior a $5.000.-

9) Dado el siguiente esquema de relación,


EXAMEN (nro-libreta, nombre-alumno, dirección, teléfono, cod-materia, nombre-materia, fecha-
examen, calificación)
y teniendo en cuenta que un alumno rinde muchos exámenes, y que además puede rendir varias veces
la misma materia:
a) Indicar las dependencias funcionales que se cumplen en el esquema.
b) ¿En qué forma normal se encuentra el esquema? ¿Por qué?
c) ¿Qué anomalías considera Ud. presenta el diseño? ¿Por qué? Relacione con el punto b).
d) Si fuera necesario, lleve el esquema a 3FN, indicando y justificando todos los pasos que ha realizado.
e) Si ha resuelto el punto d), los esquemas resultantes, ¿qué anomalías presentan? ¿Por qué? Compare con el
diseño original.

Yatay 240 - Buenos Aires - República Argentina - 10 - Guía de Trabajos Pràcticos


INSTITUTO de TECNOLOGÍA O. R. T. Analista de Sistemas de Computación
Instituto Incorporado a la Enseñanza Oficial (A-763) Diseño y Administración de Bases de Datos
10) Resuelva todos los puntos del ejercicio 9), para los siguientes esquemas de relación y compare los
resultados entre ambos ejercicios:
a) EXAMEN (nro-libreta, nombre-alumno, dirección, teléfono, cod-materia, nombre-materia,
fecha-examen, calificación)
b) EXAMEN (nro-libreta, nombre-alumno, dirección, teléfono, cod-materia, nombre-materia,
fecha-examen, calificación)
c) EXAMEN (nro-libreta, nombre-alumno, dirección, teléfono, cod-materia, nombre-materia,
fecha-examen, calificación)

11) Dado el siguiente esquema de relación,


PROYECTO (nro-proy, descripción, nro-investigador, nombre-investigador, fecha-inicio-proy, fecha-fin-
proy)
a) Resolver las consignas del ejercicio 9) sobre el esquema PROYECTO, considerando las siguientes hipótesis
semánticas:
 En cada proyecto trabajan uno o varios investigadores
 Un investigador sólo puede estar asignado a un único proyecto
b) Resolver las consignas del ejercicio 9) sobre el esquema PROYECTO, considerando las siguientes hipótesis
semánticas:
 En cada proyecto trabajan uno o varios investigadores
 Un investigador puede estar asignado a varios proyectos
c) ¿Cómo resolvería los puntos a) y b) para
PROYECTO (nro-proy, descripción, nro-investigador, nombre-investigador, fecha-inicio-proy, fecha-fin-proy)
d) ¿Cómo resolvería los puntos a) y b) para
PROYECTO (nro-proy, descripción, nro-investigador, nombre-investigador, fecha-inicio-proy, fecha-fin-proy)

Yatay 240 - Buenos Aires - República Argentina - 11 - Guía de Trabajos Pràcticos


INSTITUTO de TECNOLOGÍA O. R. T. Analista de Sistemas de Computación
Instituto Incorporado a la Enseñanza Oficial (A-763) Diseño y Administración de Bases de Datos

TRABAJO PRACTICO N°5


ESTRUCTURA DE ARCHIVOS Y SISTEMAS
OBJETIVOS: Resaltar las características de distintas estructuras de acceso a datos. Distinguir los elementos
en las estructuras de árbol B y B+. Comparar ambas estructuras apreciando ventajas y desventajas de cada
una. Visualizar la importancia de la altura del árbol en el cálculo del costo de acceso a los datos.

1) ¿Cuándo es preferible usar un índice denso en vez de uno escaso?


2) ¿Cuál es la diferencia entre un índice primario y uno secundario?
3) ¿Cuántos índices de tipo denso pueden definirse sobre una tabla de datos? ¿Por qué? Ejemplifique.
4) ¿Cuántos índices de tipo no denso pueden definirse sobre una tabla de datos? ¿Por qué? Ejemplifique.
5) Diagrame una estructura de árbol B+ de tres niveles, con un máximo de 4 claves de búsqueda por nodo.
a) Identifique en el diagrama cada elemento de la estructura.
b) Indique cuáles son los pasos para la recuperación de los datos, dada una clave de búsqueda, y utilizando el
árbol B+ diagramado.
c) Para las mismas claves utilizadas en el árbol B+, diagrame el árbol B correspondiente, y compare ambas
estructuras.
6) En forma general, ¿cuántos accesos a disco son necesarios para, dada una clave de búsqueda, y
utilizando la estructura de árbol B+,
a) recuperar el registro de datos correspondiente a esa clave de búsqueda, que existe en la tabla de datos?
b) modificar un dato en el registro de datos correspondiente a esa clave de búsqueda, que existe en la tabla
de datos?
c) responder que la clave de búsqueda es inexistente?
d) realizar un listado de todos los datos, ordenados por clave de búsqueda?
e) Responder los puntos desde el a) hasta el d) para el ejemplo del ejercicio 5.

7) Supongamos un archivo de 50.000 registros lógicos de 120 bytes cada uno. El campo de clave primaria
utiliza 20 bytes y todos los apuntadores son de 4 bytes. Suponiendo que se utiliza el método de acceso
indexado utilizando el sistema de area encadenada y sabiendo que el tamaño de un registro físico
(bucket) de 1K bytes, calcular:
a) cantidad de registros físicos utilizados por el área primaria de datos
b) cantidad de niveles que posee el árbol B+ de índices
c) cantidad de registros físicos que ocupa cada uno de los niveles del índice

8) Con el archivo del ejercicio anterior, recalcular los puntos b y c suponiendo que posee un árbol B de
índices, en lugar del árbol B+.

Yatay 240 - Buenos Aires - República Argentina - 12 - Guía de Trabajos Pràcticos


INSTITUTO de TECNOLOGÍA O. R. T. Analista de Sistemas de Computación
Instituto Incorporado a la Enseñanza Oficial (A-763) Diseño y Administración de Bases de Datos

DISEÑO Y ADMINISTRACIÓN DE BASE DE DATOS


Trabajo Práctico Final
El presente trabajo práctico consiste en diseñar una base de datos, evitando anomalías, y partiendo de un
relevamiento de datos sencillo. El objetivo es integrar los conocimientos adquiridos durante el cuatrimestre
en una aplicación concreta.
Cada grupo deberá entregar, como parte de la documentación:

1) Enunciado / Relevamiento (será entregado por el profesor oportunamente)


2) DER
3) Modelo Relacional normalizado a 3FN (con justificación)
4) Características del SGBD a utilizar
5) Sentencias ejecutadas para la creación de los esquemas de relación pertenecientes al diseño
presentado. Dichas sentencias deben incluir las restricciones de integridad vistas para el Modelo
Relacional, permitiendo actualizaciones y eliminaciones en cascada (si lo considera conveniente)
6) Sentencias ejecutadas para la inserción de datos, junto con los datos ingresados. (impresión de tablas)
7) Prueba del funcionamiento de las restricciones de integridad
8) Propuesta de al menos dos consultas sobre las tablas creadas, una con agrupamiento y otra con junta,
para lo cual se deberá presentar: el enunciado de la consulta, la resolución y el resultado según los
datos cargados
9) Propuesta justificada de creación de índices sobre los esquemas de relación, y sentencia de creación de
dicho(s) índice(s)
10) Desarrollo de alguno de los siguientes temas,
a) Disparadores (triggers)
b) Asertos
c) Distintos tipos de junta
d) Vistas
e) Definición de dominios
que incluye una presentación teórica del tema asignado, y luego la aplicación del mismo al problema
resuelto en el presente trabajo.

Yatay 240 - Buenos Aires - República Argentina - 13 - Guía de Trabajos Pràcticos


Diseño y
Administración de
Base de Datos

Ejemplos de Parcial
INSTITUTO de TECNOLOGÍA O. R. T. Analista de Sistemas de Computación
Instituto Incorporado a la Enseñanza Oficial (A-763) Diseño y Administración de Bases de Datos

DISEÑO DE BASE DE DATOS


Parcial - Tema 1

1) Nombrar y describir brevemente los componentes principales de un SGBD.


2) Clasificar los distintos tipos de usuarios y definir la función de cada uno.
3) ¿Cuál es el principal objetivo de un SGBD? ¿Qué problemas se propone resolver?
4) Se desea diseñar una base de datos para una empresa de viajes y turismo con las siguientes
características:
a) Los productos comercializados son paquetes de servicios turísticos que se compran a operadores
mayoristas. Es necesario almacenar información sobre los operadores a saber: nombre, domicilio, localidad,
país, teléfono, fax, monto de la deuda a pagar por la empresa de viajes y turismo.
b) Los paquetes se caracterizan por su código, descripción del recorrido, costo y precio.
c) Periódicamente se arman contingentes de pasajeros que toman un mismo conjunto de paquetes. Los datos
del contingente son: nombre, nombre del guía, fecha de partida, duración, cupo máximo, cantidad de
pasajeros.
d) Por cada pasajero se almacena su nombre, nro. de pasaporte, nacionalidad , edad, sexo.
e) Un contingente puede estar compuesto por uno o más paquetes, y un paquete puede estar programado en
varios contingentes en fechas diferentes.
f) Cada paquete pertenece a un único operador.
g) Cada pasajero participa a lo sumo de un contingente.
Se pide:
4.1. Realizar el DER correspondiente, aclarando todas las suposiciones que sean necesarias y que no
contradigan el enunciado.
4.2. Convertir el diagrama del punto 4.1. al modelo relacional.
4.3. Para cada esquema definir las claves primaria, candidatas y foráneas, y las dependencias funcionales
que se cumplan.
4.4. Decir en qué forma normal se encuentra cada esquema y justificar.
4.5. Expresar todas las relaciones en 3FN.
4.6. Defina los índices que crea conveniente sobre los esquemas del punto 4.5., justificando su elección.

5) Dadas las relaciones


CIUDAD(nroC, nombreC, cant_habitantes)
PROYECTO(nroP, nombreP, categoría)
DESARROLLADO_EN(nroP, nroC)
resolver las siguientes consultas en SQL:
a) Listar los proyectos ordenados por nombre de proyecto, y que pertenezcan a la categoría “A”, o que
perteneciendo a cualquier categoría se desarrollen en la ciudad de Córdoba.
b) Listar los nombres de las ciudades que tengan más de 10 proyectos en desarrollo.

Yatay 240 - Buenos Aires - República Argentina -2- Ejemplos de parcial


INSTITUTO de TECNOLOGÍA O. R. T. Analista de Sistemas de Computación
Instituto Incorporado a la Enseñanza Oficial (A-763) Diseño y Administración de Bases de Datos
DISEÑO DE BASE DE DATOS
1° Parcial - Tema 2

1) ¿Cuáles son los objetivos de un SGBD?


2) ¿En qué consiste cada uno de los tres niveles distinguibles en un SGBD?
3) ¿Cuántos índices no denso puede tener como máximo un archivo? Justificar.
4) Se desea diseñar una base de datos para una empresa de viajes y turismo con las siguientes características:
a) Los productos comercializados son paquetes de servicios turísticos que se caracterizan por su
código, descripción del recorrido, costo y precio.
b) Periódicamente se arman contingentes de pasajeros que toman un mismo conjunto de paquetes.
Los datos del contingente son: nombre, nombre del guía, fecha de partida, duración, cupo
máximo, cantidad de pasajeros.
c) Por cada pasajero se almacena su nombre, nro. de pasaporte, nacionalidad , edad, sexo. Se desea
registrar el titular de cada grupo familiar y el parentesco de cada pasajero con el mismo.
d) Se emite una factura por cada pasajero titular registrado en la base de datos. No olvidar que cada
factura puede tener varios renglones con la descripción, cantidad, precio unitario, y precio total
por cada item facturado.
e) Un contingente puede estar compuesto por uno o más paquetes, y un paquete puede estar
programado en varios contingentes en fechas diferentes.
f) Cada pasajero puede participar en varios contingentes.
Se pide:
4.1. Realizar el DER correspondiente, aclarando todas las suposiciones que sean necesarias y que no
contradigan el enunciado.
4.2. Convertir el diagrama del punto 4.1. al modelo relacional.
4.3. Para cada esquema definir las claves primaria, candidatas y foráneas, y las dependencias funcionales
que se cumplan.
4.4. Decir en qué forma normal se encuentra cada esquema y justificar.
4.5. Expresar todas las relaciones en 3FN.
4.6. Defina los índices que crea conveniente sobre los esquemas del punto 4.5, justificando su elección.
5) Dadas las relaciones
CIUDAD(nroC, nombreC, cant_habitantes)
PROYECTO(nroP, nombreP, categoría)
DESARROLLADO_EN(nroP, nroC)
resolver las siguientes consultas en SQL:
a) Listar el nombre de los proyectos que se desarrollan en más de dos ciudades, ordenados por
categoría de mayor a menor.
b) Listar el nombre de las ciudades en las que se desarrolle algún proyecto de categoría “A”, y que
además tengan una población entre 500.000 y 1.000.000 de habitantes.

Yatay 240 - Buenos Aires - República Argentina -3- Ejemplos de parcial


INSTITUTO de TECNOLOGÍA O. R. T. Analista de Sistemas de Computación
Instituto Incorporado a la Enseñanza Oficial (A-763) Diseño y Administración de Bases de Datos
DISEÑO DE BASE DE DATOS
Parcial - Tema 1
1) Definir y explicitar las características principales de Base de Datos y Sistema de Gestión de Base de
Datos.
2) Indicar qué significan cada uno de los siguientes puntos:
a) RID en la implementación de páginas con ranuras. ¿Qué ventajas presenta?
b) Independencia de datos
c) Instancia y Esquema
3) ¿Qué función cumple la estructura de árbol B+ en un SGBD? Describa sus componentes y mencione
ventajas y desventajas.
4) Se desea diseñar una base de datos para una empresa de alquiler de embarcaciones con las siguientes
características:
d) La empresa alquila embarcaciones a clientes por una determinada tarifa. De cada embarcación se desea
registrar su patente, bandera, denominación y tipo.
e) Es necesario almacenar información de los clientes y de los alquileres, teniendo en cuenta que el
importe total de cada alquiler incluye, además de la tarifa de la embarcación, un monto adicional
correspondiente al equipo de consumo (como toallas, artículos de tocador, y provisiones en general)
diferente para cada alquiler. Es importante registrar también el período del alquiler (fecha_desde y
fecha_hasta), para saber qué embarcaciones están disponibles en cada momento.
f) La empresa no posee barcos propios, sino que los alquila a nombre de los propietarios que desean
obtener ingresos cuando no usan sus botes. Por este servicio la empresa le cobra una cuota por
embarcación a cada propietario (de cada embarcación se registra un único propietario).
g) Por cada propietario se desean almacenar sus datos personales incluyendo su tipo y número de
documento, un código identificatorio dentro de la empresa, y la cantidad de barcos que tiene
actualmente en alquiler.
h) Se realiza un contrato con cada propietario y por cada embarcación, en el que se especifican todos los
procesos y costos referentes al mantenimiento. El contrato posee un número identificatorio, el texto
correspondiente y una fecha de vencimiento.
Se pide:
4.1) Realizar el DER correspondiente, aclarando todas las suposiciones que sean necesarias y que
no contradigan el enunciado.
4.2) Convertir el diagrama del punto anterior al modelo relacional, e indicar claves candidatas,
primarias y foráneas.
5) Dado el siguiente esquema de relación, indicar las dependencias funcionales que se cumplen en el
mismo, las claves candidatas y clave primaria. Indicar, además, en qué forma normal se encuentra el
esquema, justificando la respuesta, y si es necesario, normalizar a 3FN.
SOCIO(nro_socio, nombre, dirección, tel, cod_deporte, nombre_deporte, arancel)
Hipótesis semánticas: Un socio puede realizar varios deportes; el socio paga un arancel por cada
deporte realizado; los valores de los atributos nro_socio, cod_deporte y nombre_deporte no se
repiten.
6) Dadas las relaciones PRODUCTO(fabricante, modelo)
PC(modelo, velocidad, ram, hd, cd, precio)
resolver las siguientes consultas en SQL:
a) Listar la cantidad de modelos de computadoras personales (PC) por fabricante, teniendo en cuenta sólo
los que fabrican más de 3 (tres) modelos distintos.
b) Listar el o los modelos de PC de máximo precio.

Yatay 240 - Buenos Aires - República Argentina -4- Ejemplos de parcial


INSTITUTO de TECNOLOGÍA O. R. T. Analista de Sistemas de Computación
Instituto Incorporado a la Enseñanza Oficial (A-763) Diseño y Administración de Bases de Datos

DISEÑO DE BASE DE DATOS


Parcial - Tema 2
1) Comparar las características de un SGBD con un sistema de archivos convencional.
2) Indicar qué significan cada uno de los siguientes puntos:
a) Niveles de abstracción
b) LDD y LMD
c) Anomalías de actualización, inserción y borrado.
3) ¿Qué función cumple la estructura de árbol B en un SGBD? Describa sus componentes y mencione
ventajas y desventajas.
4) Se desea diseñar una base de datos para una empresa de alquiler de embarcaciones con las siguientes
características:
a) La empresa alquila embarcaciones a clientes por una determinada tarifa. De cada embarcación se desea
registrar su patente, bandera, denominación y tipo.
b) Se tiene registro de itinerarios fijos que cada embarcación puede realizar, a saber: identificación de
itinerario, descripción, condiciones climatológicas habituales, época del año recomendada para cada
embarcación en particular.
c) Es necesario almacenar información de cada cliente (datos personales y cuántos alquileres ha
realizado), y de los alquileres, como el importe total, que depende del período del alquiler (fecha_desde
y fecha_hasta).
d) La empresa no posee barcos propios, sino que los alquila a nombre de los propietarios que desean
obtener ingresos cuando no usan sus botes. Por este servicio la empresa le cobra una cuota por
embarcación a cada propietario (de cada embarcación se registra un único propietario).
e) Por cada propietario se desean registrar sus datos personales, incluyendo su tipo y número de
documento y un código identificatorio dentro de la empresa.
Se pide:
4.1) Realizar el DER correspondiente, aclarando todas las suposiciones que sean necesarias y que no
contradigan el enunciado.
4.2) Convertir el diagrama del punto anterior al modelo relacional, e indicar claves candidatas, primarias y
foráneas.
5) Dado el siguiente esquema de relación, indicar las dependencias funcionales que se cumplen en el
mismo, las claves candidatas y clave primaria. Indicar, además, en qué forma normal se encuentra el
esquema, justificando la respuesta, y si es necesario, normalizar a 3FN.
SOCIO(nro_socio, nombre, dirección, tel, cod_categoría, descrip_categoría, nro_cuota, fecha, importe)
Hipótesis semánticas: Un socio pertenece a una única categoría; un socio paga varias cuotas por año;
los valores de los atributos nro_socio y cod_categoría no se repiten.
6) Dadas las relaciones
PRODUCTO(fabricante, modelo)
PC(modelo, velocidad, ram, hd, cd, precio)
resolver las siguientes consultas en SQL:
a) Listar el o los modelos de PC de velocidad mínima.
b) Listar el o los fabricantes de computadoras personales (PC), que fabriquen algún modelo con precio
mayor al de todas las PC’s con velocidad mayor a 133 Mhz.

Yatay 240 - Buenos Aires - República Argentina -5- Ejemplos de parcial

Vous aimerez peut-être aussi