Sei sulla pagina 1di 10

Bases de Datos I

PRACTICA Nº 1

MODELO ENTIDAD-RELACION

Realizar el Diagrama Entidad-Relación correspondientes a los siguientes

relevamientos:

(suponga nombres de atributos coherentes con los enunciados)

Ejercicio 1

Un sistema está formado por un conjunto de programas que tienen una determinada frecuencia de ejecución.

Un programa puede ejecutarse en más de un sistema y su frecuencia dependerá del sistema en que se ejecute.

A su vez, un programa puede usar varios archivos en distintos modos (Input, Output,

Input-Output), y este modo de acceso dependerá del programa que lo use.

Un archivo puede ser usado por varios programas.

A

la Gerencia de Informática le interesa registrar el modo de acceso de cada archivo y

la

frecuencia para cada programa que se ejecute.

Ejercicio 2

Aumente la complejidad del ejercicio anterior, suponiendo que cada usuario del sistema tiene acceso sólo a determinados sistemas, y dentro de ellos a determinados programas. La Gerencia necesita, por razones de seguridad, conocer los permisos de acceso de sus usuarios.

Ejercicio 3

En una carrera de ciencias informáticas de una determinada facultad existen tres especialidades. De las materias que se dictan, algunas son comunes entre las especialidades.

Todas las materias tienen sus correspondientes correlativas. Existen profesores jefes de cátedra, y pueden serlo de varias asignaturas. Los profesores pueden dictar varias materias, y compartir la cátedra con otros profesores. Los alumnos pueden cursar distintas materias, en distintos horarios. Se necesita la siguiente información:

Listado de materias rendidas por los alumnos (fecha y nota obtenida)

Listado de alumnos inscriptos en materias (cursando)

Listado de materias con aulas y horarios asignados.

Listado de profesores a cargo de la cátedra. (Jefes de cátedra)

Bases de Datos I

Ejercicio 4

Un Club social y deportivo desea automatizar la gestión sobre sus socios .

Existen 4800 socios de diferentes edades y categorías de los cuales se lleva el siguiente registro:

Número de socio

Nombre y apellido

antiguedad

sexo

Tipo y Nº de documento

categoría

Las categorías pueden ser: Activo, Vitalicio, Cadete.

Los socios pagan 12 cuotas mensuales con un mismo importe, a excepción de los vitalicios que no pagan.

Puede producirse la baja de un socio, que se registra con causa y fecha, puede deberse a los siguientes motivos:

Renuncia.

Fallecimiento.

Mora en más de 3 cuotas.

La comisión del Club desea la siguiente información:

Listado de socios morosos con 2 cuotas impagas para darles un aviso de posible baja.

Listado de socios por antiguedad y categoría.

Listado de socios dados de baja en determinada fecha.

Ejercicio 5

Aumente la complejidad del ejercicio anterior suponiendo lo siguiente:

La comisión del Club desea mantener información sobre las actividades que el socio realiza en la Institución:

Un socio puede practicar un deporte, muchos o ninguno, pero si practica deportes y éstos están arancelados, el importe de éstos deberá sumarse a la cuota social.

Se desea registrar lo siguiente:

Deporte que practica (natación, football, basquet, tenis, etc.)

Horario

Arancel (si tiene)

Profesor asignado

Cada uno de los profesores, de los cuales se desea registrar sus datos personales, está asigando a un sólo deporte, aunque un mismo deporte puede practicarse con hasta dos profesores distintos.

Bases de Datos I

Ejercicio 6

Una fábrica de aparatos de televisión desea automatizar el sector de stock y el sector ventas.

En el sector stock existe un archivo de productos terminados (televisores listos para la venta).

Los insumos son provistos por proveedores nacionales y extranjeros, los que suministran artículos diferentes. Los insumos nacionales son provistos por más de un proveedor, esto no sucede en el caso de los importados.

Existen 10 modelos distintos, y cada uno de ellos posee: un número de serie que está impreso en la tapa posterior del aparato.

Se desea contar con la siguiente información:

Cantidad de aparatos disponibles para su venta.

Cantidad de artículos importados y nacionales comprados a determinada fecha.

Los clientes de esta empresa son mayoristas y están ubicados en distintas provincias

y en capital federal.

Se desea registrar la cantidad de televisores vendidos por cliente y la fecha en que se realizó la venta.

Los clientes del interior tiene un recargo en el precio, pues la mercadería se les envía

a domicilio.

Se necesita emitir un listado con el total de las ventas realizadas por cliente.

Ejercicio 7

En una biblioteca se desea implantar un sistema de bases de datos.

La biblioteca cuenta con aproximadamente 10000 volúmenes y de varios de ellos existen varios ejemplares.

La información sobre cada libro se agrupa por tema en 3 grandes áreas:

1. General

2. Literatura

