0% ont trouvé ce document utile (0 vote)
100 vues33 pages

Fondements des Bases de Données 2023

Transféré par

baccoucheoumaima11
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
100 vues33 pages

Fondements des Bases de Données 2023

Transféré par

baccoucheoumaima11
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

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

Fondements des Bases de Objectif: Introduction des concepts, des notions et des langages qui constituent
les fondements des BD.
Données 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
Responsable du cours: Mariem Gzara, maître de conférences NoSQL en passant par le Relationnel-objet)
Lieu : Institut Supèrieur d’Informatique et de Mathématiques de 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
Monastir- ISIMM 5. Comprendre le modèle relationnel et son algèbre qui forme le ciment des
moteurs relationnels
Filière:1ère Année Licence en Sciences de l’Informatique – LI1
6. Exploiter un outil de Modélisation (PowerDesigner, Toad, Erwin, DB-Main,
Année: 2023-2024 etc.)
7. Maitriser l’essentiel du Standard SQL
BD-LI1-M. GZARA

1 2

Fondements des Bases de Données


Contenu de la formation
1. Introduction à l’approche BD
2. Modélisation conceptuelle des BD (EA et UML) INTRODUCTION À
3. Le modèle relationnel et son algèbre
4. Le Langage SQL et ses 5 sous-langages
L’APPROCHE BASES DE
5. Normalisation et fromes normales DONNÉES
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 BD-LI1-M. GZARA

3 4
Bases de données et systèmes de gestion de Notion de base de données
bases de données

1. Notion de bases de données • Systèmes de gestion de fichiers (SGF) limités pour


2. Architecture et rôle des Systèmes de Gestion de Bases de
gérer une masse importante de données et de liens.

Données (SGBD) • Développement « au coup par coup »


3. Modèle de données et typologie des SGBD – Fichiers par application
4. Cycle de développement d'une BD – Redondance
– Effort et coût de maintien de la cohérence

BD-LI1-M. GZARA BD-LI1-M. GZARA

5 6

Notion de base de données Notion de base de données

• Début des années soixante


• Limites SGF et organisations de données (séquentiel,
séquentiel indexé, accès direct, …) • Pallier les insuffisances des SGF
– connaissance technique approfondie,
• Base de données : collection de données
– enregistrées (sur un support adressable),
– souvent accès par une seule « clé »
– structure indépendante d'une application,

• Dépendance données-programmes : programmes – cohérentes,


sensibles aux modifications physiques (organisation) ou – de redondance minimale,
« logique » (structure) – accessibles par plusieurs utilisateurs

BD-LI1-M. GZARA BD-LI1-M. GZARA

7 8
Notion de base de données SGBD

• Besoins
• SGBD: ensemble d'outils logiciels permettant la
– de structuration,
création et l'utilisation de bases de données.
– de mise en commun,
• Fonctions:
– de non redondance,
– Définition
– de qualité,
– Manipulation
– de disponibilité des données d'une base.
– Intégrité
• Concepteur : structuration, non redondance et mise
– Confidentialité
en commun
– Sécurité
• SGBD : qualité et disponibilité
BD-LI1-M. GZARA BD-LI1-M. GZARA

9 10

SGBD : définition de données SGBD : définition de données

• Objets (personnes, voitures, ...), • Schéma d'une base : sa description dans le LDD
• Attributs (nom personne, type de voitures, ...), – Description unique, commune aux applications.
• Liens (personne possède voitures)
• Sous-schéma : partie de la base visible par un
• Contraintes éventuelles
programme ou un groupe de programmes.
• Langage de Description de Données (LDD)

• Langage de Manipulation des Données (LMD)

BD-LI1-M. GZARA BD-LI1-M. GZARA

11 12
SGBD : Manipulation de données SGBD : Manipulation de données

• Outils et mécanismes permettant de faire communiquer


• Interactive
une BDD et des ''clients''
• Presse-boutons
• Recherche, création, modification et suppression
• Langage hôte (C, C++, Cobol, Java, etc.)
• Langage de Manipulation de Données (LMD)
• Environnements de 4ème génération (L4G): aide à
• Orienté ensembles
la formulation de requêtes, formulaires, etc.
• Indépendance données-programmes

BD-LI1-M. GZARA BD-LI1-M. GZARA

13 14

SGBD : Intégrité des données SGBD : Confidentialité

• Mise en commun des données


• Qualité de l'information
• Mots de passe
• Contraintes d'intégrité spécifiées avec le schéma
• Privilèges et droits d’accès
de la base, SGBD les préserve
• Vues
• Contraintes complexes : programmation

BD-LI1-M. GZARA BD-LI1-M. GZARA

15 16
SGBD : Accès concurrents et Sécurité SGBD : Typologie

• Sécurité de fonctionnement et reprise • Modèle de représentation de données,


• Classe de SGBD:
• Journalisation des actions (Log)
– Hiérarchique, réseau
• Partage de données (verrouillage) – Relationnel

• Validation/Annulation (Transactions) – Orienté Objets


– Déductif
– NoSQL

BD-LI1-M. GZARA BD-LI1-M. GZARA

17 18

Cycle de développement Métiers du domaine

• Utilisateurs
• ANSI/SPARC, 1974
– occasionnels (LMD)
• Niveau conceptuel : global, abstrait – « naïfs » (presse-bouton)
• Niveau Externe : par application(s) – spécialisés (LMD, Langage hôte)

• Niveau Physique : dépend du SGBD • Concepteurs, Développeurs (méthode)

• Méthodes : Niveau Logique (coût) • Administrateurs base et système

• Développeurs de SGBD, d ’outils


BD-LI1-M. GZARA BD-LI1-M. GZARA

19 20
Les méthodologies de conception de BD
Les méthodologies de conception de BD Merise
Les étapes de conception d’une BD : Une méthode d'analyse informatique : Merise
1. Analyse de la situation existante et des besoins 1. Approche globale menée parallèlement sur les données
2. Création d'une série de modèles qui permettent de représenter et les traitements.
tous les aspects importants
2. Description en trois niveaux :
3. A partir des modèles, implémentation d'une base de données

