PRÁCTICO 1: Modelo de Datos – Tablas y Operaciones

Anuncio
BASES DE DATOS I
UNCPBA – Fac. Ciencias Exactas
PRÁCTICO 1
Curso 2008
PRÁCTICO 1:
Modelo de Datos – Tablas y Operaciones – Restricciones de Integridad
Creación de tablas, operaciones de actualización, restricciones simples: claves primarias (PK),
claves extranjeras (FK), restricciones de unicidad y restricciones de nulidad.
1) Para cada uno de los Diagramas de Entidades y Relaciones de la Figura 1 y Figura 2:
1.1) Derive el conjunto de tablas relacionales correspondientes utilizando sentencias del DDL (Data
Definition Language) del standard SQL. Especifique en cada caso claves primarias y extranjeras y
otras restricciones que se derivan del modelo, mediante las cláusulas provistas por el lenguaje
1.2) Especifique claves primarias, candidatas y extranjeras.
1.3) Considere las siguientes afirmaciones y responda Verdadero o Falso, explicando por qué:
a) en un banco hay clientes que tienen más de un préstamo y más de una cuenta
b) un cliente puede obtener un préstamo en una sucursal en la cual no tiene cuenta
c) una sucursal sin cuentas no puede otorgar préstamos
1.4) Modifique el M.E.R.E. correspondiente a la Figura 1 de forma que quede reflejada siguiente
información:
a) Se desea almacenar información de personas. Las personas pueden ser clientes o empleados de
sucursales. Hay que tener en cuenta que un empleado puede ser a la vez cliente. En una sucursal
puede haber uno o más empleados y un empleado trabaja en una única sucursal de un banco.
Además, se desea conocer su cargo de cada empleado.
b) Un préstamo puede ser de tipo personal, hipotecario o de autoconstrucción. Si es de tipo
personal hay que registrar la duración del mismo. Si es de tipo hipotecario hay que almacenar la
tasación de la vivienda y el tipo de interés (semestral o anual). Si es de autoconstrucción se debe
almacenar la dirección de la vivienda que se está construyendo, la fecha de fin de obra y el
nombre de la constructora.
1.5) Proponga una instancia de la base de datos en cada caso, especificando tuplas de ejemplo para
las diferentes tablas derivadas. Verifique que se satisfagan las restricciones de identidad,
nulidad, de dominio y de integridad referencial especificadas.
Figura 1
Página 1 de 3
BASES DE DATOS I
UNCPBA – Fac. Ciencias Exactas
PRÁCTICO 1
Curso 2008
id_libro
título
tema
año_public
0, N
escribió
AUTOR
0, N
num_autor
0, N
trata
LIBRO
descripción
TEMA
1,1
0, N
0,N
consulta
posee
nacionalidad
nombre
1, N
0, N
préstamo
EJEMPLAR
nro_ejem
0,N
fecha_p
0, N
SOCIO
id_socio
estado
domic
nombre
telefono
Figura 2
2) Cierto sistema de Control de Producción de una Empresa Petroquímica maneja movimientos de
recursos dentro de su proceso de producción. Cada movimiento se identifica por un tipoMov y
numMov, y se genera desde un origen a un destino, comenzando en fechaHoraDesde hasta
fechaHoraHasta. La base de datos posee las siguientes relaciones:
MOVIMIENTOS (tipoMov, numMov, codR, codO, codD, fechaHoraDesde, fechaHoraHasta, cant)
ORIGENES (codO, descripcionO, tipoO, capacidadO)
DESTINOS (codD, descripcionD, capacidadD)
RECURSOS (codR, nombreR, descripcionR, grupoR, codArea)
a) Genere el Modelo de Entidades y Relaciones correspondiente.
b) Derive el esquema relacional correspondiente utilizando sentencias del DDL de SQL.
Especifique en cada caso claves primarias y extranjeras mediante las cláusulas provistas por el
lenguaje. Establezca restricciones de nulidad convenientes y defina apropiadamente los tipos de
datos para cada atributo.
3) Considere la siguiente BD sobre músicos:
create table Musico (
MusicoId smallint primary key,
MusNom varchar (15) not null,
telefono varchar (15),
tipo varchar (15) not null
);
create table Instrumento (
InstrumId smallint primary key,
InstNom varchar (15) not null,
InstDescrip varchar (50) not null
);
create table ejecutado_por (
MusicoId smallint not null
references Musico,
InstrumId smallint not null
references Instrumento,
primary key (MusicoId, InstrumId)
);
create table Album (
AlbumId smallint primary key,
AlbTitulo varchar (15) not null,
Formato varchar (5),
Productor smallint not null
references Musico
);
create table Tema (
AlbumId smallint not null
references Album,
TemaNro smallint not null,
TemaTitulo varchar (15) not null,
primary key (AlbumId, TemaNro)
);
create table Interpretado_por(
MusicoId smallint not null
references Musico,
AlbumId smallint not null,
TemaNro smallint not null,
primary key
(MusicoId, AlbumId, TemaNro),
foreign key (AlbumId, TemaNro)
references Tema
);
Página 2 de 3
BASES DE DATOS I
UNCPBA – Fac. Ciencias Exactas
PRÁCTICO 1
Curso 2008
a) Defina a partir del siguiente script de creación de tablas realice la reingeniería obteniendo el
Diagrama de Entidades y Relaciones correspondiente
b) Proponga una instancia de la base de datos, especificando tuplas de ejemplo para las diferentes
entidades y relaciones. Verifique que se satisfagan las restricciones de identidad, nulidad y de
integridad referencial especificadas.
Página 3 de 3
Descargar