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