semana 5 base de datos relacionales

Upload: pool-break

Post on 02-Mar-2018

220 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/26/2019 Semana 5 Base de Datos Relacionales

    1/40

    1

    2. Modelo relacional de datos

    Objetivos Comprender los principios estructuralesdel modelo de

    datos relacional formal

    Entender los conceptos integridad de entidadeintegridad referencial, y apreciar su importancia Entender los significados e implicaciones del concepto

    nuloen el modelo relacional Comprender el concepto vista relacional, y la

    problemtica asociada a la modificacin de datos atravs de vistas

  • 7/26/2019 Semana 5 Base de Datos Relacionales

    2/40

    2

    2. Modelo relacional de datos

    Contenidos2.1 Presentacin y orgenes del modelo relacional

    2.2 Estructura de datos relacional2.3 Caractersticas generales de integridad de datos

  • 7/26/2019 Semana 5 Base de Datos Relacionales

    3/40

    3

    2. Modelo relacional de datos

    Bibliografa

    [EN 2002] Elmasri, R.; Navathe, S.B.: Fundamentos de Sistemas deBases de Datos. 3 Edicin. Addison-Wesley. (Cap. 7, 8 y 9)

    [EN 1997] Elmasri, R.; Navathe, S.B.: Sistemas de bases de datos.Conceptos fundamentales. 2 Edicin. Addison-WesleyIberoamericana. (Cap. 6 y 7)

    [D 2001] Date, C.J.: Introduccin a los sistemas de bases de datos. 7 Edicin.Prentice-Hall. (Cap. 3 al 9)

    [SKS 1998] Korth, H; Silberschatz, A., Sudarshan, S.: Fundamentos de bases dedatos. 3 Edicin. McGraw-Hill. (Cap. 3 y 4)

    ...

  • 7/26/2019 Semana 5 Base de Datos Relacionales

    4/40

    4

    Introducido por Codd, 1970

    Es un Modelo de Datos Lgico - de Representacin -(basado en registros)

    El modelo ms usado en las aplicaciones comerciales deprocesamiento de datos convencional

    Dividido en 3 partes:

    1. Estructura de Datos2. Integridad de Datos (caractersticas generales)

    3. Manipulacin de Datos

    2.1 Presentacin y orgenes del MR

  • 7/26/2019 Semana 5 Base de Datos Relacionales

    5/40

    5

    Base de Datos = Conjunto de Relaciones

    Relacin Estructura de datosfundamental del modelo Tiene un nombrey representa una entidad genrica Conjunto de tuplas

    Cada tupla representa una entidad

    concreta Compuesta de atributoscon nombre (y dominio)

    Cada atributo representa un atributode la entidad

    Representada mediante una tabla con filas y columnas

    Modelo basado en Teora matemtica Analoga entre Relacin (concepto matemtico) y Tabla Teora de Conjuntos y Lgica de Predicados de 1erorden Slida Base Formal

    2.2 Estructura de datos relacional

  • 7/26/2019 Semana 5 Base de Datos Relacionales

    6/40

    6

    2.2 Estructura de datos relacional

    ttulo director gnero rodaje nacionalidad duracin

    Amores Perros A. Gonzlez Drama 2000 Mxico 145

    The Matrix A. Wachowsky Ciencia-ficcin 1999 EEUU 138

    Torrente S. Segura Comedia 1997 Espaa 110

    Nos miran N. Lpez Policiaco 2001 Espaa 118

    Amelie J. P. Jeunet Comedia 2001 Francia 122

    Los lunes al sol F. Len Drama 2002 Espaa 117

    tuplas

    car

    dinalidad

    gradoatributos

    La relacin PELICULA

    --- ---

    --- ---

    Ciencia-ficcin,Drama,Thriller,

    Comedia...--- ---

    --- ---

    2002, 1997,1999, 2001,1994, 1972...

    Italia,Argentina,Espaa, EEUU,Francia,Japn..

    --- ---

    --- ---

    dominios Ttulos Nombres

    Gneros Aos Pases

    Tiempo

  • 7/26/2019 Semana 5 Base de Datos Relacionales

    7/407

    Trminos bsicos

    2.2 Estructura de datos relacional

    Modelo Relacional Procesamientode FicherosFormal SQL-92

    Relacin Tabla Fichero

    Tupla Si la tupla t est en la relacinR, entonces tR Fila Registroconcreto

    Atributo Debe tener un nombre nicodentro de cada relacincabecera deColumna

    Nombre deCampode registro

    Cardinalidad n de tuplas en una relacin =

    Grado n atributos en una relacin =

    Dominio coleccin de valores permitidospara ciertos atributos =

  • 7/26/2019 Semana 5 Base de Datos Relacionales

    8/408

    Conjunto de valores atmicosdel mismo tipo, dondetoman su valor los atributos

    La definicin de dominios forma parte de la definicin de la BD

    Cada atributo definido sobre un NICO dominioOBLIGATORIO Si A, B representan un mismo concepto, A y B con mismo dominio Dominio D puede contener valores no tomados por ningn atributo

    {valores de A} Dominio(A)

    Comparaciones Restringidas a Dominio La comparacin de dos atributos slo 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

  • 7/26/2019 Semana 5 Base de Datos Relacionales

    9/409

    Una relacin R, sobre conjunto de dominios D1, D2 ...Dnse compone de dos partes:

    EsquemaoCabecera

    Conjunto de pares Atributo:Dominio{ (A1:D1), (A2:D2) ... (An:Dn) }

    Cada Ajtiene asociado slo un Dj LosDino tienen por qu ser distintos entre s

    Estado,Cuerpo oInstancia Conjunto de tuplasque contiene en un instante concreto tupla = conjunto de pares Atributo:Valor

    { { (A1:vi1), (A2:vi2) ... (An:vin) } }, donde i=1..m

    Definiciones formales: RELACIN(1)

    2.2 Estructura de datos relacional

  • 7/26/2019 Semana 5 Base de Datos Relacionales

    10/4010

    Un esquema de relacin:PELICULA (titulo:Titulos, duracion:Tiempo, director:Nombres, estreno:Fechas)

    Un estado de la relacin:{ { (titulo:Torrente), (duracion:110), (director:S.Segura), (estreno:1997) }

    { (titulo:The Matrix), (duracion:138), (director:A.Wachowski), (estreno:1999) }... }

    El estadode una relacin es variable en el tiempo nuevastuplas, modificacino borradode existentes

    El esquemanosuelevariarcostoso:

    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: RELACIN(2)

    2.2 Estructura de datos relacional

  • 7/26/2019 Semana 5 Base de Datos Relacionales

    11/4011

    Propiedadesde una Relacin

    1. Noexisten tuplasrepetidas

    2. Las tuplas no estn ordenadas

    3. Los atributosnoestn ordenadosesquema = conjunto de pares Atributo:Dominio

    4. Los valoresde atributos sonAtmicos

    dominio = conjunto de valores atmicos Interseccin fila/columna = un solo valor (no lista de valores)

    Si Rcumple esta propiedad, R est en1FN

    estado = conjuntomatemtico de tuplas

    Definiciones formales: RELACIN(3)

    2.2 Estructura de datos relacional

  • 7/26/2019 Semana 5 Base de Datos Relacionales

    12/4012

    FORMAS NORMALESR est en FNsi

    cumple conjunto de condiciones o restricciones

    necesarias para estar bien diseada

    de acuerdo con el modelo relacional de datos.

    Toda relacin ha de estar en 1FN (estructura de datos simple)

    Definiciones formales: RELACIN(4)

    2.2 Estructura de datos relacional

  • 7/26/2019 Semana 5 Base de Datos Relacionales

    13/4013

    Relacin vs. Tabla Relacin: Representacin abstracta de un elemento de datos

    Tabla: Representacin concretade tal elemento abstracto

    Ventajas

    Representacin muy sencilla(tabla) del elemento abstractobsico (relacin) del Modelo Relacional

    Fcil de utilizar, entender, razonar...

    Inconveniente

    Aparente ordenentre filas y entre columnas de la tabla

    Definiciones formales: RELACIN(5)

    2.2 Estructura de datos relacional

  • 7/26/2019 Semana 5 Base de Datos Relacionales

    14/4014

    Percibida por usuarioscomo unacoleccin de relaciones de diversos grados (n de atributos) que varan con el tiempo (n de tuplas, estado)

    Las relaciones (tablas) son la estructura lgica de la BD Niveles externo y conceptual ANSI/X3/SPARC

    Toda BDR cumple el Principio de Informacin:Todo contenido de informacin de la BD est representado

    de una y slo una forma: como valoresexplcitosdentro de posiciones de columnas dentro de filas dentro de tablas

    Conexin lgica entre Relaciones(vnculoo interrelacin) Representadamediantevalores Noexistenpunteros(visibles al usuario)

    Definiciones formales: BD RELACIONAL (1)

    2.2 Estructura de datos relacional

  • 7/26/2019 Semana 5 Base de Datos Relacionales

    15/40

    15

    En una BDR distinguimos... Esquemade base de datos

    Descripcin de la base de datos Conjunto de esquemas de relacin

    PELICULA ( titulo:Ttulos, director:Nombres, gnero:Gneros,rodaje:Aos, nacionalidad:Pases,duracin:Tiempo )

    ACTOR ( nombre:Nombres, nombreArtistico: Nombres,agente:Nombres, cache:Dinero )

    DIRECTOR ( nombre:Nombres, nacionalidad:Pases, operaPrima:Ttulos )

    ...

    Estadoo instancia de base de datos Visin del contenido de la base de datos en cierto instante Conjunto de estados de relacin

    Definiciones formales: BD RELACIONAL (2)

    2.2 Estructura de datos relacional

  • 7/26/2019 Semana 5 Base de Datos Relacionales

    16/40

    16

    Todo estadode BD refleja la realidad es un modelode una porcindel mundo real (minimundo)

    Algunas configuraciones de valores NO tienen SENTIDO pues no representanningn estado posibledel minimundo

    2 personas distintas con el mismo DNIUn empleado sin NSSUn alumno con -29 aosUna pelcula sin director

    Definicin de la BD (esquema) necesita incluirREGLAS DE INTEGRIDAD

    2.3 Caractersticas generales deintegridad de datos

  • 7/26/2019 Semana 5 Base de Datos Relacionales

    17/40

    17Claves Candidatas y PrimariasClaves Ajenas(o forneas o externas)

    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 varan con el tiempo

    Son especficas de cada BD particular, pero el

    Modelo Relacional incluye...caractersticas generales de integridad

    importantes y necesarias en todaBD

    2.3 Caractersticas generales deintegridad de datos

    Reglas de integridad

  • 7/26/2019 Semana 5 Base de Datos Relacionales

    18/40

    18

    Sea R una relacin R(A1:D1, A2:D2,... An:Dn)

    Una superclavede R es un subconjunto SKde atributostal que cumple la restriccin de Unicidad:

    No existen dos tuplas distintas con la mismacombinacin de valores para SK

    Una clave de R es una superclave tal que cumple larestriccin de Irreductibilidad:

    Ningn subconjunto de CK cumple la r. Unicidad

    Clave Simple (1 atributo)o Compuesta (varios atributos) Cada clave es una restriccin de integridad

    2.3 Caractersticas generales deintegridad de datos

    Superclave y Clave de una relacin

  • 7/26/2019 Semana 5 Base de Datos Relacionales

    19/40

    19

    Claves como restriccin de integridadCLIENTE (codCliente, nombre, ciudad, telefono,...)

    Qu implicaciones tiene establecer como clave...a) CK = {codCliente, ciudad}b) CK = {codCliente} ?

    Varias claves en una relacinRelacin para registrar las visitas de pacientes a sus mdicos de familia. Un mismopaciente puede visitar a su mdico varias veces en un mismo da

    VISITAMEDICA (nssPaciente, historial, fecha, hora, numVisita, medico, observ)Claves (VISITAMEDICA)={ {nssPaciente, numVisita}, {nssPaciente, fecha, hora},

    {historial, numVisita}, {historial, fecha, hora}}

    2.3 Caractersticas generales deintegridad de datos

    Superclave y Clave: Ejemplos

  • 7/26/2019 Semana 5 Base de Datos Relacionales

    20/40

    20

    Si R tiene varias claves Claves CandidatasClaves (ACTOR) = { {nombre}, {nombreArtistico} }Claves (EMPLEADO) = { {dni}, {nombre, fechaNac}, {nss} }

    La Clave Primaria(Primary Key, PK) es la clave candidataelegida para identificar las tuplas de RClave Primaria (ACTOR) = {nombreArtistico}Clave Primaria (EMPLEADO) = {nss}

    Las Claves Alternativas(Alternative Keys, AK) son el restode claves candidatasClaves Alternativas (ACTOR) = {nombre}Claves Alternativas (EMPLEADO) = { {dni}, {nombre, fechaNac} }

    2.3 Caractersticas generales deintegridad de datos

    Clave Candidata, Primaria y Alternativa

  • 7/26/2019 Semana 5 Base de Datos Relacionales

    21/40

    21

    Conjunto de atributos FKde una relacin R2, tal que:1. Existe otra relacin R1 con clave primaria PK , y2. Cada valor de FK en R2 es idntico al de PK en alguna tupla de R1

    Conjunto de atributos de una relacin que hace referencia ala clave primaria de otra relacin (o la misma)

    PELICULA (ttulo, gnero, duracin, director, ...)DIRECTOR (nombre, nacionalidad, ...)

    EMPLEADO (codEmp, nombre,jefe, nss, ...)

    LIBRO (ttulo, isbn, autor, editorial, edicin, ao, ...)ESCRITOR (dni, nombre, ...)ARTICULO (ttulo, tema, autor, revista, pgina, ...)

    2.3 Caractersticas generales deintegridad de datos

    Clave Ajena (Externa o Fornea)

  • 7/26/2019 Semana 5 Base de Datos Relacionales

    22/40

    22

    Cada componente de una FK debe estardefinidosobre el mismo dominioque el correspondienteatributode la PK a la que referencia

    PACIENTE (nss, nombre, direccin, ...)HISTORIAL (nss, especialidad, fechaApert, ...)VISITA (nss, especialidad, numVisita, fecha, ...)

    Clave Ajena Simple o Compuesta El uso de Claves Ajenas facilita...

    Eliminacin de la Redundancia: Integridad entre ficheros Mecanismo del Modelo Relacional de datos para establecer

    VNCULOS ENTRE RELACIONES

    2.3 Caractersticas generales deintegridad de datos

    Clave Ajena (Externa o Fornea)(2)

  • 7/26/2019 Semana 5 Base de Datos Relacionales

    23/40

    23

    CLIENTE

    CUENTA

    2.3 Caractersticas generales deintegridad de datos

    Clave Ajena (Externa o Fornea)(3)

    nombre direccin ciudad cuenta

    Garca, A Gran Va, 6 Murcia 200

    Lpez, B Ronda Norte, 3 Murcia 821

    Azorn, C Paseo Nuevo, 9 Valencia 505

    Prez, C Plaza Mayor, 2 Valencia 505

    ...

    nmero saldo ...

    200 35000

    505 40000

    821 50000...

    Cada cliente slo puede teneruna cuenta a su nombre.Una cuenta puede tener ms de

    un cliente como titular.

    Vnculo Cliente-Cuenta

  • 7/26/2019 Semana 5 Base de Datos Relacionales

    24/40

    24

    Restriccin de Integridad ReferencialTodo valor de una FK debe coincidir

    con un valor en la correspondiente PK

    La BD nodebe contener claves ajenas sin correspondencia:Si una tupla en una relacin hace referencia a otra relacin, debe

    referirse a una tupla existente en esa relacin

    Puede existir algn valor de PK al que NO haga referencianingn valor de la FK

    ESCRITORque no haya escrito artculos: ninguna tupla de ARTICULOhar referencia a la tupla correspondiente a dicho escritor

    2.3 Caractersticas generales deintegridad de datos

    Clave Ajena (Externa o Fornea)(4)

    ESCRITORARTICULOFK

  • 7/26/2019 Semana 5 Base de Datos Relacionales

    25/40

    25

    Diagrama Referencial Expresin de la existencia de Claves Ajenas

    Camino Referencial

    2.3 Caractersticas generales deintegridad de datos

    Clave Ajena (Externa o Fornea) (y 5)

    ESCRITOR dni nombre ... editorial

    LIBRO ttulo isbn autor editorial ...

    ARTICULO ttulo tema autor revista pg ...

    EDITORIAL nombre direccin ...

    Ciclo Referencial Camino que empieza y acaba en la misma relacin Caso especial: Autorreferencia EMPLEADO codEmp ... jefe

    EMPL codEmp ... dep DEPTO codDep ... dire

  • 7/26/2019 Semana 5 Base de Datos Relacionales

    26/40

    26

    Las operaciones que no satisfacenviolanla IntegridadReferencial, dejan la BD en un estado incorrectoEjemplo de un Hotel:

    Qu pasara si se eliminara la tupla (501, D, ...)en HABITACIN? Y si se eliminara la tupla (100, D, ...)? Y si se anotara la ocupacin de la habitacin 900?

    2.3 Caractersticas generales deintegridad de datos

    Mantenimiento de la Integridad Referencial

    OCUPACIN codClie habit ...

    CLI04 100

    CLI02 420

    CLI05 115

    CLI10 100

    HABITACIN numHabit tipo ...

    115 I

    420 I

    100 D

    304 D

    405 I

    501 D

  • 7/26/2019 Semana 5 Base de Datos Relacionales

    27/40

    27

    Cmo evita el SGBD esos estados incorrectos?El SGBD puede...

    Rechazartoda operacin que pueda provocar un estado ilegal,

    oAceptar(y ejecutar) tales operaciones, pero

    realizar accionesque restauren la integridad de los datos

    Diseador de la BD puede especificar al SGBDAcciones de Mantenimientode la Integridad Referencial

    para que la BD SIEMPRE alcance un estado final legal

    2.3 Caractersticas generales deintegridad de datos

    Mantenimiento de la Integridad Referencial (2)

    i l d

  • 7/26/2019 Semana 5 Base de Datos Relacionales

    28/40

    28

    R2 R1Operacin: Eliminaruna tupla tde R1que es referenciada

    por otras de R2

    Ejemplo: Eliminar la tupla (100, D, ...) de HABITACINAcciones posibles:

    1. Rechazarla operacin (accin por defecto)Slo permite borrar tsi ninguna otra tupla hace referencia a t

    2. Cascada. Propagar la eliminacin1 Borrar todas las tuplas de R2que referencian a t2 Eliminar t

    3.Establecer nulos(* se ver despus *)

    2.3 Caractersticas generales deintegridad de datos

    Mantenimiento de la Integridad Referencial (3)

    2 3 C i l d

  • 7/26/2019 Semana 5 Base de Datos Relacionales

    29/40

    29

    R2 R1Operacin: Modificarel valor de una FK a un valor no

    existente en la PK de R1

    Ejemplo: Modificar (CLI02, 420,...) a (CLI02, 900,...) en OCUPACINAccin:

    1. Rechazarla operacin (SIEMPRE)

    Intento de violacin de la restriccin de IntegridadReferencial

    2.3 Caractersticas generales deintegridad de datos

    Mantenimiento de la Integridad Referencial (4)

    2 3 C i l d

  • 7/26/2019 Semana 5 Base de Datos Relacionales

    30/40

    30

    Operacin: Modificar el valor de la PK de una tupla tde R1que es referenciada por otras tuplas de R2

    Ejemplo: Modificar la tupla (100, D,...) a (130, D,...) en HABITACIN

    Acciones posibles:1. Rechazarla operacin (accin por defecto)

    Slo permite modificar la PK de t si ninguna tupla referencia a t2. Cascada. Propagar la modificacin

    - Toda tupla de R2que referencia a tseguir haciendolo:modificar su valor de FK al nuevo valor de la PK de t

    - Modificar el valor de la clave primaria de t

    3.Establecer nulos(* se ver despus *)

    2.3 Caractersticas generales deintegridad de datos

    Mantenimiento de la Integridad Referencial (5)

    2 3 C t ti l d

  • 7/26/2019 Semana 5 Base de Datos Relacionales

    31/40

    31

    R2 R1Operacin: Insercin de una tupla ten R2cuyo valor de FK

    no se corresponde con ningn valor de la PK en

    ninguna tupla de R1Ejemplo: Insertar una tupla (CLI03, 555, ...) en OCUPACINAcciones posibles:

    - Rechazarla operacin (SIEMPRE)

    Intento de violacin de la restriccin de IntegridadReferencial

    2.3 Caractersticas generales deintegridad de datos

    Mantenimiento de la Integridad Referencial (6)

  • 7/26/2019 Semana 5 Base de Datos Relacionales

    32/40

    32

    Encadenamiento de eliminaciones (anlogo para Modificacin)R2 R1, Accin de Eliminacin en CascadaR3 R2, Accin de Eliminacin X- Eliminar una tupla de R1 eliminar tuplas de R2 que la referencian

    - Pero existen tuplas en R3 que referencian esas tuplas de R2...cmo afecta la Accin de Eliminacin X en esta operacin? Si X = en CASCADA, no-problemo! eliminar esas tuplas de R3 Si X = RECHAZAR La operacin completafallar

    Las operacionesde actualizacin en una BD son siempreatmicas: se realiza TODO o NADAPROFESORREADEPARTAMENTO

    ASIGNATURATITULACINUNIVERSIDAD

    2.3 Caractersticas generales deintegridad de datos

    Mantenimiento de la Integridad Referencial (y 7)

    R3 R2 R1

    2 3 C t ti l d

  • 7/26/2019 Semana 5 Base de Datos Relacionales

    33/40

    33

    En el mundo real existe... informacin perdida fechaNacimientodesconocida ausencia de informacin tiene telfono? valores no aplicables a ciertos atributos fechJubilaca empleado activo

    Para representar estas situaciones en los sistemas de BDse utiliza el NULO(null) Si una tupla tiene un atributo que contiene un nulo,

    significa que el valor realde tal atributo es desconocido

    Es posible especificar si un atributo puede o no contener nulo nulo no es un valor en s mismo,

    sino un indicador deausencia de informacinNo hay dos nulos iguales (num_telefono NULL edad NULL)

    2.3 Caractersticas generales deintegridad de datos

    Nulos

    2 3 C t ti l d

  • 7/26/2019 Semana 5 Base de Datos Relacionales

    34/40

    34

    Nulo y Claves Primarias

    Restriccin de Integridad de Entidad:Ningn atributo componente de una

    clave primaria puede contener nuloEMPLEADO (codEmp, nss, nombre, telefono, depto,jefe...)Qu pasara si codEmp pudiera contener NULO?

    Nulo y Claves Ajenas

    El Modelo Relacional permite nulocomo valor de clave ajena

    depto = nullempleados no asignados a ningn departamentojefe = nullempleados sin jefe

    2.3 Caractersticas generales deintegridad de datos

    Implicaciones de los nulos en la integridad

    2 3 C t ti l d

  • 7/26/2019 Semana 5 Base de Datos Relacionales

    35/40

    35

    Hemos de extender la definicin de clave ajenaSea R2 una relacin. FK es una clave ajenaen R2 si es un

    subconjunto de sus atributos tal que:1. Existe otra relacin R1 con clave primaria PK y2. En todo momento, cada valor de FK en R2

    a) es NULO, ob) es idntico a un valor de PK en alguna tupla de R1

    Restriccin de Integridad ReferencialLa Base de Datos no debe contener valores no nulosde clave ajena sin correspondencia

    2.3 Caractersticas generales deintegridad de datos

    Implicaciones de los nulos en la integridad (2)

    2 3 C t ti l d

  • 7/26/2019 Semana 5 Base de Datos Relacionales

    36/40

    36

    Hay que extender algunas acciones de mantenimiento dela Integridad Referencial: R2 R1

    Operacin: Eliminaruna tupla tde R1que es referenciada

    por otras de R2Acciones posibles:

    1. Rechazarla operacin (accin por defecto)2. Cascada. Propagar la eliminacin

    3.Establecer nulosSlo si la FK de R2permite NULO

    - Toda tupla de R2 que referencia a t pasa a contener NULL en FK- Eliminar la tupla t

    2.3 Caractersticas generales deintegridad de datos

    Implicaciones de los nulos en la integridad (3)

    2 3 Ca a te ti a e e ale de

  • 7/26/2019 Semana 5 Base de Datos Relacionales

    37/40

    37

    R2 R1Operacin: Modificar el valor de la PK de una tupla tde R1

    que es referenciada por otras tuplas de R2

    Acciones posibles:1. Rechazarla operacin (accin por defecto)2. Cascada. Propagar la modificacin

    3.Establecer nulosSlo si la FK de R2permite NULO- Toda tupla de R2 que referencia a t pasa a contener NULL en FK- Modificar el valor de la PK de t

    2.3 Caractersticas generales deintegridad de datos

    Implicaciones de los nulos en la integridad (y 4)

    2 3 Caractersticas generales de

  • 7/26/2019 Semana 5 Base de Datos Relacionales

    38/40

    38

    Comprobarlas clavescandidatas(primaria y alternativas):No existen dos tuplas distintas con igual valor para una claveDefinicin de BD : indicar los Atributos Componentes de las Claves Candidatas

    Comprobarla restriccin de IntegridaddeentidadNingn atributo componente de una clave primaria contiene nuloDefinicin de BD : indicar los Atributos Componentes de la Clave Primaria

    Comprobarla restriccin de IntegridadReferencial...El valor de la clave ajena en cualquier tupla, o es nulo, o coincide con

    un valor de clave primaria de alguna tupla en la relacin referenciadaDefinicin de BD : indicar los Atributos Componentes de las Claves Ajenas

    ... y mantenerlafrente operaciones que puedan violar la integridadDefinicin de BD : indicar Acciones de Mantenimiento de la Integridad Referencial

    2.3 Caractersticas generales deintegridad de datos

    Resumiendo, el SGBD se encarga de...

    Dominio Definicin del Dominio

  • 7/26/2019 Semana 5 Base de Datos Relacionales

    39/40

    39

    Dominio Definicin del DominioCODPEL enteros(3)CODGUI enteros(3)CODDIR enteros(3)

    CODDIS enteros(2)CODACT enteros(4)CODAGE enteros(2)SEXOS { M, F }TEXTO cadena caracteres variable (500)PORCENT enteros (2)

    DINERO enteros(9)NIF cadena caracteres fija (12)TITULOS cadena caracteres variable (120)GENEROS {comedia,drama,terror,suspense,accion,romantica,gore,pulp,roadmovie}PAISES {espaa,francia,gran_bretaa,eeuu,australia,alemania,la_india,argentina}AOS AO

    FECHAS FECHANOMBRES cadena caracteres variable (35)APELLIDOS cadena caracteres variable (80)DOMICILIOS cadena caracteres variable (50)TELEFONOS cadena caracteres variable (15)TIPO_PAPEL {protagonista, secundario, reparto, figuracion}

    Esquema PRODUCTORA

  • 7/26/2019 Semana 5 Base de Datos Relacionales

    40/40

    Esquema PRODUCTORA

    PELICULA (codP:CODPEL, titulo:TITULOS, ao:AO, genero:GENEROS, guion:CODGUI,director:CODDIR, directorFotog:CODDIR, distrib:CODDIS, nacio:PAISES,

    estreno:FECHA, numOscar:enteros(2), taquilla:DINERO)DIRECTOR (codDir:CODDIR, nombre:NOMBRES, apellidos:APELLIDOS, nacio:PAISES,

    fechaNacim:FECHA, operaPrima:CODPEL)

    DIREC_FOTOG (codDF:CODDIR, nombre:NOMBRES, apellidos:APELLIDOS, nacionalidad:PAISES,fechaNacim:FECHA, ultTrabajo:CODPEL)

    GUION (codG:CODGUI, titulo: TITULOS, resumen: TEXTO,nomAutorPpal:NOMBRES, fechaFin:FECHA, fechaEntrega:FECHA)

    DISTRIBUIDORA(codDis:CODDIS, nombre:NOMBRES, cif:NIF, direccion:DOMICILIO,telefono:TELEFONOS, porcentaje:PORCENT)

    ACTOR (codA:CODACT, nombre:NOMBRES, nomReal:NOMBRES, nacionalidad:PAISES,fechaNacim:FECHA, sexo:SEXOS, agencia:CODAGE, cache:DINERO)

    AGENCIA (codAg:CODAGE, nombre:NOMBRES, direccion:DOMICILIO, telefono:TELEFONOS)

    ACTUA_EN (actor:CODACT, film:CODPEL, papel:TIPO_PAPEL, paga:DINERO)