BD-LI1-M. GZARA BD-LI1-M. GZARA

21 22

Modèle conceptuel des données ( MCD ) Le modèle logique de données

QUEL EST LE NIVEAU CONCEPTUEL ? • On ne sait pas implémenter aisément un modèle


• Le MCD est l'élément le plus connu de MERISE et conceptuel de données dans une machine.
certainement le plus utile. • Il existe différentes sortes de Systèmes de Gestion de
• Il permet d'établir une représentation claire des données Bases de Données (SGBD) qui ont chacun leur propre
du Système d’Information. modèle :
– Systèmes de Gestion de Fichiers ou SGF qui ne sont pas de
• définit les dépendances fonctionnelles de ces données vraies SGBD
entre elles. – SGBD hiérarchiques organisés selon une arborescence
• Un modèle conceptuel de données est indépendant de – SGBD réseau encore appelés CODASYL
l'état de l'art technologique. – SGBD relationnels
– SGBDOO (Orientés Objet)
BD-LI1-M. GZARA BD-LI1-M. GZARA
– SGBD NoSQL

23 24
Le modèle logique

QU'EST-CE QUE LE NIVEAU LOGIQUE ?


• Le niveau logique est une REPRESENTATION du
MODÉLISATION
système tel qu'il sera implémenté dans des ordinateurs. CONCEPTUELLE DES BD
Une représentation  un modèle (EA ET UML)
• 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.) BD-LI1-M. GZARA

25 26

Modélisation des données Le modèle Entité-Association,


Modèle Entité-Association les concepts de base : entité (I)
• Niveau conceptuel de merise : Modèle de Conception • Entité : objet du monde réel avec une existence
de Données (MCD) indépendante,
une entité (ou type d’entité) est une chose (concrète ou
Le MCD est basé sur la Conception Entité-Association, abstraite) qui existe et est distinguable des autres entités.
CHEN[76], qui est un modèle d’analyse du monde réel.
• Occurrence d’une entité est un élément particulier
correspondant à l ’entité et associé à un élément du réel.
• Deux concepts principaux et un un troisième sous-
jacent : • Chaque entité a des propriétés (attributs) particulières
entité, qui la décrivent,
association, une entité donnée a des valeurs pour chacun de ses attributs
(ex: nom et prénom du client)
propriété ou attribut
BD-LI1-M. GZARA
• Un domaine de valeur est associé à chaque attribut
BD-LI1-M. GZARA
simple.
27 28
Le modèle Entité-Association, Unicité: Identifiant
les concepts de base : entité (II)
nom prénom Date naissance Etc.
Une entité est défini par un nom et une liste d'attributs. Liste des clients
Daoued ali 01/06/70
Représentation graphique des entités :
Mansar Madiha 05/06/78
Nom de l’entité
Daoued ali 20/04/74
a) b)

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


Problème: Comment distinguer les Daoued?
Contraintes sur les attributs : Le numéro de client est un identifiant clés.
Élémentarité : Tous les attributs sont simples ou atomiques, Un identifiant caractérise de façon unique une entité
c.a.d. ils ne peuvent pas être exprimés par les autres attributs.
BD-LI1-M. GZARA BD-LI1-M. GZARA

29 30

Le modèle Entité-Association Le modèle Entité-Association


les concepts de base : association (I) les concepts de base : association (II)
• Une association (ou type d’association) représente un
Représentation graphique des associations :
lien quelconque entre différents entités.
Nom de l’association
a)
attribut 1
attribut 2

Nom de l’association
b)
• Une occurrence d’une association est un élément
particulier de l’association constitué d’une et une seule Attribut 1 Attribut 2
occurrence des objets BD-LI1-M.
participants
GZARA
à l’association. BD-LI1-M. GZARA

31 32
Le modèle Entité-Association Le modèle Entité-Association
les concepts de base : association (III) les associations, cardinalités
• Le degré d'une association est le nombre d'entités y • Contraintes sur les associations : "contraintes
participant. structurelles"
– Association réflexive – Les cardinalités minimale et maximale: Pour les
– Association binaire associations binaires la cardinalité minimale (max) d'une
– Association ternaire 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 BD-LI1-M. GZARA

33 34

Le modèle Entité-Association Le modèle Entité-Association


les associations, cardinalités les associations, suite
On peut également définir des attributs sur les associations.
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 On peut avoir plusieurs associations définis sur deux entités.
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 BD-LI1-M. GZARA

35 36
Le modèle Entité-Association Le modèle Entité-Association
Concept généralisation/spécialisation Concept généralisation/spécialisation
• Un lien, orienté, d'une E spécialisé (sous-type) (ou
• Les attributs communs au TE générique et aux TE
spécifique) vers une E générique (sur-type).
spécifiques ne sont décrits, dans le schéma, que comme
• Un sous-type entité hérite de tous les attributs de son attributs du TE générique.
sur-type.
• Les E spécifiques peuvent avoir des attributs propres.
• A toute occurrence d’une E sous-type correspond une
• Un sous-type entité participe aussi à toutes les
occurrence de l’E sur-type.
associations auxquelles participe son sur-type.
• A toute occurrence du E sur-type correspond zéro ou • Un sous-type peut être sur-type d’un autre type.
une occurrence de E sous-type.
• Un sous type hérite de tous ses ascendants hiérarchie
• Graphiquement, ce lien est représenté par une flèche d’héritage.
orientée du E spécifique vers le E générique
BD-LI1-M. GZARA BD-LI1-M. GZARA

37 38

Le modèle Entité-Association Le modèle Entité-Association


Exemple de l’hypermarché Exemple de l’hypermarché
Article
• Certains traitements doivent pouvoir accéder de
Marque
façon uniforme à tous les articles: inventaire.
nomA
Type
• Nécessité de séparer les articles en plusieurs classes
Code
Ex: (alimentation, habillement, Hi-Fi, hygiène, ...).
Quantité en stock

