La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

DISEÑO DE BASES DE DATOS

Presentaciones similares


Presentación del tema: "DISEÑO DE BASES DE DATOS"— Transcripción de la presentación:

1 DISEÑO DE BASES DE DATOS
Francisco Moreno 16/04/2017 Curso Bases de Datos

2 Convenciones CP = Clave Primaria. NN = No Nulo.
CA = Clave Alternativa. CF = Clave Foránea. Nota: Si hay varias claves alternativas o foráneas se les coloca un subíndice numérico para diferenciarlas, ver ejemplos a continuación. 16/04/2017 Curso Bases de Datos

3 mandado por el jefe de adscrito a el lugar de trabajo de EMPLEADO
#código *ced *nombre *salario DEPTO #código *nombre adscrito a el lugar de trabajo de 16/04/2017 Curso Bases de Datos

4 Conversión E-R a Relacional Cuadro de especificaciones:
Relación EMPLEADO Nombre columna código ced nombre salario jefe dpto Tipo de clave CP CA CF1 (EMPLEADO) CF2 (DEPTO) Nulos NN Ejemplos 1 2 7 4 71721 43214 71234 43125 Jimmy Nia Candy Brandy 1000 2500 6000 5500 NULL 5 6 8 Aunque se sobreentiende por la regla de integridad de la CP. 16/04/2017 Curso Bases de Datos

5 el ejecutor de el receptor de ejecutada por recibida por sujeto de
MECÁNICO #cédula *nombre *salario En este ejemplo: - Un automóvil solo puede tener una revisión por día. - La placa de los autos está descompuesta en letras y números. el ejecutor de el receptor de ejecutada por recibida por REVISIÓN #fecha °valor AUTOMÓVIL #letras #números *marca *modelo sujeto de para 16/04/2017 Curso Bases de Datos

6 La relación* REVISIÓN tendrá tres claves foráneas:
Dos hacia MECÁNICO Una hacia AUTOMÓVIL. Además esta clave foránea: hace parte de la clave primaria de REVISIÓN (esto lo indica la rayita azul en el modelo entidad relación) junto con la fecha. es compuesta, ya que la clave primaria de la relación* AUTOMÓVIL está conformada por {letras, números}. * Relación en el sentido del modelo relacional. 16/04/2017 Curso Bases de Datos

7 Conversión E-R a Relacional Cuadro de especificaciones:
Relación REVISIÓN Nombre columna fecha valor ccejecuta ccrecibe placaletras placanumeros Tipo de clave CP CF1 (MECÁNICO) CF2 (MECÁNICO) CP, CF3 (AUTOMÓVIL) Nulos NN Ejemplos 30/01/99 15/02/99 100 NULL 200 1 9 8 ABK ITA 234 123 231 16/04/2017 16/04/2017 Curso Bases de Datos Curso Bases de Datos 7

8 Conversión E-R a Relacional
RX #a #b *c *d Supóngase que la entidad RX tiene los siguientes identificadores únicos alternativos: {b, c} {c, d} 16/04/2017 Curso Bases de Datos

9 Conversión E-R a Relacional Cuadro de especificaciones:
Relación RX Nombre columna a b c d Tipo de clave CP CP, CA1 CA1, CA2 Nulos NN Ejemplos 10 20 45 30 31 22 97 16/04/2017 Curso Bases de Datos

10 Conversión E-R a Relacional
Obtener datos ejemplo de las tuplas mediante: entrevistas, documentación, conversaciones con los usuarios. Convertir cada entidad en una relación* Un cuadro de especificaciones por cada relación* (como los de la diapositivas 4, 7 y 9). Preferiblemente con el mismo nombre que tiene en el modelo E-R. Convertir los atributos en columnas: Los atributos obligatorios son no nulos (NN). Nombres cortos pero significativos (usualmente los mismos que tienen en el modelo E-R), pueden ser abreviaturas entendibles. * Relación en el sentido del modelo relacional. 16/04/2017 Curso Bases de Datos

11 Conversión E-R a Relacional
Convertir los identificadores únicos en claves primarias: Identificador único con varios atributos  clave primaria compuesta. Si el identificador único está conformado por relaciones* con otras entidades, las claves foráneas respectivas harán parte de la clave primaria (como en el ejemplo de REVISIÓN con AUTOMÓVIL) * Relación en el sentido del modelo E-R. 16/04/2017 Curso Bases de Datos

12 Conversión E-R a Relacional
Convertir las relaciones* en claves foráneas: Asignar nombre(s) a la(s) columna(s) que conforman la CF y rotularla(s) “CF” en el cuadro de especificaciones e indicar la relación** a la que referencia. Relaciones* 1 a muchos: La CF se coloca en la relación** correspondiente a la entidad donde llega la cardinalidad muchos. Si la relación* es obligatoria (en el lado de la entidad que posee la CF), la CF es NN. Relación* recursiva 1 a muchos: se adiciona una columna CF a la relación** y se referencia hacia sí misma (hacia su CP). ¿Puede admitir nulos? * Relación en el sentido del modelo E-R. ** Relación en el sentido del modelo relacional. 16/04/2017 Curso Bases de Datos

13 Conversión E-R a Relacional
Claves Foráneas (cont.): Relaciones* 1 a 1: Colocar la CF en el lado de la obligatoriedad y es NN. Si ambos lados de la relación* son obligatorios u opcionales, la CF se coloca en cualquiera de las dos relaciones**. Si ambos lados de la relación* son opcionales, la CF admite nulos. Una CF que surge de una relación* 1 a 1 es una clave candidata ¿Por qué? Relaciones* muchos a muchos: se transforman y dan origen a una tercera relación** (intersección). * Relación en el sentido del modelo E-R. ** Relación en el sentido del modelo relacional. 16/04/2017 Curso Bases de Datos

