Condensé de définitions importantes de théorie des bases de données relationnelles

John GALLET - www.saphirtech.com - novembre 2003
Attention : ce document reprend un certain nombre de points importants ou de définitions précises de la théorie des SGBDR. Il ne saurait en aucun cas être considéré comme un support de cours complet.

Modèle Entité-Association CHEN 1976 -> merise
Modèle Relationnel CODD (ibm) 1970. Basé sur la théorie des ensembles et des prédicats.

1) Entité association
Identifiant unique : notion très dépendante de l'application. Par exemple, une voiture est vue comme une immatriculation par la Préfecture de Police, mais comme un numéro de chassis par son constructeur.

Entité / Occurence : le Titanic est une occurrence de l'entité Bateau. Cette différence est tout à fait similaire à celle entre une classe et une de ses instances en POO.

Une entité est “une notion, définie par un nom, composée d'attributs la qualifiant, dont la définition est utile pour la modélisation du monde à représenter.”

Une entité a toujours au moins un attribut.

La théorie des SGBD impose que toute entité possède un identifiant unique. Si cet identifiant est composé de plusieurs attributs, il est dit “composite”. Si plusieurs attributs ou groupes d'attibuts peuvent être identifiant unique, ils sont appelés “candidats”. Il faut alors choisir un attribut ou un groupe d'attributs parmi les candidats.

Association, occurrence
De la même manière que l'entité et son occurrence, on différencie en théorie la ntion de relation et d'occurence de cette relation. Par exemple si l'on considère la relation “être pilote de l'avion” une occurrence de cette relation est celle qui reliait Pierre Closterman au “Grand-Charles” (1) pendant la seconde guerre mondiale.

(1) : pour ceux qui n'ont pas lu Le grand Cirque il s'agit du nom de l'avion de ce grand pilote.

Une association est un lien sémantique défini entre deux ou plusieurds entités ayant un intérêt pour l'application, identifié par rapport aux entités participantes, décrit par un ensemble d'attributs.

Cardinalités : les cardinalités indiquent, pour chaque couple (type d'entités, type d'association) les nombres minimal et maximal d'occurences de l'association pouvant exister pour une occurrence de l'entité.
Forme : c'est un couple de valeurs (M,N) spécifiant d'une part si la relation est partielle (M=0) [on trouve aussi le terme “optionnelle”] ou totale (M=1) [on trouve aussi le terme “obligatoire”] et d'autre part si la relation est une fonction monovaluée (N=1) ou multivaluée (N>1)
La Cardinalité au sens de Chen/entité-association est différente de celle au sens de Codd (modèle relationnel).

2) modèle relationnel

Il repose à la fois sur la théorie des ensembles et la théorie des prédicats (prolog...)
-> simplificatoin du modèle
-> théorie très stricte

Domaine : ensemble de valeurs caractérisé par un nom.
Définition en extension : liste précise de valeurs. Couleur_des_voitures= {“rouge”, “vert”, “bleu”}, Marque_voiture={“bmw”, “peugeot”}
Définition en intention : entier, réel, booléen, char, temps (hh:min:ss), date (yyyy/mm/dd), devise, intervalle par exemple age(0,140);

Produit cartésien : ensemble des combinaisons possibles de deux domaines. Par exemple, le produit cartésien des domaines Couleur_des_voitures et Marque_voiture est :
bmw,rouge
bmw, vert
bmw,bleu
peugeot,rouge
peugeot, vert
peugeot,bleu

Il s'agit de ne pas confondre la totalité des couples possibles et les valeurs réellement atteintes.
Relation (ou table) : sous ensemble du produit cartésien de domaines. Elle est désignée par un nom, représentée par une table.
Ce sous ensemble est souvent formé des valeurs réellement atteintes. Par exemple, la relation “disponibles” :
bmw, rouge
peugeot, vert
peugeot, bleu

La définition impose que :
- une table ne peut contenir deux lignes identiques
- chaque case est atomique, elle ne peut contenir qu'une valeur unique, non une liste


Attribut : un attribut est une colonne, caractérisée par un nom, de la table, où seront exprimées les valeurs de son domaine.

Cardinalité (différente de celle de du modèle entité association)
Nombre de rangs (t-uples, n-uplets).
Pas de lignes en double, pas d'attributs en double. Chaque case possède une valeur.

Schéma de relation
Il est constitué du nom de la relation suivit de la liste de se attributs avec leur domaine. Exemple:
R(A1:D1, A2:D2,....An:Dn)
R: nom de la relation
QQsoit i,j entiers i!=j => Ai!=Aj (pas d'attributs en double).
Nb :souvent, les domaines sont omis dans la notation

Schéma relationnel : ensemble des schémas de relations modélisant l'univers réel que l'on souhaite représenter

Clef : par définition, une relation ne peut pas avoir de doublons. La clef primaire d'une relation est le plus petit sous-ensemble de ses attributs permettant d'identifier chacun de ses rangs.

NB1 : une clef primaire peut parfaitement être composite (constituée de plusieurs colonnes).
NB2 : une clef primaire définit les valeurs qui ne peuvent pas être présentes en doublons.

On appelle clef étrangère d'une relation, un ensemble d'attributs qui est clef primaire d'une autre relation.
Utilisation des clef étrangères : cohérence des données.

Dépendance fonctionnelle(DF)
Une dépendance fonctionnelle est présente si l'onpeut déduire la valeur d'un attribut directement grâce à la valeur d'un autre attribut.
Par exemple : le nom d'un pays permet de déterminer le nom de sa capitale.
DF multivaluée : le nom d'un pays permet de déduire la liste de ses aéroports internationaux
DF élémentaire : tout attribut dépéndant l'est de tous les attributs composant la clef
Première forme normale:
Chacun des attributs dépend fonctionnellement de la clef et est non répétitif pour une occurrence de celle-ci. Autrement dit, il est interdit d'avoir un cas du genre “photo1, photo2, photo3” en liste des attributs.

Deuxième forme normale :
Une relation est dite en deuxième forme normale si elle est en première forme normale, et si les dépendances fonctionnelles entre la clef et les autres attributs sont élémentaires. Autrement dit, tous les attributs non clef (ne composant pas la clef) doivent dépendre de tous les attributs composant la clef. Il va de soi que le problème se pose seulement pour les clefs composites.

Troisième forme normale:
Une relation est dite en troisième forme normale si elle est en deuxième forme normale et que tous les attributs non clef ne dépendent que de la clef. Autrement dit, un attribut ne faisant pas partie de la clef ne peut pas dépendre fonctionnellement d'un autre attribut ne faisant pas non plus partie de la clef.

“All attributes of an entity must depend on the key, the whole key, and nothing but the key (so help me Codd)”.

Au delà : il exist la forme normale de Boyce-Codd, la 4eme et 5eme forme normale. Leur but principal est d'éviter les pertes d'informations en cas de suppression de données.