Vous êtes sur la page 1sur 41

1. Motivation et introduction 2. Concepts des bases de donnes 3. Modle relationnel et normalisation 4.

Implmentation des structures de donnes

5. Les SGBD

2.1 Tables, lignes et colonnes 2.2 Valeur null 2.3 Identifiants et cls trangres 2.4 Schma et contenu

2.5 Exemple de base de donnes 2.6 Modifications et contraintes 2.7 Redondances internes 2.8 Les structures physiques

2. CONCEPTS DES BASES DE DONNEES

Version 2 - Janvier 2012

Support du chapitre 2, Concepts des bases de donnes de l'ouvrage Bases de donnes, J-L Hainaut, Dunod 2009, 2012. I. Concepts des bases de donnes Bases de donnes J-L Hainaut 2012 1

1. Motivation et introduction 2. Concepts des bases de donnes 3. Modle relationnel et normalisation 4. Implmentation des structures de donnes

5. Les SGBD

2.1 Tables, lignes et colonnes 2.2 Valeur null 2.3 Identifiants et cls trangres 2.4 Schma et contenu

2.5 Exemple de base de donnes 2.6 Modifications et contraintes 2.7 Redondances internes 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 cls trangres 2.4 Schma et contenu 2.5 Exemple de base de donnes 2.6 Modifications et contraintes 2.7 Redondances internes 2.8 Les constructions physiques

I. Concepts des bases de donnes

Bases de donnes J-L Hainaut 2012

1. Motivation et introduction 2. Concepts des bases de donnes 3. Modle relationnel et normalisation 4. Implmentation des structures de donnes

5. Les SGBD

2.1 Tables, lignes et colonnes 2.2 Valeur null 2.3 Identifiants et cls trangres 2.4 Schma et contenu

2.5 Exemple de base de donnes 2.6 Modifications et contraintes 2.7 Redondances internes 2.8 Les structures physiques

2.1 Tables, lignes et colonnes

I. Concepts des bases de donnes

Bases de donnes J-L Hainaut 2012

1. Motivation et introduction 2. Concepts des bases de donnes 3. Modle relationnel et normalisation 4. Implmentation des structures de donnes

5. Les SGBD

2.1 Tables, lignes et colonnes 2.2 Valeur null 2.3 Identifiants et cls trangres 2.4 Schma et contenu

2.5 Exemple de base de donnes 2.6 Modifications et contraintes 2.7 Redondances internes 2.8 Les structures physiques

2.1 Tables, lignes et colonnes

schma

ligne

donnes

colonne obligatoire

colonne facultative

I. Concepts des bases de donnes

Bases de donnes J-L Hainaut 2012

1. Motivation et introduction 2. Concepts des bases de donnes 3. Modle relationnel et normalisation 4. Implmentation des structures de donnes

5. Les SGBD

2.1 Tables, lignes et colonnes 2.2 Valeur null 2.3 Identifiants et cls trangres 2.4 Schma et contenu

2.5 Exemple de base de donnes 2.6 Modifications et contraintes 2.7 Redondances internes 2.8 Les structures physiques

2.2 Valeur null


L'absence de valeur est indique par un marqueur spcial, dit valeur null. Gnralement reprsent par <null> ou par rien.

Problme : plusieurs interprtations 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 donnes

Bases de donnes J-L Hainaut 2012

1. Motivation et introduction 2. Concepts des bases de donnes 3. Modle relationnel et normalisation 4. Implmentation des structures de donnes

5. Les SGBD

2.1 Tables, lignes et colonnes 2.2 Valeur null 2.3 Identifiants et cls trangres 2.4 Schma et contenu

2.5 Exemple de base de donnes 2.6 Modifications et contraintes 2.7 Redondances internes 2.8 Les structures physiques

2.3 Identifiants et cls trangres


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 possde des valeurs dtermines pour ces colonnes. La valeur de l'identifiant permet de dsigner une ligne de T. Une cl trangre 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 trangre sert rfrencer une ligne de la table T.

I. Concepts des bases de donnes

Bases de donnes J-L Hainaut 2012

1. Motivation et introduction 2. Concepts des bases de donnes 3. Modle relationnel et normalisation 4. Implmentation des structures de donnes

5. Les SGBD

2.1 Tables, lignes et colonnes 2.2 Valeur null 2.3 Identifiants et cls trangres 2.4 Schma et contenu

