Transformacion ER Relacional

Embed Size (px)

Citation preview

Presentacin de PowerPoint

Transformacin del ModeloERE al Modelo Relacional

Universidad de los AndesDemin GutierrezNoviembre 2008

Unidad VIII Tema II

Transformacin del Modelo ERE
al Modelo Relacional

Por que es necesario transformar del modelo ERE al modelo Relacional?

LugaresDepartamentoCdigoNombreClienteRIFNombreServicioprestaCdigoNombreFechaN

M

EmpleadoCdulaTelfonoNombreperteneceN

1

Departamento (Cdigo, Nombre)

Cliente (RIF, Nombre)

Servicio (Cdigo, Nombre)

Empleado (Cdula, Nombre, Telfono, CodDpto)

Presta (CdDpto,CodServ,RIF, Fecha)

Base de DatosRelacional

Por que es Necesaria la Transformacin?

El modelo ERE es un modelo de datos conceptual de alto nivel.

Facilita las tareas de diseo conceptual de bases de datos.

Es necesario traducirlo a un esquema que sea compatible con un SGBD.

El modelo Relacional es utilizado por la mayora de los SGBD existentes en el mercado.

Transformacin del Modelo ER
al Modelo Relacional

Modelo Entidad Relacin (Bsico), transformacin al modelo Relacional de:

Entidades (no dbiles)

Entidades Dbiles

Vnculos 1:1

Vnculos 1:N

Vnculos M:N

Atributos Multivaluados

Vnculos n-arios

Definir una seriede esquemas derelacionesequivalentes

Transformacin de Entidades
(Paso 1)

EmpleadoCdulaTelfonoNombrePrimNombrePrimApellidoSegApellidoEmpleado (Cdula, PrimNombre, PrimApellido, SegApellido, Telfono)

CP

Atributo compuestoNombre

X

Transformacin de Entidades
(Paso 1)

ProyectoNumero_ProyectoDescripcin_ProyectoNombre_ProyectoProyecto (Nmero_Proyecto, Nombre_Proyecto, Descripcin_Proyecto)

En caso de quems de un atributosea parte de la clave primaria:

CP Compuesta

Transformacin de Entidades
(Paso 1)

Para cada tipo normal (no dbil) de entidad E del modelo ERE se define una relacin R.

En la relacin R se incluyen todos los atributos simples de E.

Se incluyen en R los atributos simples que sean componentes de los atributos compuestos.

Se eligen todos los atributos clave de E como atributos claves de R.

Transformacin de Entidades Dbiles
(Paso 2)

ProyectoNmero_ProyectoDescripcin_ProyectoNombre_ProyectoCdigo_HitoDescripcin_HitoFecha_Hito

Hito

es_parte_deN

1

Hito (Nmero_Proyecto,Nombre_Proyecto,Cdigo_Hito, Fecha_Hito, Descripcin_Hito)

Proyecto (Nmero_Proyecto,Nombre_Proyecto, Descripcin_Proyecto)

Transformacin de Entidades Dbiles
(Paso 2)

Para cada entidad dbil D del modelo ERE y su respectivo vnculo con su entidad propietaria E se define una relacin R.

La relacin R tiene todos los atributos de la entidad dbil D ms los atributos que conforman la clave primaria de la entidad propietaria E.

La clave primaria de la relacin R est formada por los atributos de la clave primaria de la entidad propietaria E ms los atributos de la clave parcial de D.

Transformacin de Vnculos 1:1
(Paso 3)

tiene_jefe1

1

EmpleadoCdulaTelfonoNombrePrimNombrePrimApellidoSegApellido

LugaresDepartamentoNumero_DptoNombre_DptoDepartamento (Nmero_Dpto, Nombre_Dpto,Cdula_Jefe)

Empleado (Cdula, PrimNombre, PrimApellido, SegApellido, Telfono)

Transformacin de Vnculos 1:1
(Paso 3)

Para cada vinculo 1:1 entre dos entidades (no dbiles) E y F se aade a la relacin de alguna de las entidades la clave primaria de la otra entidad relacionada.

Transformacin de Vnculos 1:N
(Paso 4)

Departamento (Nmero_Dpto, Nombre_Dpto)

Empleado (Cdula, PrimNombre, PrimApellido, SegApellido, Telfono,Numero_Dpto)

pertenece_aN

1

EmpleadoCdulaTelfonoNombrePrimNombrePrimApellidoSegApellido

LugaresDepartamentoNumero_DptoNombre_Dpto

Transformacin de Vnculos 1:N
(Paso 4)

Para cada vinculo 1:N entre dos entidades (no dbiles) E y F donde F est del lado N del vnculo, se aade a la relacin correspondiente a la entidad F de alguna de las entidades la clave primaria de la otra entidad relacionada.

Trabaja_en (Cdula,Nmero_Proyecto, Horas)

Empleado (Cdula, PrimNombre, PrimApellido, SegApellido, Telfono)

Proyecto (Nmero_Proyecto, Nombre_Proyecto)

Trabaja_en (Cdula,Nmero_Proyecto, Horas)

Transformacin de Vnculos M:N
(Paso 5)