3. Técnica

Dentro de cada área los libros se clasifican en temas y dentro de cada tema por autor

y título.

Un libro tiene muchos autores y un autor escribe muchos libros.

Cada libro tiene un Nº de inventario que es el mismo para todos los ejemplares de un mismo libro, y se le agrega un número que identifica el ejemplar:

Ejemplo Nº de inventario: 1222/1 , 1222/2, 1222/3

Existe un código de ubicación que está compuesto por 4 dígitos, los 2 primeros indican la estantería donde se encuentra el libro y los 2 restantes el estante.

Ejemplo: E120 (estantería E1, estante 20)

Se desea responder a las siguientes consultas:

Dado un tema, mencionar todos los libros existentes, ordenados por autor

Dado un título, encontar su ubicación (estantería y estante)

Bases de Datos I

Ejercicio 8

Aumente la complejidad del ejercicio anterior suponiendo lo siguiente:

La biblioteca cuenta con un registro de socios que posee los siguientes datos:

Número de socio

Nombre y apellido

Dirección

Teléfono

Se registran además los préstamos de los libros a los socios, y los pagos realizados (12 cuotas) por los mismos.

No se prestan libros a no socios ni a socios que no estén al día con los pagos.

Se necesita lo siguiente:

Listado de socios morosos( por pagos)

Listado de socios morosos (por libros no devueltos en fecha)

Listado de libros prestados con su fecha.

Ejercicio 9

Realizar el diagrama entidad-relación del Modelo Entidad-Relación

Bases de Datos I

PRÁCTICA Nº 2

MODELO RELACIONAL

Ejercicio 1

Realizar las tablas correspondientes con cada uno de los ejercicios de la práctica Nº 1.

Ejercicio 2

Hacer un algoritmo en pseudocódigo para pasar un DER básico (relaciones unarias y binarias) al modelo relacional.

Ejercicio 3

Idem ejercico anterior para el DER extendido ( relaciones ternarias, jerarquías, entidades débiles)

Ejercicio 4

Defina las claves primarias y claves foráneas de cada una de las tablas resultantes del ejercicio Nº 1 de esta práctica.

Bases de Datos I

PRACTICA Nº 3

NORMALIZACION (TERCERA FORMA NORMAL)

Ejercicio 1

Pasar a 3FN la siguiente relación, indicando los atributos PK(claves primarias) y los FK (claves foráneas).

FACTURA(Nro-fact, Fecha-fact, Nro-cliente, Nombre-cliente, (Nro-artículo, Nomb-

artículo,

precio)n )

supuestos: el subíndice n identifica grupos repetitivos.

Ejercicio 2

Pasar a 3FN la siguiente relación, indicando los atributos PK(cláves primarias) y los FK (cláves foráneas).

SALA( Nro-sala, nombre-sala, cantidad-camas-sala, (legajo-médico, nomb-médico, dir- médico)n , (legajo-paciente, nomb-paciente, dir-paciente)n ) Nota: Hay 2(dos) grupos repetitivos

Ejercicio 3

Crear una única relación universal para cada uno de los ejercicios de la práctica Nº 1 Defina un identificador único, atributos repetitivos. Normalice a 3FN la relación creada.

Bases de Datos I

PRACTICA Nº 4

LENGUAJES DE CONSULTA

Ejercicio 1

Dados los esquemas de relaciones:

R(A,B) y S(B,A) y sean r(R) y s(S) las siguientes instancias de las respectivas relaciones:

 

r

 
 

A

B

a

b

c

b

d

e

 

s

 
 

B

A

b

c

e

a

b

d

b

a

Se pide obtener :

 

a)

r

U

s

b)

r

-

s

c)

r

X

s

d)

r

!X!

s

e)

π

A ( r )

 

f)

σ

A = “a”

(r !X! s)

Bases de Datos I

Ejercicio 2

Dada la siguiente base de datos:

Proveedor( Nropro, Nompro, ciudadp)

Articulo(Nroart, Nomart, color, precio,talla)

Fabrica(Nrofab, Nomfab, ciudadf)

Pedido(Nropro, Nroart, Nrofab, cantidad)

Se pide:

Para las tablas definidas, escribir las sentencias DDL necesarias para su creación.

Resolver en AR y en SQL. (DML)

1)

Listar los nombres de todas las fábricas.

2)

Listar los nombres de las fábricas de “Rosario”

3)

Listar el Nº de artículo de talla más chica.

4)

Listar el nombre de los proveedores que suministran algún artículo a la

5)

fábrica Nº 88. Listar el nombre de los proveedores que suministran el artículo Nº 22 a

6)

la fábrica Nº 88. Listar el nombre de los proveedores que suministran artículos a las

7)

fábricas Nro 88 y Nº 99 (ambas) Listar el nombre de los proveedores que suministran artículos a la fábrica

