Aller au contenu

Cours⚓︎

1. Le modèle relationnel⚓︎

1.1 Les grands principes⚓︎

Le modèle relationnel a été introduit par Codd, en 1970 au laboratoire de recherche d'IBM de San José. Il s'agit d'un modèle simple et puissant à la base de la majorité des bases de données, encore aujourd'hui.

Les objectifs du modèle relationnel, formulés par Codd, sont les suivants :

  • Assurer l'indépendance des applications et de la représentation interne des données (les données d'un côté sous forme de relations (tables), les applications qui les utilisent de l'autre côté)
  • Gérer les problèmes de cohérence et de redondance des données. (cohérence : données exactes même après des modifications // redondance : éviter les données identiques à plusieurs endroits)
  • Utiliser des langages de données basés sur des théories solides permettant de gérer, d'accéder et de manipuler de grandes quantités de données.

1.2 Vocabulaire⚓︎

Le modèle relationnel permet de représenter les données que l'on va gérer à l'aide d'un très petit nombre de concepts très simples :

  • Les relations (ou tables) : des lignes et des colonnes:
    • Les lignes sont appelés des enregistrements
    • les titres de colonnes sont des attributs
  • Les domaines de valeurs : chaque case d'une table prend une unique valeur dans un domaine pré-défini (contrainte de domaine)
  • Les clés : il existe des cases (ou des n-uplets de cases) dont les valeurs doivent être uniques et non nulles (contrainte de relation)
  • Les clés étrangères : il existe des cases qui doivent prendre une valeur existante dans les cases d'une autre table (contrainte de référence)

2. Schéma relationnel⚓︎

Pour décrire sans ambiguité une relation, on utilise un schéma relationnel composé:

  • du nom de la relation
  • de la liste des attributs
  • de la clé primaire (clé choisie pour être l'"entrée" de l'enregistrement)
  • des clés étrangères

Exemple:

  • Un schéma relationnel:

Personne (Numero:Entier, Nom:Chaîne, Prénom:Chaîne, #LieuNaissance=>Ville)

  • Et son instance:
Numero Nom Prénom LieuNaissance
1 Durand Pierre 93200
2 Dupont Marie 75018

3. Base de donnée relationnelle⚓︎

La structure d'une base de données relationnelle est un ensemble de schémas relationnels qui respecte les contraintes du modèle relationnel.

Exemple:

  • Ensemble de schémas relationnels:

Personne (Numero:Entier, Nom:Chaîne, Prénom:Chaîne, #LieuNaissance=>Ville)

Pays (Nom:Chaîne, Population:Entier, Superficie:Réel, #Dirigeant=>Personne)

Ville (CodePostal:Chaîne, Nom:Chaîne, #Pays=>Pays)

  • Et une instance de cette base de données: Personne
Numero Nom Prénom LieuNaissance
1 Durand Pierre F93200
2 Dupont Marie F75018

Pays

Nom Population Superficie Dirigeant
France 60 500000,01 2
Allemagne 80 340000,98 2
Espagne 40 350000,2 1

Ville

CodePostal Nom Pays
F93200 Saint-Denis France
F75018 Paris France