• Chaque classe peut avoir des caractéristiques qui lui Articles Hi-Fi
sont propres. Ex: date limite de vente (alimentation), puissance
taille et couleur (habillement). Article alimentaire Article
Date limite de habillement
réparation
vente Tailles
• Un article Hi-fi est réparé par un service après vente. couleurs
BD-LI1-M. GZARA Service
BD-LI1-M. GZARA après
vente

39 40
Le modèle Entité-Association Modèle Entité-Association étendu
Modèle Entité-Association étendu entité de type faible (I)
• Un attribut peut être composé hiérarchiquement de plusieurs • Entité non identifiée ou de type faible weak entity type 
autres attributs
– Certains entités dits faibles n'existent qu'en référence à d'autres
Exemple : attribut composite "adresse"
adresse ---- numéro entités dits identifiants.
----- rue
----- no-appt – L'entité identifiant est appelé "identifiant étranger" et
----- ville l'association qui les unit "association identifiante".
----- pays
---- code postal
• Une entité non identifiée a une clé locale (appelé
• Un attribut peut être monovalué ou multivalué
Exemple : l’âge des enfants d’un employé
identifiant relatif) qui permet d'identifier une occurrence
• La valeur d'un attribut peut être dérivée d'une ou plusieurs dans l'ensemble des occurrences associées à une
autres valeurs d'attributs. occurrence de l'entité identifiante.
Exemple : l'âge d'une personne peut être dérivé de la date du jour et de • La clé complète d'une entité faible est la concaténation de
celle de sa naissance
• Sous-type d’une entité : Exemple : technicien  employé 
la clé de l'entité identifiante et de sa clé locale.
BD-LI1-M. GZARA BD-LI1-M. GZARA
cadre

41 42

Modèle Entité-Association étendu Le modèle E/A


entité de type faible (II) LA BASE GESTION DU PERSONNEL
Exemple : l’entité Tâche est complètement dépendante
de l’entité Projet et sa clé locale (No_tâche) n’est pas DESCRIPTION DE LA BASE GESTION DU
suffisante à l’identifier de façon absolue. 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 BD-LI1-M. GZARA

43 44
Le modèle E/A Le modèle E/A
LA BASE GESTION DU PERSONNEL (II) LA BASE GESTION DU PERSONNEL (III)
Le modèle E/A :
SUPERVISION
• Trois types d'entités sont distingués (représentés par des rectangles), DEPARTEMENT
1,1 0,N
EMPLOYE, DEPARTEMENT et PROJET. EMPLOYE nomd
NoSS 1,1 1,N numérod
TRAVAILLER POUR Nb_emp
nom
• PERSONNESACHARGE est un type d'entités faibles associé à l'entité prénom local
0,1 1,1
salaire
identifiant EMPLOYE par l'association identifiante CHARGE. DIRIGER 0,N
0,N
0,N
CHARGE CONTROLE
• Cinq associations binaires : TRAVAILLEDANS, TRAVAILLEPOUR, TRAVAILLER DANS
1,1 Nb_heures 1,1
CONTRÔLE, CHARGE, DIRIGE. 1,N
PERSONNE A CHARGE PROJET
nom CONTENIR nomp
1,N
• L'association SUPERVISION est réflexive sur EMPLOYE. Elle matérialise le date_naissance 1,1 numérop
fait qu'un EMPLOYE a un chef direct et un seul et qu'un EMPLOYE peut être parenté TACHE local
le chef direct d'un ensemble d'EMPLOYE. numérot
description
REPRESENTATION GRAPHIQUE DE LA MODELISATION E/A
BD-LI1-M. GZARA BD-LI1-M. GZARA

45 46

Le modèle Entité-Association
Modèle entité-association Remarque importante

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


• Les identifiants représentation:
• Les associaions n-aires – incomplète: il ne représente que les informations qui sont
intéressantes pour l'application
• Aspects temporels – partiale: il représente le point de vue du concepteur
• Quelques conseils – infidèle: il ne représente pas la réalité telle qu'elle est,
• Les erreurs classiques mais telle qu'elle intéresse le concepteur.

BD-LI1-M. GZARA BD-LI1-M. GZARA

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

• Vérification « syntaxique »
LE MODÈLE RELATIONNEL ET
• Par jeu d'essai
SON ALGÈBRE (partie 1)
• Complétude par rapport aux traitements
• Par les utilisateurs

BD-LI1-M. GZARA BD-LI1-M. GZARA

49 50

LE MODELE RELATIONNEL Produit cartésien


• INVENTE PAR T. CODD (IBM SAN-JOSE) • LE PRODUIT CARTESIEN D1x D2x ... x Dn
EST L'ENSEMBLE DES TUPLES (N-UPLETS) :
• PUBLICATION ACM 1970 <V1,V2,....Vn> TEL QUE Vi Di

1. CONCEPTS POUR LA DESCRIPTION • EXEMPLE


 D1 = {Bleu,Blanc,Rouge} Bleu Vrai
Bleu Faux
2. CONCEPTS POUR LA MANIPULATION  D2 = {Vrai, Faux} Blanc Vrai
Blanc Faux
Rouge Vrai
Rouge Faux
3. CONCEPTS ADDITIONNELS

51 52
‹N°› ‹N°›

51 52
Relation Attribut
 SOUS-ENSEMBLE DU PRODUIT CARTESIEN  VISION TABULAIRE DU RELATIONNEL
D'UNE LISTE DE DOMAINES  Une relation est une table à deux dimensions
 Une ligne est un tuple
 UNE RELATION EST CARACTERISEE PAR UN  Un nom est associé à chaque colonne afin de la repérer
indépendamment de son numéro d'ordre
NOM

 ATTRIBUT
 EXEMPLE
CoulOil Coul Choix  nom donné à une colonne d'une relation
 D1 = COULEUR Marron Faux
Vert Vrai  prend ses valeurs dans un domaine
 D2 = BOOLEEN
