Notion de références

Clé étrangère

Une base de données est en général constituée de plusieurs tables. Ces tables se référencent entre elles en utilisant une clé étrangère : c'est à dire qu'une des colonnes de la table est utilisée pour faire référence à la colonne d'une autre table.

On va à présent créer une seconde table, qui permettra d'associer des Unités de Valeurs (UVs) aux étudiants, puis insérer des valeurs dans cette table.

CREATE TABLE tUv (
pk_code CHAR(4) NOT NULL,
fk_etu CHAR(13) NOT NULL,
PRIMARY KEY (pk_code, fk_etu),
FOREIGN KEY (fk_etu) REFERENCES tEtu(pk_numSecu));
INSERT INTO tUV (pk_code, fk_etu)
VALUES ('NF17', '1800675001066');
INSERT INTO tUV (pk_code, fk_etu)
VALUES ('NF26', '1800675001066');
INSERT INTO tUV (pk_code, fk_etu)
VALUES ('NF29', '1800675001066');

Expliciter ce qu'exprime le contenu de la table tUv .

Que l'étudiant dont le numéro de sécurité sociale est « 1800675001066 » est associé aux UVs NF17, NF26 et NF29.

Il y est inscrit, ou bien il les a suivi, il faudra se référer au modèle conceptuel de données pour en savoir plus, ce dernier nous donnera en effet plus d'information à ce sujet que la simple représentation relationnelle.

Contraintes d'intégrité référentielle

Lorsque nous avons défini la table tUv, nous avons défini une contrainte supplémentaire, dite d'intégrité référentielle : contrainte de type FOREIGN KEY.

En exécutant les instructions suivantes, expliquer quel est le rôle d'une contrainte d'intégrité référentielle.

INSERT INTO tUV (pk_code, fk_etu)
VALUES ('NF17', '2810592012232');
INSERT INTO tUV (pk_code, fk_etu)
VALUES ('NF17', '1700792001278');
AccueilExercices > Découverte d'une base de données relationnelle > Exercice : Notion de références< PrécédentSuivant >