Modelo relacional2

14,535 views

Published on

0 Comments
4 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
14,535
On SlideShare
0
From Embeds
0
Number of Embeds
6,118
Actions
Shares
0
Downloads
234
Comments
0
Likes
4
Embeds 0
No embeds

No notes for slide

Modelo relacional2

  1. 1. Modelo Relacional L.I. María Luisa Velasco Ramírez
  2. 2. La estructura de las bases de datos relacionales <ul><li>Una base relacional consiste en un conjunto de tablas , a cada una de las cuales se le asigna un nombre exclusivo. </li></ul>
  3. 3. Ejemplo: La Tabla Cuenta Número_cuenta Nombre_Suc Saldo C-101 Centro 500 C-102 Navacerrada 400 C-201 Galapagar 900 C-215 Becerril 700 C-217 Galapagar 750 C-222 Moralzarzal 700 C-305 Collado Mediano 350
  4. 4. Dominio <ul><li>Para cada atributo existe un conjunto de valores permitidos, llamado dominio del atributo. </li></ul>
  5. 5. Relación y Tupla <ul><li>En el modelo relacional se utilizarán los términos de relación y tupla en lugar de los términos tabla y fila. </li></ul>
  6. 6. Propiedades de las relaciones <ul><li>Cada relación tiene un nombre y éste es distinto del nombre de todas las demás. </li></ul><ul><li>Los valores de los atributos son atómicos: en cada tupla, cada atributo toma un solo valor. Se dice que las relaciones están normalizadas . </li></ul><ul><li>No hay dos atributos que se llamen igual. </li></ul><ul><li>El orden de los atributos no importa: los atributos no están ordenados. </li></ul><ul><li>Cada tupla es distinta de las demás: no hay tuplas duplicadas. </li></ul><ul><li>El orden de las tuplas no importa: las tuplas no están ordenadas. </li></ul>
  7. 7. Claves o LLaves <ul><li>Ya que en una relación no hay tuplas repetidas, éstas se pueden distinguir unas de otras, es decir, se pueden identificar de modo único. La forma de identificarlas es mediante los valores de sus atributos. </li></ul>
  8. 8. Superllave <ul><li>Es un conjunto de uno o más atributos que, tomados colectivamente, permiten identificar de forma única una relación en el conjunto de relaciones. </li></ul>
  9. 9. Llave candidata <ul><li>Suponer que una combinación de nombre_ cliente y calle_cliente, es suficiente para distinguir entre los miembros de la relación cliente. Entonces los conjuntos de id_cliente y nombre_cliente,calle_cliente son llaves candidatas. </li></ul>
  10. 10. Llave primaria <ul><li>Se utiliza para denotar una llave candidata que es elegida por el diseñador de la base de datos como elemento principal para identificar la relación. </li></ul>
  11. 11. Llave Foránea <ul><li>Atributo que es llave primaria en otra relación y sirve para crear una asociación entre dos tablas o relaciones. </li></ul>
  12. 12. Esquema y ejemplar de la base de datos <ul><li>Diseño Lógico de la base de datos </li></ul><ul><li>Una instantánea de los datos de la misma en un momento dado </li></ul>
  13. 13. Reglas de integridad <ul><li>Son reglas de integridad que los datos almacenados en dicha estructura deben cumplir para garantizar que son correctos. </li></ul>
  14. 14. Nulos <ul><li>Cuando en una tupla un atributo es desconocido, se dice que es nulo . Un nulo no representa el valor cero ni la cadena vacía, éstos son valores que tienen significado. El nulo implica ausencia de información, bien porque al insertar la tupla se desconocía el valor del atributo, o bien porque para dicha tupla el atributo no tiene sentido. </li></ul>
  15. 15. Regla de integridad de entidades <ul><li>Ninguno de los atributos que componen la clave primaria puede ser nulo. </li></ul>
  16. 16. Regla de integridad referencial <ul><li>Si en una relación hay alguna clave ajena, sus valores deben coincidir con valores de la clave primaria a la que hace referencia, o bien, deben ser completamente nulos . </li></ul>
  17. 17. Reglas de negocios <ul><li>Los usuarios o los administradores de la base de datos pueden imponer ciertas restricciones específicas sobre los datos, denominadas reglas de negocio . </li></ul>
  18. 18. Grado y Cardinalidad <ul><li>El grado de una relación es el número de atributos </li></ul><ul><li>Cardinalidad es el número de tuplas </li></ul>
  19. 21. De clases a tablas <ul><li>Cada tipo de entidad se convierte en una relación. Cada relación que corresponda a un tipo de entidad llevará su mismo nombre. Para su definición usamos la sentencia SQL CREATE TABLE. </li></ul>
  20. 22. Atributos Compuestos y multivaluados <ul><li>Cada atributo compuesto se puede transformar según las siguientes dos alternativas: </li></ul><ul><li>Eliminar el atributo compuesto considerando todos sus componentes como atributos individuales, o </li></ul><ul><li>eliminar los componentes individuales y considerar el atributo compuesto entero como un sólo atributo </li></ul>
  21. 24. <ul><li>Esquemas relacionales: </li></ul><ul><li>Persona ( Rut , Nombre, Calle, Número, Ciudad) </li></ul><ul><li>Persona ( Rut , Nombre,Dirección) </li></ul>
  22. 25. Persona O Persona Rut Nombre Calle Número Ciudad Rut Nombre Dirección
  23. 26. Atributos Multivaludos <ul><li>Los atributos multivaluados requieren la introducción de relaciones nuevas; cada atributo multivaluado distinto requiere una relación en la cual pueda estar representado como atributo monovalente. </li></ul><ul><li>La nueva relación contiene el atributo multivaluado más el identificador de la entidad original; el identificador de la nueva relación es el conjunto de todos sus atributos. </li></ul>
  24. 27. Esquema relacional: Persona( Rut , Nombre) Dirección( Rut , Calle , Número , Ciudad ) Con Rut clave foránea que referencia a Persona Persona Rut Nombre Calle Número Ciudad
  25. 28. Rut como llave primaria Rut como llave Foránea sola Rut Nombre Rut Calle Número Ciudad
  26. 29. Atributos identificadores <ul><li>El o los atributos identificadores de cada tipo de entidad pasan a ser la clave de la relación si es que son los identificadores principales. Se usa la cláusula PRIMARY KEY. </li></ul>
  27. 30. Otros identificadores <ul><li>Los atributos no identificadores pasan a ser columnas de la tabla, las cuales tienen permitido tomar valores nulos, a no ser que se indique lo contrario. </li></ul>
  28. 31. Relaciones <ul><li>Dependiendo del tipo de correspondencia de la relación, variará la manera de realizar la transformación del esquema. </li></ul>
  29. 34. Relaciones 1:1 <ul><li>Aquí consideramos dos alternativas, la integración en una relación y la definición de una relación aparte. </li></ul><ul><li>La opción de integración en una relación tiene sentido cuando la participación de las dos entidades en la relación es total (cardinalidad mínima 1). </li></ul>
  30. 35. <ul><li>a. Las dos entidades tienen las mismas claves primarias. En este caso las dos relaciones correspondientes se integran en una relación combinando todos los atributos e incluyendo la clave primaria sólo una vez. </li></ul>
  31. 36. El esquema relacional resultante: Envío-Cliente( num-cliente , nombre-cliente, dirección-envío)
  32. 37. <ul><li>b. Las dos entidades tienen claves primaria diferentes. </li></ul><ul><li>Supongamos que Cliente e Info Envío tienen claves primarias diferentes, num-cliente y dirección-envío respectivamente. En este caso también se integran en una relación combinando todos los atributos e incluyendo las claves primarias de ambas. La clave primaria de la relación será una de las dos, por ejemplo, la relación que sigue usa num-cliente como clave primaria: </li></ul>
  33. 38. Esquema resultante Envío-cliente Num_Cliente Nombre Dirección-envío
  34. 39. Participación parcial <ul><li>a. Una entidad tiene participación parcial y la otra parcial </li></ul>El esquema relacional resultante: Cliente ( num-cliente , nombre-cliente) Tarjeta Crédito ( Número_tarjeta , crédito, num_cliente )
  35. 40. b. Las dos entidades tiene participación parcial El esquema relacional resultante: Hombre ( RFChombre , nombre) Mujer ( RFCmujer , nombre) Matrimonio ( RFChombre , RFCmujer , fecha)
  36. 43. Relaciones 1:N
  37. 44. Una región se conforma de varias ciudades y cada ciudad corresponde a una sola región. El esquema relacional resultante: Región( Número-Región , nombre, habitantes) Ciudad( Nombre-Ciudad , habitantes, número-región )
  38. 45. Relaciones N:M <ul><li>Un tipo de relación N:M se transforma en una relación que tendrá como clave primaria la concatenación de los identificadores de los tipos de entidad que asocia </li></ul>
  39. 46. <ul><li>Cada uno de los atributos que forman la clave primaria de una relación derivada de un tipo de relación N:M son clave foránea respecto de cada una de las relaciones derivadas de los tipos de entidad que relaciona. Esto se especifica a través de la claúsula FOREIGN KEY dentro de la sentencia de creación de la tabla. </li></ul>
  40. 47. El esquema relacional resultante: Autor ( cod-autor ) Libro( cod-libro , título) Escribe( cod-libro , cod-autor ) con cod-libro clave cod-libro foránea que referencia a Libro y cod-autor clave foránea que referencia a Autor
  41. 48. Atributos en las relaciones <ul><li>Si la relación se transforma en una tabla, todos sus atributos pasan a ser columnas de la tabla. </li></ul><ul><li>En caso de que la relación se transforme mediante propagación de clave, sus atributos migran junto con la clave a la relación que corresponda, aunque puede ser mejor crear una nueva relación para representar un relación que tiene atributos. </li></ul>
  42. 49. Relaciones exclusivas Libro( Id-Libro , ..., Id-Editorial , Id-Universidad) Universidad ( Id-Universidad , ...) Editorial ( Id-Editorial , ...)
  43. 50. Atributos Derivados <ul><li>No existe para los atributos derivados una representación directa y concreta en el modelo relacional y sus SGBD. En este caso, los atributos se tratan de la forma usual, implementando los procedimientos que calculen el valor del atributo derivado cada vez que inserten o borren las ocurrencias de los atributos que intervienen en el cálculo de este y añadir las restricciones correspondientes. </li></ul>
  44. 51. Transformación de dependencias en identificación y en existencia LIBRO( cod_libro ,...)   EJEMPLAR( cod_libro, cod_ejemplar ,...)

×