Algoritmo Transformacion ER

download Algoritmo Transformacion ER

of 11

Transcript of Algoritmo Transformacion ER

  • Base de Datos Modelo Relacional

    1

    REGLAS DE TRANSFORMACIN DEL MODELO ER AL MODELO RELACIONAL

    CONTENIDO Correspondencia de esquemas del modelo ER al modelo relacional FASE PREPARATORIA 1. Eliminacin de identificadores externos 2. Eliminacin de atributos compuestos y polivalentes 3. Atributo polivalente de las interrelaciones 4. Especializacin y generalizacin TRANSFORMACION 1. Transformacin de las entidades 2. Transformacin de las relaciones uno a uno (1:1) 3. Transformacin de las relaciones uno a varios (1:N) 4. Transformacin de las relaciones varios a varios (N:M) 5. Transformacin de las relaciones N-arias 6. Transformacin de las relaciones reflexivas

    Correspondencia de esquemas del modelo ER al modelo relacional Esta metodologa de correspondencia convierte un esquema ER en un conjunto de entidades e interrelaciones, tales que su correspondencia con el modelo relacional sea sencillo. Esta correspondencia consiste en dos actividades:

    a) La eliminacin de los identificadores externos (este paso tambin se asocia con la eliminacin de algunas interrelaciones). b) La eliminacin de atributos compuestos y polivalentes del esquema. c) La eliminacin de las jerarquas de generalizacin.

    Una vez realizada esta correspondencia se est en condiciones de aplicar los siguientes pasos:

    a) Transformacin de cada entidad del esquema en una relacin. b) Transformacin de cada interrelacin

    FASE PREPARATORIA

    1. Eliminacin de identificadores externos Como no se puede usar identificadores externos en el modelo relacional, se debe transformar en identificadores internos. Supongamos que la clave primaria de una entidad E1, es un identificador externo o mixto, y sea la entidad E2 la que suministra la identificacin externa a travs de la interrelacin R a E1; supondremos que adems que E2 tiene un identificador interno como su clave primaria. Para eliminar el identificador externo de E1, se deber importar a la entidad E1 la clave primaria de E2. Despus de esta operacin se puede eliminar la interrelacin R. Este proceso debe realizarse empezando por las entidades que tienen como clave primaria un identificador interno (entidades fuertes) y luego continuando con las entidades vecinas. Los identificadores pueden propagarse segn se necesite para la identificacin externa.

    Id1

    E3R1 R2E1

    Id1

    E2 E1 E3

    Id1 Id1

    E2

  • Base de Datos Modelo Relacional

    2

    2. Eliminacin de atributos compuestos y polivalentes El modelo relacional en su forma bsica contiene slo atributos simples y monovalentes. Con cada atributo compuesto se tienen dos alternativas: a) Eliminar el atributo compuesto considerando todos sus componentes como atributos simples. b) Eliminar los componentes individuales y considerar el atributo compuesto entero como un slo atributo. Los atributos polivalentes requieren la introduccin de entidades nuevas; cada atributo polivalente requiere una entidad en la cual pueda estar representado como un atributo monovalente. La nueva entidad contiene el atributo polivalente ms el identificador de la entidad original; el identificador de la nueva entidad es el conjunto de todos sus atributos.

    Id1

    E3R1 R2E1 E1

    Id1

    E2

    a b a Id1

    E2

    a bId1

    E3

    Id1

    E1 a1 a2 (1, n)

    Id1

    E1a1 NE

    Id1a2

    NombreCi

    Persona

    Direccin Calle

    Casa

    Urbanizacin

    Persona

    Ci Nombre Calle Casa

    Urbanizacin

    NombreCi

    PersonaUrbanizacin

  • Base de Datos Modelo Relacional

    3

    3. Atributo polivalente de las interrelaciones Si el atributo polivalente pertenece a una interrelacin R entre las entidades E1 y E2, se necesita crear una entidad nueva E3 para representarlo. La nueva entidad E3 incluye uno o dos atributos tomados de E1, E2 o ambos, dependiendo del tipo de interrelacin:

    a) Si la interrelacin es de 1:1, E3 incluye la clave primaria de E1 o de E2. b) Si la interrelacin entre E1 y E2 es de uno a muchos, E3 incluye la clave primaria de E2 (suponiendo que E2 est del lado de muchos)

    E1 I E2

    Id1 Id2a1 (0,n)

    NE

    Id1 a1

    NE

    Id2 a1

    O

    Persona Ci

    Nombre Telf. (0,n)

    PersonaCi

    Nombre Telfono Ci Telfono

    (1,n)

    Tipo_trab (1,n)

    (1,1) CI Nombre Empleado Departamento Trabaja_en

    Nombre Num_depto

    (1,n) (1,1) CI Nombre Empleado Departamento Trabaja_en

    Nombre Num_depto

    Tipo-trabajo

    +CiTipo-trab

    E1 I E2

    Id1 Id2

  • Base de Datos Modelo Relacional

    4

    c) Si la interrelacin entre E1 y E2 es de muchos a muchos, E3 incluye las claves primarias tanto de E1 como de E2.

    La clave primaria de E3 est constituida por todos sus atributos; esto incluye aquellos que se tomaron prestados de E1 y E2, y el atributo polivalente. Cualquier atributo no polivalente que tenga R seguir siendo atributo de R.

    4. Especializacin y generalizacin Los modelos lgicos no permiten representar las jerarquas de generalizacin ni los subconjuntos, en consecuencia se debe modelar las jerarquas de generalizacin y los subconjuntos usando slo entidades e interrelaciones. Existen tres alternativas:

    a) Integrar la jerarqua de generalizacin en una sola entidad uniendo los atributos de las subentidades y aadiendo estos atributos a los de la superentidad. Se aade un atributo discriminativo para indicar el caso al cual pertenece la entidad en consideracin.

    Notas-estud CiNota

    (1,n)

    Notas (1,3)

    (1,n) CI Nombre Estudiante Materia Cursa

    Cod_Mat Nombre

    Semestre

    +

    (1,n) (1,n) CI Nombre Estudiante Materia Cursa

    Cod_Mat Nombre

    Semestre

  • Base de Datos Modelo Relacional

    5

    Las desventajas de esta alternativa son dos: 1) puede generar una gran cantidad de valores nulos para los atributos que se aplican slo a las subentidades y 2) todas las operaciones que tenan acceso slo a las subentidades tienen que buscar ahora el caso correspondiente dentro del conjunto completo de casos de la subentidad.

    Las ventajas tambin son dos: 1) Es la solucin ms simple desde el punto de vista del esquema resultante y 2) Tericamente, esta alternativa es aplicable a todos los tipos de jerarquas de generalizacin: total o parcial, superpuesta o no superpuesta.

    b) Eliminar la superentidad y retener la subentidades. Aqu, los atributos heredados deben propagarse entre las subentidades. Se modelan de manera independiente las distintas entidades, el identificador original se convierte en identificador de cada entidad. Esta alternativa tiene varias desventajas:

    Ep Idp a1

    E2 a3E1 a2

    Ep

    Id1 a1 a2 a3

    Personas CI Nombre

    Mujer Hombre Visita_Urlogo Visita_Gineclogo

    Personas

    Nombre (0,1)Visita_Urlogo (0,1)Visita_Gineclogo Sexo

    CI

  • Base de Datos Modelo Relacional

    6

    No es prctica para generalizaciones superpuestas o parciales; slo es prctica para jerarquas totales y exclusivas. Se pierde el concepto de que las subentidades originales son subconjuntos de la

    misma entidad. Si el nmero de atributos de la superentidad (comunes a todas las entidades) es

    excesivo, su duplicacin en el esquema de cada subentidad no se justifica. Cada operacin que originalmente tena acceso a slo la superentidad debe tener

    acceso ahora a todos los casos de todas las subentidades.

    c) Retener todas las entidades y establecer explcitamente las interrelaciones entre la superentidad y las subentidades. Todas las entidades originales y sus atributos se preservan en el esquema. Se aaden diferentes interrelaciones ES_UN para cada subentidad. Esta alternativa tiene 2 desventajas: El esquema resultante es bastante complejo; por ejemplo, para insertar un nuevo

    caso de subentidad se requiere insertar dos casos adicionales: uno para la subentidad y otro para la interrelacin con la superentidad.

  • Base de Datos Modelo Relacional

    7

    Hay una redundancia inherente (al menos en el nivel conceptual) Al representar cada eslabn ES_UN en la jerarqua original a travs de una interrelacin explcita. La ventaja principal es que modela las 4 combinaciones de jerarquas parcial/total y exclusiva/superpuesta.

    TRANSFORMACION 1. Transformacin de las entidades Todas las entidades regulares presentes en el modelo ER se transforman en tablas en el modelo relacional, manteniendo el nmero y tipo de los atributos, as como las claves primarias.

  • Base de Datos Modelo Relacional

    8

    Las entidades dbiles tambin se convierten en tablas en el modelo relacional, manteniendo el nmero y tipo de los atributos, pero su clave primaria se forma por la composicin de su clave primaria con la clave primaria de la entidad de la cual depende.

    2. Transformacin de las relaciones uno a uno (1:1) Si en la relacin binaria, las dos entidades participan con cardinalidad mxima y mnima igual a uno, entonces: Si las dos entidades tienen el mismo identificador, entonces se transforman en una

    nica tabla por la agregacin de los atributos de las dos entidades y la clave es la clave de las entidades (es la misma en ambas).

    Si las dos entidades tienen distinto identificador, entonces en este caso tambin se

    integran en una relacin combinando todos los atributos e incluyendo las claves primarias de ambas. Una de las dos claves primarias ser la clave primaria de la relacin resultante.

    E1 (Id1, Id2, A1) o E1 (Id2, Id1, A1)

    Si en la relacin binaria, alguna de las entidades participa con cardinalidad mnima igual a cero, entonces: Cada entidad se transforma en una tabla con clave principal el identificador de la

    entidad correspondiente, se construye una nueva tabla correspondiente a la relacin, la clave de la misma estar formada por las claves de cada tabla y los atributos de la relacin (si los hay).

    E1 (Id1) E2(Id2) E3 (Id1, Id2) o E3 (Id1, Id2)

    E1 I E2

    Id1 Id2A1

    (1,1) (0,1) E1 I E2

    Id1 Id2

  • Base de Datos Modelo Relacional

    9

    3. Transformacin de las relaciones uno a varios (1:N) Si en la relacin binaria 1:N, en el lado de muchos tiene una participacin obligatoria entonces, cada entidad se transforma en una tabla con clave principal el identificador de la entidad correspondiente y la clave de la entidad que participa con cardinalidad mxima uno tiene como clave fornea la clave de la otra tabla con la cual est relacionada. Si la relacin tuviera atributos, estos pasan a formar parte de la tabla correspondiente a la entidad que participa con cardinalidad mxima 1. Depto (n_depto) Emp (Ci, n_depto, n_horas)

    Id2

    (1,1)

    N_horas

    (1,n) N_depto Depto Emp Trabaja_en

    Ci

    E1 (Id1) E2 (Id2, id1, a)

    Id E1 E2R

    (1,n) (1,1)

    a

  • Base de Datos Modelo Relacional

    10

    Si en la relacin binaria 1:N, la entidad que participa con cardinalidad mxima uno, lo hace con cardinalidad mnima cero, entonces cada entidad se transforma en una tabla con clave principal el identificador de la entidad correspondiente y se construye una nueva tabla correspondiente a la relacin, formada por las claves de cada tabla y los atributos de la relacin. La clave de esta nueva tabla ser el identificador de la entidad que participa con cardinalidad mxima 1 y tendr como clave fornea el identificador de la otra entidad.

    4. Transformacin de las relaciones varios a varios (N:M) En la relacin binaria N:M, cada entidad se transforma en una tabla con clave principal el identificador de la entidad correspondiente y se construye una nueva tabla correspondiente a la relacin, que tendr los atributos correspondientes a la relacin y cuya clave estar formada por la composicin de los identificadores de las entidades que participan en la relacin.

    (1,1)(1,n) E1 I E2

    Id1 Id2a1 a2a

    E1 (Id1, a1) E2(Id2, Id1, a2, a)

  • Base de Datos Modelo Relacional

    11

    5. Transformacin de las relaciones N-arias En las relaciones N-arias se aplica la misma regla que en las relaciones binarias N:M (ver apartado 4). La relacin hereda todos los identificadores de las n entidades (que forman la clave de la nueva relacin)

    6. Transformacin de las relaciones reflexivas Una relacin recursiva R de una entidad E a s misma se modela como una nueva relacin que incluye dos atributos; ambos corresponden a la clave primaria de E, y sus nombres corresponden a los dos papeles de E en la relacin. Uno de ellos (o ambos) se elige(n) como clave primaria para la nueva relacin, de acuerdo con el tipo de interrelacin (1:1, 1:N, N:M), como se expuso anteriormente.

    BIBLIOGRAFA

    Navathe, Batini, Ceri,"Diseo Conceptual de Bases de Datos. Un enfoque Entidad Interrelacin", Addison Wesley, USA, 1992