Vous êtes sur la page 1sur 64

Fondements des Bases de

Données
Responsable du cours: Mariem Gzara

Lieu : Institut Supèrieur d’Informatique et de Mathématiques de


Monastir- ISIMM

Filière:1ère Année Licence en Sciences de l’Informatique – LI1

Année: 2022-2023

ECUEF241 : Fondements des bases de données - Semestre : S2


Volume horaire : Cours : 21H ; TD : 21H - Systéme d'évaluation : Mixte
Pré-requis: algèbre, matrice, produit cartésien
Objectif: Introduction des concepts, des notions et des langages qui constituent
les fondements des BD.
Au bout de ce module, l’étudiant doit être capable :
1. Comprendre l’approche BD dans un SI
2. Avoir une idée précise sur les différents modèles des BD (de l’hiérarchique au
NoSQL en passant par le Relationnel-objet)
3. Savoir modéliser une BD avec un modèle conceptuel (EA, UML)
4. Maitriser le passage du modèle conceptuel au modèle logique
5. Comprendre le modèle relationnel et son algèbre qui forme le ciment des
moteurs relationnels
6. Exploiter un outil de Modélisation (PowerDesigner, Toad, Erwin, DB-Main,
etc.)
7. Maitriser l’essentiel du Standard SQL
BD-LI1-M. GZARA

1
Fondements des Bases de Données
Contenu de la formation
1. Introduction à l’approche BD
2. Modélisation conceptuelle des BD (EA et UML)
3. Le modèle relationnel et son algèbre
4. Le Langage SQL et ses 5 sous-langages
5. Normalisation et fromes normales
6. Dénormalisation vers les modèles relationnel-objet et NoSQL
Références bibliographiques et Nétographie
H. Garcia Molina, J.D. Ullman et J. Widom: Database Systems - The Complete Book, Prentice
Hall, 2002
R.A. El Masri et S.B. Navathe : Fundamentals of Database Systems, FourthEdition; Prentice Hall
C.J. Date : An introduction to Database Systems; Pearson Education 2004

BD-LI1-M. GZARA

INTRODUCTION À
L’APPROCHE BASES DE
DONNÉES

BD-LI1-M. GZARA

2
Bases de données et systèmes de gestion de
bases de données

1. Notion de bases de données

2. Architecture et rôle des Systèmes de Gestion de Bases de

Données (SGBD)

3. Modèle de données et typologie des SGBD

4. Cycle de développement d'une BD

BD-LI1-M. GZARA

Notion de base de données

• Systèmes de gestion de fichiers (SGF) limités pour


gérer une masse importante de données et de liens.

• Développement « au coup par coup »


– Fichiers par application
– Redondance
– Effort et coût de maintien de la cohérence

BD-LI1-M. GZARA

3
Notion de base de données

• Limites SGF et organisations de données (séquentiel,


séquentiel indexé, accès direct, …)
– connaissance technique approfondie,
– souvent accès par une seule « clé »

• Dépendance données-programmes : programmes


sensibles aux modifications physiques (organisation) ou
« logique » (structure)

BD-LI1-M. GZARA

Notion de base de données

• Début des années soixante


• Pallier les insuffisances des SGF
• Base de données : collection de données
– enregistrées (sur un support adressable),
– structure indépendante d'une application,
– cohérentes,
– de redondance minimale,
– accessibles par plusieurs utilisateurs

BD-LI1-M. GZARA

4
Notion de base de données

• Besoins
– de structuration,
– de mise en commun,
– de non redondance,
– de qualité,

– de disponibilité des données d'une base.


• Concepteur : structuration, non redondance et mise
en commun
• SGBD : qualité et disponibilité
BD-LI1-M. GZARA

SGBD

• SGBD: ensemble d'outils logiciels permettant la


création et l'utilisation de bases de données.
• Fonctions:
– Définition
– Manipulation
– Intégrité
– Confidentialité
– Sécurité

BD-LI1-M. GZARA

10

5
SGBD : définition de données

• Objets (personnes, voitures, ...),

• Attributs (nom personne, type de voitures, ...),

• Liens (personne possède voitures)

• Contraintes éventuelles

• Langage de Description de Données (LDD)

• Langage de Manipulation des Données (LMD)

BD-LI1-M. GZARA

11

SGBD : définition de données

• Schéma d'une base : sa description dans le LDD

– Description unique, commune aux applications.

• Sous-schéma : partie de la base visible par un

programme ou un groupe de programmes.

BD-LI1-M. GZARA

12

6
SGBD : Manipulation de données

• Outils et mécanismes permettant de faire communiquer


une BDD et des ''clients''
• Recherche, création, modification et suppression
• Langage de Manipulation de Données (LMD)

• Orienté ensembles

• Indépendance données-programmes

BD-LI1-M. GZARA

13

SGBD : Manipulation de données

• Interactive

• Presse-boutons

• Langage hôte (C, C++, Cobol, Java, etc.)

• Environnements de 4ème génération (L4G): aide à


la formulation de requêtes, formulaires, etc.

BD-LI1-M. GZARA

14

7
SGBD : Intégrité des données

• Qualité de l'information

• Contraintes d'intégrité spécifiées avec le schéma


de la base, SGBD les préserve

• Contraintes complexes : programmation

BD-LI1-M. GZARA

15

SGBD : Confidentialité

• Mise en commun des données

• Mots de passe

• Privilèges et droits d’accès

• Vues

BD-LI1-M. GZARA

16

8
SGBD : Accès concurrents et Sécurité

• Sécurité de fonctionnement et reprise

• Journalisation des actions (Log)

• Partage de données (verrouillage)

• Validation/Annulation (Transactions)

BD-LI1-M. GZARA

17

SGBD : Typologie

• Modèle de représentation de données,


• Classe de SGBD:
– Hiérarchique, réseau
– Relationnel
– Orienté Objets
– Déductif
– NoSQL

BD-LI1-M. GZARA

18

9
Cycle de développement

• ANSI/SPARC, 1974

• Niveau conceptuel : global, abstrait

• Niveau Externe : par application(s)

• Niveau Physique : dépend du SGBD

• Méthodes : Niveau Logique (coût)

BD-LI1-M. GZARA

19

Métiers du domaine

• Utilisateurs
– occasionnels (LMD)

– « naïfs » (presse-bouton)

– spécialisés (LMD, Langage hôte)

• Concepteurs, Développeurs (méthode)

• Administrateurs base et système

• Développeurs de SGBD, d ’outils


BD-LI1-M. GZARA

20

10
Les méthodologies de conception de BD
Les étapes de conception d’une BD :
1. Analyse de la situation existante et des besoins
2. Création d'une série de modèles qui permettent de représenter
tous les aspects importants
3. A partir des modèles, implémentation d'une base de données

