La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

El modelo de datos relacional. Introducción El modelo e-r se considera un modelo conceptual ya que permite a un nivel alto el ver con claridad la información.

Presentaciones similares


Presentación del tema: "El modelo de datos relacional. Introducción El modelo e-r se considera un modelo conceptual ya que permite a un nivel alto el ver con claridad la información."— Transcripción de la presentación:

1 El modelo de datos relacional

2 Introducción El modelo e-r se considera un modelo conceptual ya que permite a un nivel alto el ver con claridad la información utilizada en algún problema o negocio. En este tema nos concentraremos en desarrollar un buen modelo "lógico" que se conoce como "esquema de la base de datos" (database schema) a partir del cual se podrá realizar el modelado físico en el DBMS, es importante mencionar que es un paso necesario, no se puede partir de un modelo conceptual para realizar un físico.

3 Por qué "modelo relacional" ? Puede resultar confuso el concepto de modelo entidad-relación vs modelo relacional, quizás porque ambos comparten casi las mismas palabras. Como se mencionó en la sección anterior, el objetivo del modelo relacional es crear un "esquema" (schema), lo cual como se mencionará posteriormente consiste de un conjunto de "tablas" que representan "relaciones", relaciones entre los datos.

4 Estas tablas, pueden ser construidas de diversas maneras: Creando un conjunto de tablas iniciales y aplicar operaciones de normalización hasta conseguir el esquema más óptimo. Convertir el diagrama e-r a tablas y posteriormente aplicar también operaciones de normalización hasta conseguir el esquema óptimo.

5 La primer técnica fue de las primeras en existir y, como es de suponerse, la segunda al ser más reciente es mucho más conveniente en varios aspectos: El partir de un diagrama visual es muy útil para apreciar los detalles, de ahí que se llame modelo conceptual. El crear las tablas iniciales es mucho más simple a través de las reglas de conversión. Se podría pensar que es lo mismo porque finalmente hay que "normalizar" las tablas de todas formas, pero la ventaja de partir del modelo e-r es que la "normalización" es mínima por lo general. Lo anterior tiene otra ventaja, aún cuando se normalice de manera deficiente, se garantiza un esquema aceptable, en la primer técnica no es así.

6 Conceptos básicos Tablas Atributos Esquemas Tuplas Dominios Representaciones equivalentes de una relación

7 Tablas El modelo relacional proporciona un manera simple de representar los datos: una tabla bidimensional llamada relación. Relación Películas La relación Películas tiene la intención de manejar la información de las instancias en la entidad Películas, cada renglón corresponde a una entidad película y cada columna corresponde a uno de los atributos de la entidad. Sin embargo las relaciones pueden representar más que entidades, como se explicará más adelante. títuloañoduracióntipo Star Wars1977124color Mighty Ducks1991104color Wayne's World199295color

8 Atributos Los atributos son las columnas de una relación y describen características particulares de ella. títuloañoduracióntipo Star Wars1977124color Mighty Ducks1991104color Wayne's World199295color Atributos

9 Esquemas Es el nombre que se le da a una relación y el conjunto de atributos en ella. Películas (título, año, duración, tipo) En un modelo relación, un diseño consiste de uno o más esquemas, a este conjunto se le conoce como "esquema relacional de base de datos" (relational database schema) o simplemente "esquema de base de datos" (database schema)

10 Tuplas Cada uno de los renglones en una relación conteniendo valores para cada uno de los atributos. (Star Wars, 1977, 124, color)

11 Dominios “D” Un dominio D es un conjunto de valores atómicos. Por atómico queremos decir que cada valor del dominio es indivisible en lo tocante al modelo relacional.

12 Especificación de los dominios: 1.Especificar un tipo de datos al cual pertenecen los valores que constituyen el dominio. 2.Especificar un nombre para el dominio que ayude a interpretar sus valores.

