Base de DatosProfesor:MSC Luis Serna Jherry
El Modelo Relacional¿ Qué es ?Estructura de Datos relacionalTipos de RelacionesRestricciones de IntegridadTransformación d...
¿Qué es?Es el modelo teórico que constituye loscimientos de los manejadores de basede datos relacionales (RDBMS).Es el pri...
¿Qué es?El modelo relacional es una forma de verlos datos que consta de:  Una representación de los datos mediante  tablas...
Estructura de Datos Relacional Clave                                      NACPrimaria                                    E...
Bases de Datos RelacionalesTerminología  Término Relacional             Término tabularBase de datos relacional C j t d T ...
Estructura d D t R l iE t t      de Datos Relacional                             lEl dominio es el componente elemental de...
Estructura d D t R l iE t t      de Datos Relacional                             lEstos dominios o tipos pueden ser defini...
Estructura de Datos Relacional:DominiosD i iLos dominios restringen la manipulación:     Las comparaciones tienen sentido ...
Estructura de Datos Relacional:DominiosD i iEl soporte para dominios (tipos) en el modelo  relacional implica que:     El ...
Estructura de Datos RelacionalUn AtributoU At ib t es un par ordenado (N, D) d d N es el                        d d (N D),...
Estructura de Datos RelacionalUn esquema relacional (cabecera de una tabla) es unconjunto de atributosUna asociación basad...
Estructura de Datos Relacional:Relaciones Relación CURSOC_Curso       N_Curso         #Horas N_Grupo         ESQUEMA 00012...
Estructura de Datos           Relacional: RelacionesD1   el   conjunto   de   los   nombres de códigos de cursoD2   el   c...
Estructura de Datos     Relacional: RelacionesEn general:Una tabla de “n” atributos debe ser un subconjunto  de           ...
Propiedades de las RelacionesNo existen tuplas repetidas:Cada relación es un conjunto matemático; por ende,no tiene elemen...
Tipos de RelacionesRelación base (relación real). Es equivalente al conceptotabla del SQL. Tiene nombre y es autónoma.Vist...
Tipos de RelacionesResultado de consulta: Es la relación resultante dealguna consulta (query) específica. Puede, o no, ten...
Tipos de RelacionesRelaciones temporales: Es una relación con nombre,similar a una relación base o vista, pero con la     ...
Tipos de Relaciones  VistasNo forman parte del modelo lógico  Consideraciones de seguridad.  No mostrar los atributos de u...
Restricciones deIntegridad  teg dad
Restricciones de IntegridadR ti i        d I t id d  El propósito de las reglas de integridad es  informar al DBMS de cier...
Restricciones de Integridad  (Constraints)  (C    t i t )Aseguran que las modificaciones realizadas no originen  pérdida d...
Restricciones de Integridad                       g  (Constraints)Restricciones d Clave Primaria              de l    La c...
Restricciones de Integridad(Constraints)(C    t i t )Restricciones sobre nulos: Especifican cuándo un atributo puede no te...
Restricciones de Integridad(Constraints)(C    t i t )Restricciones de Integridad Referencial:Aseguran que un valor que apa...
Restricciones de Integridad                      g (Constraints)Restricciones de Integridad Referencial:  Una clave foráne...
Restricciones de Integridad                      g (Constraints)Restricciones de Integridad Referencial:  El atributo FK (...
Restricciones de Integridad                        g   (Constraints)Restricciones de integridad Semántica -Disparadores (t...
Restricciones de Integridad  (Constraints)Ejemplo:“Los sobregiros en las cuentas corrientes se tratan dejando   en cero el...
Restricciones de Integridad                        g   (Constraints)Restricciones de integridad Semántica – Asertos (afirm...
Integridad Referencial –    Reglas para Claves ForáneasPara cada clave foránea es necesario responder tres  preguntas:  ¿L...
Integridad Referencial –   Reglas para Claves ForáneasSi la relación R2 tiene una clave foránea FK   que lo relaciona con ...
Integridad Referencial –Reglas para Claves ForáneasActualizar:  Si se modifica una tupla de R2  Se procede a verificar com...
Integridad Referencial –  Reglas para Claves ForáneasREGLAS:CascadaSi se elimina una instancia del padre, todas lasinstanc...
Integridad Referencial – Reglas para Claves ForáneasSet NullSi se elimina una instancia del padre, las clavesforáneas (FK)...
Pinacotecas                       Pais              Escuela            Pinacoteca                       C Pais            ...
Integridad Referencial –    Reglas para Claves Foráneas¿Que deberá suceder si hay un intento de eliminar  un Pintor del qu...
Integridad Referencial –  Reglas para Claves ForáneasPara cada relación existen seis posiblesacciones para las cuales es n...
Traducción de un modelode información en una BDRelacional
TraducciónT ad cción de un modelo .....               nCada entidad se convierte en una tablaEl identificador único se con...
Traducción T ad cción de un modelo .....                nAntes de generar un diseño relacional a partir de un  modelo,  mo...
Traducción T ad cción de un modelo .....                nRelaciones de uno a muchos:  La l  L clave primaria del lado “uno...
Traducción T ad cción de un modelo .....                nRelaciones de uno a uno:  Son muy poco frecuentes en un sistema d...
Traducción T ad cción de un modelo .....                nRelaciones de muchos a muchos:  Deben ser resueltas en el modelo ...
Implementación de EntidadesSupertipo SubtipoS pe tipo / S btipo                        Cuenta                        C Cue...
Implementación de Entidades    Supertipo Subtipo    S pe tipo / S btipo1   Tablas de supertipo / subtipo      Implementar ...
Implementación de Entidades    Supertipo Subtipo    S pe tipo / S btipo2   Sólo supertipo     •   Las entidades subtipo so...
Implementación de Entidades    Supertipo Subtipo    S pe tipo / S btipo3   Sólo subtipos      Eliminar el supertipo e impl...
RESUMENEl modelo relacional propone una estructura, unconjunto de restricciones de integridad y un lenguaje    j          ...
Próxima SlideShare
Cargando en…5
×

El modelo relacional

1.790 visualizaciones

Publicado el

0 comentarios
1 recomendación
Estadísticas
Notas
  • Sé el primero en comentar

Sin descargas
Visualizaciones
Visualizaciones totales
1.790
En SlideShare
0
De insertados
0
Número de insertados
3
Acciones
Compartido
0
Descargas
0
Comentarios
0
Recomendaciones
1
Insertados 0
No insertados

No hay notas en la diapositiva.

El modelo relacional

  1. 1. Base de DatosProfesor:MSC Luis Serna Jherry
  2. 2. El Modelo Relacional¿ Qué es ?Estructura de Datos relacionalTipos de RelacionesRestricciones de IntegridadTransformación de un DER en unesquema relacional
  3. 3. ¿Qué es?Es el modelo teórico que constituye loscimientos de los manejadores de basede datos relacionales (RDBMS).Es el principal modelo de datosempleado para las aplicaciones deprocesamiento de datos cubriendo datos,cerca del 85% de las ventas mundiales.
  4. 4. ¿Qué es?El modelo relacional es una forma de verlos datos que consta de: Una representación de los datos mediante tablas llamadas “relaciones” (Estructura) Un conjunto de restricciones que permiten la consistencia de los datos (Integridad) Un conjunto de operadores que permiten manipular dichos datos (Lenguaje de Manipulación M i l ió )
  5. 5. Estructura de Datos Relacional Clave NACPrimaria EXT Dominios # N C Tipo C Tipo Ciudad Proveedor Proveedor Servicio Proveedor CRP aeR 1234 Abad & Asoc. Ltd SUM NAC LIMA T rl O u daV 4210 Carmen Morales LIM NAC MIRAF i p ncE 6544 OXF Traiders T id EQP EXT CHICG l ai E a lóD 8541 Lau Chun S.A. SUM NAC LIMA s inO 9642 Marcos Segura LIM NAC LINCE d R a d Atributos Grado
  6. 6. Bases de Datos RelacionalesTerminología Término Relacional Término tabularBase de datos relacional C j t d T bl Conjunto de TablasRelación Una sola tablaAtributo Encabezado de columnaTupla Fila de datos de una tablaCardinalidad # de filas de una tablaGrado # de columnas de una tablaDominio Lista de valores permitidos para los datos de una columna
  7. 7. Estructura d D t R l iE t t de Datos Relacional lEl dominio es el componente elemental de una BDrelacional: un conjunto de valores (= tipo de dato). D1 = {Juan María, Pablo} {Juan, María D2 = todas las cadenas de caracteres D3 = {x / x es un entero y x > 0} D4 = { / x es un entero negativo} {x i }Es un conjunto nominado y homogéneo de valoresatómicosSe especifica lógicamente mediante un nombre y unformato, por extensión (lista de valores), o por intención(tipo d d t(ti de dato o predicado). di d )
  8. 8. Estructura d D t R l iE t t de Datos Relacional lEstos dominios o tipos pueden ser definidos por el sistemao definidos por el usuarioUn dominio o tipo tiene asociado un conjunto deoperadores válidos que se pueden aplicar a sus valores, loscuales dependen de su semántica y no de su representaciónfísica. Todo valor tiene un tipo El sistema siempre comprueba q los operandos son del tipo p p que p p adecuado para la ejecución de cada operación
  9. 9. Estructura de Datos Relacional:DominiosD i iLos dominios restringen la manipulación: Las comparaciones tienen sentido cuando se plantean entre atributos que provienen del mismo dominio: Q_Peso = Q_Unidades A.N_Ciudad = B.N_Ciudad Las expresiones tienen sentido si emplean operadores definidos como válidos en los dominios y en sus combinaciones: Q_Peso + Q_Unidades Q_Peso * Q_Unidades _ _
  10. 10. Estructura de Datos Relacional:DominiosD i iEl soporte para dominios (tipos) en el modelo relacional implica que: El sistema siempre sabrá qué expresiones son válidas y el tipo del resultado de cada expresión El conjunto de tipos de una base de datos es un j t d ti d b d d t conjunto cerrado: el tipo del resultado de toda expresión será siempre un tipo conocido por el sistema El sistema conoce qué asignaciones y qué comparaciones son válidas
  11. 11. Estructura de Datos RelacionalUn AtributoU At ib t es un par ordenado (N, D) d d N es el d d (N D), donde lnombre del atributo y D es el dominio del cual tomasus valores valores.Una Relación (tabla) es un conjunto de atributos connombre (R, C), donde R es el nombre de la relación, y C = {(N1, D1), {N2, D2), ... , (Nn, Dn)} es el conjunto finito de atributos; todos los Ni son distintos, aunque no necesariamente lo son los Di
  12. 12. Estructura de Datos RelacionalUn esquema relacional (cabecera de una tabla) es unconjunto de atributosUna asociación basada en el atributo (N, D) es un parordenado (N, x), donde x ∈ D. Luego, una tupla esun conjunto de asociaciones (N, x), una por cadaatributo del esquema.Un cuerpo relacional es un conjunto de tuplasUna base de datos relacional es un conjunto derelaciones
  13. 13. Estructura de Datos Relacional:Relaciones Relación CURSOC_Curso N_Curso #Horas N_Grupo ESQUEMA 00012 Diseño de Base de 50 Base de Datos Datos C 00034 Bases de Datos 30 Base de Datos OO U 00167 Sistemas 30 Sistemas E Operativos Operativos R Avanzados P 01521 Datawarehousing 25 Base de Datos O005142 Introducción al 25 Lenguajes C++
  14. 14. Estructura de Datos Relacional: RelacionesD1 el conjunto de los nombres de códigos de cursoD2 el conjunto de los nombres de cursoD3 el conjunto de los números naturalesD4 el conjunto de los gruposCada fila de CURSO consiste de una tupla (v1, v2, v3 , v4), donde: vi está en el dominio Di La tabla CURSO es un subconjunto de D1 x D 2 x D 3 x D 4
  15. 15. Estructura de Datos Relacional: RelacionesEn general:Una tabla de “n” atributos debe ser un subconjunto de D1 x D2 x D3 ....... x Dn-1 x DnDefinición matemática de “Relación”:“Subconjunto del producto cartesiano de la lista de Subconjunto dominios” Relación = Tabla Tupla = Fila
  16. 16. Propiedades de las RelacionesNo existen tuplas repetidas:Cada relación es un conjunto matemático; por ende,no tiene elementos repetidos. i l idLas tuplas no están ordenadas (de arriba a abajo).Los t ib tL atributos no están ordenados (de izquierda a tá d d (d i i dderecha).Todos los valores de los atributos son atómicos Es atómicos.decir, cada tupla contiene exactamente un valor paracada atributo.
  17. 17. Tipos de RelacionesRelación base (relación real). Es equivalente al conceptotabla del SQL. Tiene nombre y es autónoma.Vista (relación virtual). Es una relación derivada connombre propio y cuya definición se basa en relacionesbase.base No poseen datos almacenados almacenados.Instantánea (snapshot). Relación derivada con nombreque si posee datos, como resultado de una consulta quese almacena y refresca periódicamente.
  18. 18. Tipos de RelacionesResultado de consulta: Es la relación resultante dealguna consulta (query) específica. Puede, o no, tenernombre,nombre y no tiene existencia persistente en la base dedatos.Resultado intermedio: Es una relación resultante dealguna expresión relacional anidada, que no tieneexistencia persistente y que generalmente no tienenombre.nombre
  19. 19. Tipos de RelacionesRelaciones temporales: Es una relación con nombre,similar a una relación base o vista, pero con la , pdiferencia de que se destruye en forma automática. Las relaciones base, vista e instantánea sedestruyen solamente por acción específica del usuario. usuario
  20. 20. Tipos de Relaciones VistasNo forman parte del modelo lógico Consideraciones de seguridad. No mostrar los atributos de una tabla que corresponden a información confidencial (por ejemplo sueldos). Personalización de relaciones para un usuario en particular. Mostrar algunos atributos seleccionados de varias tablas relacionadas.
  21. 21. Restricciones deIntegridad teg dad
  22. 22. Restricciones de IntegridadR ti i d I t id d El propósito de las reglas de integridad es informar al DBMS de ciertas restricciones en el mundo real. La mayor parte de las reglas de integridad de datos son específicas, en cuanto a que se aplican a una base de datos en particular (reglas de negocio).
  23. 23. Restricciones de Integridad (Constraints) (C t i t )Aseguran que las modificaciones realizadas no originen pérdida de consistencia de los datos Restricciones de Dominio: Especifican el conjunto de valores que se puede asociar a un atributo. atributo Restricciones de Clave Primaria Todas las tuplas de u a relación son d st tas, es dec , odas as tup as una e ac ó so distintas, decir, debe haber siempre una clave primaria que garantice esta unicidad
  24. 24. Restricciones de Integridad g (Constraints)Restricciones d Clave Primaria de l La clave primaria (PK) es un identificador único para una relación. La clave primaria puede ser compuesta (más de un atributo) Es posible que en una relación haya más de un identificador único o “clave candidata”: Unicidad: En cualquier momento dado, no existen dos tuplas en R con el mismo valor de K. Minimalidad: Si K es compuesta, no será posible eliminar ningún componente de K, sin destruir la propiedad de K unicidad. En estos casos una debe ser escogida como clave primaria y las ot as otras se de o denominarán c a es a te a tes ú cas a á claves alternantes únicas.
  25. 25. Restricciones de Integridad(Constraints)(C t i t )Restricciones sobre nulos: Especifican cuándo un atributo puede no tener un valor asociado por ser desconocido o no aplicable a alguna instancia en particularRestricciones de Integridad de entidades: Ningún componente de la clave primaria de una relación base puede aceptar nulos (un valor desconocido o no aplicable)
  26. 26. Restricciones de Integridad(Constraints)(C t i t )Restricciones de Integridad Referencial:Aseguran que un valor que aparece en una relación para g q q p pun conjunto de atributos dado, aparezca también para unconjunto de atributos en otra relación:“La b“L base de datos no debe contener valores de d d t d b t l d clave foránea sin concordancia”
  27. 27. Restricciones de Integridad g (Constraints)Restricciones de Integridad Referencial: Una clave foránea o ajena es un atributo o conjunto de atributos (clave foránea compuesta) de una relación R2, cuyos valores deben concordar con R2 los de la clave primaria de alguna relación R1 (donde: R1 y R2 no necesariamente son distintos).
  28. 28. Restricciones de Integridad g (Constraints)Restricciones de Integridad Referencial: El atributo FK (quizá compuesto) de una relación (q p ) base R2 es una clave foránea si satisface dos propiedades: Cada valor de FK es nulo del todo o bien no nulo del todo. Existe una relación base R1 con clave primaria p PK, tal que cada valor no nulo de FK es idéntico al valor de PK en alguna tupla de R1.
  29. 29. Restricciones de Integridad g (Constraints)Restricciones de integridad Semántica -Disparadores (triggers):Son órdenes que el sistema ejecuta de maneraautomática como efecto secundario de la modificación dela base de datos. Su diseño debe cumplir dos requisitos: Especificar las condiciones de ejecución. Especificar las acciones a realizar. E ifi l i li
  30. 30. Restricciones de Integridad (Constraints)Ejemplo:“Los sobregiros en las cuentas corrientes se tratan dejando en cero el saldo de la cuenta y creando un préstamo por el importe sobregirado” Condición: Actualización de la relación CUENTA que da un valor negativo en el atributo saldo Acciones: Insertar una nueva tupla en la relación PRESTAMO Cambiar el valor de saldo a cero en la relación CUENTA
  31. 31. Restricciones de Integridad g (Constraints)Restricciones de integridad Semántica – Asertos (afirmaciones):Son expresiones declarativas que expresan predicadosque deben ser verdaderos. Es decir, condiciones quesiempre se deben cumplir en la BD.Ejemplo:“La suma de los importes de los préstamos de un bancodebe ser menor a la suma de los saldos de las cuentas”.
  32. 32. Integridad Referencial – Reglas para Claves ForáneasPara cada clave foránea es necesario responder tres preguntas: ¿La l ¿L clave f á foránea puede aceptar nulos? d t l ? ¿Que deberá suceder si hay un intento de eliminar el registro de referencia de una clave foránea? ¿Que deberá suceder si hay un intento de modificar la clave foránea?
  33. 33. Integridad Referencial – Reglas para Claves ForáneasSi la relación R2 tiene una clave foránea FK que lo relaciona con R1: Insertar: I Si se inserta una tupla en R2, debe asegurarse que ∃ una instancia en R1 con el valor correspondiente como PK Borrar: Si se borra una tupla en R1, identificar el conjunto de tuplas en relacionadas mediante una FK. Si las hay, se puede rechazar la operación de borrado, o y, p p , borrarlas en cascada o alterar su valor.
  34. 34. Integridad Referencial –Reglas para Claves ForáneasActualizar: Si se modifica una tupla de R2 Se procede a verificar como en el caso de la inserción Si se modifica una tupla en R1 Se procede a verificar como en el caso del borrado
  35. 35. Integridad Referencial – Reglas para Claves ForáneasREGLAS:CascadaSi se elimina una instancia del padre, todas lasinstancias hijo relacionadas también se eliminarán.RestricciónNo se puede eliminar una instancia del padre si tienehijos asociados, o no se puede eliminar un hijo si asociadosexiste una instancia relacionada en la entidad padre.
  36. 36. Integridad Referencial – Reglas para Claves ForáneasSet NullSi se elimina una instancia del padre, las clavesforáneas (FK) en l instancias hijo relacionadasf á las i t i hij l i dcambian al valor nulo.Set DefaultSi se elimina una instancia del padre, las clavesforáneas (FK) en las instancias hijo relacionadascambian al valor por omisión establecido. bi l l i ió bl id<None>No se toma ninguna acción específica. específica
  37. 37. Pinacotecas Pais Escuela Pinacoteca C Pais N Escuela N pinacotecaMecenasM N Pais C Pais (FK) N ciudad_pinacotecaN Mecenas D inicio_escuela T direccion_pinacotecaC Pais (FK) Q area_pinacotecaN ciudad_mecenasD nacimiento_mecenasD muerte mecenas muerte_mecenas P P Cuadro Pintor C cuadro N pintor N pinacoteca (FK) C Pais (FK) N pintor (FK) P N Escuela (FK) N cuadro D nacimiento pintor nacimiento_pintor Q dimensionesMecenas_Pintor D cuadro D muerte_pintor N Mecenas (FK) N maestro (FK) N tecnica N pintor (FK) D inicio_mecenazgo D fin_mecenazgo
  38. 38. Integridad Referencial – Reglas para Claves Foráneas¿Que deberá suceder si hay un intento de eliminar un Pintor del que haya Cuadros registradas? Restricción ( S ó (RESTRICTED): S rechazará la operación C ) Se h ál ó Propagación (CASCADE): La eliminación se hace efectiva y se propaga borrando los cuadros de su autoría. autoría Valor por omisión (SET DEFAULT): Se asignan un valor default a la clave foránea N_Pintor en todas las instancias N Pintor de Cuadro correspondientes y luego se elimina el registro de Pintor.
  39. 39. Integridad Referencial – Reglas para Claves ForáneasPara cada relación existen seis posiblesacciones para las cuales es necesario pestablecer las reglas de integridadreferencial: Parent Insert Child Insert Parent Update Child Update Parent Delete Child Delete
  40. 40. Traducción de un modelode información en una BDRelacional
  41. 41. TraducciónT ad cción de un modelo ..... nCada entidad se convierte en una tablaEl identificador único se convierte en la clave primariaCada atributo se convierte en una columna de surespectiva tabla pLas relaciones se implementan colocando la claveprimaria de una tabla en la tabla relacionada, comoclave externa. externa
  42. 42. Traducción T ad cción de un modelo ..... nAntes de generar un diseño relacional a partir de un modelo, modelo hay que asegurase que esté completo: Tipos de dato de los atributos Cardinalidad de las relaciones Identificadores de las entidades (claves primarias)
  43. 43. Traducción T ad cción de un modelo ..... nRelaciones de uno a muchos: La l L clave primaria del lado “uno” es incrustada en la i i d ll d “ ” i t d l tabla del lado “muchos” Si el lado “uno” es opcional, la clave externa será uno opcional, en caso contrario será requerido.
  44. 44. Traducción T ad cción de un modelo ..... nRelaciones de uno a uno: Son muy poco frecuentes en un sistema de negocios. Generalmente ocultan relaciones de tipo generalización / especialización. Si ambos lados de la relación son obligatorios u opcionales, escoger como principal aquella que “podría” variar su cardinalidad a de uno a muchos Si sólo un lado es obligatorio, la PK de éste debe migrar hacia el lado opcional.
  45. 45. Traducción T ad cción de un modelo ..... nRelaciones de muchos a muchos: Deben ser resueltas en el modelo mediante entidades asociativas o designativas. Las cardinalidades de las relaciones de estas nuevas entidades determinarán la forma de traducirlas en una tid d d t i á l f d t d il BD relacional (de uno a muchos o de uno a uno)
  46. 46. Implementación de EntidadesSupertipo SubtipoS pe tipo / S btipo Cuenta C Cuenta p C TipoCuenta D Apertura C TipoCuenta Corriente Ahorro Plazo Fijo C Cuenta (FK) C Cuenta (FK) C Cuenta (FK) $ SaldoContable $ SaldoAhorro $ MontoDepósito $ SaldoDisponible % Interés D Depósito p $ Sobregiro $ Interés % Plazo Q PlazoDías
  47. 47. Implementación de Entidades Supertipo Subtipo S pe tipo / S btipo1 Tablas de supertipo / subtipo Implementar el supertipo y cada subtipo como tablas separadas La PK del supertipo puede también usarse como PK p p p de los subtipos Para la descripción completa de cualquier instancia es necesario acceder por lo menos a dos tablas
  48. 48. Implementación de Entidades Supertipo Subtipo S pe tipo / S btipo2 Sólo supertipo • Las entidades subtipo son combinadas con el supertipo e implementadas como una sola tabla • Las relaciones exclusivas de los subtipos se p convierten en opcionales para la nueva tabla • Se incluirán campos que deberán aceptar valores nulos dependiendo de lo que se establezca en el código de la aplicación. • La codificación de las consultas se hace más compleja.
  49. 49. Implementación de Entidades Supertipo Subtipo S pe tipo / S btipo3 Sólo subtipos Eliminar el supertipo e implementar solamente los subtipos Si los subtipos no son excluyentes, será necesario p y , duplicar alguna información. Adecuado con subtipos excluyentes, que comparten muy poco comportamiento comportamiento.
  50. 50. RESUMENEl modelo relacional propone una estructura, unconjunto de restricciones de integridad y un lenguaje j g g jpara manipulación de los datos almacenadosLas relaciones son conjuntos matemáticos, con laspropiedades que esa condición les confieren i d d di ió l fiLas restricciones de integridad permiten garantizar quela información almacenada es siempre confiable, en elsentido de no violar las reglas del negocioLas restricciones de integridad referencial son un tipoparticular de restricciones ti l d ti i

×