BD-LI1-M. GZARA

21

Les méthodologies de conception de BD


Merise

Une méthode d'analyse informatique : Merise


1. Approche globale menée parallèlement sur les données
et les traitements.
2. Description en trois niveaux :

BD-LI1-M. GZARA

22

11
Modèle conceptuel des données ( MCD )

QUEL EST LE NIVEAU CONCEPTUEL ?


• Le MCD est l'élément le plus connu de MERISE et
certainement le plus utile.
• Il permet d'établir une représentation claire des données
du Système d’Information.
• définit les dépendances fonctionnelles de ces données
entre elles.
• Un modèle conceptuel de données est indépendant de
l'état de l'art technologique.

BD-LI1-M. GZARA

23

Le modèle logique de données

• On ne sait pas implémenter aisément un modèle


conceptuel de données dans une machine.
• Il existe différentes sortes de Systèmes de Gestion de
Bases de Données (SGBD) qui ont chacun leur propre
modèle :
– Systèmes de Gestion de Fichiers ou SGF qui ne sont pas de
vraies SGBD
– SGBD hiérarchiques organisés selon une arborescence
– SGBD réseau encore appelés CODASYL
– SGBD relationnels
– SGBDOO (Orientés Objet)
BD-LI1-M. GZARA
– SGBD NoSQL
24

12
Le modèle logique

QU'EST-CE QUE LE NIVEAU LOGIQUE ?


• Le niveau logique est une REPRESENTATION du
système tel qu'il sera implémenté dans des ordinateurs.
Une représentation  un modèle

• Il ne faut pas confondre le modèle conceptuel (E/A par


ex.) avec le modèle logique (relationnel par ex.).

• Il ne faut pas confondre le modèle logique (relationnel


par ex.) avec son implémentation physique en machine
(avec Access ou Oracle parGZARA
BD-LI1-M. ex.)

25

MODÉLISATION
CONCEPTUELLE DES BD
(EA ET UML)

BD-LI1-M. GZARA

26

13
Modélisation des données
Modèle Entité-Association
• Niveau conceptuel de merise : Modèle de Conception
de Données (MCD)
Le MCD est basé sur la Conception Entité-Association,
CHEN[76], qui est un modèle d’analyse du monde réel.

• Deux concepts principaux et un un troisième sous-


jacent :
entité,
association,
propriété ou attribut

BD-LI1-M. GZARA

27

Le modèle Entité-Association,
les concepts de base : entité (I)
• Entité : objet du monde réel avec une existence
indépendante,
une entité (ou type d’entité) est une chose (concrète ou
abstraite) qui existe et est distinguable des autres entités.

• Occurrence d’une entité est un élément particulier


correspondant à l ’entité et associé à un élément du réel.
• Chaque entité a des propriétés (attributs) particulières
qui la décrivent,
une entité donnée a des valeurs pour chacun de ses attributs
(ex: nom et prénom du client)

• Un domaine de valeur est associé à chaque attribut


BD-LI1-M. GZARA
simple.
28

14
Le modèle Entité-Association,
les concepts de base : entité (II)

Une entité est défini par un nom et une liste d'attributs.


Représentation graphique des entités :

Nom de l’entité
a) b)

Propriété 1 Propriété 2 Propriété 3

Contraintes sur les attributs :


Élémentarité : Tous les attributs sont simples ou atomiques,
c.a.d. ils ne peuvent pas être exprimés par les autres attributs.
BD-LI1-M. GZARA

29

Unicité: Identifiant

nom prénom Date naissance Etc.


Liste des clients
Daoued ali 01/06/70

Mansar Madiha 05/06/78

Daoued ali 20/04/74

Problème: Comment distinguer les Daoued?


Le numéro de client est un identifiant clés.
Un identifiant caractérise de façon unique une entité

BD-LI1-M. GZARA

30

15
Le modèle Entité-Association
les concepts de base : association (I)
• Une association (ou type d’association) représente un
lien quelconque entre différents entités.

• Une occurrence d’une association est un élément


particulier de l’association constitué d’une et une seule
occurrence des objets BD-LI1-M.
participants
GZARA
à l’association.
31

Le modèle Entité-Association
les concepts de base : association (II)

Représentation graphique des associations :

Nom de l’association
a)
attribut 1
attribut 2

Nom de l’association
b)

Attribut 1 Attribut 2
BD-LI1-M. GZARA

32

16
Le modèle Entité-Association
les concepts de base : association (III)
• Le degré d'une association est le nombre d'entités y
participant.
– Association réflexive
– Association binaire
– Association ternaire

BD-LI1-M. GZARA

33

Le modèle Entité-Association
les associations, cardinalités
• Contraintes sur les associations : "contraintes
structurelles"
– Les cardinalités minimale et maximale: Pour les
associations binaires la cardinalité minimale (max) d'une
association est le nombre minimum (max) d’occurrences de
l’entité d'arrivée associées à une occurrence de l’entité de
départ.

Représentation
graphique
des cardinalités :

BD-LI1-M. GZARA

34

17
Le modèle Entité-Association
les associations, cardinalités
Association 1-1: un client donné ne commande qu’un seul
produit. Un produit donné n’est commandé que par un seul
client
1-1 commande 1-1
client Produit

Association 0 ou 1-N: un client donné commande plusieurs


produits. Un produit donné est commandé au maximum par
un client mais peut ne pas être commandé
1-N 0-1
client commande Produit
BD-LI1-M. GZARA

35

Le modèle Entité-Association
les associations, suite
On peut également définir des attributs sur les associations.

On peut avoir plusieurs associations définis sur deux entités.

BD-LI1-M. GZARA

36

18
Le modèle Entité-Association
Concept généralisation/spécialisation

• Un lien, orienté, d'une E spécialisé (sur-type) (ou


spécifique) vers une E générique (sous-type).
• Un sous-type entité hérite de tout les attributs de son
sur-type.
• A toute occurrence d’une E sous-type correspond une
occurrence de l’E sur-type.
• A toute occurrence du E sur-type correspond zéro ou
une occurrence de E sous-type.
• Graphiquement, ce lien est représenté par une flèche
orientée du E spécifique vers le E générique
BD-LI1-M. GZARA

37

Le modèle Entité-Association
Concept généralisation/spécialisation

• Les attributs communs au TE générique et aux TE


spécifiques ne sont décrits, dans le schéma, que comme
attributs du TE générique.
• Les E spécifiques peuvent avoir des attributs propres.
• Un sous-type entité participe aussi à toutes les
associations auxquelles participe son sur-type.
• Un sous-type peut être sur-type d’un autre type.
• Un sous type hérite de tous ses ascendants hiérarchie
d’héritage.
BD-LI1-M. GZARA

