modelo relacional sem 4

Upload: laura-martinez

Post on 19-Jul-2015

185 views

Category:

Documents


1 download

TRANSCRIPT

Modelo Conceptual

Modelo Lgico

Modelo Fsico

Los principios del modelo de datos relacional fueron establecidos por E.F. Codd en los aos 1969 y 1970. Hasta la dcada de los ochenta no se empezaron a comercializar los primeros SGBD relacionales con rendimientos aceptables. Los SGBD relacionales que se comercializan actualmente todava no soportan todo lo que establece la teora relacional hasta el ltimo detalle.

Una base de datos relacional consiste en un conjunto de tablas, a cada una de las cuales se le asigna un nombre exclusivo. Cada tabla tiene una estructura donde se representaron las bases de datos E-R mediante tablas. Cada fila de la tabla representa una relacin entre un conjunto de valores.

Dado que cada tabla es un conjunto de dichas relaciones, hay una fuerte correspondencia entre el concepto de tabla y el de relacin, del que toma su nombre el modelo de datos relacional.

EMPLEADO

Tupla Valores o registros

columna que existe en una tabla y a su vez es clave primaria en otra tabla

relaciones = conjunto de tuplas Atributos

EsquemaExtensin

describen caractersticas

Para cada atributo hay un conjunto de valores permitidos, llamado dominio.

El grado de una relacin es el nmero de atributos que pertenecen a su esquema. La cardinalidad de una relacin es el nmero de tuplas que pertenecen a su extensin. La clave primaria es la clave candidata cuyos valores se utilizarn para identificar las tuplas de la relacin. El diseador de la base de datos es quien elige la clave primaria de entre las claves candidatas.

Las claves candidatas no elegidas como primaria se denominan claves alternativas.Es posible que una clave candidata o una clave primaria conste de ms de un atributo.

Claves forneas: columna que existe en una tabla y a su vez es clave primaria en otra tabla Ejemplo:La relacin EMPLEADOS(DNI, nombre, apellido, telfono, DNIjefe, edificiodesp, nmerodesp), tiene una clave fornea formada por los atributos edificiodesp y nmerodesp que se refiere a la clave primaria de la relacin DESPACHOS(edificio, nmero, superficie). Esta clave fornea indica, para cada empleado, el despacho donde trabaja.

Despachos (edificio, numero, superficie) Empleado: (DNI, nombre, apellido, telfono, edificiodesp, numerodesp)

DominiosSe debe considerar que cada atributo (columna) debe ser atmico, es decir, que no sea divisible, no se puede pensar en un atributo como un "registro" o "estructura" de datos. Los dominios pueden ser de dos tipos: 1) Dominios predefinidos, que corresponde a los tipos de datos que normalmente proporcionan los lenguajes de bases de datos, como por ejemplo los enteros, las cadenas de caracteres, los reales, etc. 2) Dominios definidos por el usuario, que pueden ser ms especficos. Toda definicin de un dominio debe constar, como mnimo, del nombre del dominio y de la descripcin de los valores que forman parte de ste.

Para transformar un modelo entidad-relacin a modelo relacional se siguen las siguientes reglas:

Toda entidad del modelo transforma en una tabla.

entidad-relacin

se

Cualquier atributo de una entidad se transforma en un campo dentro la tabla, manteniendo las claves primarias. Las relaciones N:M se transforman en una nueva tabla que tendr como clave primaria la concatenacin de los atributos clave de las entidades que relaciona.

Ejemplo Relaciones N:M

En este caso la relacin compra se transforma en una nueva tabla cuya clave primaria estar formada por los atributos dni, que es la clave primaria de cliente, y cdigo, que es la clave primaria de producto. Adems tendr como campo fecha compra, ya que este atributo forma parte de la relacin.

El modelo relacional quedara: CLIENTE(dni,nombre,apellidos) PRODUCTO(cdigo,descripcin) COMPRAS(dni_cliente,cdigo_producto,fecha_compra)

En las relaciones 1:N se pueden tener dos casos:

Caso 1: Relaciones 1:N Veamos ahora el caso de una relacin 1:N. En el siguiente modelo entidad-relacin un empleado pertenece a un nico departamento (debe pertenecer a uno obligatoriamente), y un departamento tiene 1 o ms empleados.