2.5 Exemple de base de donnes 2.6 Modifications et contraintes 2.7 Redondances internes 2.8 Les structures physiques

2.3 Identifiants et cls trangres

identifiant

cl trangre

dans le schma dans les donnes

I. Concepts des bases de donnes

Bases de donnes J-L Hainaut 2012

1. Motivation et introduction 2. Concepts des bases de donnes 3. Modle relationnel et normalisation 4. Implmentation des structures de donnes

5. Les SGBD

2.1 Tables, lignes et colonnes 2.2 Valeur null 2.3 Identifiants et cls trangres 2.4 Schma et contenu

2.5 Exemple de base de donnes 2.6 Modifications et contraintes 2.7 Redondances internes 2.8 Les structures physiques

2.3 Identifiants et cls trangres

Un identifiant dfinit une contrainte d'unicit. Il existe d'autres moyens de dfinir cette contrainte. Une table peut possder plusieurs identifiants. On choisit l'un d'eux, qu'on dclare primaire. Les autres sont ds lors secondaires. L'identifiant primaire est constitu de colonnes obligatoires. Un identifiant est minimal si chacune de ses colonnes est ncessaire pour garantir la contrainte d'unicit. Il est possible de dclarer une table sans identifiant mais ceci n'est pas recommand.

I. Concepts des bases de donnes

Bases de donnes J-L Hainaut 2012

1. Motivation et introduction 2. Concepts des bases de donnes 3. Modle relationnel et normalisation 4. Implmentation des structures de donnes

5. Les SGBD

2.1 Tables, lignes et colonnes 2.2 Valeur null 2.3 Identifiants et cls trangres 2.4 Schma et contenu

2.5 Exemple de base de donnes 2.6 Modifications et contraintes 2.7 Redondances internes 2.8 Les structures physiques

2.3 Identifiants et cls trangres

Une cl trangre dfinit une contrainte rfrentielle. Il existe d'autres moyens de dfinir cette contrainte. Si une des colonnes d'une cl trangre est facultative, il est recommand de les rendre toutes facultatives (pourquoi ?). Une cl trangre rfrence en principe l'identifiant primaire de la table cible. Elle peut rfrencer un identifiant secondaire mais ceci n'est pas recommand (pourquoi ?). Une cl trangre et l'identifiant qu'elle rfrence ont la mme composition : mme nombre de colonnes et colonnes de mmes types prises deux deux. Il se peut qu'une cl trangre soit galement un identifiant.

Il se peut que les colonnes d'une cl trangre appartiennent, en tout ou en partie, un identifiant.

I. Concepts des bases de donnes

Bases de donnes J-L Hainaut 2012

1. Motivation et introduction 2. Concepts des bases de donnes 3. Modle relationnel et normalisation 4. Implmentation des structures de donnes

5. Les SGBD

2.1 Tables, lignes et colonnes 2.2 Valeur null 2.3 Identifiants et cls trangres 2.4 Schma et contenu

2.5 Exemple de base de donnes 2.6 Modifications et contraintes 2.7 Redondances internes 2.8 Les structures physiques

2.3 Identifiants et cls trangres

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 dsigner les identifiants secondaires.

Cl trangre = foreign key.

[*] problme : le terme cl admet plus de 20 acceptions diffrentes dans le domaine des bases de donnes !
I. Concepts des bases de donnes Bases de donnes J-L Hainaut 2012 10

1. Motivation et introduction 2. Concepts des bases de donnes 3. Modle relationnel et normalisation 4. Implmentation des structures de donnes

5. Les SGBD

2.1 Tables, lignes et colonnes 2.2 Valeur null 2.3 Identifiants et cls trangres 2.4 Schma et contenu

2.5 Exemple de base de donnes 2.6 Modifications et contraintes 2.7 Redondances internes 2.8 Les structures physiques

2.4 Schma et contenu


le schma

les donnes

I. Concepts des bases de donnes

Bases de donnes J-L Hainaut 2012

11

1. Motivation et introduction 2. Concepts des bases de donnes 3. Modle relationnel et normalisation 4. Implmentation des structures de donnes

5. Les SGBD

2.1 Tables, lignes et colonnes 2.2 Valeur null 2.3 Identifiants et cls trangres 2.4 Schma et contenu