14 Conversión E-R a Relacional
Arcos: INDIVIDUO #código *nombre para generador de FACTURA #código °fecha SOCIEDAD #código *nombre *fecha constitución para generador de Se pueden llevar al modelo relacional mediante arco explícito o arco genérico. 16/04/2017 Curso Bases de Datos

15 Conversión E-R a Relacional
Arco explícito: Una CF por cada relación* participante en el arco. Se debe usar cuando las CFs tienen diferentes dominios. Para manejar la exclusividad se debe recurrir a una cláusula de verificación (CHECK) para garantizar que si una CF del arco es no nula las demás CFs del arco deberán ser nulas. * Relación en el sentido del modelo E-R. 16/04/2017 Curso Bases de Datos

16 Conversión E-R a Relacional
Arco genérico: Una columna representa a todas las relaciones* en el arco. Si el arco es obligatorio, la columna debe ser NN, opcional de lo contrario. El dominio debe ser igual en todas las relaciones* del arco. La columna solo debe aceptar valores provenientes de las CPs de las relaciones** correspondientes. Una columna adicional para saber cual de las relaciones** se referencia en la columna. * Relación en el sentido del modelo E-R. ** Relación en el sentido del modelo relacional. 16/04/2017 Curso Bases de Datos

17 Conversión E-R a Relacional
Supertipos/ subtipos: EMPLEADO #código *nombre DE PLANTA *salario TEMPORAL *valor hora Se verán dos formas para llevarlo al modelo relacional. en en el lugar de trabajo de adscrito a DEPTO #código EMPRESA #nit 16/04/2017 Curso Bases de Datos

18 Conversión E-R a Relacional
1. Diseño de los subtipos en una sola relación**. Características: - Recomendable cuando los subtipos tienen pocos atributos y pocas relaciones* propias. - La mayoría de las consultas involucran datos de diferentes subtipos. - La relación** resultante contiene los datos de todos los subtipos. - El acceso al supertipo es “directo”. - El acceso a los subtipos se logra mediante vistas. * Relación en el sentido del modelo E-R. ** Relación en el sentido del modelo relacional. 16/04/2017 Curso Bases de Datos

19 Conversión E-R a Relacional
El diseño es así: Crear una relación** para el supertipo. Crear una columna para cada atributo del supertipo. Crear una columna para cada atributo de los subtipos. Crear una columna llamada “tipo” para identificar a cada subtipo. Crear columnas CF para cada relación* del supertipo. Crear columnas CF para cada relación* de los subtipos. * Relación en el sentido del modelo E-R. ** Relación en el sentido del modelo relacional. 16/04/2017 Curso Bases de Datos

20 Conversión E-R a Relacional
Ventaja: Una sola relación** para manejar el supertipo y todos sus subtipos. Desventajas: Requiere la creación de una columna para identificar a los subtipos. Todos las columnas de los subtipos deben ser opcionales (admitir nulos) ¿Por qué? ¿Esto que implicaciones tiene? ** Relación en el sentido del modelo relacional. 16/04/2017 Curso Bases de Datos

21 Conversión E-R a Relacional
Desventajas: Implica verificar que si una tupla pertenece a un subtipo dado, los atributos de los demás subtipos deberán ser nulos. Si un atributo de un subtipo es obligatorio en el modelo E-R, la columna correspondiente en el modelo relacional queda opcional. Implica el manejo de vistas para “extraer” los subtipos. 16/04/2017 Curso Bases de Datos

22 Conversión E-R a Relacional
2. Diseño de los subtipos en relaciones** separadas. El diseño es así: Crear una relación** para el supertipo: - Crear una columna por cada atributo del supertipo. - Crear columnas CF para cada relación* del supertipo. - Crear una columna llamada “tipo” para identificar a cada subtipo. * Relación en el sentido del modelo E-R. ** Relación en el sentido del modelo relacional. 16/04/2017 Curso Bases de Datos

23 Conversión E-R a Relacional
Crear una relación** para cada subtipo: Crear columnas para cada atributo del subtipo. Crear columnas CF para cada relación* del subtipo. Crear una CF hacia el supertipo en cada uno de los subtipos. Esta CF será la CP del subtipo. * Relación en el sentido del modelo E-R. ** Relación en el sentido del modelo relacional. 16/04/2017 Curso Bases de Datos

24 Conversión E-R a Relacional
Ventajas: - Cada relación* tiene instancias solo de un subtipo. - Si un atributo de un subtipo es obligatorio, la columna correspondiente en el modelo relacional queda obligatoria. Desventajas: - Acceso al supertipo que implique atributos de los subtipos implica una reunión (join)  Se ve luego. - Subtipos excluyentes: Implica garantizar que la CP del supertipo solo aparezca en uno de los subtipos. * Relación en el sentido del modelo relacional. 16/04/2017 Curso Bases de Datos

25 Conversión E-R a Relacional
Otra Alternativa: Eliminar la relación** correspondiente al supertipo y agregar todas sus columnas y relaciones* a cada relación** correspondiente a los subtipos, pero igualmente exige controles adicionales y además se pierde la noción de supertipo... * Relación en el sentido del modelo E-R. ** Relación en el sentido del modelo relacional. 16/04/2017 Curso Bases de Datos


Descargar ppt "DISEÑO DE BASES DE DATOS"

Presentaciones similares


Anuncios Google