13 Ejemplos de Dominios Numeros_telefonicos_de_EEUU: el conjunto de números validos de diez dígitos en los EU. (ddd)ddd-dddd Numeros_telefonicos_locales: el conjunto de números validos de siete dígitos dentro de un código de área en los EU. Numeros_de_seguridad_social: el conjuntos de números validos formados por 9 dígitos. Nombre: el conjunto de nombres de personas Edades_de_empleado: edades posibles de los empleados de una empresa que debe ser entre los 18 y 80 años de edad.

14 Representaciones equivalentes de una relación Las relaciones son un conjunto de Tuplas, no una lista de Tuplas. El orden en que aparecen las Tuplas es irrelevante. Así mismo el orden de los atributos tampoco es relevante Otra representación de la relación Películas añotítulotipoduración 1991Mighty Duckscolor104 1992Wayne's Worldcolor95 1977Star Warscolor124

15 Conversión del modelo e-r a un esquema de base de datos (Conversión a tablas) El modelo es una representación visual que gráficamente nos da una perspectiva de como se encuentran los datos involucrados en un proyecto u organización. Pero el modelo no nos presenta propiamente una instancia de los datos, un ejemplo que muestre con claridad algunos datos de muestra y como se relacionan en realidad. Por eso es conveniente crear un "esquema", el cual consiste de tablas las cuales en sus renglones (Tuplas) contienen instancias de los datos.

16 Conversión a tablas desde un modelo con relaciones (1-1,1-m,m-m) Reglas que se deben seguir para poder crear dicho esquema. Una tabla por cada conjunto de entidades –nombre de tabla = nombre de conjunto de entidades Una tabla por cada conjunto de relaciones m-m –nombre de tabla = nombre de conjunto de relaciones Definición de columnas para cada tabla –conjuntos fuertes de entidades columnas = nombre de atributos –conjuntos débiles de entidades columnas = llave_primaria (dominante) U atributos(subordinado) –conjunto de relaciones R (m-m) entre A, B columnas (R) = llave_primaria (A) U llave_primaria (B) U atributos(R) –conjunto de relaciones R (1-1) entre A y B columnas (A) = atribs(A) U llave primaria(B) U atributos(R) –conjunto de relaciones R (1-m) entre A y B columnas (B) = atribs(B) U llave primaria(A) U atributos(R)

17

18 El diagrama anterior se convertiría al siguiente esquema: Debil atribs_DebilLLP_Aatribs_rel_0 A LLP_Aatribs_A B1 LLP_B1atribs_B1 B2 LLP_B2atribs_B2LLP_Aattribs_rel_2 B3 LLP_B3atribs_B3LLP_Aatribs_rel_3 A_B1 LLP_ALLP_B1atribs_rel_1 donde: LLP_X es la llave primaria de la entidad X (un subconjunto de atribs_X)

19 Ejemplo

20 Para el ejemplo de la figura tendríamos el esquema: escuela idurlnombre departamento claveurlnombreid_escuela curso claveseccionnombreclave_depto profesor idnombreextension estudiante idnombrecarrera profesor_curso id_profclave_cursoseccion_curso estudiante_curso id_estudclave_cursoseccion_curso

21 Conversión a tablas desde un modelo con generalización Modelo e-r de generalización a tablas dos posibilidades: 1.crear una tabla para el conjunto de entidades A de mayor nivel columnas (A) = atributos(A) para cada conjunto de entidades B de menor nivel, crear una tabla tal que: columns (B) = atributos (B) U llave_primaria (A) 2. si A es un conjunto de entidades de mayor nivel para cada conjunto de entidades B de menor nivel, crear una tabla tal que: columnas (B) = atributos (B) U atributos (A)

22 Modelo Entidad - Relacion

23 La generalización se convertiría al siguiente esquema:

24