2.5 Exemple de base de donnes 2.6 Modifications et contraintes 2.7 Redondances internes 2.8 Les structures physiques

2.4 Schma et contenu

Le schma d'une table dfinit sa structure. Il spcifie notamment : 1. le nom de la table,

2. pour chaque colonne, son nom, son type, son caractre obligatoire,
3. l'identifiant primaire (liste des colonnes) 4. les identifiants secondaires ventuels (liste des colonnes) 5. les cls trangres ventuelles (liste des colonnes et table cible). Le contenu d'une table est form d'un ensemble de lignes conformes au schma. Le contenu d'une table est sujet de frquentes modifications. Le schma d'une table peut voluer mais moins frquemment.

I. Concepts des bases de donnes

Bases de donnes J-L Hainaut 2012

12

1. Motivation et introduction 2. Concepts des bases de donnes 3. Modle relationnel et normalisation 4. Implmentation des structures de donnes

5. Les SGBD

2.1 Tables, lignes et colonnes 2.2 Valeur null 2.3 Identifiants et cls trangres 2.4 Schma et contenu

2.5 Exemple de base de donnes 2.6 Modifications et contraintes 2.7 Redondances internes 2.8 Les structures physiques

2.5 Exemple de base de donnes

I. Concepts des bases de donnes

Bases de donnes J-L Hainaut 2012

13

1. Motivation et introduction 2. Concepts des bases de donnes 3. Modle relationnel et normalisation 4. Implmentation des structures de donnes

5. Les SGBD

2.1 Tables, lignes et colonnes 2.2 Valeur null 2.3 Identifiants et cls trangres 2.4 Schma et contenu

2.5 Exemple de base de donnes 2.6 Modifications et contraintes 2.7 Redondances internes 2.8 Les structures physiques

2.5 Exemple de base de donnes

I. Concepts des bases de donnes

Bases de donnes J-L Hainaut 2012

14

1. Motivation et introduction 2. Concepts des bases de donnes 3. Modle relationnel et normalisation 4. Implmentation des structures de donnes

5. Les SGBD

2.1 Tables, lignes et colonnes 2.2 Valeur null 2.3 Identifiants et cls trangres 2.4 Schma et contenu

2.5 Exemple de base de donnes 2.6 Modifications et contraintes 2.7 Redondances internes 2.8 Les structures physiques

2.5 Exemple de base de donnes Variantes de schma

CLIENT NCLI NOM ADRESSE LOCALITE CAT[0-1] COMPTE id: NCLI

COMMANDE NCOM DATECOM NCLI id: NCOM ref: NCLI

DETAIL NCOM NPRO QCOM id: NCOM NPRO ref: NCOM ref: NPRO

PRODUIT NPRO LIBELLE PRIX QSTOCK id: NPRO

I. Concepts des bases de donnes

Bases de donnes J-L Hainaut 2012

15

1. Motivation et introduction 2. Concepts des bases de donnes 3. Modle relationnel et normalisation 4. Implmentation des structures de donnes

5. Les SGBD

2.1 Tables, lignes et colonnes 2.2 Valeur null 2.3 Identifiants et cls trangres 2.4 Schma et contenu

2.5 Exemple de base de donnes 2.6 Modifications et contraintes 2.7 Redondances internes 2.8 Les structures physiques

2.6 Modifications et contraintes d'intgrit


On admet trois contraintes d'intgrit : 1. colonne obligatoire 2. contrainte d'unicit 3. contrainte rfrentielle. Il existe trois oprations lmentaires de modification : 1. insrer une ligne 2. supprimer une ligne 3. modifier une valeur de colonne d'une ligne.

Principe : une modification ne sera effectue que si son rsultat ne viole aucune contrainte d'intgrit.

I. Concepts des bases de donnes

Bases de donnes J-L Hainaut 2012

16

1. Motivation et introduction 2. Concepts des bases de donnes 3. Modle relationnel et normalisation 4. Implmentation des structures de donnes

5. Les SGBD

2.1 Tables, lignes et colonnes 2.2 Valeur null 2.3 Identifiants et cls trangres 2.4 Schma et contenu

2.5 Exemple de base de donnes 2.6 Modifications et contraintes 2.7 Redondances internes 2.8 Les structures physiques

2.6 Modifications et contraintes - Colonne obligatoire


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

colonne NOM obligatoire

