Nucleo 4 - Diseño de DB con Modelo Entidad Relación

3,041 views
2,794 views

Published on

Diseño de DB con Modelo Entidad Relación

Published in: Education
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
3,041
On SlideShare
0
From Embeds
0
Number of Embeds
344
Actions
Shares
0
Downloads
0
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Nucleo 4 - Diseño de DB con Modelo Entidad Relación

  1. 1. Diseño de bases de datos usando MER Transformación de modelos E-R en diseños de bases de datos relacionalesSe define una relación para cada entidad usando los mismosnombres y atributos: ENTIDAD RELACIÓN CLIENTE NumerodeCliente CLIENTE(NumerodeCliente,NombredelCliente,Dirección, NombredelCliente Ciudad,Estado,CodigoPostal,NombreContacto,NumTelefonico) Dirección Ciudad Estado CodigoPostal NombreContacto NumTelefonico La llave va subrayada
  2. 2. Diseño de bases de datos usando MER Transformación de modelos E-R en diseños de bases de datos relacionalesSe evalua si las relaciones están en DK/NF para eliminaranomalías. En el ejemplo saldrían 3 relaciones: CLIENTE(NumerodeCliente,Dirección,CodigoPostal,NombreContacto) CODIGO-POSTAL(CodigoPostal,Ciudad,Estado) CONTACTO(NombreContacto,NumTelefonico)Hay que tener en cuenta si este diseño es el que más convieneporque a veces las relaciones resultantes pueden ser artificialesy hacer más dificil el trabajo, como en el caso de CODIGO-POSTAL. Para el caso de CONTACTO sólo sería válido si no setrata de una relación 1:1
  3. 3. Diseño de bases de datos usando MER Representación de relaciones TIENE-UN1. Relaciones uno a uno EMPLEADO 1:1 CARROCada entidad se representa con una relación y luego la llave deuna entidad se coloca en la otra: EMPLEADO(NumeroEmpleado,Nombre,NumTelefonico) CARRO(PlacaCarro,Color,Marca,Modelo,...,NumeroEmpleado)Dependiendo de cual entidad se vaya aconsultar más se puede hacer la operación La llave que secontraria: agrega se llama llave externa CARRO(PlacaCarro,Color,Marca,Modelo) EMPLEADO(NumeroEmpleado,Nombre,..,PlacaCarro)
  4. 4. Diseño de bases de datos usando MER Representación de relaciones TIENE-UN 2. Relaciones uno a muchos HABITACION 1:N ESTUDIANTEPara identificar las entidades de la relación podemos llamar padre ala entidad que participa con una instacia e hijo a la entidad queparticipa con muchas instancias. La llave de la relación padre secoloca en la relación hijo como llave externa. HABITACIÓN(NumeroHabitacion,Edificio,Piso) ESTUDIANTE(NumeroEstudiante,Nombre,Telefono,NumeroHabitacion)A diferencia de las relaciones 1:1, en las relaciones 1:N no sepuede colocar la llave externa sino en una de las relaciones. ¿Quépasaría si intentamos poner la llave de la relación hijo como llaveexterna en la relacion padre?
  5. 5. Diseño de bases de datos usando MER Representación de relaciones TIENE-UN3. Relaciones muchos a muchos ESTUDIANTE M:N CLASELas relaciones muchos a muchos no pueden representarsedirectamente mediante relaciones como se hace con las relaciones1:1 o 1:N. ¿Por qué?En este caso lo que se hace es crear una nueva relación querepresente la relación entre las dos anteriores: ESTUDIANTE(NumeroEstudiante,Nombre,Telefono,...) CLASE(NumeroClase,NombreClase,...) ESTUDIANTE-CLASE(NumeroEstudiante,NumeroClase)Esto equivale a dividir una relación M:N en dos 1:N. La nuevarelación se llama relación de intersección
  6. 6. Diseño de bases de datos usando MER Representación de relaciones ES-UNPara los subtipos se define una relación para el supertipo y unapara cada subtipo. Luego se agrega la llave del supertipo encada subtipo: CLIENTE(NumeroCliente,Nombre,Saldo,...) CLIENTE-PERSONA(NumeroCliente,Cedula, Direccion,...) CLIENTE-SOCIEDAD(NumeroCliente,NIT, RepresentanteLegal,...) CLIENTE-EMPRESA(NumeroCliente,NIT, PersonaContacto,...)
  7. 7. Diseño de bases de datos usando MER Ejemplo de diseñoConsidere el siguiente diagrama E-R:
  8. 8. Diseño de bases de datos usando MER Ejemplo de diseñoRepresentación relacional:
  9. 9. Diseño de bases de datos usando MER Ejemplo de diseñoRelaciones necesarias para representar el diagrama E-R.EMPLEADO(NumeroEmpleado,otros atributos de EMPLEADO sin llave,...)INGENIERO(NumeroEmpleado,otros atributos de INGENIERO sin llave,...)AUTOBUS(NumeroLicencia,otros atributos de AUTOBUS sin llave,NumeroEmpleado)SERVICIO(NumeroFactura,otros atributos de SERVICIO sin llave,NumeroEmpleado)CLIENTE(NumeroCliente,otros atributos de CLIENTE sin llave,RecomendadoPor)CLIENTE-SERVICIO(NumeroFactura,NumeroCliente,Tarifa)INGENIERO-CERTIFICACION(NumeroEmpleado,NombreCertificacion,otros atributossin llave de INGENIERO-CERTIFICACION)CERTIFICACION(NombreCertificacion,otros atributos sin llave de CERTIFICACION)
  10. 10. Diseño de bases de datos usando MER Estructuras que se presentan comunmente:Arboles: Conjunto de tipos de registro en el que cada uno tieneexactamente un padre excepto la raiz, es decir que suselementos tienen relaciones uno a muchosRedes simples: Los registros pueden tener padres múltiples peroestos deben ser de diferente tipo. Relaciones uno a muchosRedes complejas: Los registros pueden tener padres múltiples dediferente tipo. Es decir al menos una relacion muchos a muchosListas de materiales: Son estructuras de datos que confrecuencia se ven en apliaciones de manofactura e incluyenrelaciones recursivas muchos a muchos.
  11. 11. Diseño de bases de datos usando MER Llaves sustitutasIdentificadores únicos que proporciona el sistema, se usan porrazones prácticas: para reducir el tamaño de las llaves y porrazones filosóficas para mantener la identidad de las entidades.Una buena razón para usar siempre llaves sustitutas es mantenerla uniformidad al no mezclar con campos llave. En general serecomienda su uso Valores nulosUn valor nulo es un valor que no ha sido asignado a un atributo.Puede significar:1. Que el valor es desconocido2. Que no aplica en ciertos casos3. Que se acepta en blanco.La recomendación es no permitirlos, usando para ello subtipos.

×