Jaune Vrai

53 54
‹N°› ‹N°›

53 54

CONCEPTS MANIPULATOIRES Passage du modèle E/A  relationnel


Rappel : Les étapes de conception d’une BD :
 UN ENSEMBLE D'OPERATIONS FORMELLES 1. Analyse de la situation existante et des besoins
 Algèbre relationnelle 2. Création d'une série de modèles qui permettent de représenter tous les
aspects importants
 CES OPERATIONS PERMETTENT D'EXPRIMER 3. A partir des modèles, implémentation d'une base de données
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°›
55
‹N°›
56

55 56
Passage du modèle E/A  relationnel Règles de passage E/A vers
relationnel
Rappel : Règles portant sur la transformation des entités :
Le modèle Entité-Association est basé sur trois concepts : entité,
association et attribut. (R1) pour chaque entité (identifié) (R2) pour chaque entité non
E, identifié I ayant un identifiant
Comparaison modèles E/A et relationnel
on crée une relation R
dont le schéma est celui de étranger E,
entité relation
occurrence d’une entité nuplet
l'entité. on crée une relation R qui
La clé de R est une des clés de comprend tous les attributs de
attribut simple attribut atomique
E.
attribut composite simulé par un ensemble d'attributs I, ainsi que les attributs clés de
la relation correspondant à E.
entité faible relation
La clé de R est la
association relation
occurrence d’une association nuplet concaténation de la clé locale
57
de I et de la clé
58de E. 58
‹N°› ‹N°›

57 58

Règles de passage E/A vers Règles de passage E/A vers


relationnel relationnel
Règles portant sur la transformation des associations :
(R3) pour chaque association binaire A de type 1:1 (le cas échéant Règle portant sur la transformation des attributs multivalués :
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é (R5) pour chaque attribut multivalué M d'une entité E (idem pour
étrangère la clé de RT ainsi que tous les attributs simples de A. les associations), on crée une nouvelle relation RM qui comprend
un attribut monovalué correspondant à M plus la clé de RE
(R4) pour chaque association binaire A de type M:N ou pour chaque (relation représentant E).
association A de degré supérieur à 2, on crée une nouvelle relation La clé de RM est la concaténation des deux attributs.
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.
59 60
‹N°› ‹N°›

59 60
Règles de passage E/A vers relationnel Règles de passage E/A vers relationnel

61 62
‹N°› ‹N°›

61 62

Le modèle E/A PASSAGE E/A VERS RELATIONNEL


LA BASE GESTION DU PERSONNEL (III) LA BASE GESTION DU PERSONNEL
SUPERVISION Application de (R1):
1,1 DEPARTEMENT
0,N
EMPLOYE
1,1 1,N
nomd
numérod
EMPLOYE(noss, nomf, prenom, salaire)
NoSS TRAVAILLER POUR
nom Nb_emp
local
DEPARTEMENT(numérod, nomd)
prénom
salaire
0,1 1,1
0,N
PROJET(numérop, nomp, local)
DIRIGER
0,N
0,N
CHARGE CONTROLE

1,1
TRAVAILLER DANS
Nb_heures 1,1
Application de (R2):
1,N
PERSONNE A CHARGE PROJET
nom CONTENIR
1,N nomp
PERSONNESACHARGE(noss, nom, datenais, parenté)
date_naissance 1,1 numérop
parenté TACHE local
numérot noss est la clé de la relation correspondant à l'entité
description
identifiant EMPLOYE
REPRESENTATION GRAPHIQUE DE LA
MODELISATION E/A 63 64
‹N°› ‹N°›

63 64
PASSAGE E/A VERS RELATIONNEL PASSAGE E/A VERS RELATIONNEL
LA BASE GESTION DU PERSONNEL LA BASE GESTION DU PERSONNEL
Application de (R3) et (R4) : SCHEMA RELATIONNEL RESULTAT :
(R3) EMPLOYE(noss, nomf, prenom, salaire, numérod, nossup)
numérod permet de représenter TRAVAILLEPOU EMPLOYE(noss, nomf, prenom, salaire, numérod, nossup)
et nossup représente SUPERVISION
(R3) DEPARTEMENT(numérod, nomd, nosschef, datedébut) DEPARTEMENT(numérod, nomd, nosschef, datedébut)
nosschef représente DIRIGE avec l'attribut datedébut en
PROJET(numérop, nomp, local, numérod)
plus
(R3) PROJET(numérop, nomp, local, numérod) PERSONNESACHARGE(noss, nom, datenais, parenté)
numérod représente CONTROLE
TRAVAILLEDANS(noss, numérop, heures)
(R4) TRAVAILLEDANS(noss, numérop, heures)
(R5): LOCALISATION(local, numérod) LOCALISATION(local, numérod)
65 66
‹N°› ‹N°›

65 66

PASSAGE E/A VERS RELATIONNEL

 Transformation de l’héritage
 Calculs de volumétrie NORMALISATION ET FROMES
Les transformations à éviter

NORMALES
 Traduire ou ne pas traduire

68
‹N°› ‹N°›

67 68
Normalisation des Bases de Données Introduction
• Multiples modélisation possibles du monde réel
Plan du cours:
Exemple: BD représentant un Parc Automobile
1. Les problèmes liés à la modélisation Modélisation suivant le modèle Entité-Association:
Personne Véhicule
2. Les dépendances fonctionnelles et NSS NVH
1,1
dépendances de plusieurs valeurs Nom
0,N
possède Type
prix
Prénom Marque
date
3. La décomposition des relations Adresse Couleur
Puiss
4. Les Formes normales Peut être modéliser par une seule relation
Condveh(NSS, Nom, Prénom, Adresse, NVH, Type, Marque, Couleur,
Puiss, prix, date)

69 70
• Certains choix sont mauvais …
69 70