38

19
Le modèle Entité-Association
Exemple de l’hypermarché

• Certains traitements doivent pouvoir accéder de


façon uniforme à tous les articles: inventaire.

• Nécessité de séparer les articles en plusieurs classes


Ex: (alimentation, habillement, Hi-Fi, hygiène, ...).

• Chaque classe peut avoir des caractéristiques qui lui


sont propres. Ex: date limite de vente (alimentation),
taille et couleur (habillement).

• Un article Hi-fi est réparé par un service après vente.


BD-LI1-M. GZARA

39

Le modèle Entité-Association
Exemple de l’hypermarché
Article
Marque
nomA
Type
Code
Quantité en stock

Articles Hi-Fi
puissance
Article alimentaire Article
Date limite de habillement
réparation
vente Tailles
couleurs Service après
BD-LI1-M. GZARA
vente

40

20
Le modèle Entité-Association
Modèle Entité-Association étendu

• Un attribut peut être composé hiérarchiquement de plusieurs


autres attributs
Exemple : attribut composite "adresse"
adresse ---- numéro
----- rue
----- no-appt
----- ville
----- pays
---- code postal
• Un attribut peut être monovalué ou multivalué
Exemple : l’âge des enfants d’un employé
• La valeur d'un attribut peut être dérivée d'une ou plusieurs
autres valeurs d'attributs.
Exemple : l'âge d'une personne peut être dérivé de la date du jour et de
celle de sa naissance
• Sous-type d’une entité : Exemple : technicien  employé 
BD-LI1-M. GZARA
cadre
41

Modèle Entité-Association étendu


entité de type faible (I)
• Entité non identifiée ou de type faible weak entity type 
– Certains entités dits faibles n'existent qu'en référence à d'autres
entités dits identifiants.
– L'entité identifiant est appelé "identifiant étranger" et
l'association qui les unit "association identifiante".
• Une entité non identifiée a une clé locale (appelé
identifiant relatif) qui permet d'identifier une occurrence
dans l'ensemble des occurrences associées à une
occurrence de l'entité identifiante.
• La clé complète d'une entité faible est la concaténation de
la clé de l'entité identifiante et de sa clé locale.
BD-LI1-M. GZARA

42

21
Modèle Entité-Association étendu
entité de type faible (II)
Exemple : l’entité Tâche est complètement dépendante
de l’entité Projet et sa clé locale (No_tâche) n’est pas
suffisante à l’identifier de façon absolue.

BD-LI1-M. GZARA

43

Le modèle E/A
LA BASE GESTION DU PERSONNEL

DESCRIPTION DE LA BASE GESTION DU


PERSONNEL
• Sur le plan de l'affectation administrative (appartenance
à un département, relations hiérarchiques),
• Sur le plan de la charge de travail (répartition du travail
sur différents projets)
• Sur le plan social (personnes à charge).
• On tient compte également de la localisation.

BD-LI1-M. GZARA

44

22
Le modèle E/A
LA BASE GESTION DU PERSONNEL (II)
Le modèle E/A :
• Trois types d'entités sont distingués (représentés par des
rectangles), EMPLOYE, DEPARTEMENT et PROJET.

• PERSONNESACHARGE est un type d'entités faibles associé à


l'entité identifiant EMPLOYE par l'association identifiante
CHARGE.

• Cinq associations binaires : TRAVAILLEDANS,


TRAVAILLEPOUR, CONTRÔLE, CHARGE, DIRIGE.

• L'association SUPERVISION est réflexif sur EMPLOYE. Il


matérialise le fait qu'un EMPLOYE a un chef direct et un seul et
qu'un EMPLOYE peut être le chef direct d'un ensemble
d'EMPLOYE. BD-LI1-M. GZARA

45

Le modèle E/A
LA BASE GESTION DU PERSONNEL (III)

SUPERVISION
1,1 DEPARTEMENT
0,N
EMPLOYE nomd
NoSS 1,1 1,N numérod
TRAVAILLER POUR Nb_emp
nom
prénom local
0,1 1,1
salaire
DIRIGER 0,N
0,N
0,N
CHARGE CONTROLE
TRAVAILLER DANS
1,1 Nb_heures 1,1
1,N
PERSONNE A CHARGE PROJET
nom CONTENIR nomp
1,N
date_naissance 1,1 numérop
parenté TACHE local
numérot
description

REPRESENTATION GRAPHIQUE DE LA
BD-LI1-M. GZARA
MODELISATION E/A
46

23
Le modèle Entité-Association
Remarque importante

• Par rapport à la réalité, un schéma est une


représentation:
– incomplète: il ne représente que les informations qui sont
intéressantes pour l'application
– partiale: il représente le point de vue du concepteur
– infidèle: il ne représente pas la réalité telle qu'elle est,
mais telle qu'elle intéresse le concepteur.

BD-LI1-M. GZARA

47

Le modèle Entité-Association
Vérification du diagramme entité association

• Vérification « syntaxique »
• Par jeu d'essai
• Complétude par rapport aux traitements
• Par les utilisateurs

BD-LI1-M. GZARA

48

24
LE MODÈLE RELATIONNEL ET
SON ALGÈBRE (partie 1)

BD-LI1-M. GZARA

49

LE MODELE RELATIONNEL
• INVENTE PAR T. CODD (IBM SAN-JOSE)

• PUBLICATION ACM 1970

1. CONCEPTS POUR LA DESCRIPTION

2. CONCEPTS POUR LA MANIPULATION

3. CONCEPTS ADDITIONNELS

50
‹N°›

50

25
Produit cartésien
• LE PRODUIT CARTESIEN D1x D2x ... x Dn
EST L'ENSEMBLE DES TUPLES (N-UPLETS) :
<V1,V2,....Vn> TEL QUE Vi Di

• EXEMPLE
 D1 = {Bleu,Blanc,Rouge} Bleu Vrai
Bleu Faux
 D2 = {Vrai, Faux} Blanc Vrai
Blanc Faux
Rouge Vrai
Rouge Faux

51
‹N°›

51

Relation
 SOUS-ENSEMBLE DU PRODUIT CARTESIEN
D'UNE LISTE DE DOMAINES

 UNE RELATION EST CARACTERISEE PAR UN


NOM

 EXEMPLE
CoulOil Coul Choix
 D1 = COULEUR Marron Faux
 D2 = BOOLEEN Vert Vrai
Jaune Vrai

52
‹N°›

52

26
Attribut
 VISION TABULAIRE DU RELATIONNEL
 Une relation est une table à deux dimensions
 Une ligne est un tuple
 Un nom est associé à chaque colonne afin de la repérer