25 Es importante mencionar que a pesar de que existen 2 métodos para convertir una generalización a tablas, no hay una regla exacta de cual usar en determinado caso. A continuación se mencionan algunos consejos útiles para la determinación de cual método emplear: 1.Si la entidad de nivel superior está relacionada con otra(s) entidades puede sugerirse emplear el método (1) ya que de esa manera la tabla (A) será la única involucrada en la relación, de otra forma se tendrían tres tablas (B1,B2 y B3) formando parte de la relación. 2.Es importante tomar en cuenta la pertenencia de instancias, si se considera que hablamos de una generalización disjunta, donde no se puede pertenecer a varias entidades de nivel inferior, quizás sea recomendable el método (1), en otro caso se podría pensar en el método (2). 3.También es importante analizar ambos casos con respecto a las "consultas" que se deseen realizar ya que esto también determina en muchos casos el método a emplear.

26 Descubrimiento de llaves en las relaciones Las llaves resultantes en las relaciones de un esquema se pueden inferir de la siguiente manera: 1) Cada tabla que provenga de una entidad contiene por si misma una llave 2) Para las tablas resultado de una relación se toman las llaves primarias de ambas entidades y éstas conforman la nueva llave primaria, excepto en un caso como el que sigue:

27 Podemos observar que existe una relación m-m entre "actor" y "serie", demostrando que un actor puede actuar en muchas series y que muchas series tendrán a los mismos actores.

28 La tabla que se crearía sería: actor - serie id_actorid_serieid_personaje Joaquín PardavéGénesisAbel hermano bueno Evita Muñoz (Chachita)Qué bonita familiaDulce abuelita Joaquín PardavéGénesisCaín hermano malo Evita Muñoz (Chachita)Hermelinda lindaBruja Hermelinda Si se considera "id_actor, id_serie" como la llave primaria caemos en un problema porque esa combinación no identifica de manera única a la tupla, como es el caso de "Joaquín Pardavé, Génesis" ya que en la primer tupla tenemos que determina a "Abel hermano bueno" y en la tercera a "Caín hermano malo". La relación es correcta ya que un actor puede representar a varios personajes en la misma obra, pero entonces la llave "id_actor, id_serie" no es la correcta y en este caso lo más recomendable sería emplear los tres atributos de la relación "id_actor, id_serie, id_personaje"

29 Algoritmo de transformación ER-Modelo Relacional PASO 1: Por cada tipo de entidades normal E del esquema ER, se crea una relación R que contenga todos los atributos simples de E. Se incluyen sólo los atributos simples componentes de un atributo compuesto. Se elige uno de los atributos clave de E como clave primaria de R. Si la clave elegida es compuesta, el conjunto de atributos simples que la forma constituirá la clave primaria de R. PASO 2: Por cada tipo de entidad débil D del esquema ER con tipo de entidades propietarias E, se crea una relación R y se incluyen todos los atributos simples ( o componentes simples de los atributos compuestos) de D como atributos de R.

30 Además, se incluyen como atributos de clave externa de R los atributos de clave primaria de la relación o relaciones que corresponden al tipo o tipos de entidades propietarias; con esto damos cuenta del tipo de vínculo identificador de D. La clave primaria de R es la combinación de las claves primarias de las propietarias y la clave parcial de D, si existe.

31 PASO 3: Por cada tipo de vínculo binario 1:1 R del esquema ER, se identifican las relaciones S y T que corresponden a los tipos de entidades que participan en R. Se escoge una de las relaciones –digamos S- y se incluye como clave externa en S la clave primaria de T. Es mejor elegir un tipo de entidades con participación total en R en el papel de S. Se incluyen todos los atributos simples (o componentes simples de los atributos compuestos) del tipo de vínculo 1:1 R como atributos de S. Cabe señalar que puede establecerse una transformación alternativa de un tipo de vínculo 1:1 si combinamos los dos tipos de entidades y el vínculo en una sola relación. Esto resulta apropiado sobre todo cuando las dos participaciones son totales y cuando los tipos de entidades no participan en ningún otro tipo de vínculos.

