Sei sulla pagina 1di 18

Generalitat de Catalunya Departament dEnsenyament

M0 2 G E ST I D E B AS E S D E D AD ES ASIX/M02/ UF1/NF3/A3 MODELO RELACIONAL

MODELO RELACIONAL
Fue desarrollado por E.F. Codd para IBM a finales de los aos 70, se fue modificando y ahora 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 los atributos 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 letra Sexo, un caracter que slo puede ser una letra M o H Edad (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 dems 2.- Tener un nmero fijo de atributos (campos) para todos los registros (tuplas) 3.- Cada atributo (campo) tiene un nico dominio 4.- El orden de los atributos no importa, es irrelevante 5.- Al igual que los atributos, el orden de las tuplas es irrelevante, las tuplas no estn ordenadas 6,. No hay dos atributos que se llamen igual 7.- Cada tupla es distinta de las dems, no hay tuplas duplicadas 8.- Cada interseccin fila-columna debe tener un nico valor perteneciente al dominio de la columna correspondiente. Se dice que la relacin est normalizada

Institut Bernat el Ferrer

1 de 18

Generalitat de Catalunya Departament dEnsenyament

M0 2 G E ST I D E B AS E S D E D AD ES ASIX/M02/ UF1/NF3/A3 MODELO RELACIONAL

2.2 Paso del modelo E/R al Modelo Relacional


Ahora que ya conocemos como hacer el diseo conceptual de la BD con el diagrama E/R (diagramas Chen) veremos cmo hacer el diseo lgico de estos datos en el modelo relacional (MR) El modelo relacional hace servir TEXTO para definir la estructura de la base de datos y slo algunos smbolos para reconocer las claves principales y forneas, el modelo E/R era 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 primaria de 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 clave primaria 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.

Institut Bernat el Ferrer

2 de 18

Generalitat de Catalunya Departament dEnsenyament

M0 2 G E ST I D E B AS E S D E D AD ES ASIX/M02/ UF1/NF3/A3 MODELO RELACIONAL

En este ejemplo todos los equipos tienen un estadio y un estadio siempre es de un equipo. EQUIPO 1
1 1

1:1

juega

1
1 1

ESTADIO

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 la otra 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 una nica tabla. ALUMNO 1
1 1

1:1

trabaja

1
1 1

ORDENADOR

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, jefe de departamento es cardinalidad (1:1) pero un profesor puede ser o no el jefe de departamento con lo cual la cardinalidad es (0,1)

Institut Bernat el Ferrer

3 de 18

Generalitat de Catalunya Departament dEnsenyament

M0 2 G E ST I D E B AS E S D E D AD ES ASIX/M02/ UF1/NF3/A3 MODELO RELACIONAL

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 tabla professor.

RELACIONES (1:N)

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

EQUIPO

1
1 1

juega

JUGADOR

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 entidad resultante de traducir el modelo relacional la entidad ubicada al lado N de la interrelacin.

RELACIONES (N:M)

N:M Siempre se traducen en una nueva tabla que tendr como clave principal la unin de 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

Institut Bernat el Ferrer

4 de 18

Generalitat de Catalunya Departament dEnsenyament

M0 2 G E ST I D E B AS E S D E D AD ES ASIX/M02/ UF1/NF3/A3 MODELO RELACIONAL

CLIENTE

M compra

N ARTICULO

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 Cantidad M compra N ARTICULO

CLIENTE

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 en todos las fechas (esto es un histrico), como nos ha comprado en muchas fechas diferentes este atributo de la relacin se convierte en una entidad porque formar parte de la clave primaria. Cantidad Z CLIENTE M compra N ARTICULO Fecha_compra

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

Institut Bernat el Ferrer

5 de 18

Generalitat de Catalunya Departament dEnsenyament

M0 2 G E ST I D E B AS E S D E D AD ES ASIX/M02/ UF1/NF3/A3 MODELO RELACIONAL

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 unia la relaci que ha donat lloc a la taula. El exemple anterior, client, article, data_de_compra trabajador proyecto- maquinaria Un alumno puede prcticar varios deportes en un curso acadmico, un deporte es practicado por muchos alumnos en un curso acadmico y un alumno puede practicar el mismo deporte en diferentes cursos acadmicos: M:N:Z Relacions 1:M:N: La clau primria estar formada per les claus primries de les entitats amb cardinalitat 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 cal incorporar 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

Institut Bernat el Ferrer

6 de 18

Generalitat de Catalunya Departament dEnsenyament

M0 2 G E ST I D E B AS E S D E D AD ES ASIX/M02/ UF1/NF3/A3 MODELO RELACIONAL

Relacions 1:1:N: La clau primria estar formada per la clau primria de lentitat amb cardinalitat N i una 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 amb cardinalitat 1 (es poden escollir les que ms convingui a criteri del dissenyador lgic de BD) 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 el segent curs acadmic. Institut Bernat el Ferrer 7 de 18

Generalitat de Catalunya Departament dEnsenyament

M0 2 G E ST I D E B AS E S D E D AD ES ASIX/M02/ UF1/NF3/A3 MODELO RELACIONAL

Exemple: CodiCurs, DNIAlumne, CodiEsport, DiaSemanal 2011 A23 BASQUET Dimarts 2012 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 al modelo 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. Institut Bernat el Ferrer 8 de 18

Generalitat de Catalunya Departament dEnsenyament

M0 2 G E ST I D E B AS E S D E D AD ES ASIX/M02/ UF1/NF3/A3 MODELO RELACIONAL

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 varios clientes En el modelo E/R slo os saldrn dos entidades y una relacin, como datos de la relacin 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 cantante como 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 un hospital. Los pacientes se identifican por su nmero de historial, adems deseamos saber su nombre y direccin y telfono. De los mdicos deseamos saber su DNI, nombre, direccin, telfono y especialidad. De la prueba deseamos saber su cdigo, nombre, duracin, ayunas(S/N). Un mdico puede realizar muchas pruebas y una prueba puede ser realizada por muchos mdicos.

Institut Bernat el Ferrer

9 de 18

Generalitat de Catalunya Departament dEnsenyament

M0 2 G E ST I D E B AS E S D E D AD ES ASIX/M02/ UF1/NF3/A3 MODELO RELACIONAL

A los pacientes se les puede realizar muchas pruebas y una prueba la pueden realizar muchos mdicos (ejemplo un da un mdico le realiza un TAC y al cabo de varios meses otro mdico o el mismo puede realizarle otro TAC) Por cada paciente y prueba realizada se desea saber la fecha de la realizacin de la prueba, el mdico que realiz la prueba, el mdico que la solicit (este mdico no est relacionado con la tabla mdicos porque puede ser de cualquier otro hospital o centro mdico), y el resultado que se obtuvo en la prueba.

ASIX_M02_UF1_NF3_Ejercicio5. Alquiler de vehculos Una compaa de alquiler de vehculos pretende informatizarse para mejorar el servicio a sus clientes. Los automviles que posee se identifican por su matrcula, pero tambin es necesario tener en cuenta su marca, modelo, color, antigedad, consumo, y precio de alquiler. Tambin tendremos reparaciones, que tendrn un cdigo, descripcin (una descripcin 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 cliente alquila un coche (puede alquilar el mismo coche en diferentes fechas) tenernos que poner la fecha de alquiler y la fecha que lo devolver. Por ltimo, tendremos que tener en cuenta que cada uno de nuestros comerciales tiene asignados varios de coches y un coche se le asigna a un nico 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 puede suministrar varios artculos. Institut Bernat el Ferrer 10 de 18

Generalitat de Catalunya Departament dEnsenyament

M0 2 G E ST I D E B AS E S D E D AD ES ASIX/M02/ UF1/NF3/A3 MODELO RELACIONAL

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 varios pedidos. De cada artculo que se pide en el pedido deseamos saber la cantidad.

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, adems existe 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 (as el recorrido de vuelta tiene un cdigo diferente al de ida ya que tanto origen como 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 llegada a cada una de esas paradas Cada da al conductor se le asigna un nico autocar y con ese autocar se le asignan uno o varios recorridos en ese mismo da.

Institut Bernat el Ferrer

11 de 18

Generalitat de Catalunya Departament dEnsenyament

M0 2 G E ST I D E B AS E S D E D AD ES ASIX/M02/ UF1/NF3/A3 MODELO RELACIONAL

ASIX_M02_UF1_NF3_Ejercicio8. Conflictos blicos El diseo de la base de datos se trata de controlar CONFLICTOS BLICOS MIO 4 soldados son mandados por un cabo. Esto es una escuadra 3 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 dos tenientes 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 teniente general. Y el capitn general manda en todos los cuerpos del ejrcito. Enunciado:

Una organizacin internacional pretende realizar un seguimiento de los conflictos blicos que se producen en todo el mundo. Para ello crearemos una BD que responder al siguiente anlisis: Se entiende por conflicto blico cualquier lucha armada que afecta a uno a o varios pases. Todo conflicto se identificar por un cdigo y tendr un nombre que habitualmente hace referencia a la zona, un motivo o causa que provoca el conflicto (ejemplo territoriales, o religiosos, o econmicos o raciales) y una fecha de comienzo y otra de final. En cada conflicto intervienen uno o varios pases y cada pas puede intervenir en diferentes conflictos. En los conflictos intervienen diversos grupos armados y los mismos grupos armados pueden intervenir en diferentes conflictos, los grupos armados pueden entrar y salir del conflicto as que se recoger la fecha de incorporacin como la fecha de salida. Cada grupo armado es liderado por un lder poltico. De cada lder poltico se identifica por su nombre y un contacto. Y este lder poltico puede liderar a ms de un grupo armado.

Institut Bernat el Ferrer

12 de 18

Generalitat de Catalunya Departament dEnsenyament

M0 2 G E ST I D E B AS E S D E D AD ES ASIX/M02/ UF1/NF3/A3 MODELO RELACIONAL

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 por un cdigo y se almacenar el nmero de barcos, tanques, aviones y hombres que dispone cada divisin as como las bajas de cada divisin. Cada divisin es dirigida por dos jefes militares y cada jefe militar puede dirigir varias 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 capacidad destructiva. Los traficantes de armas suministran diferentes tipos de armas y un arma es suministrada por diferentes traficantes. Los grupos armados compran armas a diferentes traficantes y un traficante suministra armas a distintos grupos armados. Deseamos saber las armas que han suministrado los traficantes a los grupos armados 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 atributs especfics 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.

Institut Bernat el Ferrer

13 de 18

Generalitat de Catalunya Departament dEnsenyament

M0 2 G E ST I D E B AS E S D E D AD ES ASIX/M02/ UF1/NF3/A3 MODELO RELACIONAL

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 atributs de 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 especficos de los nuevos son las unidades y el descuento, de los usados son los kilmetros y el ao de 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. COCHE 1:1 0:1 NUEVO 0:1 USADO

2.- Personas de una ciudad, se distinguen trabajadores (num_seg_soc, empresa, salario) estudiantes (num_matricula, centro) y parados (fecha). De las personas nos interesa cod_ind, nombre, direccin, telefono y localidad. La relacin es parcial y solapada, pues las personas no tienen que ser de estos tres grupos PERSONAS 1:1 (0:1) o (1:1) TRABAJADORES 2.Personas de una cie (0:1) o (1:1) ESTUDIANTES 14 de 18

Institut Bernat el Ferrer

Generalitat de Catalunya Departament dEnsenyament

M0 2 G E ST I D E B AS E S D E D AD ES ASIX/M02/ UF1/NF3/A3 MODELO RELACIONAL

En un campo de ftbol los puestos de los futbolistas pueden ser: portero, defensa, medio y 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 una base 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.- Aadir 2.- Modificar 3.- Borrar El administrador de la base de datos tiene que crear las reglas de integridad necesarias para mantener la base de datos de forma correcta.

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

2.- Regla de integridad referencial . La segunda regla de integridad se aplica a las claves forneas (ajenas): si en una relacin hay alguna clave fornea (ajena), sus valores 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: Estticas No varan en la vida de las base de datos . Ejemplo, fecha de nacimiento siempre es menor o igual a la fecha del da actual. Dinmicas Pueden ser cambiadas. Ejemplo, la edad mayor de 21 aos puede pasar a ser mayor a 18 aos. Dbiles. No nos impiden grabar los datos pero nos avisar antes. Ejemplo, hijos > 4

Institut Bernat el Ferrer

15 de 18

Generalitat de Catalunya Departament dEnsenyament

M0 2 G E ST I D E B AS E S D E D AD ES ASIX/M02/ UF1/NF3/A3 MODELO RELACIONAL

4.- Actualizaciones de datos. Han de actualizarse en cascada para mantener la integridad 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 una tupla si t una clau primria referenciada per alguna clau forana. De manera semblant, la restricci en cas de modificaci consisteix a no permetre modificar 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 que te 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 de qu es tracti sobre un tuple determinat, per disposant al mateix temps una srie d'operacions compensatries que propaguin en cascada les actualitzacions necessries per tal que es mantingui la integritat referencial dels tuples que referencien, des dels atributs que en formen la clau forana, el tuple objecte d'actualitzaci:

En cas d'esborrament, s'eliminaran tots els tuples que facin referncia al tuple esborrat. En cas de modificaci, els valors dels atributs que formin part de la clau forana dels tuples que facin referncia al tuple modificat s'alteraran per tal de continuar coincidint amb els nous valors de la clau primria del tuple al qual fan referncia.

Exemples d'actualitzaci en cascada Tornem a prendre com a punt de partida dels exemples les relacions ALUMNE i AULA que es mostren en les taules 15 i 16 respectivament. Taula 15. Relaci amb claus foranes ALUMNE DNI 47126654F 51354897S 56354981L Nom Josep Anna Xavier Cognoms Telefon DNIDelegat CodiAula Bel Rovira 453641282 47126654F 102 Pacheco Cusc 723352151 51354897S 201 Rius Montalvo 726922235 51354897S 201 16 de 18

Institut Bernat el Ferrer

Generalitat de Catalunya Departament dEnsenyament

M0 2 G E ST I D E B AS E S D E D AD ES ASIX/M02/ UF1/NF3/A3 MODELO RELACIONAL

24583215W Mariona Castellv Mur NUL Taula 16. Relaci amb clau primria referenciada AULA Codi Capacitat 101 40 102 36 201 30

NUL

NUL

Si apliquem l'actualitzaci en cascada tot esborrant el tuple <201, 30> de la relaci AULA, tamb s'esborraran els dos tuples de la relaci ALUMNE que hi fan referncia des de la clau forana respectiva (CodiAula). En canvi, si apliquem l'actualitzaci en cascada tot modificant el tuple <201, 30> de la relaci AULA, canviant el valor de la seva clau primria per un altre, com ara 203, els dos tuples de la relaci ALUMNE que hi fan referncia actualitzaran en cascada el valor de l'atribut CodiAula de 201 a 203, per tal de mantenir la connexi correcta entre els tuples d'ambdues relacions.

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

En cas d'esborrament, els atributs de la clau forana dels tuples que facin referncia al tuple esborrat passaran a tenir valor nul, i no indicaran cap tipus de connexi. En cas de modificaci, els atributs de la clau forana dels tuples que facin referncia 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 foranes implicades admeten els valors nuls. Exemple d'anullaci Prenem una vegada ms com a punt de partida dels exemples les relacions ALUMNE i AULA que es mostren en les taules 17 i 18 respectivament. Taula 17. Relaci amb claus foranes ALUMNE Institut Bernat el Ferrer 17 de 18

Generalitat de Catalunya Departament dEnsenyament

M0 2 G E ST I D E B AS E S D E D AD ES ASIX/M02/ UF1/NF3/A3 MODELO RELACIONAL

DNI Nom Cognoms Telefon DNIDelegat CodiAula 47126654F Josep Bel Rovira 453641282 47126654F 102 51354897S Anna Pacheco Cusc 723352151 51354897S 201 56354981L Xavier Rius Montalvo 726922235 51354897S 201 24583215W Mariona Castellv Mur NUL NUL NUL

Taula 18. Relaci amb clau primria referenciada AULA Codi Capacitat 101 40 102 36 201 30 Aplicant la poltica d'anullaci, tant si esborrem el tuple <102, 36> de la relaci AULA, com si noms canviem el valor de l'atribut de la seva clau primria (Codi) per un altre (com, per exemple, 105), el tuple de la relaci ALUMNE que hi fa referncia actualitzar el valor de l'atribut CodiAula de 102 a valor nul, per tal d'evitar una connexi 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 seguir en 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, de vegades amb l'esperana que la puguin recuperar ms endavant.

Institut Bernat el Ferrer

18 de 18

Potrebbero piacerti anche