2. Modelo relacional de datos



Descargar 100 Kb.
Página1/4
Fecha de conversión25.07.2017
Tamaño100 Kb.
  1   2   3   4

2. Modelo relacional de datos

  • Objetivos
  • Comprender los principios estructurales del modelo de datos relacional formal
  • Entender los conceptos integridad de entidad e integridad referencial, y apreciar su importancia
  • Entender los significados e implicaciones del concepto nulo en el modelo relacional
  • Comprender el concepto vista relacional, y la problemática asociada a la modificación de datos a través de vistas
  • Conocer los lenguajes formales álgebra relacional y cálculo relacional de tuplas, así como el lenguaje relacional estándar SQL-92

2. Modelo relacional de datos

  • Contenidos
  • 2.1 Presentación y orígenes del modelo relacional
  • 2.2 Estructura de datos relacional
  • 2.3 Características generales de integridad de datos
  • 2.4 Manipulación de datos: lenguajes relacionales
  • 2.4.1 Álgebra relacional
  • 2.4.2 Cálculo relacional de tuplas
  • 2.4.3 SQL-92

2. Modelo relacional de datos

  • Bibliografía
  • [EN 2002] Elmasri, R.; Navathe, S.B.: Fundamentos de Sistemas de Bases de Datos. 3ª Edición. Addison-Wesley. (Cap. 7, 8 y 9)
  • [EN 1997] Elmasri, R.; Navathe, S.B.: Sistemas de bases de datos. Conceptos fundamentales. 2ª Edición. Addison-Wesley Iberoamericana. (Cap. 6 y 7)
  • [D 2001] Date, C.J.: Introducción a los sistemas de bases de datos. 7ª Edición. Prentice-Hall. (Cap. 3 al 9)
  • [SKS 1998] Korth, H; Silberschatz, A., Sudarshan, S.: Fundamentos de bases de datos. 3ª Edición. McGraw-Hill. (Cap. 3 y 4)
  • ...

