Concepts Des BD (Concepts)
Concepts Des BD (Concepts)
Concepts Des BD (Concepts)
azerty
I. Concepts des bases de données Bases de données J-L Hainaut 2009 1
1. Motivation et introduction 5. Les SGBD 1.1 Tables, lignes et colonnes 1.5 Exemple de base de données
2. Concepts des bases de données 1.2 Valeur null 1.6 Modifications et contraintes
3. Modèle relationnel et normalisation 1.3 Identifiants et clés étrangères 1.7 Redondances internes
5. Implémentation des structures de données 1.4 Schéma et contenu 1.8 Les structures physiques
azerty
I. Concepts des bases de données Bases de données J-L Hainaut 2009 2
1. Motivation et introduction 5. Les SGBD 1.1 Tables, lignes et colonnes 1.5 Exemple de base de données
2. Concepts des bases de données 1.2 Valeur null 1.6 Modifications et contraintes
3. Modèle relationnel et normalisation 1.3 Identifiants et clés étrangères 1.7 Redondances internes
5. Implémentation des structures de données 1.4 Schéma et contenu 1.8 Les structures physiques
azerty
I. Concepts des bases de données Bases de données J-L Hainaut 2009 3
1. Motivation et introduction 5. Les SGBD 1.1 Tables, lignes et colonnes 1.5 Exemple de base de données
2. Concepts des bases de données 1.2 Valeur null 1.6 Modifications et contraintes
3. Modèle relationnel et normalisation 1.3 Identifiants et clés étrangères 1.7 Redondances internes
5. Implémentation des structures de données 1.4 Schéma et contenu 1.8 Les structures physiques
schéma
ligne
données
colonne colonne
obligatoire facultative
azerty
I. Concepts des bases de données Bases de données J-L Hainaut 2009 4
1. Motivation et introduction 5. Les SGBD 1.1 Tables, lignes et colonnes 1.5 Exemple de base de données
2. Concepts des bases de données 1.2 Valeur null 1.6 Modifications et contraintes
3. Modèle relationnel et normalisation 1.3 Identifiants et clés étrangères 1.7 Redondances internes
5. Implémentation des structures de données 1.4 Schéma et contenu 1.8 Les structures physiques
azerty
I. Concepts des bases de données Bases de données J-L Hainaut 2009 5
1. Motivation et introduction 5. Les SGBD 1.1 Tables, lignes et colonnes 1.5 Exemple de base de données
2. Concepts des bases de données 1.2 Valeur null 1.6 Modifications et contraintes
3. Modèle relationnel et normalisation 1.3 Identifiants et clés étrangères 1.7 Redondances internes
5. Implémentation des structures de données 1.4 Schéma et contenu 1.8 Les structures physiques
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.
azerty
I. Concepts des bases de données Bases de données J-L Hainaut 2009 6
1. Motivation et introduction 5. Les SGBD 1.1 Tables, lignes et colonnes 1.5 Exemple de base de données
2. Concepts des bases de données 1.2 Valeur null 1.6 Modifications et contraintes
3. Modèle relationnel et normalisation 1.3 Identifiants et clés étrangères 1.7 Redondances internes
5. Implémentation des structures de données 1.4 Schéma et contenu 1.8 Les structures physiques
identifiant
clé étrangère
dans le schéma
dans les données
azerty
I. Concepts des bases de données Bases de données J-L Hainaut 2009 7
1. Motivation et introduction 5. Les SGBD 1.1 Tables, lignes et colonnes 1.5 Exemple de base de données
2. Concepts des bases de données 1.2 Valeur null 1.6 Modifications et contraintes
3. Modèle relationnel et normalisation 1.3 Identifiants et clés étrangères 1.7 Redondances internes
5. Implémentation des structures de données 1.4 Schéma et contenu 1.8 Les structures physiques
Il est possible de déclarer une table sans identifiant mais ceci n'est pas
recommandé.
azerty
I. Concepts des bases de données Bases de données J-L Hainaut 2009 8
1. Motivation et introduction 5. Les SGBD 1.1 Tables, lignes et colonnes 1.5 Exemple de base de données
2. Concepts des bases de données 1.2 Valeur null 1.6 Modifications et contraintes
3. Modèle relationnel et normalisation 1.3 Identifiants et clés étrangères 1.7 Redondances internes
5. Implémentation des structures de données 1.4 Schéma et contenu 1.8 Les structures physiques
azerty
I. Concepts des bases de données Bases de données J-L Hainaut 2009 9
1. Motivation et introduction 5. Les SGBD 1.1 Tables, lignes et colonnes 1.5 Exemple de base de données
2. Concepts des bases de données 1.2 Valeur null 1.6 Modifications et contraintes
3. Modèle relationnel et normalisation 1.3 Identifiants et clés étrangères 1.7 Redondances internes
5. Implémentation des structures de données 1.4 Schéma et contenu 1.8 Les structures physiques
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.
[*] problème : le terme clé admet plus de 20 acceptions différentes dans le domaine des
bases de données !
azerty
I. Concepts des bases de données Bases de données J-L Hainaut 2009 10
1. Motivation et introduction 5. Les SGBD 1.1 Tables, lignes et colonnes 1.5 Exemple de base de données
2. Concepts des bases de données 1.2 Valeur null 1.6 Modifications et contraintes
3. Modèle relationnel et normalisation 1.3 Identifiants et clés étrangères 1.7 Redondances internes
5. Implémentation des structures de données 1.4 Schéma et contenu 1.8 Les structures physiques
le schéma
les données
azerty
I. Concepts des bases de données Bases de données J-L Hainaut 2009 11
1. Motivation et introduction 5. Les SGBD 1.1 Tables, lignes et colonnes 1.5 Exemple de base de données
2. Concepts des bases de données 1.2 Valeur null 1.6 Modifications et contraintes
3. Modèle relationnel et normalisation 1.3 Identifiants et clés étrangères 1.7 Redondances internes
5. Implémentation des structures de données 1.4 Schéma et contenu 1.8 Les structures physiques
azerty
I. Concepts des bases de données Bases de données J-L Hainaut 2009 12
1. Motivation et introduction 5. Les SGBD 1.1 Tables, lignes et colonnes 1.5 Exemple de base de données
2. Concepts des bases de données 1.2 Valeur null 1.6 Modifications et contraintes
3. Modèle relationnel et normalisation 1.3 Identifiants et clés étrangères 1.7 Redondances internes
5. Implémentation des structures de données 1.4 Schéma et contenu 1.8 Les structures physiques
azerty
I. Concepts des bases de données Bases de données J-L Hainaut 2009 13
1. Motivation et introduction 5. Les SGBD 1.1 Tables, lignes et colonnes 1.5 Exemple de base de données
2. Concepts des bases de données 1.2 Valeur null 1.6 Modifications et contraintes
3. Modèle relationnel et normalisation 1.3 Identifiants et clés étrangères 1.7 Redondances internes
5. Implémentation des structures de données 1.4 Schéma et contenu 1.8 Les structures physiques
azerty
I. Concepts des bases de données Bases de données J-L Hainaut 2009 14
1. Motivation et introduction 5. Les SGBD 1.1 Tables, lignes et colonnes 1.5 Exemple de base de données
2. Concepts des bases de données 1.2 Valeur null 1.6 Modifications et contraintes
3. Modèle relationnel et normalisation 1.3 Identifiants et clés étrangères 1.7 Redondances internes
5. Implémentation des structures de données 1.4 Schéma et contenu 1.8 Les structures physiques
Variantes de 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
azerty
I. Concepts des bases de données Bases de données J-L Hainaut 2009 15
1. Motivation et introduction 5. Les SGBD 1.1 Tables, lignes et colonnes 1.5 Exemple de base de données
2. Concepts des bases de données 1.2 Valeur null 1.6 Modifications et contraintes
3. Modèle relationnel et normalisation 1.3 Identifiants et clés étrangères 1.7 Redondances internes
5. Implémentation des structures de données 1.4 Schéma et contenu 1.8 Les structures physiques
azerty
I. Concepts des bases de données Bases de données J-L Hainaut 2009 16
1. Motivation et introduction 5. Les SGBD 1.1 Tables, lignes et colonnes 1.5 Exemple de base de données
2. Concepts des bases de données 1.2 Valeur null 1.6 Modifications et contraintes
3. Modèle relationnel et normalisation 1.3 Identifiants et clés étrangère 1.7 Redondances internes
5. Implémentation des structures de données 1.4 Schéma et contenu 1.8 Les structures physiques
COMMANDE CLIENT
NCOM NCLI
NCLI NOM
DATECOM ADRESSE
id: NCOM id: NCLI
ref: NCLI
azerty
I. Concepts des bases de données Bases de données J-L Hainaut 2009 17
1. Motivation et introduction 5. Les SGBD 1.1 Tables, lignes et colonnes 1.5 Exemple de base de données
2. Concepts des bases de données 1.2 Valeur null 1.6 Modifications et contraintes
3. Modèle relationnel et normalisation 1.3 Identifiants et clés étrangère 1.7 Redondances internes
5. Implémentation des structures de données 1.4 Schéma et contenu 1.8 Les structures physiques
COMMANDE CLIENT
NCOM NCLI
NCLI NOM
DATECOM ADRESSE
id: NCOM id: NCLI
ref: NCLI
azerty
I. Concepts des bases de données Bases de données J-L Hainaut 2009 18
1. Motivation et introduction 5. Les SGBD 1.1 Tables, lignes et colonnes 1.5 Exemple de base de données
2. Concepts des bases de données 1.2 Valeur null 1.6 Modifications et contraintes
3. Modèle relationnel et normalisation 1.3 Identifiants et clés étrangère 1.7 Redondances internes
5. Implémentation des structures de données 1.4 Schéma et contenu 1.8 Les structures physiques
COMMANDE CLIENT
NCOM NCLI
NCLI NOM
DATECOM ADRESSE
id: NCOM id: NCLI
ref: NCLI
azerty
I. Concepts des bases de données Bases de données J-L Hainaut 2009 19
1. Motivation et introduction 5. Les SGBD 1.1 Tables, lignes et colonnes 1.5 Exemple de base de données
2. Concepts des bases de données 1.2 Valeur null 1.6 Modifications et contraintes
3. Modèle relationnel et normalisation 1.3 Identifiants et clés étrangère 1.7 Redondances internes
5. Implémentation des structures de données 1.4 Schéma et contenu 1.8 Les structures physiques
COMMANDE CLIENT
NCOM NCLI
NCLI NOM
DATECOM ADRESSE
id: NCOM id: NCLI
ref: NCLI
azerty
I. Concepts des bases de données Bases de données J-L Hainaut 2009 20
1. Motivation et introduction 5. Les SGBD 1.1 Tables, lignes et colonnes 1.5 Exemple de base de données
2. Concepts des bases de données 1.2 Valeur null 1.6 Modifications et contraintes
3. Modèle relationnel et normalisation 1.3 Identifiants et clés étrangères 1.7 Redondances internes
5. Implémentation des structures de données 1.4 Schéma et contenu 1.8 Les structures physiques
azerty
I. Concepts des bases de données Bases de données J-L Hainaut 2009 21
1. Motivation et introduction 5. Les SGBD 1.1 Tables, lignes et colonnes 1.5 Exemple de base de données
2. Concepts des bases de données 1.2 Valeur null 1.6 Modifications et contraintes
3. Modèle relationnel et normalisation 1.3 Identifiants et clés étrangères 1.7 Redondances internes
5. Implémentation des structures de données 1.4 Schéma et contenu 1.8 Les structures physiques
Observation
Les données TITRE et AUTEUR sont répétées autant de fois qu'il existe
de livres identiques.
azerty
I. Concepts des bases de données Bases de données J-L Hainaut 2009 22
1. Motivation et introduction 5. Les SGBD 1.1 Tables, lignes et colonnes 1.5 Exemple de base de données
2. Concepts des bases de données 1.2 Valeur null 1.6 Modifications et contraintes
3. Modèle relationnel et normalisation 1.3 Identifiants et clés étrangères 1.7 Redondances internes
5. Implémentation des structures de données 1.4 Schéma et contenu 1.8 Les structures physiques
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 ?
azerty
I. Concepts des bases de données Bases de données J-L Hainaut 2009 23
1. Motivation et introduction 5. Les SGBD 1.1 Tables, lignes et colonnes 1.5 Exemple de base de données
2. Concepts des bases de données 1.2 Valeur null 1.6 Modifications et contraintes
3. Modèle relationnel et normalisation 1.3 Identifiants et clés étrangères 1.7 Redondances internes
5. Implémentation des structures de données 1.4 Schéma et contenu 1.8 Les structures physiques
Suggestion
Rassembler les données communes (ISBN, TITRE, AUTEUR) dans une
table spécifique
azerty
I. Concepts des bases de données Bases de données J-L Hainaut 2009 24
1. Motivation et introduction 5. Les SGBD 1.1 Tables, lignes et colonnes 1.5 Exemple de base de données
2. Concepts des bases de données 1.2 Valeur null 1.6 Modifications et contraintes
3. Modèle relationnel et normalisation 1.3 Identifiants et clés étrangères 1.7 Redondances internes
5. Implémentation des structures de données 1.4 Schéma et contenu 1.8 Les structures physiques
Deux questions
1. Comment détecter les situations de redondance ?
2. Comment les corriger ?
azerty
I. Concepts des bases de données Bases de données J-L Hainaut 2009 25
1. Motivation et introduction 5. Les SGBD 1.1 Tables, lignes et colonnes 1.5 Exemple de base de données
2. Concepts des bases de données 1.2 Valeur null 1.6 Modifications et contraintes
3. Modèle relationnel et normalisation 1.3 Identifiants et clés étrangères 1.7 Redondances internes
5. Implémentation des structures de données 1.4 Schéma et contenu 1.8 Les structures physiques
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
azerty
I. Concepts des bases de données Bases de données J-L Hainaut 2009 26
1. Motivation et introduction 5. Les SGBD 1.1 Tables, lignes et colonnes 1.5 Exemple de base de données
2. Concepts des bases de données 1.2 Valeur null 1.6 Modifications et contraintes
3. Modèle relationnel et normalisation 1.3 Identifiants et clés étrangères 1.7 Redondances internes
5. Implémentation des structures de données 1.4 Schéma et contenu 1.8 Les structures physiques
Deux observations
1. un identifiant détermine toutes les colonnes de la table
2. si un groupe de colonne détermine chaque colonne de la table, il constitue
un identifiant de la table
azerty
I. Concepts des bases de données Bases de données J-L Hainaut 2009 27
1. Motivation et introduction 5. Les SGBD 1.1 Tables, lignes et colonnes 1.5 Exemple de base de données
2. Concepts des bases de données 1.2 Valeur null 1.6 Modifications et contraintes
3. Modèle relationnel et normalisation 1.3 Identifiants et clés étrangères 1.7 Redondances internes
5. Implémentation des structures de données 1.4 Schéma et contenu 1.8 Les structures physiques
Réponse
Il y a redondance interne dès qu'il existe un déterminant qui n'est
pas un identifiant de la table
azerty
I. Concepts des bases de données Bases de données J-L Hainaut 2009 28
1. Motivation et introduction 5. Les SGBD 1.1 Tables, lignes et colonnes 1.5 Exemple de base de données
2. Concepts des bases de données 1.2 Valeur null 1.6 Modifications et contraintes
3. Modèle relationnel et normalisation 1.3 Identifiants et clés étrangères 1.7 Redondances internes
5. Implémentation des structures de données 1.4 Schéma et contenu 1.8 Les structures physiques
Réponse
En décomposant la table T en deux fragments :
T1(déterminant, déterminé)
T2(déterminant, résidu)
T2.déterminant clé étrangère vers T1
azerty
I. Concepts des bases de données Bases de données J-L Hainaut 2009 29
1. Motivation et introduction 5. Les SGBD 1.1 Tables, lignes et colonnes 1.5 Exemple de base de données
2. Concepts des bases de données 1.2 Valeur null 1.6 Modifications et contraintes
3. Modèle relationnel et normalisation 1.3 Identifiants et clés étrangères 1.7 Redondances internes
5. Implémentation des structures de données 1.4 Schéma et contenu 1.8 Les structures physiques
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 dire 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.
azerty
I. Concepts des bases de données Bases de données J-L Hainaut 2009 30
1. Motivation et introduction 5. Les SGBD 1.1 Tables, lignes et colonnes 1.5 Exemple de base de données
2. Concepts des bases de données 1.2 Valeur null 1.6 Modifications et contraintes
3. Modèle relationnel et normalisation 1.3 Identifiants et clés étrangères 1.7 Redondances internes
5. Implémentation des structures de données 1.4 Schéma et contenu 1.8 Les structures physiques
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.
azerty
I. Concepts des bases de données Bases de données J-L Hainaut 2009 31
1. Motivation et introduction 5. Les SGBD 1.1 Tables, lignes et colonnes 1.5 Exemple de base de données
2. Concepts des bases de données 1.2 Valeur null 1.6 Modifications et contraintes
3. Modèle relationnel et normalisation 1.3 Identifiants et clés étrangères 1.7 Redondances internes
5. Implémentation des structures de données 1.4 Schéma et contenu 1.8 Les structures physiques
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
azerty
I. Concepts des bases de données Bases de données J-L Hainaut 2009 32
1. Motivation et introduction 5. Les SGBD 1.1 Tables, lignes et colonnes 1.5 Exemple de base de données
2. Concepts des bases de données 1.2 Valeur null 1.6 Modifications et contraintes
3. Modèle relationnel et normalisation 1.3 Identifiants et clés étrangères 1.7 Redondances internes
5. Implémentation des structures de données 1.4 Schéma et contenu 1.8 Les structures physiques
01
02
03
04
05
Bruxelles 11
06
Genève 03 07
Lille 12 08
Namur 01 06 14 15 09
Paris 16 10
Poitiers 02 07 09 11
12
Toulouse 04 05 08 10 13
13
14
15
16
numéros des lignes dont
LOCALITE = 'Toulouse'
chaque 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
azerty
I. Concepts des bases de données Bases de données J-L Hainaut 2009 33
1. Motivation et introduction 5. Les SGBD 1.1 Tables, lignes et colonnes 1.5 Exemple de base de données
2. Concepts des bases de données 1.2 Valeur null 1.6 Modifications et contraintes
3. Modèle relationnel et normalisation 1.3 Identifiants et clés étrangères 1.7 Redondances internes
5. Implémentation des structures de données 1.4 Schéma et contenu 1.8 Les structures physiques
On définira souvent un index sur les colonnes qui constituent une clé
étrangères (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.
azerty
I. Concepts des bases de données Bases de données J-L Hainaut 2009 34
1. Motivation et introduction 5. Les SGBD 1.1 Tables, lignes et colonnes 1.5 Exemple de base de données
2. Concepts des bases de données 1.2 Valeur null 1.6 Modifications et contraintes
3. Modèle relationnel et normalisation 1.3 Identifiants et clés étrangères 1.7 Redondances internes
5. Implémentation des structures de données 1.4 Schéma et contenu 1.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).
azerty
I. Concepts des bases de données Bases de données J-L Hainaut 2009 35
1. Motivation et introduction 5. Les SGBD 1.1 Tables, lignes et colonnes 1.5 Exemple de base de données
2. Concepts des bases de données 1.2 Valeur null 1.6 Modifications et contraintes
3. Modèle relationnel et normalisation 1.3 Identifiants et clés étrangères 1.7 Redondances internes
5. Implémentation des structures de données 1.4 Schéma et contenu 1.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
acc de stockage
azerty
I. Concepts des bases de données Bases de données J-L Hainaut 2009 36
1. Motivation et introduction 5. Les SGBD
2. Concepts des bases de données
3. Modèle relationnel et normalisation
5. Implémentation des structures de données
Fin du chapitre 2
Chapitre(s) suivant(s) :
Partie I, chap. 3 : Modèle relationnel et normalisation
ou
Partie II, chap 1 : Le langage SQL DDL
azerty
I. Concepts des bases de données Bases de données J-L Hainaut 2009 37
azerty Bases de données J-L Hainaut 2009 38