trabaja_enN

M

EmpleadoCdulaTelfonoNombrePrimNombrePrimApellidoSegApellidoProyectoNumero_ProyectoNombre_ProyectoHoras

Transformacin de Vnculos M:N
(Paso 5)

Para cada vinculo M:N entre dos entidades se crea una relacin R.

Los atributos de la relacin R sern las claves primarias de las entidades relacionadas mas los atributos propios del vinculo.

La clave primaria de la relacin R ser el conjunto de todos los atributos que sean claves primarias de las entidades relacionadas.

Lugares_Dptos (Numero_Dpto,Lugar)

Transformacin de Atributos Multivaluados (Paso 6)

LugaresDepartamentoNumero_DptoNombre_DptoDepartamento (Nmero_Dpto, Nombre_Dpto)

Transformacin de Atributos Multivaluados (Paso 6)

Para cada atributo multivaluado se crear una relacin R.

Los atributos de la relacin R sern la clave primaria de las entidad a la cual pertenece el atributo multivaluado ms el (o los) atributos correspondientes al atributo multivaluado.

La clave primaria de la relacin R ser la clave primaria de la entidad a la cual pertenece el atributo multivaluado ms el (o los) atributos correspondientes al atributo multivaluado

Presta (Numero_Dpto,Cdigo_Servicio,RIF, Fecha)

Transformacin de Vnculos
n-arios (paso 7)

LugaresDepartamentoNumero_DptoNombre_DptoClienteRIFNombre_ClienteServicioprestaCdigo_ServicioNombre_ServicioFechaN

M

Transformacin de Vnculos
n-arios (paso 7)

Para cada vinculo M:N entre tres o ms entidades se crea una relacin R.

Los atributos de la relacin R sern las claves primarias de todas las entidades relacionadas ms los atributos propios del vinculo.

La clave primaria de la relacin R ser el conjunto de todos los atributos que sean claves primarias de todas las entidades relacionadas.

Transformacin del Modelo ERE
al Modelo Relacional

Modelo Entidad Relacin (Extendido), transformacin al modelo Relacional de:

Generalizacin (o Especializacin)

Categorizacin

Transformacin de una Generalizacin
(Paso 8)

Existencuatro estrategiaspara transformar una relacin degeneralizacin (o especializacin) al modelo Relacional

PersonaCdulaNombreApellidoDireccinOEmpleadoEstudianteProfesorSalarioCarreraCosto_Hora

E(Entidad Padre,Entidad Generalizada)

Ei(EntidadesEspecializadas)

Generalizacin
(Paso 8 / Estrategia 1)

Estrategia 1:Crear una relacin R para la entidad padre E y una relacin Ripara cada entidad especializada Ei.

La relacin R tiene todos los atributos de la entidad E.

Cada relacin Ritiene todos los atributos de la entidad Eicorrespondiente.

Todas las relaciones (tanto R como cada Ri) comparten la misma clave primaria de la entidad padre E.

Generalizacin
(Paso 8 / Estrategia 1)

PersonaCdulaNombreApellidoDireccinOEmpleadoEstudianteProfesorSalarioCarreraCosto_Hora

Persona (Cdula, Nombre, Apellido, Direccin)

Empleado (Cdula, Salario)

Profesor (Cdula, Costo_Hora)

Estudiante (Cdula, Carrera)

Esta estrategia funciona tanto para subclases quesetraslapancomo para subclasesdisjuntasy paraespecializacionestotalesoparcialesPersona

Empleado

Estudiante

Generalizacin
(Paso 8 / Estrategia 2)

Estrategia 2:Crear una relacin Ripara cada entidad especializada Ei.

Cada relacin Ritiene todos los atributos de la entidad Eicorrespondientemslos atributos de la entidad padre E.

La clave primaria de cada relacin Ries la clave primaria de la entidad padre E.

Generalizacin
(Paso 8 / Estrategia 2)

Empleado (Cdula, Nombre, Apellido, Direccin, Salario)

Profesor (Cdula, Nombre, Apellido, Direccin, Costo_Hora)

Estudiante (Cdula, Nombre, Apellido, Direccin, Carrera)

PersonaCdulaNombreApellidoDireccindEmpleadoEstudianteProfesorSalarioCarreraCosto_Hora

Aplica paraespecializacionesdisjuntas y totales

Generalizacin
(Paso 8 / Estrategia 3)

Estrategia 3:Utilizar una misma relacin R para la entidad padre E y para las entidades especializadas Ei.

La relacin R tiene todos los atributos de la entidad padre Emstodos los atributos todas las entidades especializadas Ei.

Se crea un atributo adicional que define el tipo de entidad Eique representa una tupla en particular.

Aplica slo a casos donde las subclases son disjuntas.

Generalizacin
(Paso 8 / Estrategia 3)

Persona (Cdula, Nombre, Apellido, Direccin,Tipo, Salario, Costo_Hora, Carrera)

DondeTipopuede ser 0 para la subclase Empleado, 1 parala subclase Profesor o 2 para la subclase EstudiantePersonaCdulaNombreApellidoDireccindEmpleadoEstudianteProfesorSalarioCarreraCosto_Hora