Problèmes soulevés
par une mauvaise conception Théorie de la normalisation(1)
NSS Nom Prénom Adr. NVH Marque Type Puiss Coul Date Prix
• Théorie destinée à concevoir un bon schéma d’une
16607 Jacques Paul Paris 902ZZ75 Renault Clio 5 Blanc 1/1/01 12 500
base de données sans redondance d’information et
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
sans anomalie de mise à jour.
15405 Durand Olivier Lille 782AC06 Peugeot 504 7 Vert 12/4/96 11 000
• Buts:
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


- Conformité des tables et relations avec le modèle
relationnel utilisé par le moteur

• Redondance des données : Incohérence en mise à jour - Ecriture simplifiée des requêtes
- Assurer l’intégrité des données
• Anomalie d’insertion : Comment représenter les
personnes sans véhicule - Utilisation optimale des ressources

• Anomalie de suppression : Perte d’information


71 72

71 72
Théorie de la normalisation(2) Algorithmes de décomposition

• Concepts: Relation Universelle


- Les dépendances fonctionnelles traduisent des
contraintes sur les données. Marque
Puiss Prénom
- Les formes normales définissent des relations bien Couleur R1
NVH Date
conçues.
Prix Nom adr Algorithme
- Processus de normalisation : Décomposer
progressivement les relations jusquà obtenir des de Relations

relations normalisées. décomposition


R2
• Principe: Appliquer des règles: Formes Normales Dépendances

73 74

73 74

Les Dépendances Fonctionnelles (DF) (1) Les Dépendances Fonctionnelles (DF) (2)
• Défintions : • Une DF est définie sur l’intention du schéma et non son
extension.
- Soient R(A1,A2, … An) un schéma de relation, X et Y des
sous-ensembles de A1, A2, …An; • Une DF traduit une certaine perception de la réalité
- On dit que X Y (X détermine Y ou Y dépend Exemple: NVH NSS signifie dans le monde réel
fonctionnellement de X) ssi il existe une fonction qui à L’intersection de co-propriété
partir de toute valeur de X détermine une valeur unique de Y
• La manière de déterminer une DF est de regarder soigneusement
- Ssi quel que soit l’instance r de R, pour tout tuple t1 et t2 de ce que signifient les attributs et de trouver les contraintes qui les
r on a : lient dans le monde réel
x(t1)=x(t2) ==> y(t1)=y(t2) • Les DF font partie du schéma d’une BD en conséquence elles
doivent:
• Exemple:
- être déclarées par les administrateurs de la BD
Type  Marque, NVH  Couleur, (Nom, prénom)  adresse,
NCI  Nom 75 - être contrôlées par le SGBD 76

75 76
Propriétés des dépendances fonctionnelles Dépendance fonctionnelle élémentaire
Les DF obéissent aux axiommes (dit d’Amstrong): À partir de ces propriétés, il est possible d’introduire la
notion de DF élémentaire:
Réflexivité : YXXY
• Dépendance fonctionnelle élémentaire
Augmentation : XYXZYZ
Une DF X A est élémentaire si A est un attribut
Transitivité : XY et YZXZ
unique non inclus dans X et il n’existe pas X’ X tel
Et des propriétés déduites: que X’ A
Union : si X  Y et X  Z  X  YZ • Exemples:
Pseudo transitivité : si X  Y et WY  Z  WX  Z • (NVH,Puis)  (Type,Puis) n’est pas élémentaire
Décomposition : si X  Y et Z  Y  X  Z • (NVH)  (Type) est élémentaire
77 77 78

77 78

Fermeture d’un ensemble de DF Graphe des DFs


• Fermeture d’un ensemble F de DF est l’ensemble de toutes les
DF qui sont conséquence de F, noté F+ • Représentation de l’ensemble des DFs à l’aide d’un graphe
orienté : Nœud=un attribut et arc=une DF
Exercice : Construire F+correspondant à
F={NVHType, Type  Marque, Type  puis, NVH  couleur} Exemples:
1) voiture(NVH, Marque, Type, Puis, Couleur)
• Couverture minimale d’un ensemble de DFs est un sous-
ensemble minimum des DFs élémentaires permettant de générer F={NVH Type, Type  Marque, Type  Puis, NVH  Couleur}
toutes les autres DFs (famille génératrice). 2) CodesPostaux(code, ville, Rue)

• Théorème : tout ensemble de DFs admet une couverture F={(Ville,Rue) Code, Code  Ville
minimale (en général non unique). Couleur Rue
1. F={NVHType, Type  Marque, Type  puis, NVH  couleur}
représente une couverture minimale pour voiture NVH Code
2. Soit F={AB, AC, BC, CB}, Puis Ville
Type
CM1= ={AC, BC, CB}, CM2= ={AB, BC, CB} Marque
79 80

79 80
Clé d’une relation Décomposition des Relations
•Définition: Soient: • Processus de remplacement du schéma d’une relation
- R(A1, A2, …, An) un schéma de relation R(A1, A2, …, An) par une collection de schémas de relations
(R1, R2, …, Rk) t.q.:
- F+ l’ensemble des DFs associées
Schéma(R )=schéma(R1) schéma(R2)  …  schéma(Rk)
- X un sous-ensemble de A1, A2, …, An
• Objectif: classer R en de plus petites relations afin d’éliminer les
X est une clé de R si et seulement si X  A1 A2 … An et il redondances et les anomalies de mise à jour.
n’existe pas Y, Y X| Y  A1 A2 … An Exemples: Voiture(NVH, Marque, Type, Puis, Couleur) peut se décomposer en:

•Conséquence: 1) - R1(NVH, Type, Couleur)


- R2 (Marque, Type, Puis)
- Une clé est un ensemble minimum d’attributs d’une relation qui
détermine tous les autres. 2) - R’1(NVH, Type)

Exemple: Voiture(NVH,Marque, type, Puis, Couleur) - R’2 (Type, Puis, Couleur)

Clés possible: (NVH, Type)? (NVH)?(Type)? - R’3(Marque, Type)


81 82

81 82

Décomposition sans pertes Décomposition sans perte


