La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Prof. Nelliud D. Torres Data Modeling - Diseño Conceptual y Lógico

Presentaciones similares


Presentación del tema: "Prof. Nelliud D. Torres Data Modeling - Diseño Conceptual y Lógico"— Transcripción de la presentación:

1 Prof. Nelliud D. Torres Data Modeling - Diseño Conceptual y Lógico
SICI-4030 Base de Datos Prof. Nelliud D. Torres Data Modeling - Diseño Conceptual y Lógico

2 OBJETIVOS Explicar los diferentes tipos de diagramas brevemente para propósitos de posibles conversiones. Diagrama de Chen Notación de Tablas Diagrama que utiliza el libro Diagrama que se va a utilizar en el curso Resolviendo Relaciones Muchos a Muchos Cuando debe ponerse la barra UID en las relaciones Ejercicios para Resolver Comparación entre el diagrama del libro y el que se va a utilizar en el curso Matriz de Relaciones

3 DIFERENTES TIPOS DE DIAGRAMAS
Volver a los Objetivos

4 USO DE DIAGRAMAS Existen muchos tipos de diagramas para crear los ERD (Entity Relational Diagram) de las Bases de Datos No existe un estándar establecido de cuál formato debe utilizarse. Para efectos del curso, vamos a utilizar una versión modificada de la que utiliza Oracle. Para los trabajos que hay que entregar y los exámenes vamos a utilizar ese modelo modificado únicamente. También vamos a examinar resumidamente los otros tipos de notaciones para familiarizarnos con ellos.

5 TIPOS DE DIAGRAMAS Hoffer-Prescott-MacFadden Notation. Visio Pro 2003.
Allfusion ERwin Data Modeler 4.1 SP1. Sybase Power Designer 11.1. Oracle Designer 10G Modelo Chen (Modelo E-R creado por Peter Chen) Versión de Oracle modificada (que vamos a utilizar en el curso)

6 EJEMPLOS DE DIAGRAMAS - 1
Símbolos Apéndice A

7 EJEMPLOS DE DIAGRAMAS - 2
Relaciones, opcionalidad y grado o cardinalidad Apéndice A

8 DIAGRAMA DE CHEN Volver a los Objetivos

9 Componentes del Modelo E-R (Chen)
Entity Relationship Composite entity Attribute Como este modelo se utiliza con bastante frecuencia, se discute un poco más detallado que los demás. Yufei Yuan Course Web Site

10 Connectivity (opcionalidad) and Cardinality
Professor 1 teaches M Course (1,1) (0,3) Optional entity Mandatory entity Cardinality Estos conceptos se van a explicar más adelante. Se ponen aquí para tenerlo de referencia en caso de que tengan que trabajar con un diagrama que tenga este formato. Yufei Yuan Course Web Site

11 Diferentes Relaciones en el Diagrama de Chen
Database Systems: Design, Implementation, & Management, 7th Edition, Rob & Coronel

12 Ejemplo del modelo Chen para un Sistema Estudiantil de Registro
Attributes Course Number Description Instructor ID Name Room Rank Teaches Course Instructor M 1 1 1 Advises M M Course Enrollment Student 1 M Major Student Number Course Number Student Name Student Number Grade Yufei Yuan Course Web Site

13 Ejemplo del modelo Chen para un Sistema de Procesamiento de Ordenes
Product Number Description Customer Name Unit price S Name S ID Address Products Customer 1 1 Salesman Placed M prepared 1 M S ID OrderLine M Order M 1 Date Order Number Product Number Customer Name Order Number Quantity Yufei Yuan Course Web Site

14 Ejemplo del modelo Chen para una Compañía de Construcción
Project name Project Number Employee Number Employee Name Manager ID Hire Date Project Manages Employee 1 M 1 M M has Assigment M 1 Job class Assignment Number Hours Hour Rate Project Number Job Code Employee Number Job Description Yufei Yuan Course Web Site

15 NOTACIÓN DE TABLAS Volver a los Objetivos