insrer une ligne de CLIENT supprimer une ligne de CLIENT modifier valeur de NOM de CLIENT

la valeur de NOM doit tre non null

la nouvelle valeur de NOM doit tre non null

I. Concepts des bases de donnes

Bases de donnes J-L Hainaut 2012

17

1. Motivation et introduction 2. Concepts des bases de donnes 3. Modle relationnel et normalisation 4. Implmentation des structures de donnes

5. Les SGBD

2.1 Tables, lignes et colonnes 2.2 Valeur null 2.3 Identifiants et cls trangres 2.4 Schma et contenu

2.5 Exemple de base de donnes 2.6 Modifications et contraintes 2.7 Redondances internes 2.8 Les structures physiques

2.6 Modifications et contraintes - Identifiant


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

{NCOM} identifiant de COMMANDE

insrer une ligne de COMMANDE


supprimer une ligne de COMMANDE modifier la valeur de NCOM de COMMANDE

la valeur de NCOM ne doit pas tre dj prsente dans une ligne de COMMANDE

la nouvelle valeur de NCOM ne doit pas tre dj prsente dans une ligne de COMMANDE

I. Concepts des bases de donnes

Bases de donnes J-L Hainaut 2012

18

1. Motivation et introduction 2. Concepts des bases de donnes 3. Modle relationnel et normalisation 4. Implmentation des structures de donnes

5. Les SGBD

2.1 Tables, lignes et colonnes 2.2 Valeur null 2.3 Identifiants et cls trangres 2.4 Schma et contenu

2.5 Exemple de base de donnes 2.6 Modifications et contraintes 2.7 Redondances internes 2.8 Les structures physiques

2.6 Modifications et contraintes - Cl trangre


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

{NCLI} cl trangre de COMMANDE vers CLIENT insrer une ligne de COMMANDE supprimer une ligne de COMMANDE supprimer une ligne de CLIENT modifier la valeur de NCLI de COMMANDE modifier la valeur de NCLI de CLIENT
I. Concepts des bases de donnes

la valeur de NCLI doit tre prsente dans la colonne NCLI d'une ligne de CLIENT

l'intgrit rfrentielle doit tre satisfaite aprs l'opration la nouvelle valeur de NCLI doit tre prsente dans la colonne NCLI d'une ligne de CLIENT l'intgrit rfrentielle doit tre satisfaite aprs l'opration
Bases de donnes J-L Hainaut 2012 19

1. Motivation et introduction 2. Concepts des bases de donnes 3. Modle relationnel et normalisation 4. Implmentation des structures de donnes

5. Les SGBD

2.1 Tables, lignes et colonnes 2.2 Valeur null 2.3 Identifiants et cls trangres 2.4 Schma et contenu

2.5 Exemple de base de donnes 2.6 Modifications et contraintes 2.7 Redondances internes 2.8 Les structures physiques

2.6 Modifications et contraintes - Cl trangre


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

Comportement

{NCLI} cl trangre de COMMANDE vers CLIENT opration refuse si lignes de COMMANDE dpendantes ligne supprime mais aussi les lignes de COMMANDE dpendantes (si NCLI de COMMANDE facultative) la colonne NCLI des lignes dpendantes de COMMANDE est mise null (si default pour NCLI de COMMANDE) la colonne NCLI des lignes dpendantes de COMMANDE est mise la valeur par dfaut

1. mode no action

2. mode cascade supprimer une ligne de CLIENT

3. mode set null

4. mode set default

I. Concepts des bases de donnes

Bases de donnes J-L Hainaut 2012

20

1. Motivation et introduction 2. Concepts des bases de donnes 3. Modle relationnel et normalisation 4. Implmentation des structures de donnes

5. Les SGBD

2.1 Tables, lignes et colonnes 2.2 Valeur null 2.3 Identifiants et cls trangres 2.4 Schma et contenu

2.5 Exemple de base de donnes 2.6 Modifications et contraintes 2.7 Redondances internes 2.8 Les structures physiques

2.6 Modifications et contraintes - Cl trangre


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

Comportement

{NCLI} cl trangre de COMMANDE vers CLIENT opration refuse s il existe des lignes de COMMANDE dpendantes opration ralise + valeurs de NCLI adaptes dans les lignes de COMMANDE dpendantes (si NCLI de COMMANDE facultative) opration ralise + NCLI mis null dans les lignes de COMMANDE dpendantes (si default pour NCLI de COMMANDE) opration ralise + NCLI mis default dans les lignes de COMMANDE dpendantes