indépendamment de son numéro d'ordre

 ATTRIBUT
 nom donné à une colonne d'une relation
 prend ses valeurs dans un domaine

53
‹N°›

53

CONCEPTS MANIPULATOIRES

 UN ENSEMBLE D'OPERATIONS FORMELLES


 Algèbre relationnelle
 CES OPERATIONS PERMETTENT D'EXPRIMER
TOUTES LES REQUETES SOUS FORME
D'EXPRESSIONS ALGEBRIQUES
 ELLES SONT LA BASE DU LANGAGE SQL
 Paraphrasage en anglais des expressions
relationnelles
 Origine SEQUEL
 CES OPERATIONS SE GENERALISENT A L'OBJET
 Algèbre d'objets complexes
‹N°›
54

54

27
Passage du modèle E/A  relationnel
Rappel : Les étapes de conception d’une BD :
1. Analyse de la situation existante et des besoins
2. Création d'une série de modèles qui permettent de représenter tous les
aspects importants
3. A partir des modèles, implémentation d'une base de données

55
‹N°›

55

Passage du modèle E/A  relationnel


Rappel :
Le modèle Entité-Association est basé sur trois concepts : entité,
association et attribut.
Comparaison modèles E/A et relationnel

entité relation
occurrence d’une entité nuplet
attribut simple attribut atomique
attribut composite simulé par un ensemble d'attributs

entité faible relation


association relation
occurrence d’une association nuplet
56
‹N°›

56

28
Règles de passage E/A vers
relationnel
Règles portant sur la transformation des entités :
(R1) pour chaque entité (identifié) (R2) pour chaque entité non
E, identifié I ayant un identifiant
on crée une relation R
dont le schéma est celui de étranger E,
l'entité. on crée une relation R qui
La clé de R est une des clés de comprend tous les attributs de
E.
I, ainsi que les attributs clés de
la relation correspondant à E.
La clé de R est la
concaténation de la clé locale
de I et de la clé
57 de E. 57
‹N°›

57

Règles de passage E/A vers


relationnel
Règles portant sur la transformation des associations :
(R3) pour chaque association binaire A de type 1:1 (le cas échéant
0:1) entre les entités S et T (représentés par les relations RS et RT
respectivement) on inclut dans la définition de RS comme clé
étrangère la clé de RT ainsi que tous les attributs simples de A.

(R4) pour chaque association binaire A de type M:N ou pour chaque


association A de degré supérieur à 2, on crée une nouvelle relation
RA pour représenter A. On met dans RA comme clé étrangère, les
clés de toutes les relations correspondant aux entités participant à A et
dont la concaténation formera sa clé.
On ajoute également à RA (et éventuellement dans sa clé) les attributs
définis sur A.
58
‹N°›

58

29
Règles de passage E/A vers
relationnel
Règle portant sur la transformation des attributs multivalués :

(R5) pour chaque attribut multivalué M d'une entité E (idem pour


les associations), on crée une nouvelle relation RM qui comprend
un attribut monovalué correspondant à M plus la clé de RE
(relation représentant E).
La clé de RM est la concaténation des deux attributs.

59
‹N°›

59

Règles de passage E/A vers relationnel

60
‹N°›

60

30
Règles de passage E/A vers relationnel

61
‹N°›

61

Le modèle E/A
LA BASE GESTION DU PERSONNEL (III)
SUPERVISION
1,1 DEPARTEMENT
0,N
EMPLOYE nomd
NoSS 1,1 1,N numérod
TRAVAILLER POUR Nb_emp
nom
prénom local
0,1 1,1
salaire
DIRIGER 0,N
0,N
0,N
CHARGE CONTROLE
TRAVAILLER DANS
1,1 Nb_heures 1,1
1,N
PERSONNE A CHARGE PROJET
nom CONTENIR nomp
1,N
date_naissance 1,1 numérop
parenté TACHE local
numérot
description

REPRESENTATION GRAPHIQUE DE LA
MODELISATION E/A 62
‹N°›

62

31
PASSAGE E/A VERS RELATIONNEL
LA BASE GESTION DU PERSONNEL
Application de (R1):
EMPLOYE(noss, nomf, prenom, salaire)
DEPARTEMENT(numérod, nomd)
PROJET(numérop, nomp, local)

Application de (R2):

PERSONNESACHARGE(noss, nom, datenais, parenté)

noss est la clé de la relation correspondant à l'entité


identifiant EMPLOYE

63
‹N°›

63

PASSAGE E/A VERS RELATIONNEL


LA BASE GESTION DU PERSONNEL
Application de (R3) et (R4) :
(R3) EMPLOYE(noss, nomf, prenom, salaire, numérod, nossup)
numérod permet de représenter TRAVAILLEPOU
et nossup représente SUPERVISION
(R3) DEPARTEMENT(numérod, nomd, nosschef, datedébut)
nosschef représente DIRIGE avec l'attribut datedébut en
plus
(R3) PROJET(numérop, nomp, local, numérod)
numérod représente CONTROLE
(R4) TRAVAILLEDANS(noss, numérop, heures)
(R5): LOCALISATION(local, numérod)
64
‹N°›

64

32
PASSAGE E/A VERS RELATIONNEL
LA BASE GESTION DU PERSONNEL
SCHEMA RELATIONNEL RESULTAT :

EMPLOYE(noss, nomf, prenom, salaire, numérod, nossup)

DEPARTEMENT(numérod, nomd, nosschef, datedébut)

PROJET(numérop, nomp, local, numérod)

PERSONNESACHARGE(noss, nom, datenais, parenté)

TRAVAILLEDANS(noss, numérop, heures)

LOCALISATION(local, numérod)
65
‹N°›

65

NORMALISATION ET FROMES
NORMALES

66
‹N°›

66

33
Normalisation des Bases de Données

Plan du cours:
1. Les problèmes liés à la modélisation
2. Les dépendances fonctionnelles et
dépendances de plusieurs valeurs
3. La décomposition des relations
4. Les Formes normales

67

67

Introduction
• Multiples modélisation possibles du monde réel
Exemple: BD représentant un Parc Automobile
Modélisation suivant le modèle Entité-Association:
Personne Véhicule
NSS NVH
0,N 1,1
Nom possède Type
prix
Prénom Marque
date
Adresse Couleur
Puiss
Peut être modéliser par une seule relation
Condveh(NSS, Nom, Prénom, Adresse, NVH, Type, Marque, Couleur,
Puiss, prix, date)

• Certains choix sont mauvais … 68

68

34
Problèmes soulevés
par une mauvaise conception
NSS Nom Prénom Adr. NVH Marque Type Puiss Coul Date Prix

