A3UF1NF3 Modelo Relacional

download A3UF1NF3 Modelo Relacional

of 18

Transcript of A3UF1NF3 Modelo Relacional

  • 7/22/2019 A3UF1NF3 Modelo Relacional

    1/18

    Generalitat de Catalunya M02 GESTI DE BASES DE DADES

    Departament dEnsenyamentASIX/M02/

    UF1/NF3/A3MODELO RELACIONAL

    Institut Bernat el Ferrer 1 de 18

    MODELO RELACIONAL

    Fue desarrollado por E.F. Codd para IBM a finales de los aos 70, se fue modificando yahora es el principal modelo de bases de datos que se utiliza.

    2.1 Conceptos bsicos del modelo relacional

    Tabla (relacin): Est formada por filas y columnas. Las columnas corresponden a losatributos y las filas contienen los registros (tuplas).

    Atributo (columna, campo): Son cada una de las columnas de la tabla, se

    identifican por el nombre (Dni, telfono, matrcula)Dominio: Es el conjunto de valores que puede tomar un atributo.Ejemplo DNI, conjunto de 9 caracteres, de los cuales 8 son dgitos y el ltimo una letraSexo, un caracter que slo puede ser una letra M o HEdad (para CF), conjunto de 2 dgitos, entre 15 y 99

    Tupla (fila): Son las filas de la tabla (registros)

    Grado:Nmero de atributos de la tabla.

    Cardinalidad:Nmero de filas de la tabla.

    Clave: Es un subconjunto de atributos que identifican unvocamente cada registro(tupla) de la tabla.

    Valor:Viene representado por la interseccin entre una fila y una columna.

    2.1.1 Propiedades de las relaciones (Tabla bidireccional)

    Las relaciones (tablas) tienen las siguientes caractersticas

    1.- Cada relacin (tabla) tiene un nombre y ste es distinto de los dems2.- Tener un nmero fijo de atributos (campos) para todos los registros (tuplas)3.- Cada atributo (campo) tiene un nico dominio4.- El orden de los atributos no importa, es irrelevante5.- Al igual que los atributos, el orden de las tuplas es irrelevante, las tuplas no estnordenadas6,. No hay dos atributos que se llamen igual7.- Cada tupla es distinta de las dems, no hay tuplas duplicadas8.- Cada interseccin fila-columna debe tener un nico valor perteneciente al dominiode la columna correspondiente. Se dice que la relacin est normalizada

  • 7/22/2019 A3UF1NF3 Modelo Relacional

    2/18

    Generalitat de Catalunya M02 GESTI DE BASES DE DADES

    Departament dEnsenyamentASIX/M02/

    UF1/NF3/A3MODELO RELACIONAL

    Institut Bernat el Ferrer 2 de 18

    2.2 Paso del modelo E/R al Modelo Relacional

    Ahora que ya conocemos como hacer el diseo conceptual de la BD con el diagramaE/R (diagramas Chen) veremos cmo hacer el diseo lgico de estos datos en el modelorelacional (MR)

    El modelo relacional hace servir TEXTO para definir la estructura de la base de datos yslo algunos smbolos para reconocer las claves principales y forneas, el modelo E/Rera grfico.

    Pasos:

    Traduccin de la ENTIDAD

    1.- Cada ENTIDAD ser una TABLA

    2.- Los ATRIBUTOS de la ENTIDAD sern ATRIBUTOS (campos) de la TABLA.

    3.- La CLAVE PRIMARIA de la ENTIDAD ser la CLAVE PRIMARIA de la TABLA

    4.- En la ENTIDADES DEBILES

    a) En la entidad dbil hay que aadir los atributos que forman la clave primaria

    en la entidad fuerte.

    b) La clave primaria de la entidad dbil estar compuesta por la clave primariade la entidad fuerte ms la clave primaria de la entidad dbil.

    Por ejemplo:

    CICLO_FORMATIVO (cod_ciclo, descripcin_ciclo, horas_totales,grado_ciclo, horas_FCT,...) Entidad fuerte

    MODULO (cod_ciclo, cod_modulo, descripcin_mdulo, horas_semanales, ...)Entidad dbil

    Traduccin de las RELACIONES

    RELACIONES (1:1)

    En este caso las relaciones se transforman de manera diferente segn su cardinalidad.

    1:1 Con la cardinalidad (1:1) y (1:1) Si las dos entidades tienen distinta claveprimaria entonces cada entidad se transforma en una tabla y a una de las tablas se le

    aade como clave forrea la clave principal de la otra entidad.

  • 7/22/2019 A3UF1NF3 Modelo Relacional

    3/18

    Generalitat de Catalunya M02 GESTI DE BASES DE DADES

    Departament dEnsenyamentASIX/M02/

    UF1/NF3/A3MODELO RELACIONAL

    Institut Bernat el Ferrer 3 de 18

    En este ejemplo todos los equipos tienen un estadio y un estadio siempre es de unequipo.

    1:1

    EQUIPO (nombre_eq, direccin, telefono, presidente)ESTADIO (nombre_est, direccin_est, capacidad)

    En este caso a una de las tablas se le aade como clave forrea la clave principal de laotra entidad, as que podemos elegir entre estas dos opciones.

    EQUIPO (nombre_eq, direccin, telefono, presidente, nombre_est )

    ESTADIO (nombre_est, direccin_est, capacidad)

    O bien

    EQUIPO (nombre_eq, direccin, telefono, presidente)ESTADIO (nombre_est, direccin_est, capacidad, nombre_eq)

    Si las ENTIDADES comparten la misma clave principal, se pueden combinar en unanica tabla.

    1:1

    ALUMNO (DNI, nombre_apellidos, direccin, cod_postal, ciudad, telefono)ORDENADOR (DNI, num_ordenador)

    Queda:

    ALUMNO (DNI, nombre_apellidos, direccin, cod_postal, ciudad, telefono,num_ordenador)

    En el caso de que la cardinalidad sea (0:1) y (1:1)

    Por ejemplo un departamento siempre tiene asignado un profesor que lo coordina, jefede departamento es cardinalidad (1:1) pero un profesor puede ser o no el jefe dedepartamento con lo cual la cardinalidad es (0,1)

    EQUIPO ESTADIOjuega

    ALUMNO ORDENADORtrabaja

  • 7/22/2019 A3UF1NF3 Modelo Relacional

    4/18

    Generalitat de Catalunya M02 GESTI DE BASES DE DADES

    Departament dEnsenyamentASIX/M02/

    UF1/NF3/A3MODELO RELACIONAL

    Institut Bernat el Ferrer 4 de 18

    En este caso quedar:

    PROFESSOR(DNI, Nom, Cognoms)

    DEPARTAMENT(Codi, Descripcio, DNI)

    Comentar por qu no estara bien aadir la clave fornea de Codi a la tablaprofessor.

    RELACIONES (1:N)

    1:N En la tabla (*) que se crea a partir de la entidad que tiene al lado la N se le aadenlos campos que forman la clave primaria en la en entidad que tiene al lado el 1. Estoscampos sern la clave fornea de la tabla (*)

    A la relacin jugador se le aade el nombre_eq para que se puedan relacionar

    EQUIPO (nombre_eq, direccin, telefono, presidente)JUGADOR (apellidos_nombre, direccin_jugaror, telefono_jugador, nombre_eq)

    En el caso de que un jugador no tuviese asignado un equipo necesariamente el campo

    nombre_eq estara nulo, ya que la clave fornea debe ir necesariamente a la entidadresultante de traducir el modelo relacional la entidad ubicada al lado N de lainterrelacin.

    RELACIONES (N:M)

    N:M Siempre se traducen en una nueva tabla que tendr como clave principal la uninde las claves principales de las entidades, siendo al mismo tiempo claves forneas.

    Deseamos saber de un solo da los clientes qu artculos nos ha comprado

    EQUIPO JUGADORjuega

  • 7/22/2019 A3UF1NF3 Modelo Relacional

    5/18

    Generalitat de Catalunya M02 GESTI DE BASES DE DADES

    Departament dEnsenyamentASIX/M02/

    UF1/NF3/A3MODELO RELACIONAL

    Institut Bernat el Ferrer 5 de 18

    CLIENTE (cod_cliente, nombre, direccin, telefono)ARTICULO (cod_articulo, descripcin, precio)

    Se crea una nueva relacin, que relaciona los clientes con los artculos comprados

    CLIENTE_ARTICULO(cod_cliente, cod_articulo)

    --------------- --------------

    Si deseamos saber la cantidad que ha comprado del artculo

    Al aadir el atributo de la relacin queda

    CLIENTE_ARTICULO(cod_cliente, cod_articulo, cantidad)-------------- ---------------

    Pero si deseamos saber adems los artculos y la cantidad que nos han comprado entodos las fechas (esto es un histrico), como nos ha comprado en muchas fechasdiferentes este atributo de la relacin se convierte en una entidad porque formar partede la clave primaria.

    CLIENTE_ARTICULO(cod_cliente, cod_articulo, Fecha_compra, cantidad)-------------- ---------------

    ASIX_M02_UF1_NF3_Ejercicio1. Pasar los ejercicios hechos con el modelo

    E/R al relacional

    CLIENTE

    ARTICULO

    NM

    compra

    CLIENTEARTICULO

    NM

    compra

    Cantidad

    CLIENTEARTICULO

    NM

    compra

    Cantidad

    Fecha_compraZ

  • 7/22/2019 A3UF1NF3 Modelo Relacional

    6/18

    Generalitat de Catalunya M02 GESTI DE BASES DE DADES

    Departament dEnsenyamentASIX/M02/

    UF1/NF3/A3MODELO RELACIONAL

    Institut Bernat el Ferrer 6 de 18

    Pasar los ejercicios del modelo E/R al modelo relacional

    Motos, Carreteras, Museo, Fin de carrera y Seguros. Passos a seguir:

    Transformar les entitats en taules Transformar les relacions M:N en taules Transformar les relacions 1:N i 1:1 en atributs a les taules corresponents Tenir en compte les entitats dbils Tenir en compte les generalitzacions (aix ja ho veurem)

    RELACIONES TERNARIAS

    Relacions M:N:Z:

    La clau primria estar formada per les claus primries de totes les entitats que uniala relaci que ha donat lloc a la taula.

    El exemple anterior, client, article, data_de_compratrabajadorproyecto- maquinaria

    Un alumno puede prcticar varios deportes en un curso acadmico, un deporte espracticado por muchos alumnos en un curso acadmico y un alumno puede practicar elmismo deporte en diferentes cursos acadmicos: M:N:Z

    Relacions 1:M:N: La clau primria estar formada per les claus primries de les entitats ambcardinalitat N.

    ALUMNE(DNI, Nom, Cognoms)

    ESPORT(Codi, Descripci)

    CURS(Codi)

    Un alumne noms pot practicar un esport en cada curs acadmic i, per tant, no calincorporar la clau de l'entitat ESPORT a la clau de la relaci PRACTICA.

    PRACTICA(DNIAlumne, CodiCurs, CodiEsport, Dia_Setmanal) .--------------- ----------- --------------

    Interrelaci ternria amb connectivitat 1-M-N

  • 7/22/2019 A3UF1NF3 Modelo Relacional

    7/18

    Generalitat de Catalunya M02 GESTI DE BASES DE DADES

    Departament dEnsenyamentASIX/M02/

    UF1/NF3/A3MODELO RELACIONAL

    Institut Bernat el Ferrer 7 de 18

    Relacions 1:1:N:

    La clau primria estar formada per la clau primria de lentitat amb cardinalitat N iuna de les claus primries les entitats amb cardinalitat 1 (la que ms ens convingui).

    Un alumne en un curs acadmic pot coordinar o no un esport. (0,1)

    En un curs acadmic un esport pot ser coordinat per 1 alumne o per cap (0,1).

    Un alumne por coordinar un esport en molts cursos (0,N).COORDINACIO(CodiCurs, DNIAlumne, CodiEsport, DiaSemanal) o b

    ----------- ------------- ---------------COORDINACIO(CodiCurs, CodiEsport, DNIAlumne, DiaSemanal)

    -------------- ------------- ---------------

    Relacions 1:1:1:

    La clau primria estar formada per dues de les claus primries de les entitats ambcardinalitat 1 (es poden escollir les que ms convingui a criteri del dissenyador lgic deBD) ja que totes tres estan connectades amb cardinalitat 1.

    Ara un alumne noms pot coordinar la prctica d'un esport durant un sol curs acadmic,

    i al llarg dels seus estudis no pot repetir el mateix esport pot coordinar un altre en elsegent curs acadmic.

  • 7/22/2019 A3UF1NF3 Modelo Relacional

    8/18

    Generalitat de Catalunya M02 GESTI DE BASES DE DADES

    Departament dEnsenyamentASIX/M02/

    UF1/NF3/A3MODELO RELACIONAL

    Institut Bernat el Ferrer 8 de 18

    Exemple:

    CodiCurs, DNIAlumne, CodiEsport, DiaSemanal2011 A23 BASQUET Dimarts2012 A23 NATACI Dimecres

    COORDINACIO(CodiCurs, DNIAlumne, CodiEsport, DiaSemanal)------------ --------------- --------------

    O b:

    COORDINACIO(CodiCurs, CodiEsport, DNIAlumne, DiaSemanal)------------ --------------- --------------

    O b:

    COORDINACIO(CodiEsport, DNIAlumne, CodiCurs, DiaSemanal)------------ --------------- --------------

    A partir de ahora realizaremos los ejercicios en el modelo E/R y los pasaremos almodelo relacional

    ASIX_M02_UF1_NF3_Ejercicio2. Video club

    Deseamos realizar el diseo de una base de datos para el control de un video club.

    El video club tiene pelculas y clientes.

    Del cliente deseamos saber su DNI, nombre, apellidos, telfono y fecha de alta.

  • 7/22/2019 A3UF1NF3 Modelo Relacional

    9/18

    Generalitat de Catalunya M02 GESTI DE BASES DE DADES

    Departament dEnsenyamentASIX/M02/

    UF1/NF3/A3MODELO RELACIONAL

    Institut Bernat el Ferrer 9 de 18

    De la pelcula deseamos saber su cdigo, ttulo, director, ao y duracin

    Un cliente puede alquilar varias pelculas y una pelcula podr ser alquilada por variosclientes

    En el modelo E/R slo os saldrn dos entidades y una relacin, como datos de larelacin deseamos saber la fecha de alquiler y la fecha de devolucin.

    ASIX_M02_UF1_NF3_Ejercicio3. Control CDs

    Deseamos tener toda la informacin de nuestros cds

    Un CD tiene un ttulo, una discogrfica y una fecha de edicin.

    Suponemos que cada CD es de un nico cantante o grupo. Trataremos igual al cantantecomo al grupo, los pondremos dentro de nombre_cantante.

    Del cantante deseamos saber su nombre, nacionalidad y estilo.

    El cd es de un nico cantante y el cantante puede tener varios cds.

    Tenemos canciones de las que deseamos saber su ttulo, autor y duracin.

    Una cancin puede estar en varios cds y un cd tiene varias canciones.

    Nos gustara saber el nmero de orden en el que aparece cada cancin en el cd.

    ASIX_M02_UF1_NF3_Ejercicio4. Hospital

    Construir un diagrama entidad-relacin y pasar al modelo relacional para unhospital.

    Los pacientes se identifican por su nmero de historial, adems deseamossaber su nombre y direccin y telfono.

    De los mdicos deseamos saber su DNI, nombre, direccin, telfono yespecialidad.

    De la prueba deseamos saber su cdigo, nombre, duracin, ayunas(S/N).

    Un mdico puede realizar muchas pruebas y una prueba puede ser realizadapor muchos mdicos.

  • 7/22/2019 A3UF1NF3 Modelo Relacional

    10/18

    Generalitat de Catalunya M02 GESTI DE BASES DE DADES

    Departament dEnsenyamentASIX/M02/

    UF1/NF3/A3MODELO RELACIONAL

    Institut Bernat el Ferrer 10 de 18

    A los pacientes se les puede realizar muchas pruebas y una prueba la puedenrealizar muchos mdicos (ejemplo un da un mdico le realiza un TAC y al cabode varios meses otro mdico o el mismo puede realizarle otro TAC)

    Por cada paciente y prueba realizada se desea saber la fecha de la realizacinde la prueba, el mdico que realiz la prueba, el mdico que la solicit (estemdico no est relacionado con la tabla mdicos porque puede ser decualquier otro hospital o centro mdico), y el resultado que se obtuvo en laprueba.

    ASIX_M02_UF1_NF3_Ejercicio5. Alquiler de vehculos

    Una compaa de alquiler de vehculos pretende informatizarse para mejorar elservicio a sus clientes.

    Los automviles que posee se identifican por su matrcula, pero tambin esnecesario tener en cuenta su marca, modelo, color, antigedad, consumo, yprecio de alquiler.

    Tambin tendremos reparaciones, que tendrn un cdigo, descripcin (unadescripcin podra ser luces, otra cambio de aceite, otra frenos, etc) y precio.

    Un coche puede tener varias reparaciones y una reparacin la pueden tener

    varios coches, nos interesara saber la fecha de la reparacin.

    De nuestros clientes, interesa su nombre, DNI, direccin y telfono; el clientealquila un coche (puede alquilar el mismo coche en diferentes fechas) tenernosque poner la fecha de alquiler y la fecha que lo devolver.Por ltimo, tendremos que tener en cuenta que cada uno de nuestroscomerciales tiene asignados varios de coches y un coche se le asigna a unnico comercial.Los comerciales se identifican por un nmero adems deseamos guardar su

    nombre, DNI, direccin y telfono mvil.

    ASIX_M02_UF1_NF3_Ejercicio6 Pedidos

    Se desea disear una BD para pedidos.

    Para ello se guardar informacin de los artculos, identificados con un cdigo,descripcin y precio de compra.

    Tambin deseamos guardar informacin sobre los proveedores, DNI,nombre_apellidos y telfono.

    Un artculo lo suministra ms de un proveedor y un proveedor puedesuministrar varios artculos.

  • 7/22/2019 A3UF1NF3 Modelo Relacional

    11/18

    Generalitat de Catalunya M02 GESTI DE BASES DE DADES

    Departament dEnsenyamentASIX/M02/

    UF1/NF3/A3MODELO RELACIONAL

    Institut Bernat el Ferrer 11 de 18

    Un pedido tiene el nmero de pedido y la fecha del pedido.

    El pedido se hace a un proveedor y un proveedor sirve muchos pedidos.En un pedido solicitamos varios artculos y cada artculo puede estar en variospedidos. De cada artculo que se pide en el pedido deseamos saber lacantidad.

    ASIX_M02_UF1_NF3_Ejercicio7. Transportes

    La empresa T.A.S.C.A (Transportistas Asociados Son Cmodos y Adecuados)desea informatizar su servicio para proporcionar reservas automticas a sus

    clientes.

    Se dispone de una serie de autobuses identificados por su matrcula, ademsexiste informacin acerca de su antigedad, marca y modelo.

    Del conductor nos interesa saber su DNI, telfono y antigedad.

    El recorrido recibe un cdigo en funcin del origen, destino y hora de salida (asel recorrido de vuelta tiene un cdigo diferente al de ida ya que tanto origencomo destino varan as como la hora de salida)

    El recorrido tiene varias paradas y una parada pertenece a varios recorridos,es necesario saber todas las paradas del recorrido y la hora de salida y llegadaa cada una de esas paradas

    Cada da al conductor se le asigna un nico autocar y con ese autocar se leasignan uno o varios recorridos en ese mismo da.

    .

  • 7/22/2019 A3UF1NF3 Modelo Relacional

    12/18

    Generalitat de Catalunya M02 GESTI DE BASES DE DADES

    Departament dEnsenyamentASIX/M02/

    UF1/NF3/A3MODELO RELACIONAL

    Institut Bernat el Ferrer 12 de 18

    ASIX_M02_UF1_NF3_Ejercicio8. Conflictos blicos

    El diseo de la base de datos se trata de controlar CONFLICTOS BLICOS

    MIO4 soldados son mandados por un cabo. Esto es una escuadra3 escuadras es un pelotn y lo manda un sargento.3 pelotones es una seccin que la manda un teniente.3 secciones forman una compaa que la manda un capitn.3 0 4 compaas son un batalln que lo manda un comandante este ya es jefe.3 o 4 batallones es un regimiento y lo manda un coronel que lo ayudan 1 o dostenientes coroneles.3 o 4 regimientos forman un brigada mandada por un general de brigada

    ayudado por coroneles o tenientes coroneles.3 0 4 brigadas forman una divisin mandada por general de divisin ayudado..4 o 5 divisiones forman un cuerpo de ejrcito mandadas por un tenientegeneral.

    Y el capitn general manda en todos los cuerpos del ejrcito.

    Enunciado:

    Una organizacin internacional pretende realizar un seguimiento de losconflictos blicos que se producen en todo el mundo. Para ello crearemos unaBD que responder al siguiente anlisis:

    Se entiende por conflicto blico cualquier lucha armada que afecta a uno a ovarios pases.

    Todo conflicto se identificar por un cdigo y tendr un nombre quehabitualmente hace referencia a la zona, un motivo o causa que provoca elconflicto (ejemplo territoriales, o religiosos, o econmicos o raciales) y unafecha de comienzo y otra de final.

    En cada conflicto intervienen uno o varios pases y cada pas puede interveniren diferentes conflictos.

    En los conflictos intervienen diversos grupos armados y los mismos gruposarmados pueden intervenir en diferentes conflictos, los grupos armados puedenentrar y salir del conflicto as que se recoger la fecha de incorporacin como lafecha de salida.

    Cada grupo armado es liderado por un lder poltico. De cada lder poltico seidentifica por su nombre y un contacto. Y este lder poltico puede liderar a ms

    de un grupo armado.

  • 7/22/2019 A3UF1NF3 Modelo Relacional

    13/18

    Generalitat de Catalunya M02 GESTI DE BASES DE DADES

    Departament dEnsenyamentASIX/M02/

    UF1/NF3/A3MODELO RELACIONAL

    Institut Bernat el Ferrer 13 de 18

    De cada grupo armado se recoge el cdigo y se le asigna un nombre.

    Cada grupo armado dispone de varias divisiones.

    Cada divisin slo pertenece a un grupo armado, cada divisin se identifica porun cdigo y se almacenar el nmero de barcos, tanques, aviones y hombresque dispone cada divisin as como las bajas de cada divisin.

    Cada divisin es dirigida por dos jefes militares y cada jefe militar puede dirigirvarias divisiones.

    El jefe militar se identifica por un nombre y un contacto.

    Del traficante se guardar el nombre y contacto.

    De cada arma se guardar un cdigo, tipo y un identificador de su capacidaddestructiva.

    Los traficantes de armas suministran diferentes tipos de armas y un arma essuministrada por diferentes traficantes.

    Los grupos armados compran armas a diferentes traficantes y un traficantesuministra armas a distintos grupos armados.

    Deseamos saber las armas que han suministrado los traficantes a los gruposarmados grupos armados, la fecha y la cantidad.

    Traducci de la Generalitzaci - Particularitzaci : La transformaci de subentitats es realitza igual que la dentitats, s a dir,

    tant lentitat principal com les subentitats es transformen en Taules. Transformaci de la Generalitzaci PARCIAL:

    Es transforma en taules lentitat principal i les subentitats. La taula de lentitat principal tindr la clau primria i els atributs

    de lentitat principal. Les taules de les subentitats tindran com a clau primria la

    mateixa que la de lentitat principal per noms els atributsespecfics de les subentitats.

    Persones(Id, nom, adrea, ...)Estudiants(Id*, curs, grup)Professors(Id*, departament, categoria)

    *: Lid dEstudiants i Professors s clau forana cap a lId de Persones.

  • 7/22/2019 A3UF1NF3 Modelo Relacional

    14/18

    Generalitat de Catalunya M02 GESTI DE BASES DE DADES

    Departament dEnsenyamentASIX/M02/

    UF1/NF3/A3MODELO RELACIONAL

    Institut Bernat el Ferrer 14 de 18

    Hem dimplementar regles que garanteixin la integritat de les dades (P.e. Triggers)

    Transformaci de la Generalitzaci TOTAL: Es poden transformar en taules:

    lentitat principal i les subentitats (Igual que la Parcial)Persones(Id, nom, adrea, ...)Estudiants(Id*, curs, grup)Professors(Id*, departament, categoria)

    *: Lid dEstudiants i Professors s clau forana cap a lId de Persones. o noms les subentitats

    (en aquest cas les taules de les subentitats han dinclure els atributsde lentitat principal)

    Estudiants(Id, nom, adrea, ..., curs, grup)Professors(Id, nom, adrea, ..., departament, categoria)

    1.- Un concesionario de coches vende coches nuevos y usados, los atributos especficosde los nuevos son las unidades y el descuento, de los usados son los kilmetros y el aode fabricacin. Del coche nos interesa saber su cdigo, num_bastidor, matricula,modelo, n_puertas y color.En este caso la relacin es total y exclusiva.

    1:1

    0:1 0:1

    2.- Personas de una ciudad, se distinguen trabajadores (num_seg_soc, empresa, salario)estudiantes (num_matricula, centro) y parados (fecha). De las personas nos interesacod_ind, nombre, direccin, telefono y localidad.

    La relacin es parcial y solapada, pues las personas no tienen que ser de estos tresgrupos

    1:1

    (0:1) o (1:1) (0:1) o (1:1)

    2.- Personas de una cie

    COCHE

    NUEVO USADO

    TRABAJADORES ESTUDIANTES

    PERSONAS

  • 7/22/2019 A3UF1NF3 Modelo Relacional

    15/18

    Generalitat de Catalunya M02 GESTI DE BASES DE DADES

    Departament dEnsenyamentASIX/M02/

    UF1/NF3/A3MODELO RELACIONAL

    Institut Bernat el Ferrer 15 de 18

    En un campo de ftbol los puestos de los futbolistas pueden ser: portero, defensa, medioy delantero.

    En este caso la relacin es total y solapada, para los futbolistas slo estn estos puestos,pero pueden ocupar varios puestos dentro del campo.

    2.3 INTEGRIDAD

    Conocemos como reglas de integridad a aquellas reglas que han de ser aplicadas a unabase de datos para asegurar que los datos introducidos sean consistentes con la realidad

    que pretenden modelar.

    Hay tres tipos de operaciones que pueden producir la prdida o inconsistencia de datos,estas son:

    1.- Aadir2.- Modificar3.- Borrar

    El administrador de la base de datos tiene que crear las reglas de integridad necesariaspara mantener la base de datos de forma correcta.

    1.- Regla de integridad de entidades.La primera regla de integridad se aplica a lasclaves primarias de las relaciones: ninguno de los atributos que componen la claveprimaria puede ser nulo

    2.- Regla de integridad referencial. La segunda regla de integridad se aplica a lasclaves forneas (ajenas): si en una relacin hay alguna clave fornea (ajena), susvalores deben coincidir con valores de la clave primaria a la que hace referencia, o

    bien, deben ser completamente nulos.

    3.- Reglas semnticas o de validacin:son las reglas que han de cumplir los campos.Hay de tres tipos:EstticasNo varan en la vida de las base de datos . Ejemplo, fecha de nacimientosiempre es menor o igual a la fecha del da actual.Dinmicas Pueden ser cambiadas. Ejemplo, la edad mayor de 21 aos puede pasar a sermayor a 18 aos.Dbiles.No nos impiden grabar los datos pero nos avisar antes. Ejemplo, hijos > 4

  • 7/22/2019 A3UF1NF3 Modelo Relacional

    16/18

    Generalitat de Catalunya M02 GESTI DE BASES DE DADES

    Departament dEnsenyamentASIX/M02/

    UF1/NF3/A3MODELO RELACIONAL

    Institut Bernat el Ferrer 16 de 18

    4.- Actualizaciones de datos.Han de actualizarse en cascada para mantener laintegridad referencial.

    Restricci

    La poltica de restricci consisteix a no acceptar l'operaci d'actualitzaci.

    Ms concretament, la restricci en cas d'esborrat, consisteix a no permetre esborrar unatupla si t una clau primria referenciada per alguna clau forana.

    De manera semblant, la restricci en cas de modificaci consisteix a no permetremodificar cap atribut de la clau primria d'una tupla si t una clau primria referenciada

    per alguna clau forana.

    Si apliquem la restricci en cas d'esborrat i, per exemple, volem esborrar un client quete comandes, no podrem fer-ho perqu t comandes pendents que el referencien.

    Actualitzaci en cascada

    La poltica d'actualitzaci en cascada consisteix a permetre l'operaci d'actualitzaci dequ es tracti sobre un tuple determinat, per disposant al mateix temps una sried'operacions compensatries que propaguin en cascada les actualitzacions necessries

    per tal que es mantingui la integritat referencial dels tuples que referencien, des delsatributs que en formen la clau forana, el tuple objecte d'actualitzaci:

    En cas d'esborrament, s'eliminaran tots els tuples que facin referncia al tupleesborrat.

    En cas de modificaci, els valors dels atributs que formin part de la clau foranadels tuples que facin referncia al tuple modificat s'alteraran per tal de continuarcoincidint amb els nous valors de la clau primria del tuple al qual fanreferncia.

    Exemples d'actualitzaci en cascada

    Tornem a prendre com a punt de partida dels exemples les relacions ALUMNE i AULAque es mostren en les taules 15 i 16 respectivament.

    Taula 15. Relaci amb claus foranes

    ALUMNE

    DNI Nom Cognoms Telefon DNIDelegatCodiAula

    47126654F Josep Bel Rovira 453641282 47126654F 102

    51354897S Anna Pacheco Cusc 723352151 51354897S 20156354981L Xavier Rius Montalvo 726922235 51354897S 201

  • 7/22/2019 A3UF1NF3 Modelo Relacional

    17/18

    Generalitat de Catalunya M02 GESTI DE BASES DE DADES

    Departament dEnsenyamentASIX/M02/

    UF1/NF3/A3MODELO RELACIONAL

    Institut Bernat el Ferrer 17 de 18

    24583215W Mariona Castellv Mur NUL NUL NUL

    Taula 16. Relaci amb clau primria referenciada

    AULA

    Codi Capacitat

    101 40

    102 36

    201 30

    Si apliquem l'actualitzaci en cascada tot esborrant el tuple de la relaci

    AULA, tamb s'esborraran els dos tuples de la relaci ALUMNE que hi fan refernciades de la clau forana respectiva (CodiAula).

    En canvi, si apliquem l'actualitzaci en cascada tot modificant el tuple de larelaci AULA, canviant el valor de la seva clau primria per un altre, com ara 203, elsdos tuples de la relaci ALUMNE que hi fan referncia actualitzaran en cascada el valorde l'atribut CodiAula de 201 a 203, per tal de mantenir la connexi correcta entre elstuples d'ambdues relacions.

    Poltica d'anullaci

    La poltica d'anullaci consisteix a permetre l'operaci d'actualitzaci de qu es tractien un tuple determinat, per disposant al mateix temps una srie d'operacionscompensatries que posin valors nuls en tots els atributs que formin part de les clausforanes dels tuples que facin referncia al tuple objecte d'actualitzaci:

    En cas d'esborrament, els atributs de la clau forana dels tuples que facinreferncia al tuple esborrat passaran a tenir valor nul, i no indicaran cap tipus deconnexi.

    En cas de modificaci, els atributs de la clau forana dels tuples que facinreferncia al tuple modificat passaran a tenir valor nul, i no indicaran cap tipus

    de connexi.

    La poltica d'anullaci noms es pot aplicar si els atributs de les claus foranesimplicades admeten els valors nuls.

    Exemple d'anullaci

    Prenem una vegada ms com a punt de partida dels exemples les relacions ALUMNE iAULA que es mostren en les taules 17 i 18 respectivament.

    Taula 17. Relaci amb claus foranes

    ALUMNE

  • 7/22/2019 A3UF1NF3 Modelo Relacional

    18/18

    Generalitat de Catalunya M02 GESTI DE BASES DE DADES

    Departament dEnsenyamentASIX/M02/

    UF1/NF3/A3MODELO RELACIONAL

    Institut Bernat el Ferrer 18 de 18

    DNI Nom Cognoms Telefon DNIDelegatCodiAula

    47126654F Josep Bel Rovira 453641282 47126654F 102

    51354897S Anna Pacheco Cusc 723352151 51354897S 20156354981L Xavier Rius Montalvo 726922235 51354897S 201

    24583215W Mariona Castellv Mur NUL NUL NUL

    Taula 18. Relaci amb clau primria referenciada

    AULA

    Codi Capacitat

    101 40102 36

    201 30

    Aplicant la poltica d'anullaci, tant si esborrem el tuple de la relaciAULA, com si noms canviem el valor de l'atribut de la seva clau primria (Codi) perun altre (com, per exemple, 105), el tuple de la relaci ALUMNE que hi fa refernciaactualitzar el valor de l'atribut CodiAula de 102 a valor nul, per tal d'evitar unaconnexi incorrecta entre els tuples d'ambdues relacions.

    Selecci de la poltica que s'ha de seguir

    Ser el dissenyador de cada BD qui escollir la poltica ms adequada que s'ha de seguiren cada cas concret. Com a orientaci, conv saber que les opcions ms freqents,sempre que no calgui fer consideracions addicionals, sn les segents:

    En cas d'esborrament, normalment s'opta per la restricci. En cas de modificaci, el ms habitual s optar per l'actualitzaci en cascada.

    La poltica d'anullaci s molt menys freqent, i es posa en prctica quan es volen

    conservar certes dades, encara que hagin perdut la connexi que tenien abans, devegades amb l'esperana que la puguin recuperar ms endavant.