8)

Nº 88 ó a la fábrica Nº 99 (a cualquiera) Listar el nombre de los proveedores que proveen solo a esas 2 fábricas

9)

(88 y 99). Listar los nombres de los artículos suministrados por proveedores en

cuya ciudad hay alguna fábrica. 10) Listar el nombre de los proveedores que proveen a todas las fábricas. 11) Listar el nombre de los proveedores que proveen al menos a 2 fábricas. 12) Listar el nombre y la ciudad de los proveedores que proveen exactamente 2 artículos. 13) Listar el nombre de las fábricas que no son abastecidas por proveedores de “Rosario” 14) Listar el nombre de los proveedores que suministran todos los artículos “azules”

Bases de Datos I

Ejercicio 3

Dada la siguiente Base de Datos:

Alumnos( legajo, nombre, dirección, teléfono, ciudad)

Materias( codigo-mat, descripción)

Cursada( legajo, codigo-mat, leg-prof, comisión, aula)

Profesor ( leg-prof, nomb-prof, direc-prof, tel-prof, ciudad-p)

Se pide:

Para las tablas definidas, escribir las sentencias DDL necesarias para su creación.

Resolver en AR y en SQL. (DML)

1)

Hallar los nombres de los alumnos que viven en “MORON”.

2)

Hallar los nombres de los profesores que dictan la materia “SEMINARIO

3)

B”. Hallar los nombres de los profesores que dictan “SEMINARIO B” en el

4)

aula Nº 47. Listar el nombre de las materias que cursa el alumno “Juan Gómez”

5)

Hallar el nombre de los alumnos que cursan las materias “SEMINARIO B” y “PROGRAMACION B” (ambas).

6)

Hallar el nombre del profesor que el alumno “Juan Gómez” tiene en “SEMINARIO B”.

7)

Hallar los nombres de los alumnos de “MORON” que no cursan “SEMINARIO B”

8)

Hallar los nombres, dirección y teléfono de los profesores que dictan “Programación B” en la comisión Nº 27.

9)

Hallar el código y los nombres de las materias que cursa el alumno “Juan Gómez” en el aula Nº 47.

10) Listar las comisiones en que cursa materias el alumno “Juan Gómez”

Bases de Datos I

Ejercicio 4

Dada la siguiente Base de Datos:

Paciente (nro_pac, nombre, dirección, teléfono, tipo_doc, nro_doc, obra_social, fecha_nac, estado_civil, estado)

Médico (nro_leg, nombre, dirección, localidad, fecha_ing)

Especialidad (cód_especialidad, descripción)

Especialistas (nro_leg, cód_especialidad)

Turno (nro_pac, nro_leg, fecha, hora)

Atendido (nro_pac, nro_leg, fecha, hora)

Nota: especialidad indica la especialidad del médico, por ejemplo ‘Pediatría’, un médico puede tener varias especialidades. Estado, indica si el paciente es activo o dado de baja Fecha, en todos los casos tiene formato ‘DD-MM-AAAA’

Resolver en AR y en SQL. (DML)

a) Listar el nombre del médico que atendió al menos tres pacientes durante el

año en curso.

b) Listar los médicos que atienden sólo pacientes de ‘ASE’ y ‘FEMEBA’.

c) Listar los pacientes que fueron atendidos por médicos que poseen más de una especialidad y cuya antigüedad es mayor a 4 años.

d) Listar los médicos que no atendieron pacientes el último semestre del año

2002.

Para las tablas definidas, realizar las siguientes operaciones utilizando sentencias DDL y DML.

DML

 

1)

Actualizar la obra social de los pacientes de ‘OSECAC’ a ‘OSPLAD’.

2)

Incrementar en uno (1) los números de paciente cuyo rango va del 1

3)

al 99. Incrementar en 2 horas el horario de los turnos de julio para todos

4)

los médicos cuya especialidad es ‘Cardiología’. Insertar en la tabla generada 5 instancias de datos.

5)

Borrar los turnos otorgados para el mes en curso del Dr. Juan

DDL

Pérez.

 

6)

Crear una tabla cuya estructura sea igual a la de paciente

7)

(paciente_aux). Crear una tabla igual a ‘Turno’ que contenga solo los turnos del mes

8)

de mayo (realice la operación en un único paso). Crear una vista que contenga el nombre y la especialidad de los

9)

médicos de ‘Morón’. Crear un índice único sobre la tabla médico (utilizar nro_pac y

fecha_ing). 10) Crear un índice non-unique sobre la fecha y hora de la tabla turno. 11) Renombrar la tabla creada en el punto 6 a paciente_aux2. 12) Eliminar la tabla generada en punto 6. 13) Dar permisos absolutos sobre la tabla paciente. 14) Modificar la longitud del campo especialidad a char(35).