16607 Jacques Paul Paris 902ZZ75 Renault Clio 5 Blanc 1/1/01 12 500

24906 Martin Marie Lille 23AE59 Renault Clio 5 Beige 3/4/02 16 000

24906 Martin Marie Lille 45UK59 Peugeot 504 7 Gris 2/7/95 10 000

15405 Durand Olivier Lille 782AC06 Peugeot 504 7 Vert 12/4/96 11 000

15405 Durand Olivier Nice BMW BMW 520 10 Gris 11/7/90 12 000

15 405 Durand Olivier Nice Citroen Citroen CX 8 Noir 10/1/98 8 000

• Redondance des données : Incohérence en mise à jour


• Anomalie d’insertion : Comment représenter les
personnes sans véhicule
• Anomalie de suppression : Perte d’information
69

69

Théorie de la normalisation(1)
• Théorie destinée à concevoir un bon schéma d’une
base de données sans redondance d’information et
sans anomalie de mise à jour.
• Buts:
- Conformité des tables et relations avec le modèle
relationnel utilisé par le moteur
- Ecriture simplifiée des requêtes
- Assurer l’intégrité des données
- Utilisation optimale des ressources

70

70

35
Théorie de la normalisation(2)

• Concepts:
- Les dépendances fonctionnelles traduisent des
contraintes sur les données.
- Les formes normales définissent des relations bien
conçues.
- Processus de normalisation : Décomposer
progressivement les relations jusquà obtenir des
relations normalisées.

• Principe: Appliquer des règles: Formes Normales

71

71

Algorithmes de décomposition

Relation Universelle

Marque
Puiss Prénom
Couleur R1
NVH Date

Prix Nom adr Algorithme


de Relations

décomposition
R2
Dépendances

72

72

36
Les Dépendances Fonctionnelles (DF) (1)
• Défintions :
- Soient R(A1,A2, … An) un schéma de relation, X et Y des
sous-ensembles de A1, A2, …An;
- On dit que X Y (X détermine Y ou Y dépend
fonctionnellement de X) ssi il existe une fonction qui à
partir de toute valeur de X détermine une valeur unique de Y
- Ssi quel que soit l’instance r de R, pour tout tuple t1 et t2 de
r on a :
x(t1)=x(t2) ==> y(t1)=y(t2)

• Exemple:
Type  Marque, NVH  Couleur, (Nom, prénom)  adresse,
NCI  Nom 73

73

Les Dépendances Fonctionnelles (DF) (2)


• Une DF est définie sur l’intention du schéma et non son
extension.
• Une DF traduit une certaine perception de la réalité
La seuExemple: NVH NSS signifie dans le monde réel
l’intersection de co-propriété

• le manière de déterminer une DF est de regarder soigneusement


ce que signifient les attributs et de trouver les contraintes qui les
lient dans le monde réel
• Les DF font partie du schéma d’une BD en conséquence elles
doivent:
- être déclarées par les administrateurs de la BD
- être contrôlées par le SGBD 74

74

37
Propriétés des dépendances fonctionnelles

Les DF obéissent aux axiommes (dit d’Amstrong):


Réflexivité : YXXY
Augmentation : XYXZYZ
Transitivité : XY et YZXZ
Et des propriétés déduites:
Union : si X  Y et X  Z  X  YZ
Pseudo transitivité : si X  Y et WY  Z  WX  Z
Décomposition : si X  Y et Z  Y  X  Z
75 75

75

Dépendance fonctionnelle élémentaire


À partir de ces propriétés, il est possible d’introduire la
notion de DF élémentaire:
• Dépendance fonctionnelle élémentaire
Une DF X A est élémentaire si A est un attribut
unique non inclus dans X et il n’existe pas X’ X tel
que X’ A
• Exemples:
• (NVH,Puis)  (Type,Puis) n’est pas élémentaire
• (NVH)  (Type) est élémentaire
76

76

38
Fermeture d’un ensemble de DF
• Fermeture d’un ensemble F de DF est l’ensemble de toutes les
DF qui sont conséquence de F, noté F+
Exercice : Construire F+correspondant à
F={NVHType, Type  Marque, Type  puis, NVH  couleur}

• Couverture minimale d’un ensemble de DFs est un sous-


ensemble minimum des DFs élémentaires permettant de générer
toutes les autres DFs (famille génératrice).
• Théorème : tout ensemble de DFs admet une couverture
minimale (en général non unique).
1. F={NVHType, Type  Marque, Type  puis, NVH  couleur}
représente une couverture minimale pour voiture
2. Soit F={AB, AC, BC, CB},
CM1= ={AC, BC, CB}, CM2= ={AB, BC, CB}
77

77

Graphe des DFs


• Représentation de l’ensemble des DFs à l’aide d’un graphe
orienté : Nœud=un attribut et arc=une DF
Exemples:
1) voiture(NVH, Marque, Type, Puis, Couleur)
F={NVH Type, Type  Marque, Type  Puis, NVH  Couleur}
2) CodesPostaux(code, ville, Rue)
F={(Ville,Rue) Code, Code  Ville
Couleur Rue

NVH Code
Puis Ville
Type
Marque
78

78

39
Clé d’une relation
•Définition: Soient:
- R(A1, A2, …, An) un schéma de relation
- F+ l’ensemble des DFs associées
- X un sous-ensemble de A1, A2, …, An

X est une clé de R si et seulement si X  A1 A2 … An et il


n’existe pas Y, Y X| Y  A1 A2 … An
•Conséquence:
- Une clé est un ensemble minimum d’attributs d’une relation qui
détermine tous les autres.
Exemple: Voiture(NVH,Marque, type, Puis, Couleur)
Clés possible: (NVH, Type)? (NVH)?(Type)? 79

79

Décomposition des Relations


• Processus de remplacement du schéma d’une relation
R(A1, A2, …, An) par une collection de schémas de relations
(R1, R2, …, Rk) t.q.:
Schéma(R )=schéma(R1) schéma(R2)  …  schéma(Rk)
• Objectif: classer R en de plus petites relations afin d’éliminer les
redondances et les anomalies de mise à jour.
Exemples: Voiture(NVH, Marque, Type, Puis, Couleur) peut se décomposer en:
1) - R1(NVH, Type, Couleur)
- R2 (Marque, Type, Puis)
2) - R’1(NVH, Type)
- R’2 (Type, Puis, Couleur)
- R’3(Marque, Type)
80

80