1. mode no action

2. mode cascade modifier la valeur de NCLI de CLIENT

3. mode set null

4. mode set default

I. Concepts des bases de donnes

Bases de donnes J-L Hainaut 2012

21

1. Motivation et introduction 2. Concepts des bases de donnes 3. Modle relationnel et normalisation 4. Implmentation des structures de donnes

5. Les SGBD

2.1 Tables, lignes et colonnes 2.2 Valeur null 2.3 Identifiants et cls trangres 2.4 Schma et contenu

2.5 Exemple de base de donnes 2.6 Modifications et contraintes 2.7 Redondances internes 2.8 Les structures physiques

2.6 Modifications et contraintes - Cl trangre


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

Attention au cas (trs) spcial d'une cl trangre multicomposants dont certains composants sont facultatifs. Quelle raction face une ligne dont certains composants de la cl trangre sont null ? Trois modes possibles :

simple

full

partial

contrainte value ds que tous les composants sont valus; ignore sinon; contrainte value si tous les composants sont valus; contrainte ignore si tous les composants sont null; rejet sinon; la contrainte est value pour les composants valus;

I. Concepts des bases de donnes

Bases de donnes J-L Hainaut 2012

22

1. Motivation et introduction 2. Concepts des bases de donnes 3. Modle relationnel et normalisation 4. Implmentation des structures de donnes

5. Les SGBD

2.1 Tables, lignes et colonnes 2.2 Valeur null 2.3 Identifiants et cls trangres 2.4 Schma et contenu

2.5 Exemple de base de donnes 2.6 Modifications et contraintes 2.7 Redondances internes 2.8 Les structures physiques

2.7 Redondances internes


Table rpertoriant les livres d'une bibliothque :

I. Concepts des bases de donnes

Bases de donnes J-L Hainaut 2012

23

1. Motivation et introduction 2. Concepts des bases de donnes 3. Modle relationnel et normalisation 4. Implmentation des structures de donnes

5. Les SGBD

2.1 Tables, lignes et colonnes 2.2 Valeur null 2.3 Identifiants et cls trangres 2.4 Schma et contenu

2.5 Exemple de base de donnes 2.6 Modifications et contraintes 2.7 Redondances internes 2.8 Les structures physiques

2.7 Redondances internes

Observation Les donnes TITRE et AUTEUR sont rptes autant de fois qu'il existe de livres identiques.

Cette table viole le principe premier des bases de donnes : tout fait du domaine d'application est enregistr une et une seule fois.

I. Concepts des bases de donnes

Bases de donnes J-L Hainaut 2012

24

1. Motivation et introduction 2. Concepts des bases de donnes 3. Modle relationnel et normalisation 4. Implmentation des structures de donnes

5. Les SGBD

2.1 Tables, lignes et colonnes 2.2 Valeur null 2.3 Identifiants et cls trangres 2.4 Schma et contenu

2.5 Exemple de base de donnes 2.6 Modifications et contraintes 2.7 Redondances internes 2.8 Les structures physiques

2.7 Redondances internes

Problmes gaspillage d'espace si on modifie la valeur d'un titre, il faut rpercuter 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 orthographis exactement de la mme manire pour tous les exemplaires d'un livre ?

I. Concepts des bases de donnes

Bases de donnes J-L Hainaut 2012

25

1. Motivation et introduction 2. Concepts des bases de donnes 3. Modle relationnel et normalisation 4. Implmentation des structures de donnes

5. Les SGBD

2.1 Tables, lignes et colonnes 2.2 Valeur null 2.3 Identifiants et cls trangres 2.4 Schma et contenu

2.5 Exemple de base de donnes 2.6 Modifications et contraintes 2.7 Redondances internes 2.8 Les structures physiques

2.7 Redondances internes

Suggestion Rassembler les donnes communes (ISBN, TITRE, AUTEUR) dans une table spcifique

I. Concepts des bases de donnes

Bases de donnes J-L Hainaut 2012

26

1. Motivation et introduction 2. Concepts des bases de donnes 3. Modle relationnel et normalisation 4. Implmentation des structures de donnes

5. Les SGBD