•Ces décomposition sont elles intéressantes?
- Décomposition sans perte •Théorème:
- Décomposition préservant les DFs Soient  =(R1 , R2) une décomposition de R et F l’ensemble des
•Définition: Une décomposition de R en N relations R1, …, RN est dépendances fonctionnelles sur R,  est sans perte par rapport à F si
sans perte ssi pour toute instance r de R, on a et seulement si:
r=R1( r ) R2( r )  …  RN( r ) (R1R2) (R1-R2) ou (R1R2)  (R2-R1)
•Exemple : Décomposition de la relation voiture
•Décomposition binaire d’une relation
NVH Marque Type Puiss Couleur Clio 5 Blanc 872RH93 Clio
872RH93 Renault Clio 5 Blanc Clio 5 Bleu 452HG59 Clio
R(X,Y,Z) ET X  Y  R(X, Y, Z)=R[X,Y]R[X,Z]
452HG59 Renault Clio 5 Bleu
Ce principe de décomposition binaire d’une relation est à la base de
(R’1,R’2,R’3) Clio Renault
l’algorithme de décomposition
872RH93 Clio Blanc Clio Renault 5

452HG59 Clio Bleu (R1,R2) 83 84

83 84
Décomposition préservant les DF Les formes normales
Définition :
• Ce sont des règles pour décomposer les relations tout en
Une décomposition (R1,R2, …, RN) de R préserve les dépendances préservant les DF et sans perdre d’informations, afin de
fonctionnelles si la fermeture des dépendances fonctionnelles de R représenter des objets et associations canoniques du monde réel
est la même que celle de l’union des dépendances fonctionnelles des (les molécules d’informations)
relation R1, R2, …, RN.
• Ce sont des règles à appliquer :
Exemple:
- A la conception d’une base pour assurer sa cohérence
1) R1(NVH, Type, Couleur) F1{NVHType, NVHCouleur}
R2(Type, Puis, Marque} F2={NVH  Marque, Type Puis} - Sur une base existante pour en vérifier la cohérence
2) R’1(NVH,Type) F’1={NVH Type} A fin de:
R’2(Type, Puis, Couleur) F’2={Type Puis} - Eviter les anomalies de mises à jour
R’3(Type,Marque) F’3={Type Marque}
- Eviter les réponses erronées
On a perdu NVH Couleur
85 86

85 86

1NF- 1ère Forme Normale 1NF-Exemple 1


Nom Adresse Ville
Définition: une relation est en 1ère forme normale si tout Yasmine Dali 21 rue de Paris Sfax, 3000
attribut contient une valeur atomique (unique) Ghassen Yahyaoui 45 avenue de la liberté Sfax, 3004
Fouad Rayane 27 rue des Fleurs Sfax, 3006
• Les champs doivent être atomiques

• Il ne peut y avoir de champs répétitifs Nom Prénom adresse Ville Code Postal

Dali Yasmine 21 rue de Paris Sfax 3000


• Les champs ont une signification constante et précise
Yahyaoui Ghassen 45 avenue de la liberté Sfax 3004
dans le temps
Rayane Rayane 27 rue des Fleurs Sfax 3006
87 88

87 88
1NF-Exemple 2 1NF-Exemple 2 - complément
Numéro_Emprunteur Livre_1 Livre_2 Livre_3 Modèle Conceptuel des Données
150001 Alice au pays des merveilles Du C au C++
Emprunteur Emprunte zéro ou plusieurs
150002 Tintin et Le Lotus Bleu La relativité Le modèle relationnel Code_Emprunteur
Nom Livres
150003 Statistiques
Titre
Livre Amprunté_par
Tintin et Le Lotus Bleu 150002
Modèle Physiqus des Données
Numéro_Emprunteur Nom_Emprunteur
La relativité 150002 Emprunteur
150001 Khalil Alice au pays des 150001 Code_Emprunteur
merveilles
Livres
150002 Wajih
Nom
150009 Saloua
Du c au C++ 150001 Titre
Statistiques 150003
Code_Emprunteur
Le modèle relationnel 150002 89 90 90

89 90

1NF-Exemple 3 1NF-Exemple 4
Animal Date Quantité Nom Profession

Poule10 11/10/2002 2 DUPONT Ingénieur, Professeur


Vache07 11/10/2002 5
MARTIN Géomètre
Poule09 11/10/2002 1

Vache04 11/10/2002 10
Vache12 11/10/2002 9
Nom Profession
Une telle relation doit être
décomposée en répétant les DUPONT Ingénieur
Vache Date Litres noms pour chaque profession
Poule Date Oeufs
07 11/10/2002 5 DUPONT Professeur
10 11/10/2002 2 04 11/10/2002 10
MARTIN Géomètre
09 11/10/2002 1 12 11/10/2002 9
91 92

91 92
2NF- Seconde Forme Normale 2NF - complément de définition
Une relation est en 2ème forme normale ssi : Enregistrement
1) Elle est en 1ère forme normale X Z Y

2) Tout attribut n’appartenant pas à une clé ne dépend pas d’une Clé
partie de clé Champs non-clé
XZY
i.e :
Si X et Y sont des colonnes et que X est une clé, alors pour tout Z ZY
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
R(A , B , C , D , E) Une telle relation doit être décomposée
doit être vérifiée avec chacune des clés
Exemple de non 2NF:
en R1(A,B, D,E) et R2(B,C)
Fournisseur(Nom,Adresse, Article, Prix); NomAdresse
Note: Un attribut non-clé est un attribut ne constituant
94 pas une clé
93 94

93 94

2NF - Exemple 3NF – 3ème Forme Normale