40
Décomposition sans pertes
•Ces décomposition sont elles intéressantes?
- Décomposition sans perte
- Décomposition préservant les DFs
•Définition: Une décomposition de R en N relations R1, …, RN est
sans perte ssi pour toute instance r de R, on a
r=R1( r ) R2( r )  …  RN( r )
•Exemple : Décomposition de la relation voiture
NVH Marque Type Puiss Couleur Clio 5 Blanc 872RH93 Clio
872RH93 Renault Clio 5 Blanc Clio 5 Bleu 452HG59 Clio
452HG59 Renault Clio 5 Bleu
(R’1,R’2,R’3) Clio Renault

872RH93 Clio Blanc Clio Renault 5

452HG59 Clio Bleu (R1,R2) 81

81

Décomposition sans perte

•Théorème:
Soient  =(R1 , R2) une décomposition de R et F l’ensemble des
dépendances fonctionnelles sur R,  est sans perte par rapport à F si
et seulement si:
(R1R2) (R1-R2) ou (R1R2)  (R2-R1)

•Décomposition binaire d’une relation


R(X,Y,Z) ET X  Y  R(X, Y, Z)=R[X,Y]R[X,Z]
Ce principe de décomposition binaire d’une relation est à la base de
l’algorithme de décomposition

82

82

41
Décomposition préservant les DF
Définition :
Une décomposition (R1,R2, …, RN) de R préserve les dépendances
fonctionnelles si la fermeture des dépendances fonctionnelles de R
est la même que celle de l’union des dépendances fonctionnelles des
relation R1, R2, …, RN.
Exemple:
1) R1(NVH, Type, Couleur) F1{NVHType, NVHCouleur}
R2(Type, Puis, Marque} F2={NVH  Marque, Type Puis}
2) R’1(NVH,Type) F’1={NVH Type}
R’2(Type, Puis, Couleur) F’2={Type Puis}
R’3(Type,Marque) F’3={Type Marque}
On a perdu NVH Couleur
83

83

Les formes normales


• Ce sont des règles pour décomposer les relations tout en
préservant les DF et sans perdre d’informations, afin de
représenter des objets et associations canoniques du monde réel
(les molécules d’informations)
• Ce sont des règles à appliquer :
- A la conception d’une base pour assurer sa cohérence
- Sur une base existante pour en vérifier la cohérence
A fin de:
- Eviter les anomalies de mises à jour
- Eviter les réponses erronées

84

84

42
1NF- 1ère Forme Normale

Définition: une relation est en 1ère forme normale si tout


attribut contient une valeur atomique (unique)

• Les champs doivent être atomiques

• Il ne peut y avoir de champs répétitifs

• Les champs ont une signification constante et précise


dans le temps

85

85

1NF-Exemple 1
Nom Adresse Ville
Yasmine Dali 21 rue de Paris Sfax, 3000
Ghassen Yahyaoui 45 avenue de la liberté Sfax, 3004
Fouad Rayane 27 rue des Fleurs Sfax, 3006

Nom Prénom adresse Ville Code Postal

Dali Yasmine 21 rue de Paris Sfax 3000

Yahyaoui Ghassen 45 avenue de la liberté Sfax 3004

Rayane Rayane 27 rue des Fleurs Sfax 3006


86

86

43
1NF-Exemple 2
Numéro_Emprunteur Livre_1 Livre_2 Livre_3

150001 Alice au pays des merveilles Du C au C++

150002 Tintin et Le Lotus Bleu La relativité Le modèle relationnel

150003 Statistiques

Livre Amprunté_par
Tintin et Le Lotus Bleu 150002
Numéro_Emprunteur Nom_Emprunteur
La relativité 150002
150001 Khalil Alice au pays des 150001
150002 Wajih merveilles
Du c au C++ 150001
150009 Saloua
Statistiques 150003
Le modèle relationnel 150002 87

87

1NF-Exemple 2 - complément
Modèle Conceptuel des Données
Emprunteur
Emprunte zéro ou plusieurs
Code_Emprunteur
Nom Livres
Titre

Modèle Physiqus des Données


Emprunteur
Code_Emprunteur Livres
Nom
Titre
Code_Emprunteur
88 88

88

44
1NF-Exemple 3
Animal Date Quantité
Poule10 11/10/2002 2
Vache07 11/10/2002 5
Poule09 11/10/2002 1

Vache04 11/10/2002 10
Vache12 11/10/2002 9

Vache Date Litres


Poule Date Oeufs
07 11/10/2002 5
10 11/10/2002 2 04 11/10/2002 10
09 11/10/2002 1 12 11/10/2002 9
89

89

1NF-Exemple 4
Nom Profession

DUPONT Ingénieur, Professeur

MARTIN Géomètre

Nom Profession
Une telle relation doit être
décomposée en répétant les DUPONT Ingénieur
noms pour chaque profession
DUPONT Professeur

MARTIN Géomètre

90

90

45
2NF- Seconde Forme Normale
Une relation est en 2ème forme normale ssi :
1) Elle est en 1ère forme normale
2) Tout attribut n’appartenant pas à une clé ne dépend pas d’une
partie de clé

i.e :
Si X et Y sont des colonnes et que X est une clé, alors pour tout Z
qui est un sous-ensemble de X, il ne peut y avoir ZY
NB: si la relation possède plusieurs clès candidates, la définition
doit être vérifiée avec chacune des clés
Exemple de non 2NF:
Fournisseur(Nom,Adresse, Article, Prix); NomAdresse
91

91

2NF - complément de définition


Enregistrement
X Z Y

Clé
Champs non-clé
XZY

ZY

R(A , B , C , D , E) Une telle relation doit être décomposée


en R1(A,B, D,E) et R2(B,C)

Note: Un attribut non-clé est un attribut ne constituant


92 pas une clé 92

92

46
2NF - Exemple
NumSalarié Nom NumProjet Heures
20036 Farid 1 18.5
20036 Farid 2 6.7
36900 Yassmine 2 8.5
45002 Naïma 3 23.5
45002 Naïma 1 4.8

NumSalarié NumProjet Heures


NumSalarié Nom 20036 1 18.5
20036 Farid 20036 2 6.7
36900 Yassmine 36900 2 8.5
45002 Naïma 45002 3 23.5
45002 1 4.8
Relation (jointure)
93

93

3NF – 3ème Forme Normale


Une relation est dite dans la troisième forme normale ssi:
• Elle est en 2ème forme normale
• Si aucun champ non-clé n’est en dépendance transitive
avec la clé primaire (tout attribut n ’appartenant pas à une
clé ne dépend pas d’un attribut non clé)

NB: Soit trois colonnes (A,B,C),


A étant la clé primaire, si (AB) et que (B C)
on peut en déduire que (A C), dans ce cas il existe une
relation transitive entre A et C et la table n’est pas dans la 3NF.