32 PASO 4: Por cada tipo de vínculos normal (no débil) binario 1:N R, se identifica la relación S que representa el tipo de entidades participante del lado N del tipo de vínculos. Se incluye como clave externa en S la clave primaria de la relación T que representa al otro tipo de entidades que participa en R; la razón es que cada ejemplar de entidad del lado N está relacionado con un máximo de un ejemplar de entidad del lado 1. Se incluyen todos los atributos simples (o componentes simples de los atributos compuestos) del tipo de vínculos 1:N como atributos de S.

33 PASO 5: Por cada tipo de vínculos binario M:N R, se crea una nueva relación S para representar R. Se incluyen como atributos de clave externa en S las claves primarias de las relaciones que representan los tipos de entidades participantes; su combinación constituirá la clave primaria de S. También se incluyen todos los atributos simples (o componentes simples de los atributos compuestos) del tipo de vínculos M:N como atributos de S. Cabe destacar que siempre es posible transformar los vínculos 1:1 o 1:N de una manera similar a como se hace con los vínculos M:N. Esta alternativa es útil sobre todo cuando hay pocos ejemplares del vínculo, a fin de evitar valores nulos en las claves externas. En este caso, la clave primaria de la relación vínculo será la clave externa de sólo una de las relaciones entidad participantes. En el caso de un vínculo 1:N, ésta será la relación entidad del lado N; en el caso de un vínculo 1:1, se elegirá la relación entidad con participación total (si existe).

34 PASO 6: Por cada atributo multivaluado A se crea una nueva relación R que contiene un atributo correspondiente a A más el atributo de clave primaria K (como clave externa en R) de la relación que representa el tipo de entidades o de vínculos que tienen a A como atributo. La clave primaria de R es la combinación de A y K. Si el atributo multivaluado es compuesto, se incluyen sus componentes simples. PASO 7: Por cada tipo de vínculos n-ario R, n > 2, se crea una nueva relación S que represente a R. Se incluyen como atributos de clave externa en S las claves primarias de las relaciones que representan los tipos de entidades participantes

35 Ejemplo de un diagrama ER EMPLEADODEPARTAMENTO PERTENECE_A DIRIGE SUPERVISIONTRABAJA_EN PROYECTO CONTROLA_A supervisadosupervisor Horas FechaInic FechaNac DEPENDIENTES_DE DEPENDIENTE Parentesco SexoNombre FechaN NSSNombre NomPila Paterno Materno Sexo Dirección Salario NumDeEmpleados Nombre Número Lugares Nombre Número Lugar trabajador empleado departamento- dirigido departamento departamento- controlador proyecto- controlado proyecto dependiente (1, 1) N1 11 N1M N N 1 N 1

36 Conversion a esquema NOMBREP EMPLEADO INICAPELLIDONSSFECHANDIRECCIÓNSEXOSALARIONSSSUPERND NOMBRED DEPARTAMENTO NÚMERODNSSGTEFECHAINICGTE LUGARES_DEPTOS NÚMEROD LUGARD NOMBREP PROYECTO NÚMEROPLUGARPNÚMEROD TRABAJA_EN NSSE NÚMP HORAS DEPENDIENTE SEXOFECHANPARENTESCO NSSE NOMBRE_DEPENDIENTE

37

38 Correspondencia entre los modelos ER y relacional Modelo ERModelo relacional tipo de entidadesrelación “entidad” tipo de vínculos 1:1 o 1:Nclave externa (o relación “vínculo”) tipo de vínculos M:N relación “vínculo” y dos claves externas tipo de vínculos n-ario relación “vínculo” y n claves externas atributo simplecampo atributo compuesto conjunto de campos componentes simples atributo multivaluadorelación y clave externa conjunto de valoresdominio atributo claveclave primaria (o secundaria)


Descargar ppt "El modelo de datos relacional. Introducción El modelo e-r se considera un modelo conceptual ya que permite a un nivel alto el ver con claridad la información."

Presentaciones similares


Anuncios Google