En este caso se genera el atributo cdigo de departamento a la tabla EMPLEADO.

EMPLEADO(dni,nombre,salario,cdigo_departamento) DEPARTAMENTO(cdigo,nombre,localizacin)

Caso 2: Imaginemos ahora que pudiera darse el caso de que hubiera empleados que no pertenecieran a ningn departamento.

En este caso la entidad que participa con cardinalidad mxima 1, DEPARTAMENTO, tambin lo hace con cardinalidad mnima 0, ya que puede haber empleados que no pertenezcan a ningn departamento. As pues, se crea una nueva tabla formada por dni de EMPLEADO y cdigo de DEPARTAMENTO. En esta nueva tabla dni de EMPLEADO ser la clave primaria. EMPLEADO(dni,nombre,salario) DEPARTAMENTO(cdigo,nombre,localizacin) PERTENECE(dni_empleado,cdigo_departamento

Relaciones 1:1 En el siguiente modelo entidad-relacin un equipo de ftbol tiene a un nico presidente y un presidente preside a un nico club de ftbol.

En este ejemplo, tal y como dicen las reglas, podemos generar la clave de cualquier tabla a la tabla resultante de la otra. Es decir, tenemos dos opciones, o mover la clave de PRESIDENTE a EQUIPO o mover la clave de EQUIPO a PRESIDENTE. EQUIPO(cdigo,nombre,ao_fundacin) PRESIDENTE(dni,nombre,cdigo_equipo) O puede quedar de la siguiente forma: EQUIPO(cdigo,nombre,ao_fundacin,dni_presidente) PRESIDENTE(dni,nombre)

En el caso de las relaciones N-arias se aplica la misma regla que para las relaciones N:M

En el caso de las relaciones reflexivas supondremos que se trata de una relacin binaria con la particularidad que las dos entidades son iguales y aplicaremos las reglas vistas en los puntos anteriores

Relaciones reflexivas En el siguiente modelo entidad-relacin un ALUMNO es delegado de varios ALUMNOS y un ALUMNO tiene obligatoriamente un delegado y slo a uno.

Al tratarse de una relacin 1:N se genera la clave de la entidad ALUMNO a la entidad ALUMNO, quedando el modelo relacional de la siguiente forma: ALUMNO(num_expediente,nombre,num_expediente_delegado)

Atributos CompuestosLos atributos compuestos se manejan creando un atributo separado para cada uno de los atributos componentes; no se crea una columna separada para el atributo compuesto. Atributos Multivalorados Para los atributos multivalorados se crean nuevas tablas; esa nueva tabla contiene la clave primaria del conjunto de entidades al cual pertenece el atributo y los diferentes valores del atributo generan diferentes tuplas Generalizacin-Especializacin Se crea una tabla para el conjunto de entidades de ms alto nivel; Para cada conjunto de entidades de nivel ms bajo se crea una tabla que incluya una columna para cada uno de los atributos de ese conjunto de entidades ms una columna por cada atributo de la clave principal del conjunto de entidades de alto nivel.

Ejercicio 1: Cadena de Farmacias:Se desea mantener una base de datos para una cadena de farmacias distribuida en diferentes ciudades. Cada farmacia tiene sus empleados propios y un farmacutico. Por cada ciudad existe un nico farmacutico; esto es, si en una ciudad hubiera ms de una farmacia, el mismo farmacutico estara afectado a todas las farmacias de esa ciudad. Cada farmacia tiene a su vez su stock de medicamentos.El mismo se mantiene por medicamento y presentacin. Los medicamentos se organizan segn la o las monodrogas que lo componen, su presentacin (por ejemplo ampollas de 5 unidades, jarabe de 100ml, inyecciones por 10 unidades, pomada 60gr, etc.), el laboratorio que lo comercializa, y su accin teraputica (analgsico, antibitico, etc.). Por cada medicamento se mantiene su precio y la cantidad en existencia del mismo. El sistema deber permitir consultar la base de datos de diferentes alternativas para medicamentos compuestos por una monodroga, medicamentos de un laboratorio, presentaciones de un medicamento, entre otras.

Ejercicio 2: A PARTIR DEL SIGUIENTE MODELO ENTIDAD RELACIN DE UN COLEGIO CONSTRUYA EL MODELO RELACIONAL