2.1 Tables, lignes et colonnes 2.2 Valeur null 2.3 Identifiants et cls trangres 2.4 Schma et contenu

2.5 Exemple de base de donnes 2.6 Modifications et contraintes 2.7 Redondances internes 2.8 Les structures physiques

2.7 Redondances internes

Deux questions 1. Comment dtecter les situations de redondance ? 2. Comment les corriger ?

La rponse ces questions repose sur une nouvelle forme de contrainte d'intgrit : la dpendance fonctionnelle.

I. Concepts des bases de donnes

Bases de donnes J-L Hainaut 2012

27

1. Motivation et introduction 2. Concepts des bases de donnes 3. Modle relationnel et normalisation 4. Implmentation des structures de donnes

5. Les SGBD

2.1 Tables, lignes et colonnes 2.2 Valeur null 2.3 Identifiants et cls trangres 2.4 Schma et contenu

2.5 Exemple de base de donnes 2.6 Modifications et contraintes 2.7 Redondances internes 2.8 Les structures physiques

2.7 Redondances internes Notion de dpendance fonctionnelle

ISBN

TITRE, AUTEUR

si deux lignes ont la mme valeur de ISBN, alors elles ont aussi les mmes valeurs de TITRE et dAUTEUR

On dit que :
il existe une dpendance fonctionnelle de ISBN vers TITRE et AUTEUR ISBN dtermine ou est un dterminant de TITRE et AUTEUR TITRE et AUTEUR dpendent de ou sont dtermins par ISBN

I. Concepts des bases de donnes

Bases de donnes J-L Hainaut 2012

28

1. Motivation et introduction 2. Concepts des bases de donnes 3. Modle relationnel et normalisation 4. Implmentation des structures de donnes

5. Les SGBD

2.1 Tables, lignes et colonnes 2.2 Valeur null 2.3 Identifiants et cls trangres 2.4 Schma et contenu

2.5 Exemple de base de donnes 2.6 Modifications et contraintes 2.7 Redondances internes 2.8 Les structures physiques

2.7 Redondances internes Notion de dpendance fonctionnelle Deux observations


1. par dfinition, un identifiant dtermine toutes les colonnes de la table 2. si un groupe de colonnes dtermine chaque colonne de la table, il constitue par dfinition un identifiant de la table

NUMERO

TITRE, AUTEUR, ISBN, DATE_ACHAT, EMPL

I. Concepts des bases de donnes

Bases de donnes J-L Hainaut 2012

29

1. Motivation et introduction 2. Concepts des bases de donnes 3. Modle relationnel et normalisation 4. Implmentation des structures de donnes

5. Les SGBD

2.1 Tables, lignes et colonnes 2.2 Valeur null 2.3 Identifiants et cls trangres 2.4 Schma et contenu

2.5 Exemple de base de donnes 2.6 Modifications et contraintes 2.7 Redondances internes 2.8 Les structures physiques

2.7 Redondances internes Comment dtecter les situations de redondance ? Rponse Il y a redondance interne ds qu'il existe un dterminant qui n'est pas un identifiant de la table Une dpendance fonctionnelle dont le dterminant n'est pas un identifiant est dite anormale ISBN est un dterminant dans LIVRE mais il n'en est pas un identifiant. Il entrane donc des redondances internes.

I. Concepts des bases de donnes

Bases de donnes J-L Hainaut 2012

30

1. Motivation et introduction 2. Concepts des bases de donnes 3. Modle relationnel et normalisation 4. Implmentation des structures de donnes

5. Les SGBD

2.1 Tables, lignes et colonnes 2.2 Valeur null 2.3 Identifiants et cls trangres 2.4 Schma et contenu

2.5 Exemple de base de donnes 2.6 Modifications et contraintes 2.7 Redondances internes 2.8 Les structures physiques

2.7 Redondances internes Comment corriger les situations de redondance ? Rponse


En dcomposant la table T en deux fragments T1 et T2 : T1(dterminant, dtermin) T2(dterminant, rsidu) T2.dterminant est une cl trangre vers T1

I. Concepts des bases de donnes

Bases de donnes J-L Hainaut 2012

31

1. Motivation et introduction 2. Concepts des bases de donnes 3. Modle relationnel et normalisation 4. Implmentation des structures de donnes

5. Les SGBD