NumSalarié Nom NumProjet Heures
Une relation est dite dans la troisième forme normale ssi:
20036 Farid 1 18.5
20036 Farid 2 6.7 • Elle est en 2ème forme normale
36900 Yassmine 2 8.5
• Si aucun champ non-clé n’est en dépendance transitive
45002 Naïma 3 23.5
45002 Naïma 1 4.8
avec la clé primaire (tout attribut n ’appartenant pas à une
clé ne dépend pas d’un attribut non clé)
NumSalarié NumProjet Heures
NumSalarié Nom 20036 1 18.5 NB: Soit trois colonnes (A,B,C),
20036 Farid 20036 2 6.7
36900 Yassmine
A étant la clé primaire, si (AB) et que (B C)
36900 2 8.5
45002 Naïma 45002 3 23.5 on peut en déduire que (A C), dans ce cas il existe une
45002 1 4.8 relation transitive entre A et C et la table n’est pas dans la 3NF.
Relation (jointure)
95 96

95 96
3 NF –Complément définition 3 NF – Exemple1
Enregistrement Nom NumSalarié Date naiss. Service NomService NumChef
A B C Durand 5001 15/01/1950 5 Vente 4580

Clé Martin 5002 12/04/1914 6 Informatique 4120


AB Champs non-clé

A C
NumSalarié Nom Date naiss. Service
AB
5001 Durand 15/01/1950 Vente
B C
5002 Martin 12/04/1914 Informatique

Relation Service Nom NumSalarié_Chef


Une telle relation doit être décomposée (jointure) Vente Vente 4580
R(A , B , C , D , E)
en R1(A,B, D,E) et R2(C,E) Informatique Informatique 4120
97 98

97 98

3 NF – Exemple 2 Propriétés de 3 premières formes normales


•Exemple: • Théorème: Toute relation R admet une décomposition (R1, …, Rn)
Voiture(NVH, Marque, Type, Puissance, couleur) en 3NF telle que:
Type marque 1) Cette décomposition préserve les DFs
Type puissance 2) Cette décomposition est sans perte
 Pas en 3ème forme normale! • Décomposition en 3NF sans perte et préservant les DFs
•Il est bon que les relations logiques soient en 3ème forme: théorème:
soit  une décomposition obtenu par l’algorithme de synthèse
Pas de redondance
et x une clès de R alors =+{R’(X)} est une décomposition
Pas de perte d’information
en 3NF sans perte et préservant les DFs
Pas de perte de dépendance
Remarque: une des relations de  peut avoir déjà X comme clé : l’ajout
•Représentation canonique du monde réel! de R’ est inutile (, )
99 100

99 100
Algorithme de synthèse Algorithme de synthèse - Exemple
1) À partir du graphe G des dépendances fonctionnelles, calculer la date
couverture minimale C
2) Rechercher la plus grand ensemble X d’attributs qui détermine
d’autres attributs A1, …, An NVH NPRO

3) Éditer la relation R(X, A1, …, An) qui est en 3NF


Couleur Nom
4) Supprimer les Dfs (X A1, …, X  An) du graphe de Prix
couverture minimale C Type
Prenom
5) Supprimer les attributs isolés de C (c’est à dire les attributs non Schéma relationnel normalisé:
source ou cible de DFs) Marque Puis
POSSEDE(NVH, Npro, Date, Prix)
6) Répéter l’opération de réduction du graphe C à partir de l’étape Vehicule(NVH, Type, couleur)
2), jusqu’à ce que C soit vide
Modèle(Type, puis, Marque)
101 102 102
Personne(Npro, nom, prenom)

101 102

Algorithme de décomposition BCNF – Définition simplifiée


Entrée : un schéma relationnel (ensemble d’attributs) et un ensemble E de DF •Insuffisance de la 3NF : Extension de la relation Vin(Cru, Pays, Région)
entre ses attributs
Vins Cru Pays Region
Sortie : une ou plusieurs relations en 3NF dont la jointure redonne la relation Chenas France Beaujolais
intiale (des DF ont pû être perdues)
Julien France Beaujolais
Principe : l’algorithme peut se voir comme la construction d’un arbre binaire. La
Chablis France Bourgogne
racine de cet arbre est la relation à décomposer.
L’arbre se construit récursivement de la manière suivante: Chablis USA Californie

•On choisit une DF dfi dans l’ensemble E des DFs


•Définition de La BCNF (Boyce Codd Normal Form)
•Le fils gauche du noeud racine est une relation composée de tous les attributs
de dfi 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
•dfi est retiré de l’ensemble E est ou contient une clé.
•Le fils droit du noeud racine est une relation composée de tous les attributs Autrement: Une table est dans la BCNF ssi pour tout X Y, X contient une clé
de la racine excèpté ceux présents en partie droite de dfi
Plus simple que 3NF, mais un peu plus fort
• Nb. Cet algorithme est sans perte mais ne préserve pas forcément les DFs 103 104

103 104
BCNF – Définition simplifiée Les dépendances multivalées

Schéma
•Insuffisances des DFs
La notion de DF associée à 3NF et BCNF est insuffisante pour
(A , B , C , D , E) éliminer les redondances et les anomalies de mise à jour
Exemple:
Etudiant NE Cours Sport

100 BD Tennis
Une telle relation n’est pas en BCNF, peut être
100 BD Foot
décomposée en R1(A , B , C , E) et R2(D , B)
200 BD Vélo

200 IA Vélo

• Trouver la clé, les DF …


• Y-a-t-il des redondances?
105 106

105 106

Les dépendances multivalées 4 NF – 4ème Forme Normale


• Définition: soit une relation R(X Y Z), X multi-détermine Y si et
• La 4NF règle les problèmes liées aux DPV (DPV: dépendance de
seulement si :
plusieurs valeurs) trop nombreuses.
L’ensemble des valeurs de Y, qui correspond à une paire de
• Définition :
valeurs de (XZ) dans R dépend seulement de X et est
indépendant de la valeur de Z: Une ralation R est en 4NF si et seulement si les seules
(xyz) et (xy’z’)R (xy’z) et (xyz’) R dépendances multivaluées non triviales sont celles dans
• Notation : X Y lesquelles une clé multidétermine un attribut (ou groupe
d’attributs).
• Cas particulier: Une dépendance fonctionnelle est un cas
particulier de dépendance multivaluée: • Propriété :
(XY) (X  Y) une relation en 4NF est en BCNF, et donc en 3NF
• Dépendance multivaluée triviale
1) X  Y avec R(X,Y) 2) X  Y avec XX 107 108

