Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Concepts Des BD (Concepts)

Télécharger au format ppt, pdf ou txt
Télécharger au format ppt, pdf ou txt
Vous êtes sur la page 1sur 38

1. Motivation et introduction 5. Les SGBD 1.1 Introduction 1.

5 Les structures physiques


2. Concepts des bases de données 1.2 Création d'un schéma 1.6 Exemple
3. Modèle relationnel et normalisation 1.3 Création d'une table
5. Implémentation des structures de données 1.4 Modification d'une table

2. CONCEPTS DES BASES DE DONNEES

Version 1 - Mai 2009

Support du chapitre 2, Concepts des bases de données


de l'ouvrage Bases de données, J-L Hainaut, Dunod 2009.

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

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

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

2.1 Tables, lignes et colonnes

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

2.1 Tables, lignes et colonnes

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

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.

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

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.

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

2.3 Identifiants et clés étrangères

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

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é.

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

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.

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é.

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.

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

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 !

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

2.4 Schéma et contenu

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

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.

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

2.5 Exemple de base de données

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

2.5 Exemple de base de données

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

2.5 Exemple de base de données

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

2.6 Modifications 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é.

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

2.6 Modifications et contraintes - Colonne obligatoire

COMMANDE CLIENT
NCOM NCLI
NCLI NOM
DATECOM ADRESSE
id: NCOM id: NCLI
ref: NCLI

colonne NOM 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

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

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 valeur de NCOM la nouvelle valeur de NCOM ne doit pas être


de COMMANDE déjà présente dans une ligne de COMMANDE

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

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
urs ts
l usie men
supprimer une ligne l'intégrité référentielle doit être satisfaite p rte s
m po ible
de CLIENT après l'opération co poss

modifier valeur de NCLI la nouvelle valeur de NCLI doit être présente


de COMMANDE dans la colonne NCLI d'une ligne de CLIENT

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

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


Comportement
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 ligne (si NCLI de COMMANDE facultative) la colonne
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
mises à la valeur par défaut

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

2.7 Redondances internes

Table répertoriant les livres d'une bibliothèque :

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

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 des bases de données : tout fait du


domaine d'application est enregistré une et une seule fois.

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

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 ?

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

2.7 Redondances internes

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

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.

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

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 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

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

2.7 Redondances internes

Notion de dépendance fonctionnelle

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

NUMERO  TITRE, AUTEUR, ISBN, DATE_ACHAT, EMPL

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

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 LIVRES mais n'en est pas un


identifiant. Il entraîne donc des redondances internes.

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

2.7 Redondances internes

Comment corriger les situations de redondance ?

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

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 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

2.8 Les structures physiques

Les tables sont stockées sur le disque de l'ordinateur.


Si elles sont très volumineuses, l'accès aux données et leur modification
risque 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 garantissent de bonnes performances aux


opérations de lecture et de modification.

Deux mécanismes principaux :


 les index
 les espaces de stockage

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

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

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

2.8 Les structures physiques - Les index

Index (dans une base de données)

Index sur la colonne LOCALITE

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

2.8 Les structures physiques - Les index

Index (dans une base de données)

L'accès à une ligne via un identifiant prend généralement


de 10 à 20 millisecondes.

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è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

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.

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

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
acc de stockage

Les structures physiques seront étudiées de manière


plus détaillées au chapitre 4

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

Vous aimerez peut-être aussi