16 Tables Customers (CustomerName, Address) Salesman (S-ID, S-Name)
Products (Prod#, Description, UnitPrice) Orders (OrderNo, Date, S-ID, CustomerName) OrderLine (OrderNo, Prod#, Quantity) Más adelante hablaremos de este tipo de notación. Yufei Yuan Course Web Site

17 DIAGRAMA QUE UTILIZA EL LIBRO
Volver a los Objetivos

18 DIAGRAMA QUE UTILIZA EL LIBRO -1
Entity symbols Attribute symbols A special entity that is also a relationship Relationship symbols Relationship degrees specify number of entity types involved Relationship cardinalities specify how many of each entity type is allowed Basic E-R notation (Figure 3-2) 8

19 DIAGRAMA QUE UTILIZA EL LIBRO - 2
Sample E-R Diagram (Figure 3-1) Este diagrama se lee al revés del que vamos a utilizar en el curso Pág. 93 3

20 DIAGRAMA QUE SE VA A UTILIZAR EN EL CURSO
Volver a los Objetivos

21 DIAGRAMA ORACLE MODIFICADO
Ahora vamos a explicar el modelo que vamos a utilizar en el curso. Es una variación de Oracle e integra símbolos de otros tipos de diagramas. Será utilizado para los proyectos y el examen. En la página(Moodle) hay un documento que tiene los diferentes símbolos y se pueden utilizar al momento de crear un ERD.

22 REGLAS PARA DIAGRAMAR Las entidades van en una caja (rectangular) sin bordes. Los nombres de las entidades se escriben en singular y en mayúsculas. Cada nombre debe ser único. Se puede poner un alias a una entidad que tenga más de un nombre entre paréntesis. Los nombres de los atributos van en letra minúscula.

23 EJEMPLOS ENTIDADES EN DIAGRAMAS
CLIENTE número nombre dirección teléfono crédito ESTUDIANTE número nombre edad genero seguro social departamento igs escuela procedencia ESTADIO (PARQUE) nombre dirección teléfono capacidad sillas capacidad carros

24 RELACIONES Como se mencionó anteriormente, es una asociación bi-direccional (ambas direcciones) e imprescindible entre dos entidades o entre una entidad y ella misma.

25 RELACIONES - SINTAXIS La sintaxis que vamos a utilizar para comprender las relaciones es: CADA entidad-1 nombre de la relación entidad-2 TIENE QUE SER O PUEDER SER Opcionalidad UNO O MÁS O UNO Y SOLO UNO Cardinalidad

26 RELACIONES - COMPONENTES
Nombre de la relación – Se utiliza una palabra que haga sentido al unir la relación entre dos entidades Opcionalidad – Sólo se puede indicar “tiene que ser” o “puede ser” Grado o Cardinalidad - Sólo se puede indicar “Uno o más” o “Uno y solo uno”

27 RELACIONES - EJEMPLOS DEPARTAMENTO - EMPLEADO ESTUDIANTE - CURSO
Cada DEPARTAMENTO puede ser habitado por uno o más EMPLEADO(s) ESTUDIANTE - CURSO Cada ESTUDIANTE puede tomar uno o más CURSO(s) EDIFICIO – APARTAMENTO Cada EDIFICIO tiene que poseer uno o más APARTAMENTO(s)

28 RELACIONES - DIAGRAMAS
Las relaciones se pueden diagramar de la siguiente forma: Una línea une las dos entidades El nombre de la relación va en minúsculas El diagrama de Opcionalidad es: Puede ser Tiene que ser El diagrama de Grado o Cardinalidad es: Uno o más Uno y solo uno

29 RELACIONES – DIAGRAMAS - EJEMPLOS
DEPARTAMENTO - EMPLEADO Cada DEPARTAMENTO puede ser habitado por uno o más EMPLEADO(s) El nombre de la relación se pone arriba o abajo de la línea que une las dos entidades. DEPARTAMENTO id localización descripción EMPLEADO numero nombre seguro social habitado por

30 RELACIONES – DIAGRAMAS - EJEMPLOS
ESTUDIANTE - CURSO Cada ESTUDIANTE puede tomar uno o más CURSO(s) ESTUDIANTE número nombre seguro social CURSO código semestre descripción tomar

31 RELACIONES – DIAGRAMAS - EJEMPLOS
EDIFICIO – APARTAMENTO Cada EDIFICIO tiene que poseer uno o más APARTAMENTO(s) EDIFICIO id localización descripción APARTAMENTO número piso cantidad cuartos poseer

32 IMPORTANTE UNA RELACIÓN ES BIDIRECCIONAL. Por lo tanto hay que detallar y diagramar la relación también del otro lado. FINALMENTE LOS DIAGRAMAS QUEDARÍAN ASÍ:

33 RELACIONES – DIAGRAMAS - EJEMPLOS
DEPARTAMENTO - EMPLEADO Cada DEPARTAMENTO puede ser habitado por uno o más EMPLEADO(s) Cada EMPLEADO tiene que estar asignado a uno y solo un DEPARTAMENTO DEPARTAMENTO id localización descripción EMPLEADO numero nombre seguro social habitado por estar asignado

34 RELACIONES – DIAGRAMAS - EJEMPLOS
ESTUDIANTE - CURSO Cada ESTUDIANTE puede tomar uno o más CURSO(s) CadaCURSO puede ser tomado por uno o más ESTUDIANTE(S) ESTUDIANTE número nombre seguro social CURSO código semestre descripción tomar tomado por

35 RELACIONES – DIAGRAMAS - EJEMPLOS
EDIFICIO – APARTAMENTO Cada EDIFICIO tiene que poseer uno o más APARTAMENTO(s) Cada APARTAMENTO tiene que ser poseido por uno y solo un EDIFICIO EDIFICIO id localización descripción APARTAMENTO número piso cantidad cuartos poseer poseido por

36 EJEMPLO DE UN ERD DE UN SISTEMA DE COMPRAS
ORDEN número tipo fecha ARTÍCULO numero descripción peso emitida para incluido en almacenado en originado por el depósito para el originador de CLIENTE número nombre seguro social ALMACEN id descripción localización

37 EXISTEN 3 TIPOS DE RELACIONES ENTRE LAS ENTIDADES
Muchos a uno (M : 1) Muchos a muchos (M : M) Uno a uno (1 : 1)

38 MUCHOS A UNO M a 1 o M : 1 Tiene un grado de uno o más en una parte de la relación y de uno y solo uno en la otra parte. Es el tipo de relación más común dentro de las bases de datos. Las relaciones de muchos a uno que sea obligatoria en ambas partres es rara.

39 MUCHOS A UNO - EJEMPLO 1 M∞ DEPARTAMENTO id localización descripción
habitado por EMPLEADO numero nombre seguro social estar asignado 1 M∞

40 MUCHOS A MUCHOS M a M o M : M
Tiene un grado de uno o más en ambas partes. También es un tipo de relación común. Pueden ser opcionales en una o en ambas partes.

41 MUCHOS A MUCHOS - EJEMPLO
CURSO código semestre descripción ESTUDIANTE número nombre seguro social tomar tomado por M M

42 UNO A UNO 1 a 1 o 1 : 1 Tiene un grado de uno y sólo uno en ambas partes. Este tipo de relación es raro y más aún si ambas partes son obligatorias. Este tipo de relación podría indicar que ambas relaciones se puedan convertir en solo una.

43 UNO A UNO - EJEMPLO 1 1 CARRO tablilla MOTOR posee marca número modelo
descripción posee está asignado 1 1

44 CONVENCIONES DE LOS ATRIBUTOS
Los nombres de los atributos se crean pensando en el usuario (debe entenderlos) EL nombre de la entidad no debe incluirse como parte del nombre del atributo Deben ser específicos y descriptivos. (Ej. cantidad devuelta, fecha de nacimiento, etc.)

45 SÍMBOLOS PARA LOS ATRIBUTOS
* - Significa obligatorio (el atributo debe ser llenado por el usuario, no se puede dejar en blanco) 0 – Significa opcional, el usuario no está obligado a llenar ese atributo. # - Identifica un atributo que es UID (también hay que ponerle el símbolo * obligatoriamente). (#) - UID segundario. Por ejemplo: seguro social.

46 UID’s EN RELACIONES Cuando deseamos que un UID se utilice en otra entidad relacionada, utilizamos el símbolo: Cuando deseamos incluir un UID como un campo foráneo (foreign key) en la otra entidad relacionada, utilizamos el símbolo: IMPORTANTE: En la entidad que lleva uno de esos dos símbolos, en el ERD NO se le especifica el atributo.

47 UID’s QUE USAN RELACIONES
Una entidad puede ser identificada mediante una relación Consideremos el siguiente ejemplo; En la Banca, a cada banco se le asigna un número único. Dentro de cada banco, a cada cuenta se le asigna un número único. ¿Cuál sería entonces el UID de la entidad CUENTA? BANCO #* número CUENTA #* número manejador de manejada por

48 UID’s QUE USAN RELACIONES (Cont)
Solución: Cada instancia de la entidad CUENTA se puede identificar por el atributo número y el BANCO específico al cual la cuenta pertenece. El número del BANCO es parte del UID de la entidad CUENTA BANCO #* número CUENTA #* número #* número_banco manejador de manejada por

49 UID’s QUE USAN RELACIONES (Cont)
En este tipo de relación cualquier campo foráneo que provenga de otra entidad, no se puede representar (escribir) en esa entidad, por lo tanto se utiliza la barra UID para representar ese campo en la otra entidad. La barra UID indica que la relación con BANCO es parte del UID de CUENTA. BANCO #* número CUENTA #* número manejador de manejada por

50 UID SECUNDARIOS Y ARTIFICIALES
Un UID secundario es aquel que nos puede permitir localizar una instancia en particular sin utilizar el UID ‘principal’. Por ejemplo en la entidad EMPLEADO, el número o código de empleado se puede utilizar ya que permite identificar por separado a cada instancia. Entonces, ¿Cuál podría se un UID secundario? EMPLEADO #* número nombre seguro_social fecha_nacimiento edad

51 UID SECUNDARIOS Y ARTIFICIALES (Cont.)
En este caso el UID secundario debe ser el seguro social. Los demás atributos que se muestran aquí no cumplen con la condición de ser identificadores únicos. Se pone el símbolo (#) que lo identifica como UID secundario. EMPLEADO #* número nombre (#) seguro_social fecha_nacimiento edad

52 UID SECUNDARIOS Y ARTIFICIALES (Cont. - 2)
¿Qué podríamos utilizar para identificar a la entidad CLIENTE? El seguro social de un cliente puede ser cuestionable y el teléfono puede cambiar constantemente. CLIENTE nombre dirección teléfono

53 UID SECUNDARIOS Y ARTIFICIALES (Cont. - 3)
En este caso necesitamos utilizar un UID artificial que nos permita identificar a cada cliente en particular. Podría utilizarse el nombre código por ejemplo. Nota: Los UID artificiales se utilizan a menudo en el caso de que la empresa no tenga un atributo natural que identifique plenamente a una entidad. CLIENTE #* código nombre dirección teléfono

54 RESOLVIENDO RELACIONES MUCHOS A MUCHOS
Volver a los Objetivos

55 Resolviendo Relaciones Muchos a Muchos
Las relaciones M:M se resuelven con la creación de una nueva entidad. Se le llama entidad de intersección o asociativa. Finalmente se incluye dos relaciones M:1 para unir la entidad de intersección con las entidades que tenían una relación M:M.

56 Ejemplo - 1 Resuelva esta relación M:M ESTUDIANTE #* número * nombre
* seguro social CURSO #* código * nombre * duracción tomar tomado por

57 Solución - 1 Nota: La entidad asociativa necesita tener el número de
ESTUDIANTE #* número * nombre * seguro social CURSO #* código * nombre * duracción para MATRICULA #* fecha matriculado o nota Parte de Nota: La entidad asociativa necesita tener el número de estudiante, código del curso y fecha de matrícula como su UID para que cada instancia (record) pueda ser única (valor del UID no se repita).

58 ANOTACIONES IMPORTANTES
Una entidad de intersección o secundaria se puede reconocer por que tiene dos relaciones (muchas veces con su barra de UID) que la relacionan como muchos (M). Ejemplo: Barra UID MATRICULA #* fecha matriculado o nota Relación de muchos (M)

59 ANOTACIONES IMPORTANTES - 2
Las relaciones que parten de una entidad de intersección o asociativa deben ser siempre mandatorias (TIENE). Ejemplo: Tiene MATRICULA #* fecha matriculado o nota Tiene

60 ANOTACIONES IMPORTANTES - 3
Las entidades de intersección o asociativa muchas veces representan procesos reales de las empresas. Ejemplo: Matricula es un proceso real dentro de una institución universitaria. MATRICULA #* fecha matriculado o nota

61 ANOTACIONES IMPORTANTES - 4
Algunas entidades de intersección o asociativa tienen un UID que no depende de las relaciones. Ejemplo: El UID de la entidad VENDEDOR y PRODUCTO no forma parte del UID de la entidad CATALOGO. En cambio son Foreign Key (FK). VENDEDOR #* id * nombre * seguro social incluido en CATALOGO #* id * precio * medida para PRODUCTO #* número * nombre * descripción incluido en para

62 ANOTACIONES IMPORTANTES - 5
Algunas entidades de intersección o asociativa puede ser que no tengan atributos. Es la única excepción a la regla de que toda entidad debe tener atributos. Ejemplo: No tiene ningún atributo la entidad ACTOR-PELICULA. PELICULA #* id * título * categoría ACTOR #* código * nombre para ACTOR-PELICULA escenario para actor en

63 CUANDO DEBE PONERSE LA BARRA UID EN LAS RELACIONES (cuando un FK debe ser parte del PK)
Volver a los Objetivos

64 DEFINIR FK COMO PARTE DEL PK
La situación más común para definir un Foreign Key como parte del Primary Key es cuando estamos rompiendo las relaciones muchos a muchos. En este caso al crear una tabla de intercepción, muchas veces no tiene uno o más atributos que la puedan identificiar por si misma. Bajo este caso, se necesita definir los PK de ambas tablas como FK de la tabla de intersección e inclusive definirlas también como PK. A continuación vemos un ejemplo:

65 DEFINIR FK COMO PARTE DEL PK
El siguiente ejemplo muestra una relación resuelta de muchos a muchos entre actor y película. La entidad intermedia ESTELARIZA sólo tiene un atributo que indica si un artista gano o no un óscar por la estelarización de una película. Como no tiene identificadores únicos, necesita el número del ACTOR y el código de la película. En este caso se necesitan ambos para poder identificar una instancia de la entidad ESTELARIZA. ACTOR #* número * nombre * fecha nacimiento PELICULA #* código * titulo * año filmación pertenecer ESTELARIZA o oscar hecha por hacer Parte de

66 DEFINIR FK COMO PARTE DEL PK
Este otro ejemplo solo consta de dos entidades. La entidad principal (strong) llamanda EMPLEADOy la entidad secundaria (weak) llamada DEPENDIENTE. ¿Cuál de las dos alternativas sería la correcta? EMPLEADO #* número * nombre * género DEPENDIENTE #* número * nombre * género tener A B pertenecer EMPLEADO #* número * nombre * género DEPENDIENTE pertenecer tener

67 DEFINIR FK COMO PARTE DEL PK
Siempre debemos pensar en los datos que componen las tablas ya que nos puede ayudar a determinar si se pone la barra de UID o no. En este caso la relación podría trabajar de ambas formas. Sin embargo si existen dos empleados (esposos) que tenga un mismo dependiente, se tiene que poner la barra de UID para identificar cada dependiente con su respectivo EMPLEADO. En este caso se tendría que repetir la información del DEPENDIENTE dos veces. (no estaría normalizado) Se podría evitar esta repetición con una entidad intermedia.

68 DEFINIR FK COMO PARTE DEL PK
Por otro lado, si nunca se da la posibilidad de haber más de un EMPLEADO encargado de un dependiente, se podría poner la alternativa B. Esta alternativa incluso permite cambiar el nombre del empleado si se indicó uno incorrecto. Como no es parte del PK el cambio es sumamente sencillo. Si fuera parte del PK y en la Base de datos se indico que no se puede cambiar el valor de un PK, entonces se tendría que eliminar el record por completo y volverlo a escribir con el nuevo número de empleado. Este procedimiento puede ser más complicado de programar y menos eficiente.

69 RECOMENDACIONES Utilice la barra de UID siempre que la entidad no tenga uno o más atributos que la definan. Trate siempre de evitar la barra UID si se puede. Analice la posibilidad de eliminar una instancia de la entidad principal. ¿Cómo esto afecta a la entidad que tiene el FK o el FK-PK?

70 EJERCICIOS PARA RESOLVER
Volver a los Objetivos

71 Ejercicios para resolver - 1
CLIENTE #* id * nombre * dirección PRODUCTO #* código * nombre ordenador de ordenado por Nota: Debe terminar con cuatro entidades: ITEM, ORDEN, CLIENTE y PRODUCTO

72 Ejercicios para resolver - 2
LIBRO #* isbn * titulo * cantidad páginas AUTOR #* id * nombre escrito por escribir

73 Ejercicios para resolver - 3
Pág. 202

74 COMPARACIÓN ENTRE EL DIAGRAMA DEL LIBRO Y EL QUE SE VA A UTILIZAR EN EL CURSO
Volver a los Objetivos

75 Relación Uno a Uno LIBRO Referencia PERSON CURSO casada con

76 Relación Uno a Muchos LIBRO Referencia CURSO registrado PATIENT
PATIENT HISTORY registrado CURSO registrado para

77 Relación Muchos a Muchos
LIBRO Referencia EMPLOYEE PROJECT asignado a CURSO asignado a

78 Relación Muchos a Muchos
LIBRO Referencia EMPLOYEE COURSE tomar CURSO ofrecido a

79 Múltiples Relaciones LIBRO Referencia CURSO SCHEDULE asignado a
incluye incluirse en PROFESSOR COURSE cualificado para CURSO cualificado por

80 Relación con Entidad Asociativa
LIBRO Referencia CURSO EMPLOYEE COURSE poseer CERTIFICATE generar pertenecer a corresponder a

81 MATRIZ DE RELACIONES Volver a los Objetivos

82 Matriz de Relaciones Es una herramienta que ayuda a relacionar las diferentes entidades. También ayuda a dar un nombre a la relación entre las entidades. Recolecta una información adicional sobre las relaciones entre un conjunto de entidades.

83 EJEMPLO DE UNA MATRIZ DE RELACIONES
FACILIDAD SLIP SOLICITUD CLIENTE SERVICIO ubicar estar ubicado en crear rentado por creada por contener rentar contenido en

84 DIAGRAMA QUE SE UTILIZÓ PARA LA MATRIZ
FACILIDAD #* id * nombre * dirección * ciudad * estado * zipcode DIAGRAMA QUE SE UTILIZÓ PARA LA MATRIZ SLIP #* id * numero * largo * renta anual * nombre del bote * tipo de bote SOLICITUD #* id * descripción * status * estimado de horas * horas usadas o fecha próximo servicio contener ubicar estar ubicado en creada por rentado por SISTEMA RENTA DE LOTES DE BOTES contener rentar contenido en CLIENTE #* id * nombre * dirección * ciudad * estado * zip code SERVICIO #* id * descripción

85 DETALLES IMPORTANTES AL UTILIZAR LAS MATRICES DE RELACIONES
Relaciona las entidades de la parte izquierda con las entidades de la parte derecha. Deben ponerse todas las entidades y en el mismo orden en ambos lados. Al encontrar dos entidades que se relaciones, se pone el nombre de la relación, de no relacionarse, se pone una raya. La línea del medio divide y crea un efecto de espejo entre las relaciones.

86 CONVERTIR LA SIGUIENTE MATRIZ A ERD - 2

87 CONVERTIR LA SIGUIENTE MATRIZ A ERD - 1

88 CINCO PASOS AL MODELAR LAS RELACIONES EN LA MATRIZ
Determine si hay relación entre dos entidades. Déle nombre a cada dirección de la relación. Determine la opcionalidad de cada dirección. Determine el grado o cardinalidad de cada dirección. Lea en voz alta la relación y coteje si hace sentido.

89 PASO - 1 DETERMINAR RELACIÓN
El siguiente ejemplo marca las relaciones entre las entidades.

90 PASO - 2 NOMBRAR CADA RELACIÓN
Algunas sugerencias para nombres son: integrado por comprador de operador de responsable de poseedor de habitado por emisora de el receptor de integrante de suplidor de operado por bajo la responsabilidad de poseído por habitante de emitida por para

91 PASO - 3 Determinar la Opcionalidad de la Relación
Por ejemplo una relación entre EMPLEADO y DEPARTAMENTO se puede analizar de la siguiente forma: ¿Debe asignase un Empleado a un Departamento? ¿Esto es siempre así?, ¿Existe alguna situación en donde un Empleado no esté asignado a un departamento? No existe, por lo tanto, siempre tiene que estar asignado a un DEPARTAMENTO.

92 PASO - 3 (cont.)Determinar la Opcionalidad de la Relación
¿Debe un DEPARTAMENTO ser responsable de un EMPLEADO? ¿Esto es siempre así? No, un DEPARTAMENTO no tiene que ser responsable de un EMPLEADO siempre. DEPARTAMENTO id localización descripción EMPLEADO numero nombre seguro social responsable de asignado a puede tiene

93 PASO - 4 Determinar el grado de la Relación
Tomando el mismo ejemplo de la relación entre EMPLEADO y DEPARTAMENTO debemos hacernos las siguientes preguntas: ¿Puede un EMPLEADO ser asignado a más de un DEPARTAMENTO? NO, un EMPLEADO sólo puede ser asignado a un DEPARTAMENTO. ¿Puede un DEPARTAMENTO ser responsable de uno o más EMPLEADOS? Sí, un DEPARTAMENTO puede ser responsable de uno o más EMPLEADOS.

94 PASO - 4 (cont.) Determinar el grado de la Relación
Finalmente la opcionalidad y cardinalidad quedarían así: DEPARTAMENTO id localización descripción EMPLEADO numero nombre seguro social responsable de asignado a sólo un departamento Uno o más empleados

95 PASO - 5 Validar la Relación
Lea la relación en voz alta en ambas direcciones. Deben tener sentido en el contexto del negocio para el cual se está diseñando la base de datos. Cada DEPARTAMENTO puede ser responsable de uno o mas EMPLEADOS Cada EMPLEADO tiene que estar asignado a uno y solo un DEPARTAMENTO DEPARTAMENTO id localización descripción EMPLEADO numero nombre seguro social responsable de asignado a

96 REFERENCIAS Modern Database Management 8th Edition, Jeffrey A. Hoffer, Mary B. Prescott, Fred R. McFadden Yufei Yuan Course Web Site Database Systems: Design, Implementation, and Management, Seventh Edition, Rob and Coronel Profesor Alberto Prado - Universidad Interamericana, Recintro Metro


Descargar ppt "Prof. Nelliud D. Torres Data Modeling - Diseño Conceptual y Lógico"

Presentaciones similares


Anuncios Google