94

94

47
3 NF –Complément définition
Enregistrement
A B C
Clé
Champs non-clé
AB
A C
AB
B C

Une telle relation doit être décomposée


R(A , B , C , D , E)
en R1(A,B, D,E) et R2(C,E)
95

95

3 NF – Exemple1
Nom NumSalarié Date naiss. Service NomService NumChef

Durand 5001 15/01/1950 5 Vente 4580


Martin 5002 12/04/1914 6 Informatique 4120

NumSalarié Nom Date naiss. Service

5001 Durand 15/01/1950 Vente


5002 Martin 12/04/1914 Informatique

Relation Service Nom NumSalarié_Chef


(jointure) Vente Vente 4580
Informatique Informatique 4120
96

96

48
3 NF – Exemple 2
•Exemple:
Voiture(NVH, Marque, Type, Puissance, couleur)
Type marque
Type puissance
 Pas en 3ème forme normale!
•Il est bon que les relations logiques soient en 3ème forme:
Pas de redondance
Pas de perte d’information
Pas de perte de dépendance
•Représentation canonique du monde réel!
97

97

Propriétés de 3 premières formes normales


• Théorème: Toute relation R admet une décomposition (R1, …, Rn)
en 3NF telle que:
1) Cette décomposition préserve les DFs
2) Cette décomposition est sans perte
• Décomposition en 3NF sans perte et préservant les DFs
théorème:
soit  une décomposition obtenu par l’algorithme de synthèse
et x une clès de R alors =+{R’(X)} est une décomposition
en 3NF sans perte et préservant les DFs

Remarque: une des relations de  peut avoir déjà X comme clé : l’ajout
de R’ est inutile (, )
98

98

49
Algorithme de synthèse
1) À partir du graphe G des dépendances fonctionnelles, calculer la
couverture minimale C
2) Rechercher la plus grand ensemble X d’attributs qui détermine
d’autres attributs A1, …, An
3) Éditer la relation R(X, A1, …, An) qui est en 3NF
4) Supprimer les Dfs (X A1, …, X  An) du graphe de
couverture minimale C
5) Supprimer les attributs isolés de C (c’est à dire les attributs non
source ou cible de DFs)
6) Répéter l’opération de réduction du graphe C à partir de l’étape
2), jusqu’à ce que C soit vide
99

99

Algorithme de synthèse - Exemple


date

NVH NPRO

Couleur
Nom
Prix
Type
Prenom
Schéma relationnel normalisé:
Marque Puis
POSSEDE(NVH, Npro, Date, Prix)
Vehicule(NVH, Type, couleur)
Modèle(Type, puis, Marque)
100 100
Personne(Npro, nom, prenom)
100

50
Algorithme de décomposition
Entrée : un schéma relationnel (ensemble d’attributs) et un ensemble E de DF
entre ses attributs
Sortie : une ou plusieurs relations en 3NF dont la jointure redonne la relation
intiale (des DF ont pû être perdues)
Principe : l’algorithme peut se voir comme la construction d’un arbre binaire. La
racine de cet arbre est la relation à décomposer.
L’arbre se construit récursivement de la manière suivante:
•On choisit une DF dfi dans l’ensemble E des DFs
•Le fils gauche du noeud racine est une relation composée de tous les attributs
de dfi
•dfi est retiré de l’ensemble E
•Le fils droit du noeud racine est une relation composée de tous les attributs
de la racine excèpté ceux présents en partie droite de dfi
• Nb. Cet algorithme est sans perte mais ne préserve pas forcément les DFs 101

101

BCNF – Définition simplifiée


•Insuffisance de la 3NF : Extension de la relation Vin(Cru, Pays, Région)
Vins Cru Pays Region
Chenas France Beaujolais

Julien France Beaujolais


Chablis France Bourgogne

Chablis USA Californie

•Définition de La BCNF (Boyce Codd Normal Form)


Une relation est en BCNF ssi la 3NF soit vérifiée pour toutes les clés primaires
potentielles. Les seules dépendances fonctionnelles sont celles où la partie gauche
est ou contient une clé.
Autrement: Une table est dans la BCNF ssi pour tout X Y, X contient une clé
Plus simple que 3NF, mais un peu plus fort
102

102

51
BCNF – Définition simplifiée
Schéma

(A , B , C , D , E)

Une telle relation n’est pas en BCNF, peut être


décomposée en R1(A , B , C , E) et R2(D , B)

103

103

Les dépendances multivalées


•Insuffisances des DFs
La notion de DF associée à 3NF et BCNF est insuffisante pour
éliminer les redondances et les anomalies de mise à jour
Exemple:
Etudiant NE Cours Sport

100 BD Tennis

100 BD Foot
200 BD Vélo

200 IA Vélo

• Trouver la clé, les DF …


• Y-a-t-il des redondances?
104

104

52
Les dépendances multivalées
• Définition: soit une relation R(X Y Z), X multi-détermine Y si et
seulement si :
L’ensemble des valeurs de Y, qui correspond à une paire de
valeurs de (XZ) dans R dépend seulement de X et est
indépendant de la valeur de Z:
(xyz) et (xy’z’)R (xy’z) et (xyz’) R
• Notation : X Y
• Cas particulier: Une dépendance fonctionnelle est un cas
particulier de dépendance multivaluée:
(XY) (X  Y)
• Dépendance multivaluée triviale
1) X  Y avec R(X,Y) 2) X  Y avec XX 105

105

4 NF – 4ème Forme Normale


• La 4NF règle les problèmes liées aux DPV (DPV: dépendance de
plusieurs valeurs) trop nombreuses.

• Définition :
Une ralation R est en 4NF si et seulement si les seules
dépendances multivaluées non triviales sont celles dans
lesquelles une clé multidétermine un attribut (ou groupe
d’attributs).
• Propriété :
une relation en 4NF est en BCNF, et donc en 3NF

106

106

53
4 NF – 4ème Forme Normale
• Décomposition en 4NF
–Théorème: toute relation admet au moins une décomposition en
4NF qui est sans perte
–Exemple:
–Etudiant(ne, cours, sport)
Cette relation n’est pas en 4NF car on a des DMs non triviales:
(ne cours) (ne  sport)
Une décomposition est en 4NF est
Etu_cours(ne,cours)
Etu_sport(ne, sport)
107

107

4 NF - Exemple
Département Projet Tâche
Département projets
D1 P1 T1
D1 P1 T2 Département tâches
D1 P2 T1
D1 P2 T2
D2 P3 T2
D2 P3 T4
D2 P4 T2
D2 P4 T4
D2 P5 T2
D2 P5 T4
D3 P2 T5
D3 P2 T6
108

108