Aplica solo paraespecializacionesdisjuntas

Generalizacin
(Paso 8 / Estrategia 4)

Estrategia 4:Utilizar una misma relacin R para la entidad padre E y para las entidades especializadas Ei. (Similar a la estrategia 3).

La relacin R tiene todos los atributos de la entidad padre Emstodos los atributos todas las entidades especializadas Ei. (Similar a 3)

Se crea un atributo booleano adicional por cada entidad especializada que define si una tupla en particular pertenece dicha entidad.

Generalizacin
(Paso 8 / Estrategia 4)

Persona (Cdula, Nombre, Apellido, Direccin,Es_Empleado, Salario,Es_Profesor, Costo_Hora,Es_Estudiante, Carrera)

Los atributos Es_* son verdaderos para una tupla si estaes una la clase especializada de la entidad correspondiente

PersonaCdulaNombreApellidoDireccindEmpleadoEstudianteProfesorSalarioCarreraCosto_Hora

Aplica paraespecializacionesdisjuntas ytraslapadas

Transformacin de una Categorizacin
(Paso 9)

Existendos casosposibles al transformar unarelacin de categorizacin al modelo Relacional

PersonaCdulaNombreApellidoDireccinUCuentaHabiente

CompaaDireccinRIFNombreC1

C2

Bancotienecuentaen

Transformacin de una Categorizacin
(Paso 9 / Caso 1)

Caso 1:Las superclases de la categora tienen diferentes claves primarias.

Se crea una relacin R que corresponda a la categora y se asigna una clave sustituta arbitraria.

Se aade la clave sustituta a modo de clave fornea a cada una de las relaciones Ri que correspondan a las superclases de la categora.

Claves primarias de las superclases no compatibles

Transformacin de una Categorizacin
(Paso 9 / Caso 1)

PersonaCdulaNombreApellidoDireccinUCuentaHabiente

CompaaDireccinRIFNombreC1

C2

BancotienecuentaenPersona (Cdula, Nombre, Apellido, Direccin,IdCuentaHabiente)

Compaa (RIF, Nombre,IdCuentaHabiente)

CuentaHabiente (IdCuentaHabiente)

Transformacin de una Categorizacin
(Paso 9 / Caso 2)

Caso 2:Las superclases de la categora tienen la misma clave primaria.

Se crea una relacin R que corresponda a la categora y se le asigna como atributo de clave primaria la clave comn a todas las superclases de la categora.

Claves primarias compatibles entre las superclases

Transformacin de una Categorizacin
(Paso 9 / Caso 2)

Auto (Matrcula, MarcaA, ModeloA, Color)

Camin (Matrcula, ModeloC, NumEjes, Peso)

Vehculo_Registrado (Matrcula)

AutoMatrculaMarcaAModeloAColorUVehculoRegistrado

CaminPesoMatrculaModeloCC1

C2

PersonaposeeNumEjes

Click to edit the title text format

Click to edit the outline text format

Second Outline Level

Third Outline Level

Fourth Outline Level

Fifth Outline Level

Sixth Outline Level

Seventh Outline Level

Eighth Outline Level

Ninth Outline Level

Haga clic para modificar el estilo de ttulo del patrn

Haga clic para modificar el estilo de subttulo del patrn

Haga clic para modificar el estilo de ttulo del patrn

Haga clic para modificar el estilo de texto del patrn

Segundo nivel

Tercer nivel

Cuarto nivel

Quinto nivel

Haga clic para modificar el estilo de ttulo del patrn

Haga clic para modificar el estilo de texto del patrn

Haga clic para modificar el estilo de ttulo del patrn

Haga clic para modificar el estilo de texto del patrn

Segundo nivel

Tercer nivel

Cuarto nivel

Quinto nivel

Haga clic para modificar el estilo de texto del patrn

Segundo nivel

Tercer nivel

Cuarto nivel

Quinto nivel

Haga clic para modificar el estilo de ttulo del patrn

Haga clic para modificar el estilo de texto del patrn

Haga clic para modificar el estilo de texto del patrn

Segundo nivel

Tercer nivel

Cuarto nivel

Quinto nivel

Haga clic para modificar el estilo de texto del patrn

Haga clic para modificar el estilo de texto del patrn

Segundo nivel

Tercer nivel

Cuarto nivel

Quinto nivel

Haga clic para modificar el estilo de ttulo del patrn

Haga clic para modificar el estilo de ttulo del patrn

Haga clic para modificar el estilo de texto del patrn

Segundo nivel

Tercer nivel

Cuarto nivel

Quinto nivel

Haga clic para modificar el estilo de texto del patrn

Haga clic para modificar el estilo de ttulo del patrn

Haga clic para modificar el estilo de texto del patrn

Haga clic para modificar el estilo de ttulo del patrn

Haga clic para modificar el estilo de texto del patrn

Segundo nivel

Tercer nivel

Cuarto nivel

Quinto nivel

Haga clic para modificar el estilo de ttulo del patrn

Haga clic para modificar el estilo de texto del patrn

Segundo nivel

Tercer nivel

Cuarto nivel

Quinto nivel