2.1 Presentación y orígenes del MR

  • Introducido por Codd, 1970
  • Es un Modelo de Datos Lógico - de Representación -
  • (basado en registros)
  • El modelo más usado en las aplicaciones comerciales de procesamiento de datos convencional
  • Dividido en 3 partes:
    • 1. Estructura de Datos
    • 2. Integridad de Datos (características generales)
    • 3. Manipulación de Datos
  • Base de Datos = Conjunto de Relaciones
  • Relación
    • Estructura de datos fundamental del modelo
    • Tiene un nombre y representa una entidad genérica
    • Conjunto de tuplas
      • Cada tupla representa una entidad concreta
    • Compuesta de atributos con nombre (y dominio)
    • Representada mediante una tabla con filas y columnas
  • Modelo basado en Teoría matemática
    • Analogía entre “Relación” (concepto matemático) y “Tabla”
    • Teoría de Conjuntos y Lógica de Predicados de 1er orden
    • Sólida Base Formal
  • 2.2 Estructura de datos relacional
  • 2.2 Estructura de datos relacional
  • título
  • director
  • género
  • rodaje
  • nacionalidad
  • duración
  • Amores Perros
  • A. González
  • Drama
  • 2000
  • México
  • 145
  • The Matrix
  • A. Wachowsky
  • Ciencia-ficción
  • 1999
  • EEUU
  • 138
  • Torrente
  • S. Segura
  • Comedia
  • 1997
  • España
  • 110
  • Nos miran
  • N. López
  • Policiaco
  • 2001
  • España
  • 118
  • Amelie
  • J. P. Jeunet
  • Comedia
  • 2001
  • Francia
  • 122
  • Los lunes al sol
  • F. León
  • Drama
  • 2002
  • España
  • 117
  • tuplas
  • cardinalidad
  • grado
  • atributos
  • La relación PELICULA
  • --- --- --- ---
  • Ciencia-ficción, Drama,Thriller, Comedia...
  • --- --- --- ---
  • 2002, 1997, 1999, 2001, 1994, 1972...
  • Italia,Argentina, España, EEUU, Francia,Japón..
  • --- --- --- ---
  • dominios
  • Títulos
  • Nombres
  • Géneros
  • Años
  • Países
  • Tiempo
  • Términos básicos
  • 2.2 Estructura de datos relacional
  • Procesamiento de Ficheros
  • Formal
  • SQL-92
  • Relación
  • Tabla
  • Fichero
  • Tupla
  • Si la tupla t está en la relación R, entonces tR
  • Fila
  • Registro concreto
  • Atributo
  • Debe tener un nombre único dentro de cada relación
  • cabecera de Columna
  • Nombre de Campo de registro
  • Cardinalidad
  • nº de tuplas en una relación
  • =
  • Grado
  • nº atributos en una relación
  • =
  • Dominio
  • colección de valores permitidos para ciertos atributos
  • =
  • Conjunto de valores atómicos del mismo tipo, donde toman su valor los atributos
    • La definición de dominios forma parte de la definición de la BD
    • Cada atributo definido sobre un ÚNICO dominio OBLIGATORIO
    • Si A, B representan un mismo concepto, A y B con mismo dominio
    • Dominio D puede contener valores no tomados por ningún atributo
  • {valores de A} Dominio(A)
  • Comparaciones Restringidas a Dominio
    • La comparación de dos atributos sólo tiene sentido si ambos toman valores del mismo dominio
    • Si el SGBD soporta dominios, podrá detectar este tipo de errores
  • Definiciones formales: DOMINIO
  • 2.2 Estructura de datos relacional
    • Una relación R, sobre conjunto de dominios D1, D2 ... Dn se compone de dos partes:
    • Esquema o Cabecera
      • Conjunto de pares Atributo:Dominio
  • { (A1:D1), (A2:D2) ... (An:Dn) }
      • Cada Aj tiene asociado sólo un Dj
      • Los Di no tienen por qué ser distintos entre sí
    • Estado, Cuerpo o Instancia
  • { { (A1:vi1), (A2:vi2) ... (An:vin) } }, donde i=1..m
  • Definiciones formales: RELACIÓN (1)
  • 2.2 Estructura de datos relacional
  • Un esquema de relación:
  • PELICULA (titulo:Titulos, duracion:Tiempo, director:Nombres, estreno:Fechas)
  • Un estado de la relación:
  • { { (titulo:Torrente), (duracion:110), (director:S.Segura), (estreno:1997) }
  • { (titulo:The Matrix), (duracion:138), (director:A.Wachowski), (estreno:1999) }
  • ... }
    • El estado de una relación es variable en el tiempo
      • nuevas tuplas, modificación o borrado de existentes
    • El esquema no suele variar  costoso:
      • · reescritura de “miles” de tuplas
      • · ¿valores de nuevos atributos para tuplas ya existentes?
      • Suele incluir un conjunto de Reglas de Integridad (se verá)
  • Definiciones formales: RELACIÓN (2)
  • 2.2 Estructura de datos relacional
  • Propiedades de una Relación
    • 1. No existen tuplas repetidas
    • 2. Las tuplas no están ordenadas
    • 3. Los atributos no están ordenados
          • esquema = conjunto de pares Atributo:Dominio
    • 4. Los valores de atributos son Atómicos
          • dominio = conjunto de valores atómicos
      • Intersección fila/columna = un solo valor (no lista de valores)
      • Si R cumple esta propiedad, R está en 1FN
  • estado = conjunto matemático de tuplas
  • Definiciones formales: RELACIÓN (3)
  • 2.2 Estructura de datos relacional
  • FORMAS NORMALES
    • R está en FN si
    • cumple conjunto de condiciones o restricciones
    • necesarias para estar bien diseñada
    • de acuerdo con el modelo relacional de datos.
  • Toda relación ha de estar en 1FN (estructura de datos simple)
  • Definiciones formales: RELACIÓN (4)
  • 2.2 Estructura de datos relacional
  • Relación vs. Tabla
    • Relación: Representación abstracta de un elemento de datos
    • Tabla: Representación concreta de tal elemento abstracto
    • Ventajas
      • Representación muy sencilla (tabla) del elemento abstracto básico (relación) del Modelo Relacional
      • Fácil de utilizar, entender, razonar...
    • Inconveniente
      • Aparente orden entre filas y entre columnas de la tabla
  • Definiciones formales: RELACIÓN (5)
  • 2.2 Estructura de datos relacional
  • Percibida por usuarios como una colección de relaciones
    • de diversos grados (nº de atributos)
    • que varían con el tiempo (nº de tuplas, estado)
  • Las relaciones (tablas) son la estructura lógica de la BD
    • Niveles externo y conceptual ANSI/X3/SPARC
  • Toda BDR cumple el Principio de Información:
  • Todo contenido de información de la BD está representado
  • de una y sólo una forma: como valores explícitos dentro de posiciones de columnas dentro de filas dentro de tablas
  • Conexión lógica entre Relaciones (vínculo o interrelación)
    • Representada mediante valores
    • No existen punteros (visibles al usuario)
  • Definiciones formales: BD RELACIONAL (1)
  • 2.2 Estructura de datos relacional
  • En una BDR distinguimos...
    • Esquema de base de datos
      • Descripción de la base de datos
      • Conjunto de esquemas de relación
  • PELICULA ( titulo:Títulos, director:Nombres, género:Géneros, rodaje:Años, nacionalidad:Países, duración:Tiempo )
  • ACTOR ( nombre:Nombres, nombreArtistico: Nombres, agente:Nombres, cache:Dinero )
  • DIRECTOR ( nombre:Nombres, nacionalidad:Países, operaPrima:Títulos )
    • ...
    • Estado o instancia de base de datos
      • Visión del contenido de la base de datos en cierto instante
      • Conjunto de estados de relación
  • Definiciones formales: BD RELACIONAL (2)
  • 2.2 Estructura de datos relacional
  • Todo estado de BD refleja la realidad
    • es un modelo de una porción del mundo real (minimundo)
  • Algunas configuraciones de valores NO tienen SENTIDO
    • pues no representan ningún estado posible del minimundo
      • 2 personas distintas con el mismo DNI
      • Un empleado sin NSS
      • Un alumno con -29 años
      • Una película sin director
  •  Definición de la BD (esquema) necesita incluir
  • REGLAS DE INTEGRIDAD
  • 2.3 Características generales de integridad de datos
  • Informan al SGBD de restricciones del mundo real
  • Así, el SGBD evita configuraciones de datos imposibles
  • Aumentan la capacidad expresiva del modelo relacional
  • Cumplen que:
    • Forman parte de la base de datos
    • Se cumplen para cualquier estado de la BD
    • No varían con el tiempo
  • Son específicas de cada BD particular, pero el Modelo Relacional incluye...
  • características generales de integridad
  • importantes y necesarias en toda BD
  • 2.3 Características generales de integridad de datos
  • Reglas de integridad
  • Sea R una relación R(A1:D1 , A2:D2 ,... An:Dn )
  • Una superclave de R es un subconjunto SK de atributos tal que cumple la restricción de Unicidad:
  • No existen dos tuplas distintas con la misma combinación de valores para SK
  • Una clave de R es una superclave tal que cumple la restricción de Irreductibilidad:
  • Ningún subconjunto de CK cumple la r. Unicidad
  • Clave Simple (1 atributo) o Compuesta (varios atributos)
  • Cada clave es una restricción de integridad
  • 2.3 Características generales de integridad de datos
  • Superclave y Clave de una relación
  • Claves como restricción de integridad
    • CLIENTE (codCliente, nombre, ciudad, telefono,...)
  • ¿Qué implicaciones tiene establecer como clave...
    • a) CK = {codCliente, ciudad}
    • b) CK = {codCliente} …?
  • Varias claves en una relación
  • «Relación para registrar las visitas de pacientes a sus médicos de familia. Un mismo paciente puede visitar a su médico varias veces en un mismo día»
    • VISITAMEDICA (nssPaciente, historial, fecha, hora, numVisita, medico, observ)
    • Claves (VISITAMEDICA)={ {nssPaciente, numVisita}, {nssPaciente, fecha, hora}, {historial, numVisita}, {historial, fecha, hora} }
  • 2.3 Características generales de integridad de datos
  • Superclave y Clave: Ejemplos
  • Si R tiene varias claves  Claves Candidatas
    • Claves (ACTOR) = { {nombre}, {nombreArtistico} }
    • Claves (EMPLEADO) = { {dni}, {nombre, fechaNac}, {nss} }
  • La Clave Primaria (Primary Key, PK ) es la clave candidata elegida para identificar las tuplas de R
    • Clave Primaria (ACTOR) = {nombreArtistico}
    • Clave Primaria (EMPLEADO) = {nss}
  • Las Claves Alternativas (Alternative Keys, AK) son el resto de claves candidatas
    • Claves Alternativas (ACTOR) = {nombre}
    • Claves Alternativas (EMPLEADO) = { {dni}, {nombre, fechaNac} }
  • 2.3 Características generales de integridad de datos
  • Conjunto de atributos FK de una relación R2, tal que:
    • 1. Existe otra relación R1 con clave primaria PK , y
    • 2. Cada valor de FK en R2 es idéntico al de PK en alguna tupla de R1
  • Conjunto de atributos de una relación que hace referencia a la clave primaria de otra relación (o la misma)
      • PELICULA (título, género, duración, director, ...)
      • DIRECTOR (nombre, nacionalidad, ...)
      • EMPLEADO (codEmp, nombre, jefe, nss, ...)
      • LIBRO (título, isbn, autor, editorial, edición, año, ...)
      • ESCRITOR (dni, nombre, ...)
      • ARTICULO (título, tema, autor, revista, página, ...)
  • 2.3 Características generales de integridad de datos
  • Clave Ajena (Externa o Foránea)
  • Cada componente de una FK debe estar definido sobre el mismo dominio que el correspondiente atributo de la PK a la que referencia
      • PACIENTE (nss, nombre, dirección, ...)
      • HISTORIAL (nss, especialidad, fechaApert, ...)
      • VISITA (nss, especialidad, numVisita, fecha, ...)
  • Clave Ajena Simple o Compuesta
  • El uso de Claves Ajenas facilita...
    • Eliminación de la Redundancia: Integridad entre ficheros
    • Mecanismo del Modelo Relacional de datos para establecer VÍNCULOS ENTRE RELACIONES
  • 2.3 Características generales de integridad de datos
  • Clave Ajena (Externa o Foránea) (2)
  • CLIENTE
  • CUENTA
  • 2.3 Características generales de integridad de datos
  • Clave Ajena (Externa o Foránea) (3)
  • nombre
  • dirección
  • ciudad
  • cuenta
  • García, A
  • Gran Vía, 6
  • Murcia
  • 200
  • López, B
  • Ronda Norte, 3
  • Murcia
  • 821
  • Azorín, C
  • Paseo Nuevo, 9
  • Valencia
  • 505
  • Pérez, C
  • Plaza Mayor, 2
  • Valencia
  • 505
  • ...
  • número
  • saldo
  • ...
  • 200
  • 35000
  • 505
  • 40000
  • 821
  • 50000
  • ...
  • Cada cliente sólo puede tener una cuenta a su nombre.
  • Una cuenta puede tener más de un cliente como titular.
  • Restricción de Integridad Referencial
  • Todo valor de una FK debe coincidir
  • con un valor en la correspondiente PK
    • La BD no debe contener claves ajenas sin correspondencia:
  • Si una tupla en una relación hace referencia a otra relación, debe referirse a una tupla existente en esa relación
  •  Puede existir algún valor de PK al que NO haga referencia
  • ningún valor de la FK
    • ESCRITOR que no haya escrito artículos: ninguna tupla de ARTICULO hará referencia a la tupla correspondiente a dicho escritor
  • 2.3 Características generales de integridad de datos
  • Clave Ajena (Externa o Foránea) (4)
  • ESCRITOR
  • ARTICULO
  • FK
  • Diagrama Referencial
    • Expresión de la existencia de Claves Ajenas
  • Camino Referencial
  • 2.3 Características generales de integridad de datos
  • Clave Ajena (Externa o Foránea) (y 5)
  • ESCRITOR
  • dni
  • nombre
  • ...
  • editorial
  • LIBRO
  • título
  • isbn
  • autor
  • editorial
  • ...
  • ARTICULO
  • título
  • tema
  • autor
  • revista
  • pág
  • ...
  • EDITORIAL
  • nombre
  • dirección
  • ...
  • Ciclo Referencial
    • Camino que empieza y acaba en la misma relación
    • Caso especial: Autorreferencia
  • EMPLEADO
  • codEmp
  • ...
  • jefe
  • EMPL
  • codEmp
  • ...
  • dep
  • DEPTO
  • codDep
  • ...
  • dire
  • Las operaciones que no satisfacen –violan– la Integridad Referencial, dejan la BD en un estado incorrecto
    • Ejemplo de un Hotel:
      • ¿Qué pasaría si se eliminara la tupla (501, D, ...) en HABITACIÓN?
      • ¿Y si se eliminara la tupla (100, D, ...)?
      • ¿Y si se anotara la ocupación de la habitación 900?
  • 2.3 Características generales de integridad de datos
  • OCUPACIÓN
  • codClie
  • habit
  • ...
  • CLI04
  • 100
  • CLI02
  • 420
  • CLI05
  • 115
  • CLI10
  • 100
  1   2   3   4


La base de datos está protegida por derechos de autor ©absta.info 2016
enviar mensaje

    Página principal