DAW Desenvolupament d'aplicacions web ( Informàtica )
Exercici de DAW-MP02-UF1 - Introducció a les bases de dades

Editar Esborrar

  • Util 1

Traducció del model entitat-relació al model relacional I

Anem a repassar com es fa per traduir element a element del model entitat inter-relació a model relacional.

  • Dominis: Normalment no es declaren dominis, es treballa amb els tipus pre establerts que cada fabricant proporciona ( INT, VARCHAR, etc ).
  • Entitat: Cada entitat es converteix a una relació i, en el cas de base de dades, en una taula.
  • Atributs: Cada atribut del model entitat inter-relació serà un atribut del model relacional, a les bases de dades es correpon amb una columna.
  • AIP: Serà una clau primària.
  • AIC: Serà una restricció de tipus UNIQUE.

Anem a fer un exemple fins aquí, suposem l'entitat:

Exemple entitat

La relació seria:

CREATE TABLE professors (
   Inicials char(3) NOT NULL,
   DNI varchar(9) NOT NULL,
   Nom varchar(200) NOT NULL,
   email varchar(200) NOT NULL,
   data_neixement date NULL,
   CONSTRAINT professors_pk PRIMARY KEY ( Inicials ),
   CONSTRAINT professors_dni UNIQUE ( DNI ),
   CONSTRAINT professors_dni UNIQUE ( nom ),
   CONSTRAINT professors_dni UNIQUE ( email )
)
  • Fixa't bé amb l'ús de les comes. És un error frequent equivocar-se amb les comes.
  • Si un AIP estés format per més d'un atribut els posariem tots dintre dels parèntesi.

Exemple

CREATE TABLE activitats (
   data date NOT NULL,
   nom NOT NULL,
   quantitat_de_public int,
   cost money,
   ingressos money,
   CONSTRAINT activitats_pk PRIMARY KEY (data, nom )
)

Per últim la traducció de les inter-relacions. Per traduir una inter-relació del model entitat inter-relació a model relacional el que fem, en aquest darrer, és una propagació de claus. És a dir, els atributs que formen la clau primària a la taula referenciada es copien, en forma de clau forana, a la taula que referencia. Exemple:

Exemple

La taula referenciada és piscina i la taula que referencia és tractament. El resultat seria:

CREATE TABLE piscines (
    Codi char(5) NOT NULL,
    ...,
    CONSTRAINT  piscines_pk PRIMARY KEY ( Codi )
);

CREATE TABLE tractaments (
    data_i_hora datetime not null,
    codi_tecnic char(3) not null,
    explicacio text,
    codi_piscina char(5) NOT NULL,
    CONSTRAINT tractaments_pk 
        PRIMARY KEY (data_i_hora, codi_tecnic ),
    CONSTRAINT piscina_fk 
        FOREIGN KEY ( codi_piscina )
        REFERENCES piscines ( Codi )
);

Quan una entitat és dèbil, té dependència en identificació, la clau forana formarà part de la clau primària

Exercicis:

Pasa a model relacional en notació SQL els següents models entitat inter-relació:

1)

2)

3)

4)

5)

La lligueta

Aquest exercici està extret del llibre d'exercicis Introducció a les Bases de Dades. UF1 MP2 DAM DAW ASIX amb permís del seu autor.
Resultats d'aprenentatge:
Continguts:

Pujat el 25 de agost de 2016 a les 19:17
per daniel herrera

Consulteu nota legal i condicions