54
4NF – Exemple (Correction)
Département Projet
D1 P1
D1 P2
Département Tâche
D2 P3
D2 P4 D1 T1
D2 P5 D1 T2
D3 P2 D2 T2
D2 T4
D3 T5
D3 T6

109

109

4NF- MCD exemple


1er cas: les projets et les tâches peuvent être
partagés par plusieurs départements
Projet
0,N
Nom
0,N travaille sur
Département
Nom
0,N doit réaliser
Tâche
0,N
Nom

110

110

55
4 NF – MPD Exemple
MPD 1er cas

TACHES
NOMTACHE
DOITREALISER
NOMDEPARTEMENT
NOMTACHE
DEPARTEMENTS
NOMDEPARTEMENT
TRAVAILLESUR
NOMDEPARTEMENT
NOMPROJET PROJETS
NOMPROJET

111

111

4 NF – MPD Exemple2
2ème cas: les projets et les tâches ne peuvenet être affectés qu’à
un seul département à la fois

Projet
0,1
Nom
0,N travaille sur
Département
Nom
0,N doit réaliser
Tâche
0,1
Nom

112

112

56
4 NF – MPD Exemple2

TACHES
NOMDEPARTEMENT
NOMTACHE

DEPARTEMENTS
NOMDEPARTEMENT

PROJETS
NOMDEPARTEMENT
NOMPROJET

113

113

5 NF- 5ème Forme Normale


•Aussi appelée « join-Protection » ou JPNF ou
forme normale Protection-join. Elle repose sur la
nécessité de se prémunir contre la perte d’une
jointure ou de pallier une anomalie due à l’absence
de join-protection.

•Ce problème se rencontre lorsqu’on a une relation N-


vers-N où N>2. Il existe une méthode de vérification
rapide de la 5NF: regarder si la table est en 3 NF et si
toutes les clés candidates sont des colonnes uniques.
114

114

57
5 NF - Exemple
Table originale des transactions vendeurs/acheteurs
Acheteur Vendeur Banque

Durand Frank BNP


Durand Leroux SBC
Martin Frank SBC

Vendeur Banque Acheteur Vendeur Acheteur Banque


Frank BNP Durand Frank Durand BNP
Leroux SBC Durand Leroux Durand SBC
Frank SBC Martin SBC
Martin Frank

Tentative de segmentation 115

115

5 NF – Requête avec faute de join-protection


R1=Jointure(AB,AV, AB.acheteur = AV.Acheteur)
R2=Jointure(R1 ,VB, R1.banque = VB.Banque et VB.vendeur
= R1.vendeur)
R3=Projection(R2, AV.Acheteur, VB.Vendeur, AB.Banque)

Acheteur Vendeur Banque Acheteur Vendeur Banque

Durand Frank BNP Durand Frank SBC


Durand Leroux SBC Durand Leroux SBC
Martin Frank SBC Martin Frank SBC

Rappel : Table originale Réponse: Anomalie !

116

116

58
5 NF – MCD exemple

Banque Acheteur Vendeur


Nom Nom Nom

0,n 0,n 0,n

est impliqué dans est impliqué dans est impliqué dans

1,1
1,1
1,1
Transaction
Code
117

117

5 NF – MCD exemple

Banque Acheteur Vendeur


Nom Nom Nom

Transaction
Nom_Banque
Nom_Acheteur
Nom_Vendeur
Code

118

118

59
Normalisation - Conclusion
–La normalisation n’est pas une finalité, c’est un outil.
–Il est préférable de normaliser à la conception en utilisant des outils CASE.
–On ne peut dénormaliser que si on a préalablement normaliser …
–Objectif: Eliminer les redondances d’informations et les risques d’anomalies en
mise à jour
–Solution: Décomposition des relations en suivants les règles de normalisation
–Approche générale:
•Algorithme de synthèse: décomposition en 3NF sans perte et préservant les DF
•En cas d’insuffisance (le résultat n’est pasq en BCNF ou 4NF), appliquer
l ’algorithme de décomposition (risque de perte de DF)
–Relation Irréductible
Pas de DF autre que clé A
Pas de DM autre que clé   A
119

119

LE MODÈLE RELATIONNEL
ET SON ALGÈBRE (partie 2)

120

120

60
OPERATEURS RELATIONNELS

• Opérateurs de Base
– Union 
– Différence —
– Projection 
– Restriction 
– Produit cartésien 
• opérateurs Additionnels
– Intersection 
– Jointure
– Division 

121

121

Opérations Ensemblistes
• OPERATION ENSEMBLISTE POUR DES
RELATIONS DE MEME SCHEMA
– UNION notée 
– INTERSECTION notée 
– DIFFERENCE notée —

• OPERATIONS BINAIRES
– Relation X Relation  Relation

• EXTENSION
– Union externe pour des relations de schémas différents
– Ramener au même schéma avec des valeurs nulles
122

122

61
Projection

• Elimination des attributs non désirés et suppression des


tuples en double
• Relation -> Relation notée A1,A2,...Ap ( R)

123

123

Restriction

• Obtention des tuples de R satisfaisant un critère Q

• Relation ->Relation, notée Q(R)

• Q est le critère de qualification de la forme :


Ai Valeur
{ =, <, >=, >, <=, #}

• Il est possible de réaliser des "ou" (union) et des "et"


(intersection) de critères simples

124

124

62
Jointure

• Composition des deux relations sur un domaine


commun

• Relation X Relation ->Relation notée

• CRITERE DE JOINTURE
– Attributs de même nom égaux : Attribut = Attribut
• JOINTURE NATURELLE
– Comparaison d'attributs : Attribut1 Attribut2
– THETA-JOINTURE

125

125

Division

• Opérateur binaire noté 

• RS donne comme résultat une relation formée de


tous les tuples qui concaténés à chaque tuple de S
donne toujours un tuple de R.

– Composition des opérateurs , , 


• R  S = R-S(R) - R-S((R-S(R)  S) - R)

126

126

63
Complétude

• L'ALGEBRE RELATIONNELLE EST COMPLETE


– Les cinq opérations de base permettent de formaliser sous
forme d'expressions toutes les questions que l'on peut poser
avec la logique du premier ordre (sans fonction).
• EXEMPLE

127

127

Bilan modèle relationnel

• Un ensemble de concepts bien compris et bien


formalisé
• Un modèle unique, de plus en plus riche et normalisé
– intégration des BD actives
– intégration des BD objets
– évolution vers un L4G standardisé
• Un formalisme qui s'étend plutôt bien
– algèbre d'objets
• Un langage associé défini à plusieurs niveaux :
– SQL1, 2, 3

128

128

64

Vous aimerez peut-être aussi