2.1 Tables, lignes et colonnes 2.2 Valeur null 2.3 Identifiants et cls trangres 2.4 Schma et contenu

2.5 Exemple de base de donnes 2.6 Modifications et contraintes 2.7 Redondances internes 2.8 Les structures physiques

2.7 Redondances internes Dernires remarques


1. Une table qui est le sige d'une dpendance fonctionnelle anormale est dite non normalise 2. Une table sans dpendance fonctionnelle anormale est dite normalise 3. Dcomposer une table de manire liminer ses dpendances anormales consiste normaliser cette table 4. Il est essentiel que toutes les tables d'une base de donnes soient normalises 5. Il est possible qu'une table qui est le sige de dpendances 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 tudie de manire plus dtaille dans le chapitre 3 de cette srie de leons.

I. Concepts des bases de donnes

Bases de donnes J-L Hainaut 2012

32

1. Motivation et introduction 2. Concepts des bases de donnes 3. Modle relationnel et normalisation 4. Implmentation des structures de donnes

5. Les SGBD

2.1 Tables, lignes et colonnes 2.2 Valeur null 2.3 Identifiants et cls trangres 2.4 Schma et contenu

2.5 Exemple de base de donnes 2.6 Modifications et contraintes 2.7 Redondances internes 2.8 Les structures physiques

2.8 Les structures physiques


Les tables sont stockes sur le disque de l'ordinateur. Si elles sont trs volumineuses, l'accs aux donnes et leur modification risquent de prendre un temps considrable. Exemple : la lecture d'une table de 2.500.000 de lignes de 400 octets prend prs d'une minute dans le meilleur des cas et une heure dans le cas contraire. Les structures physiques garantissent de bonnes performances aux oprations de lecture et de modification. Deux mcanismes principaux : les index les espaces de stockage

I. Concepts des bases de donnes

Bases de donnes J-L Hainaut 2012

33

1. Motivation et introduction 2. Concepts des bases de donnes 3. Modle relationnel et normalisation 4. Implmentation des structures de donnes

5. Les SGBD

2.1 Tables, lignes et colonnes 2.2 Valeur null 2.3 Identifiants et cls trangres 2.4 Schma et contenu

2.5 Exemple de base de donnes 2.6 Modifications et contraintes 2.7 Redondances internes 2.8 Les structures physiques

2.8 Les structures physiques - Les index

Index (dans un livre)


B
base de donnes active 167 base de donnes temporelles 153, 170 between 67

les termes de la lettre B

C
cardinalit dattribut 182 cardinalit dun role 187 catalogue 147, 169 cellules 280 Chen 29, 205 chimpanz 364 circuit de dpendances 312, 392 classe dobjets 201 classe fonctionnelle 184, 185, 242, 245 cl trangre 34, 44, 77, 81, 156 close 145 coalescing 155 COBOL 18, 143 Codd 27 codomaine 351 colonne 32, 35, 44

le terme cl trangre numros des pages qui contiennent ce terme

I. Concepts des bases de donnes

Bases de donnes J-L Hainaut 2012

34

1. Motivation et introduction 2. Concepts des bases de donnes 3. Modle relationnel et normalisation 4. Implmentation des structures de donnes

5. Les SGBD

2.1 Tables, lignes et colonnes 2.2 Valeur null 2.3 Identifiants et cls trangres 2.4 Schma et contenu

2.5 Exemple de base de donnes 2.6 Modifications et contraintes 2.7 Redondances internes 2.8 Les structures physiques

2.8 Les structures physiques - Les index

Index (dans une base de donnes)


Index sur la colonne LOCALITE
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16

Bruxelles Genve Lille Namur Paris Poitiers Toulouse

11 03 12 01 06 14 15 16 02 07 09 04 05 08 10 13

numros des lignes dont LOCALITE = 'Toulouse' les valeurs de LOCALITE, tries par ordre alphabtique
I. Concepts des bases de donnes

chaque ligne possde un numro unique; l'accs une ligne de numro donn est trs rapide

Bases de donnes J-L Hainaut 2012

35

1. Motivation et introduction 2. Concepts des bases de donnes 3. Modle relationnel et normalisation 4. Implmentation des structures de donnes

5. Les SGBD

2.1 Tables, lignes et colonnes 2.2 Valeur null 2.3 Identifiants et cls trangres 2.4 Schma et contenu

