1. Motivation et introduction 5. Les SGBD 2.1 Tables, lignes et colonnes 2.
5 Exemple de base de données
2. Concepts des bases de données 2.2 Valeur null 2.6 Modifications et contraintes
3. Modèle relationnel et normalisation 2.3 Identifiants et clés étrangères 2.7 Redondances internes
4. Implémentation des structures de données 2.4 Schéma et contenu 2.8 Les structures physiques
2. CONCEPTS DES BASES DE DONNEES
Enseigné par Rochy EWOUYA
Support du chapitre 2, Concepts des bases de données
de l'ouvrage Bases de données, J-L Hainaut, Dunod 2022.
I. Concepts des bases de données Bases de données • © J-L Hainaut 2022 1
1. Motivation et introduction 5. Les SGBD 2.1 Tables, lignes et colonnes 2.5 Exemple de base de données
2. Concepts des bases de données 2.2 Valeur null 2.6 Modifications et contraintes
3. Modèle relationnel et normalisation 2.3 Identifiants et clés étrangères 2.7 Redondances internes
4. Implémentation des structures de données 2.4 Schéma et contenu 2.8 Les structures physiques
2. CONCEPTS DES BASES DE DONNEES
Contenu
2.1 Tables, lignes et colonnes
2.2 Valeur null
2.3 Identifiants et clés étrangères
2.4 Schéma et contenu
2.5 Exemple de base de données
2.6 Modifications et contraintes
2.7 Redondances internes
2.8 Les constructions physiques
I. Concepts des bases de données Bases de données • © J-L Hainaut 2022 2
1. Motivation et introduction 5. Les SGBD 2.1 Tables, lignes et colonnes 2.5 Exemple de base de données
2. Concepts des bases de données 2.2 Valeur null 2.6 Modifications et contraintes
3. Modèle relationnel et normalisation 2.3 Identifiants et clés étrangères 2.7 Redondances internes
4. Implémentation des structures de données 2.4 Schéma et contenu 2.8 Les structures physiques
2.1 Tables, lignes et colonnes
I. Concepts des bases de données Bases de données • © J-L Hainaut 2022 3
1. Motivation et introduction 5. Les SGBD 2.1 Tables, lignes et colonnes 2.5 Exemple de base de données
2. Concepts des bases de données 2.2 Valeur null 2.6 Modifications et contraintes
3. Modèle relationnel et normalisation 2.3 Identifiants et clés étrangères 2.7 Redondances internes
4. Implémentation des structures de données 2.4 Schéma et contenu 2.8 Les structures physiques
2.1 Tables, lignes et colonnes
schéma
ligne
données
colonne colonne
obligatoire facultative
I. Concepts des bases de données Bases de données • © J-L Hainaut 2022 4
1. Motivation et introduction 5. Les SGBD 2.1 Tables, lignes et colonnes 2.5 Exemple de base de données
2. Concepts des bases de données 2.2 Valeur null 2.6 Modifications et contraintes
3. Modèle relationnel et normalisation 2.3 Identifiants et clés étrangères 2.7 Redondances internes
4. Implémentation des structures de données 2.4 Schéma et contenu 2.8 Les structures physiques
2.2 Valeur null
L'absence de valeur est indiquée par un marqueur spécial, dit valeur
null. Généralement représenté par <null> ou par rien.
Problème : plusieurs interprétations possibles
1. information pertinente mais inexistante pour l'entité
2. information non pertinente pour cette entité
3. information existante mais actuellement inconnue
Recommandation : éviter si possible les colonnes facultatives.
I. Concepts des bases de données Bases de données • © J-L Hainaut 2022 5
1. Motivation et introduction 5. Les SGBD 2.1 Tables, lignes et colonnes 2.5 Exemple de base de données
2. Concepts des bases de données 2.2 Valeur null 2.6 Modifications et contraintes
3. Modèle relationnel et normalisation 2.3 Identifiants et clés étrangères 2.7 Redondances internes
4. Implémentation des structures de données 2.4 Schéma et contenu 2.8 Les structures physiques
2.3 Identifiants et clés étrangères
Un identifiant est un groupe de colonnes d'une table T tel qu'il ne
puisse, à tout moment, exister plus d'une ligne dans T qui possède des
valeurs déterminées pour ces colonnes. La valeur de l'identifiant
permet de désigner une ligne de T.
Une clé étrangère est un groupe de colonnes d'une table S tel qu'il
existe, à tout moment, dans une table T, une ligne dont l'identifiant a
pour valeur(s) celle(s) de ce groupe. La valeur de la clé étrangère sert
à référencer une ligne de la table T.
I. Concepts des bases de données Bases de données • © J-L Hainaut 2022 6
1. Motivation et introduction 5. Les SGBD 2.1 Tables, lignes et colonnes 2.5 Exemple de base de données
2. Concepts des bases de données 2.2 Valeur null 2.6 Modifications et contraintes
3. Modèle relationnel et normalisation 2.3 Identifiants et clés étrangères 2.7 Redondances internes
4. Implémentation des structures de données 2.4 Schéma et contenu 2.8 Les structures physiques
2.3 Identifiants et clés étrangères
identifiant
clé étrangère
dans le schéma
dans les données
I. Concepts des bases de données Bases de données • © J-L Hainaut 2022 7
1. Motivation et introduction 5. Les SGBD 2.1 Tables, lignes et colonnes 2.5 Exemple de base de données
2. Concepts des bases de données 2.2 Valeur null 2.6 Modifications et contraintes
3. Modèle relationnel et normalisation 2.3 Identifiants et clés étrangères 2.7 Redondances internes
4. Implémentation des structures de données 2.4 Schéma et contenu 2.8 Les structures physiques
2.3 Identifiants et clés étrangères
Un identifiant définit une contrainte d'unicité. Il existe d'autres moyens
de définir cette contrainte.
Une table peut posséder plusieurs identifiants. On choisit l'un d'eux,
qu'on déclare primaire. Les autres sont dès lors secondaires.
L'identifiant primaire est constitué de colonnes obligatoires.
Un identifiant est minimal si chacune de ses colonnes est nécessaire
pour garantir la contrainte d'unicité.
Il est possible de déclarer une table sans identifiant mais ceci n'est pas
recommandé.
I. Concepts des bases de données Bases de données • © J-L Hainaut 2022 8
1. Motivation et introduction 5. Les SGBD 2.1 Tables, lignes et colonnes 2.5 Exemple de base de données
2. Concepts des bases de données 2.2 Valeur null 2.6 Modifications et contraintes
3. Modèle relationnel et normalisation 2.3 Identifiants et clés étrangères 2.7 Redondances internes
4. Implémentation des structures de données 2.4 Schéma et contenu 2.8 Les structures physiques
2.3 Identifiants et clés étrangères
Une clé étrangère définit une contrainte référentielle. Il existe d'autres
moyens de définir cette contrainte.
Si une des colonnes d'une clé étrangère est facultative, il est
recommandé de les rendre toutes facultatives (pourquoi ?).
Une clé étrangère référence en principe l'identifiant primaire de la table
cible. Elle peut référencer un identifiant secondaire mais ceci n'est pas
recommandé (pourquoi ?).
Une clé étrangère et l'identifiant qu'elle référence ont la même
composition : même nombre de colonnes et colonnes de mêmes types
prises deux à deux.
Il se peut qu'une clé étrangère soit également un identifiant.
Il se peut que les colonnes d'une clé étrangère appartiennent, en tout
ou en partie, à un identifiant.
I. Concepts des bases de données Bases de données • © J-L Hainaut 2022 9
1. Motivation et introduction 5. Les SGBD 2.1 Tables, lignes et colonnes 2.5 Exemple de base de données
2. Concepts des bases de données 2.2 Valeur null 2.6 Modifications et contraintes
3. Modèle relationnel et normalisation 2.3 Identifiants et clés étrangères 2.7 Redondances internes
4. Implémentation des structures de données 2.4 Schéma et contenu 2.8 Les structures physiques
2.3 Identifiants et clés étrangères
Un identifiant minimal est aussi appelé clé candidate (candidate key). [*]
Un identifiant primaire s'appelle aussi clé primaire (primary key).
Il n'existe pas d'autre terme pour désigner les identifiants secondaires.
Clé étrangère = foreign key.
[*] problème : le terme clé admet plus de 20 acceptions différentes dans le domaine des
bases de données !
I. Concepts des bases de données Bases de données • © J-L Hainaut 2022 10
1. Motivation et introduction 5. Les SGBD 2.1 Tables, lignes et colonnes 2.5 Exemple de base de données
2. Concepts des bases de données 2.2 Valeur null 2.6 Modifications et contraintes
3. Modèle relationnel et normalisation 2.3 Identifiants et clés étrangères 2.7 Redondances internes
4. Implémentation des structures de données 2.4 Schéma et contenu 2.8 Les structures physiques
2.4 Schéma et contenu
le schéma
les données
I. Concepts des bases de données Bases de données • © J-L Hainaut 2022 11
1. Motivation et introduction 5. Les SGBD 2.1 Tables, lignes et colonnes 2.5 Exemple de base de données
2. Concepts des bases de données 2.2 Valeur null 2.6 Modifications et contraintes
3. Modèle relationnel et normalisation 2.3 Identifiants et clés étrangères 2.7 Redondances internes
4. Implémentation des structures de données 2.4 Schéma et contenu 2.8 Les structures physiques
2.4 Schéma et contenu
Le schéma d'une table définit sa structure. Il spécifie notamment :
1. le nom de la table,
2. pour chaque colonne, son nom, son type, son caractère obligatoire,
3. l'identifiant primaire (liste des colonnes)
4. les identifiants secondaires éventuels (liste des colonnes)
5. les clés étrangères éventuelles (liste des colonnes et table cible).
Le contenu d'une table est formé d'un ensemble de lignes conformes au
schéma.
Le contenu d'une table est sujet à de fréquentes modifications. Le
schéma d'une table peut évoluer mais moins fréquemment.
I. Concepts des bases de données Bases de données • © J-L Hainaut 2022 12
1. Motivation et introduction 5. Les SGBD 2.1 Tables, lignes et colonnes 2.5 Exemple de base de données
2. Concepts des bases de données 2.2 Valeur null 2.6 Modifications et contraintes
3. Modèle relationnel et normalisation 2.3 Identifiants et clés étrangères 2.7 Redondances internes
4. Implémentation des structures de données 2.4 Schéma et contenu 2.8 Les structures physiques
2.5 Exemple de base de données
I. Concepts des bases de données Bases de données • © J-L Hainaut 2022 13
1. Motivation et introduction 5. Les SGBD 2.1 Tables, lignes et colonnes 2.5 Exemple de base de données
2. Concepts des bases de données 2.2 Valeur null 2.6 Modifications et contraintes
3. Modèle relationnel et normalisation 2.3 Identifiants et clés étrangères 2.7 Redondances internes
4. Implémentation des structures de données 2.4 Schéma et contenu 2.8 Les structures physiques
2.5 Exemple de base de données
I. Concepts des bases de données Bases de données • © J-L Hainaut 2022 14
1. Motivation et introduction 5. Les SGBD 2.1 Tables, lignes et colonnes 2.5 Exemple de base de données
2. Concepts des bases de données 2.2 Valeur null 2.6 Modifications et contraintes
3. Modèle relationnel et normalisation 2.3 Identifiants et clés étrangères 2.7 Redondances internes
4. Implémentation des structures de données 2.4 Schéma et contenu 2.8 Les structures physiques
2.5 Exemple de base de données
Variantes de représentations d’un schéma
CLIENT
NCLI
NOM
ADRESSE COMMANDE PRODUIT
LOCALITE NCOM DETAIL NPRO
CAT[0-1] DATECOM NCOM LIBELLE
COMPTE NCLI NPRO PRIX
id: NCLI id: NCOM QCOM QSTOCK
ref: NCLI id: NCOM id: NPRO
NPRO
ref: NCOM
ref: NPRO
I. Concepts des bases de données Bases de données • © J-L Hainaut 2022 15
1. Motivation et introduction 5. Les SGBD 2.1 Tables, lignes et colonnes 2.5 Exemple de base de données
2. Concepts des bases de données 2.2 Valeur null 2.6 Modifications et contraintes
3. Modèle relationnel et normalisation 2.3 Identifiants et clés étrangères 2.7 Redondances internes
4. Implémentation des structures de données 2.4 Schéma et contenu 2.8 Les structures physiques
2.6 Modification des données et contraintes d'intégrité
On admet trois contraintes d'intégrité :
1. colonne obligatoire
2. contrainte d'unicité
3. contrainte référentielle.
Il existe trois opérations élémentaires de modification :
1. insérer une ligne
2. supprimer une ligne
3. modifier une valeur de colonne d'une ligne.
Principe : une modification ne sera effectuée que si son
résultat ne viole aucune contrainte d'intégrité.
I. Concepts des bases de données Bases de données • © J-L Hainaut 2022 16
1. Motivation et introduction 5. Les SGBD 2.1 Tables, lignes et colonnes 2.5 Exemple de base de données
2. Concepts des bases de données 2.2 Valeur null 2.6 Modifications et contraintes
3. Modèle relationnel et normalisation 2.3 Identifiants et clés étrangères 2.7 Redondances internes
4. Implémentation des structures de données 2.4 Schéma et contenu 2.8 Les structures physiques
2.6 Modifications et contraintes - Colonne obligatoire
COMMANDE CLIENT
NCOM NCLI
NCLI NOM
DATECOM ADRESSE
id: NCOM id: NCLI
ref: NCLI
La colonne NOM est obligatoire
insérer une ligne
la valeur de NOM doit être non null
de CLIENT
supprimer une ligne
de CLIENT
modifier valeur de NOM
la nouvelle valeur de NOM doit être non null
de CLIENT
I. Concepts des bases de données Bases de données • © J-L Hainaut 2022 17
1. Motivation et introduction 5. Les SGBD 2.1 Tables, lignes et colonnes 2.5 Exemple de base de données
2. Concepts des bases de données 2.2 Valeur null 2.6 Modifications et contraintes
3. Modèle relationnel et normalisation 2.3 Identifiants et clés étrangères 2.7 Redondances internes
4. Implémentation des structures de données 2.4 Schéma et contenu 2.8 Les structures physiques
2.6 Modifications et contraintes - Identifiant
COMMANDE CLIENT
NCOM NCLI
NCLI NOM
DATECOM ADRESSE
id: NCOM id: NCLI
ref: NCLI
{NCOM} identifiant de COMMANDE
insérer une ligne la valeur de NCOM ne doit pas être déjà
de COMMANDE présente dans une ligne de COMMANDE
supprimer une ligne
de COMMANDE
modifier la valeur de la nouvelle valeur de NCOM ne doit pas être
NCOM de COMMANDE déjà présente dans une ligne de COMMANDE
I. Concepts des bases de données Bases de données • © J-L Hainaut 2022 18
1. Motivation et introduction 5. Les SGBD 2.1 Tables, lignes et colonnes 2.5 Exemple de base de données
2. Concepts des bases de données 2.2 Valeur null 2.6 Modifications et contraintes
3. Modèle relationnel et normalisation 2.3 Identifiants et clés étrangères 2.7 Redondances internes
4. Implémentation des structures de données 2.4 Schéma et contenu 2.8 Les structures physiques
2.6 Modifications et contraintes - Clé étrangère
COMMANDE CLIENT
NCOM NCLI
NCLI NOM
DATECOM ADRESSE
id: NCOM id: NCLI
ref: NCLI
{NCLI} clé étrangère de COMMANDE
vers CLIENT
insérer une ligne la valeur de NCLI doit être présente dans la
de COMMANDE colonne NCLI d'une ligne de CLIENT
supprimer une ligne
de COMMANDE
supprimer une ligne l'intégrité référentielle doit être satisfaite
de CLIENT après l'opération
modifier la valeur de NCLI la nouvelle valeur de NCLI doit être présente
de COMMANDE dans la colonne NCLI d'une ligne de CLIENT
modifier la valeur de NCLI l'intégrité référentielle doit être satisfaite
de CLIENT après l'opération
I. Concepts des bases de données Bases de données • © J-L Hainaut 2022 19
1. Motivation et introduction 5. Les SGBD 2.1 Tables, lignes et colonnes 2.5 Exemple de base de données
2. Concepts des bases de données 2.2 Valeur null 2.6 Modifications et contraintes
3. Modèle relationnel et normalisation 2.3 Identifiants et clés étrangères 2.7 Redondances internes
4. Implémentation des structures de données 2.4 Schéma et contenu 2.8 Les structures physiques
2.6 Modifications et contraintes - Clé étrangère
COMMANDE CLIENT
NCOM NCLI
NCLI NOM
DATECOM ADRESSE
id: NCOM id: NCLI
ref: NCLI
{NCLI} clé étrangère de COMMANDE vers
4 comportements
CLIENT
opération refusée si lignes de COMMANDE
1. mode no action dépendantes
ligne supprimée mais aussi les lignes de
2. mode cascade
COMMANDE dépendantes
supprimer une
(si NCLI de COMMANDE facultative) la colonne
ligne de CLIENT
3. mode set null NCLI des lignes dépendantes de COMMANDE est
mise à null
(si default pour NCLI de COMMANDE) la colonne
4. mode set default NCLI des lignes dépendantes de COMMANDE est
mise à la valeur par défaut
I. Concepts des bases de données Bases de données • © J-L Hainaut 2022 20
1. Motivation et introduction 5. Les SGBD 2.1 Tables, lignes et colonnes 2.5 Exemple de base de données
2. Concepts des bases de données 2.2 Valeur null 2.6 Modifications et contraintes
3. Modèle relationnel et normalisation 2.3 Identifiants et clés étrangères 2.7 Redondances internes
4. Implémentation des structures de données 2.4 Schéma et contenu 2.8 Les structures physiques
2.6 Modifications et contraintes - Clé étrangère
COMMANDE CLIENT
NCOM NCLI
NCLI NOM
DATECOM ADRESSE
id: NCOM id: NCLI
ref: NCLI
{NCLI} clé étrangère de COMMANDE vers
4 comportements
CLIENT
opération refusée s’il existe des lignes de
1. mode no action COMMANDE dépendantes
opération réalisée + valeurs de NCLI adaptées
2. mode cascade
dans les lignes de COMMANDE dépendantes
modifier la valeur
(si NCLI de COMMANDE facultative) opération
de NCLI de CLIENT
3. mode set null réalisée + NCLI mis à null dans les lignes de
COMMANDE dépendantes
(si default pour NCLI de COMMANDE) opération
4. mode set default réalisée + NCLI mis à default dans les lignes de
COMMANDE dépendantes
I. Concepts des bases de données Bases de données • © J-L Hainaut 2022 21
1. Motivation et introduction 5. Les SGBD 2.1 Tables, lignes et colonnes 2.5 Exemple de base de données
2. Concepts des bases de données 2.2 Valeur null 2.6 Modifications et contraintes
3. Modèle relationnel et normalisation 2.3 Identifiants et clés étrangères 2.7 Redondances internes
4. Implémentation des structures de données 2.4 Schéma et contenu 2.8 Les structures physiques
2.6 Modifications et contraintes - Clé étrangère
COMMANDE CLIENT
NCOM NCLI
NCLI NOM
DATECOM ADRESSE
id: NCOM id: NCLI
ref: NCLI
Attention au cas (très) spécial d'une clé étrangère multicomposants
dont certains composants sont facultatifs.
Quelle réaction face à une ligne dont certains composants de la clé
étrangère sont null ? Trois modes possibles :
simple contrainte évaluée dès que tous les composants sont
valués;
ignorée sinon;
full contrainte évaluée si tous les composants sont valués;
contrainte ignorée si tous les composants sont null;
rejet sinon;
partial la contrainte est évaluée pour les composants valués;
I. Concepts des bases de données Bases de données • © J-L Hainaut 2022 22
1. Motivation et introduction 5. Les SGBD 2.1 Tables, lignes et colonnes 2.5 Exemple de base de données
2. Concepts des bases de données 2.2 Valeur null 2.6 Modifications et contraintes
3. Modèle relationnel et normalisation 2.3 Identifiants et clés étrangères 2.7 Redondances internes
4. Implémentation des structures de données 2.4 Schéma et contenu 2.8 Les structures physiques
2.7 Redondances internes
Table répertoriant les livres d'une bibliothèque :
I. Concepts des bases de données Bases de données • © J-L Hainaut 2022 23
1. Motivation et introduction 5. Les SGBD 2.1 Tables, lignes et colonnes 2.5 Exemple de base de données
2. Concepts des bases de données 2.2 Valeur null 2.6 Modifications et contraintes
3. Modèle relationnel et normalisation 2.3 Identifiants et clés étrangères 2.7 Redondances internes
4. Implémentation des structures de données 2.4 Schéma et contenu 2.8 Les structures physiques
2.7 Redondances internes
Observation
Les données TITRE et AUTEUR sont répétées autant de fois qu'il existe
de livres identiques.
Cette table viole le principe premier des bases de données : tout fait du
domaine d'application est enregistré une et une seule fois.
I. Concepts des bases de données Bases de données • © J-L Hainaut 2022 24
1. Motivation et introduction 5. Les SGBD 2.1 Tables, lignes et colonnes 2.5 Exemple de base de données
2. Concepts des bases de données 2.2 Valeur null 2.6 Modifications et contraintes
3. Modèle relationnel et normalisation 2.3 Identifiants et clés étrangères 2.7 Redondances internes
4. Implémentation des structures de données 2.4 Schéma et contenu 2.8 Les structures physiques
2.7 Redondances internes
Problèmes
• gaspillage d'espace
• si on modifie la valeur d'un titre, il faut répercuter cette modification dans
toutes les lignes similaires
• si on supprime l'unique exemplaire d'un livre, on perd les informations
sur son auteur et son titre
• est-on certain que le titre et l'auteur ont été orthographiés exactement de
la même manière pour tous les exemplaires d'un livre ?
I. Concepts des bases de données Bases de données • © J-L Hainaut 2022 25
1. Motivation et introduction 5. Les SGBD 2.1 Tables, lignes et colonnes 2.5 Exemple de base de données
2. Concepts des bases de données 2.2 Valeur null 2.6 Modifications et contraintes
3. Modèle relationnel et normalisation 2.3 Identifiants et clés étrangères 2.7 Redondances internes
4. Implémentation des structures de données 2.4 Schéma et contenu 2.8 Les structures physiques
2.7 Redondances internes
Suggestion
Rassembler les données communes (ISBN, TITRE, AUTEUR) dans une
table spécifique.
Maintenir un lien entre ces tables par une clé étrangère.
I. Concepts des bases de données Bases de données • © J-L Hainaut 2022 26
1. Motivation et introduction 5. Les SGBD 2.1 Tables, lignes et colonnes 2.5 Exemple de base de données
2. Concepts des bases de données 2.2 Valeur null 2.6 Modifications et contraintes
3. Modèle relationnel et normalisation 2.3 Identifiants et clés étrangères 2.7 Redondances internes
4. Implémentation des structures de données 2.4 Schéma et contenu 2.8 Les structures physiques
2.7 Redondances internes
Deux questions
1. Comment détecter les situations de redondance ?
2. Comment les corriger ?
La réponse à ces questions repose sur une nouvelle forme de
contrainte d'intégrité : la dépendance fonctionnelle.
I. Concepts des bases de données Bases de données • © J-L Hainaut 2022 27
1. Motivation et introduction 5. Les SGBD 2.1 Tables, lignes et colonnes 2.5 Exemple de base de données
2. Concepts des bases de données 2.2 Valeur null 2.6 Modifications et contraintes
3. Modèle relationnel et normalisation 2.3 Identifiants et clés étrangères 2.7 Redondances internes
4. Implémentation des structures de données 2.4 Schéma et contenu 2.8 Les structures physiques
2.7 Redondances internes
Notion de dépendance fonctionnelle
ISBN ⎯→ TITRE, AUTEUR
si deux lignes ont la même valeur de ISBN,
alors elles ont aussi les mêmes valeurs de TITRE et d’AUTEUR
On dit que :
• il existe une dépendance fonctionnelle de ISBN vers TITRE et AUTEUR
• ISBN détermine ou est un déterminant de TITRE et AUTEUR
• TITRE et AUTEUR dépendent de ou sont déterminés par ISBN
I. Concepts des bases de données Bases de données • © J-L Hainaut 2022 28
1. Motivation et introduction 5. Les SGBD 2.1 Tables, lignes et colonnes 2.5 Exemple de base de données
2. Concepts des bases de données 2.2 Valeur null 2.6 Modifications et contraintes
3. Modèle relationnel et normalisation 2.3 Identifiants et clés étrangères 2.7 Redondances internes
4. Implémentation des structures de données 2.4 Schéma et contenu 2.8 Les structures physiques
2.7 Redondances internes
Notion de dépendance fonctionnelle
Deux observations
1. par définition, un identifiant détermine toutes les colonnes de la table
2. si un groupe de colonnes détermine chaque colonne de la table, il
constitue par définition un identifiant de la table
NUMERO ⎯→ TITRE, AUTEUR, ISBN, DATE_ACHAT, EMPL
I. Concepts des bases de données Bases de données • © J-L Hainaut 2022 29
1. Motivation et introduction 5. Les SGBD 2.1 Tables, lignes et colonnes 2.5 Exemple de base de données
2. Concepts des bases de données 2.2 Valeur null 2.6 Modifications et contraintes
3. Modèle relationnel et normalisation 2.3 Identifiants et clés étrangères 2.7 Redondances internes
4. Implémentation des structures de données 2.4 Schéma et contenu 2.8 Les structures physiques
2.7 Redondances internes
Comment détecter les situations de redondance ?
Réponse
Il y a redondance interne dès qu'il existe un déterminant qui n'est
pas un identifiant de la table
Une dépendance fonctionnelle dont le déterminant n'est pas un
identifiant est dite anormale
ISBN est un déterminant dans LIVRE mais il n'en est pas un
identifiant. Il entraîne donc des redondances internes.
I. Concepts des bases de données Bases de données • © J-L Hainaut 2022 30
1. Motivation et introduction 5. Les SGBD 2.1 Tables, lignes et colonnes 2.5 Exemple de base de données
2. Concepts des bases de données 2.2 Valeur null 2.6 Modifications et contraintes
3. Modèle relationnel et normalisation 2.3 Identifiants et clés étrangères 2.7 Redondances internes
4. Implémentation des structures de données 2.4 Schéma et contenu 2.8 Les structures physiques
2.7 Redondances internes
Comment corriger les situations de redondance ?
Réponse
En décomposant la table T en deux fragments T1 et T2 :
T1(déterminant, déterminé)
T2(déterminant, résidu)
T2.déterminant est une clé étrangère vers T1
I. Concepts des bases de données Bases de données • © J-L Hainaut 2022 31
1. Motivation et introduction 5. Les SGBD 2.1 Tables, lignes et colonnes 2.5 Exemple de base de données
2. Concepts des bases de données 2.2 Valeur null 2.6 Modifications et contraintes
3. Modèle relationnel et normalisation 2.3 Identifiants et clés étrangères 2.7 Redondances internes
4. Implémentation des structures de données 2.4 Schéma et contenu 2.8 Les structures physiques
2.7 Redondances internes
Dernières remarques
1. Une table qui est le siège d'une dépendance fonctionnelle anormale est
dite non normalisée
2. Une table sans dépendance fonctionnelle anormale est dite normalisée
3. Décomposer une table de manière à éliminer ses dépendances anormales
consiste à normaliser cette table
4. Il est essentiel que toutes les tables d'une base de données soient
normalisées
5. Il est possible qu'une table qui est le siège de dépendances fonctionnelles
anormales ne comporte pas de redondance à certains moments. Il ne
s'agirait que d'un accident statistique ! Inutile de tenter le diable !
6. La question de la normalisation d'une table sera étudiée de manière plus
détaillée dans le chapitre 3 de cette série de leçons.
I. Concepts des bases de données Bases de données • © J-L Hainaut 2022 32
1. Motivation et introduction 5. Les SGBD 2.1 Tables, lignes et colonnes 2.5 Exemple de base de données
2. Concepts des bases de données 2.2 Valeur null 2.6 Modifications et contraintes
3. Modèle relationnel et normalisation 2.3 Identifiants et clés étrangères 2.7 Redondances internes
4. Implémentation des structures de données 2.4 Schéma et contenu 2.8 Les structures physiques
2.8 Les structures physiques
Les tables sont stockées sur le disque (magnétique ou SSD) de l'ordinateur.
Si elles sont très volumineuses, l'accès aux données et leur modification
risquent de prendre un temps considérable.
Exemple :
la lecture d'une table de 2.500.000 de lignes de 400 octets prend près
d'une minute dans le meilleur des cas et une heure dans le cas contraire.
Les structures physiques constituent la manière dont les données sont
organisées sur disque. Elles garantissent de bonnes performances aux
opérations de lecture et de modification.
Deux mécanismes principaux :
• les index
• les espaces de stockage
I. Concepts des bases de données Bases de données • © J-L Hainaut 2022 33
1. Motivation et introduction 5. Les SGBD 2.1 Tables, lignes et colonnes 2.5 Exemple de base de données
2. Concepts des bases de données 2.2 Valeur null 2.6 Modifications et contraintes
3. Modèle relationnel et normalisation 2.3 Identifiants et clés étrangères 2.7 Redondances internes
4. Implémentation des structures de données 2.4 Schéma et contenu 2.8 Les structures physiques
2.8 Les structures physiques - Les index
Index (dans un livre)
B
base de données active 167 les termes de la lettre B
base de données temporelles 153, 170
between 67
C
cardinalité d’attribut 182
cardinalité d’un role 187
catalogue 147, 169
cellules 280
Chen 29, 205
chimpanzé 364
circuit de dépendances 312, 392
classe d’objets 201
le terme clé étrangère
classe fonctionnelle 184, 185, 242, 245
numéros des pages
clé étrangère 34, 44, 77, 81, 156
close 145 qui contiennent ce terme
coalescing 155
COBOL 18, 143
Codd 27
codomaine 351
colonne 32, 35, 44
I. Concepts des bases de données Bases de données • © J-L Hainaut 2022 34
1. Motivation et introduction 5. Les SGBD 2.1 Tables, lignes et colonnes 2.5 Exemple de base de données
2. Concepts des bases de données 2.2 Valeur null 2.6 Modifications et contraintes
3. Modèle relationnel et normalisation 2.3 Identifiants et clés étrangères 2.7 Redondances internes
4. Implémentation des structures de données 2.4 Schéma et contenu 2.8 Les structures physiques
2.8 Les structures physiques - Les index
Index (dans une base de données)
Index sur la colonne LOCALITE
01
02
03
04
Bruxelles 11 05
06
Genève 03 07
Lille 12 08
Namur 01 06 14 15 09
Paris 16 10
Poitiers 02 07 09 11
Toulouse 04 05 08 10 13 12
13
14
15
16
numéros des lignes dont
LOCALITE = 'Toulouse'
chaque ligne possède un numéro unique;
les valeurs de LOCALITE,
l'accès à une ligne de numéro donné est très rapide
triées par ordre alphabétique
I. Concepts des bases de données Bases de données • © J-L Hainaut 2022 35
1. Motivation et introduction 5. Les SGBD 2.1 Tables, lignes et colonnes 2.5 Exemple de base de données
2. Concepts des bases de données 2.2 Valeur null 2.6 Modifications et contraintes
3. Modèle relationnel et normalisation 2.3 Identifiants et clés étrangères 2.7 Redondances internes
4. Implémentation des structures de données 2.4 Schéma et contenu 2.8 Les structures physiques
2.8 Les structures physiques - Les index
Index
L'accès à une ligne d'une table via un index prend généralement
de 10 à 20 millisecondes.
En l'absence d'index, l'accès à cette ligne peut exiger la lecture de toute la
table, soit de 1 minute à 1 heure !
I. Concepts des bases de données Bases de données • © J-L Hainaut 2022 36
1. Motivation et introduction 5. Les SGBD 2.1 Tables, lignes et colonnes 2.5 Exemple de base de données
2. Concepts des bases de données 2.2 Valeur null 2.6 Modifications et contraintes
3. Modèle relationnel et normalisation 2.3 Identifiants et clés étrangères 2.7 Redondances internes
4. Implémentation des structures de données 2.4 Schéma et contenu 2.8 Les structures physiques
2.8 Les structures physiques - Les index
Index
On définira généralement un index sur les colonnes qui constituent un
identifiant (pour accélérer l'accès et la vérification avant insertion d'une ligne).
On définira souvent un index sur les colonnes qui constituent une clé
étrangère (pour accélérer l'accès et la vérification avant suppression d'une
ligne).
On définira souvent un index sur les colonnes qui constituent une condition de
sélection fréquemment utilisée.
I. Concepts des bases de données Bases de données • © J-L Hainaut 2022 37
1. Motivation et introduction 5. Les SGBD 2.1 Tables, lignes et colonnes 2.5 Exemple de base de données
2. Concepts des bases de données 2.2 Valeur null 2.6 Modifications et contraintes
3. Modèle relationnel et normalisation 2.3 Identifiants et clés étrangères 2.7 Redondances internes
4. Implémentation des structures de données 2.4 Schéma et contenu 2.8 Les structures physiques
2.8 Les structures physiques
Espace de stockage
La table est une collection de lignes dont les éléments doivent être stockés
sur un disque. Les lignes seront rangées dans un espace spécial qui leur est
réservé : un espace de stockage. L'espace correspond à un fichier occupant
tout ou partie d'un disque (voire de plusieurs disques).
Un espace de stockage est caractérisé notamment par son adresse, son
volume initial, la manière dont il grandit ou se réduit selon les besoins, les
tables dont il accueille les lignes, la technique de rangement des lignes.
I. Concepts des bases de données Bases de données • © J-L Hainaut 2022 38
1. Motivation et introduction 5. Les SGBD 2.1 Tables, lignes et colonnes 2.5 Exemple de base de données
2. Concepts des bases de données 2.2 Valeur null 2.6 Modifications et contraintes
3. Modèle relationnel et normalisation 2.3 Identifiants et clés étrangères 2.7 Redondances internes
4. Implémentation des structures de données 2.4 Schéma et contenu 2.8 Les structures physiques
2.8 Les structures physiques
Un schéma physique
un index est défini sur les colonnes
{NCOM, NPRO}, par ailleurs identifiantes
CLIENT
NCLI
NOM COMMANDE DETAIL PRODUIT CLI_PRO_DAT
un index
ADRESSE NCOM NCOM NPRO
(ou clé d'accès) LOCALITE DATECOM NPRO LIBELLE CLIENT
CAT[0-1] NCLI QCOM PRIX PRODUIT
COMPTE id: NCOM id: NCOM QSTOCK
id: NCLI acc NPRO id: NPRO
acc ref: NCLI acc acc COM_DAT
acc: NOM acc ref: NCOM
acc: LOCALITE acc: DATECOM ref: NPRO
COMMANDE un espace
DETAIL de stockage
acc
Les structures physiques seront étudiées de manière
détaillée au chapitre 4
I. Concepts des bases de données Bases de données • © J-L Hainaut 2022 39
1. Motivation et introduction 5. Les SGBD
2. Concepts des bases de données
3. Modèle relationnel et normalisation
4. Implémentation des structures de données
Fin du module 2
Module(s) suivant(s) :
Partie I, mod. 3 : Modèle relationnel et normalisation
I. Concepts des bases de données Bases de données • © J-L Hainaut 2022 40
1. Motivation et introduction 5. Les SGBD
2. Concepts des bases de données
3. Modèle relationnel et normalisation
4. Implémentation des structures de données
I. Concepts des bases de données Bases de données • © J-L Hainaut 2022 41