107 108
4 NF – 4ème Forme Normale 4 NF - Exemple
• Décomposition en 4NF Département Projet Tâche
Département projets
–Théorème: toute relation admet au moins une décomposition en D1 P1 T1
4NF qui est sans perte D1 P1 T2 Département tâches
D1 P2 T1
–Exemple:
D1 P2 T2
–Etudiant(ne, cours, sport) D2 P3 T2
D2 P3 T4
Cette relation n’est pas en 4NF car on a des DMs non triviales:
D2 P4 T2
(ne cours) (ne  sport) D2 P4 T4
Une décomposition est en 4NF est D2 P5 T2
D2 P5 T4
Etu_cours(ne,cours)
D3 P2 T5
Etu_sport(ne, sport) D3 P2 T6
109 110

109 110

4NF – Exemple (Correction) 4NF- MCD exemple


Département Projet 1er cas: les projets et les tâches peuvent être
D1 P1 partagés par plusieurs départements
D1 P2
Département Tâche Projet
D2 P3
D1 T1 0,N
D2 P4 Nom
0,N travaille sur
D2 P5 D1 T2
D3 P2 D2 T2 Département
D2 T4 Nom
D3 T5 0,N doit réaliser
D3 T6 Tâche
0,N
Nom

111 112

111 112
4 NF – MPD Exemple 4 NF – MPD Exemple2
MPD 1er cas 2ème cas: les projets et les tâches ne peuvenet être affectés qu’à
un seul département à la fois
TACHES
NOMTACHE Projet
DOITREALISER
0,1
NOMDEPARTEMENT Nom
0,N travaille sur
NOMTACHE
DEPARTEMENTS Département
NOMDEPARTEMENT
TRAVAILLESUR Nom
NOMDEPARTEMENT 0,N doit réaliser
Tâche
NOMPROJET PROJETS
0,1
NOMPROJET Nom

113 114

113 114

4 NF – MPD Exemple2 5 NF- 5ème Forme Normale


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

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


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

115 116
5 NF - Exemple 5 NF – Requête avec faute de join-protection
Table originale des transactions vendeurs/acheteurs
R1=Jointure(AB,AV, [Link] = [Link])
Acheteur Vendeur Banque
R2=Jointure(R1 ,VB, [Link] = [Link] et [Link]
= [Link])
Durand Frank BNP
R3=Projection(R2, [Link], [Link], [Link])
Durand Leroux SBC
Martin Frank SBC Acheteur Vendeur Banque Acheteur Vendeur Banque

Durand Frank BNP Durand Frank SBC

Vendeur Banque Acheteur Vendeur Acheteur Banque Durand Leroux SBC Durand Leroux SBC

Frank BNP Durand Frank Durand BNP Martin Frank SBC Martin Frank SBC
Leroux SBC Durand Leroux Durand SBC
Frank SBC Martin SBC Rappel : Table originale Réponse: Anomalie !
Martin Frank

Tentative de segmentation 117 118

117 118

5 NF – MCD exemple 5 NF – MCD exemple

Banque Acheteur Vendeur Banque Acheteur Vendeur


Nom Nom Nom Nom Nom Nom

0,n 0,n 0,n

est impliqué dans est impliqué dans est impliqué dans Transaction
Nom_Banque
1,1
1,1 Nom_Acheteur
1,1
Transaction Nom_Vendeur
Code
Code
119 120

119 120
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 … LE MODÈLE RELATIONNEL
–Objectif: Eliminer les redondances d’informations et les risques d’anomalies en
mise à jour
ET SON ALGÈBRE (partie 2)
–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
121 122

121 122

OPERATEURS RELATIONNELS Opérations Ensemblistes

• Opérateurs de Base • OPERATION ENSEMBLISTE POUR DES


RELATIONS DE MEME SCHEMA
– Union 
– UNION notée 
– Différence —
– INTERSECTION notée 
– Projection 
– DIFFERENCE notée —
– Restriction 
– Produit cartésien 
• OPERATIONS BINAIRES
• opérateurs Additionnels
– Relation X Relation  Relation
– Intersection 
– Jointure
• EXTENSION
– Division 
– Union externe pour des relations de schémas différents
– Ramener au même schéma avec des valeurs nulles
123 124

123 124
Projection Restriction

• Elimination des attributs non désirés et suppression des • Obtention des tuples de R satisfaisant un critère Q
tuples en double
• Relation -> Relation notée A1,A2,...Ap ( R) • 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

125 126

125 126

Jointure Division

• Composition des deux relations sur un domaine • Opérateur binaire noté 


commun

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


• Relation X Relation ->Relation notée tous les tuples qui concaténés à chaque tuple de S
donne toujours un tuple de R.
• CRITERE DE JOINTURE
– Attributs de même nom égaux : Attribut = Attribut
• JOINTURE NATURELLE – Composition des opérateurs , , 
• R  S = R-S(R) - R-S((R-S(R)  S) - R)
– Comparaison d'attributs : Attribut1 Attribut2
– THETA-JOINTURE

127 128

127 128
Complétude Bilan modèle relationnel

• L'ALGEBRE RELATIONNELLE EST COMPLETE • Un ensemble de concepts bien compris et bien


– Les cinq opérations de base permettent de formaliser sous formalisé
forme d'expressions toutes les questions que l'on peut poser • Un modèle unique, de plus en plus riche et normalisé
avec la logique du premier ordre (sans fonction).
– intégration des BD actives
• EXEMPLE – 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

129 130

129 130

Langages Relationnels

LE LANGAGE SQL ET SES 5 Plan du cours


SOUS-LANGAGES 1. Le langage SQL
2. Passage du logique au physique
3. Sélection des données
4. Jointure

131

131 132

Vous aimerez peut-être aussi