2.5 Exemple de base de donnes 2.6 Modifications et contraintes 2.7 Redondances internes 2.8 Les structures physiques

2.8 Les structures physiques - Les index

Index

L'accs une ligne d'une table via un index prend gnralement de 10 20 millisecondes. En l'absence d'index, l'accs cette ligne peut exiger la lecture de toute la table, soit de 1 minute 1 heure !

I. Concepts des bases de donnes

Bases de donnes J-L Hainaut 2012

36

1. Motivation et introduction 2. Concepts des bases de donnes 3. Modle relationnel et normalisation 4. Implmentation des structures de donnes

5. Les SGBD

2.1 Tables, lignes et colonnes 2.2 Valeur null 2.3 Identifiants et cls trangres 2.4 Schma et contenu

2.5 Exemple de base de donnes 2.6 Modifications et contraintes 2.7 Redondances internes 2.8 Les structures physiques

2.8 Les structures physiques - Les index

Index

On dfinira gnralement un index sur les colonnes qui constituent un identifiant (pour acclrer l'accs et la vrification avant insertion d'une ligne). On dfinira souvent un index sur les colonnes qui constituent une cl trangre (pour acclrer l'accs et la vrification avant suppression d'une ligne). On dfinira souvent un index sur les colonnes qui constituent une condition de slection frquemment utilise.

I. Concepts des bases de donnes

Bases de donnes J-L Hainaut 2012

37

1. Motivation et introduction 2. Concepts des bases de donnes 3. Modle relationnel et normalisation 4. Implmentation des structures de donnes

5. Les SGBD

2.1 Tables, lignes et colonnes 2.2 Valeur null 2.3 Identifiants et cls trangres 2.4 Schma et contenu

2.5 Exemple de base de donnes 2.6 Modifications et contraintes 2.7 Redondances internes 2.8 Les structures physiques

2.8 Les structures physiques

Espace de stockage
La table est une collection de lignes dont les lments doivent tre stocks sur un disque. Les lignes seront ranges dans un espace spcial qui leur est rserv : 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 caractris notamment par son adresse, son volume initial, la manire dont il grandit ou se rduit selon les besoins, les tables dont il accueille les lignes, la technique de rangement des lignes.

I. Concepts des bases de donnes

Bases de donnes J-L Hainaut 2012

38

1. Motivation et introduction 2. Concepts des bases de donnes 3. Modle relationnel et normalisation 4. Implmentation des structures de donnes

5. Les SGBD

2.1 Tables, lignes et colonnes 2.2 Valeur null 2.3 Identifiants et cls trangres 2.4 Schma et contenu

2.5 Exemple de base de donnes 2.6 Modifications et contraintes 2.7 Redondances internes 2.8 Les structures physiques

2.8 Les structures physiques

Un schma physique
un index est dfini sur les colonnes {NCOM, NPRO}, par ailleurs identifiantes un index (ou cl d'accs)
CLIENT NCLI NOM ADRESSE LOCALITE CAT[0-1] COMPTE id: NCLI acc acc: NOM acc: LOCALITE COMMANDE NCOM DATECOM NCLI id: NCOM acc ref: NCLI acc acc: DATECOM DETAIL NCOM NPRO QCOM id: NCOM NPRO acc ref: NCOM ref: NPRO acc PRODUIT NPRO LIBELLE PRIX QSTOCK id: NPRO acc CLI_PRO_DAT CLIENT PRODUIT

COM_DAT COMMANDE DETAIL

un espace de stockage

Les structures physiques seront tudies de manire plus dtaille au chapitre 4

I. Concepts des bases de donnes

Bases de donnes J-L Hainaut 2012

39

1. Motivation et introduction 2. Concepts des bases de donnes 3. Modle relationnel et normalisation 4. Implmentation des structures de donnes

5. Les SGBD

Fin du module 2

Module(s) suivant(s) :
Partie I, mod. 3 : Modle relationnel et normalisation ou Partie II, mod 1 : Le langage SQL DDL

I. Concepts des bases de donnes

Bases de donnes J-L Hainaut 2012

40

1. Motivation et introduction 2. Concepts des bases de donnes 3. Modle relationnel et normalisation 4. Implmentation des structures de donnes

5. Les SGBD

I. Concepts des bases de donnes

Bases de donnes J-L Hainaut 2012

41