BDD
BDD
BDD
REZEG Khaled Matre de confrences B Dpt dInformatique Universit de Biskra B.P. 145 Biskra 07000 Tel & Fax : 033 74 31 61 Email : rezeg_khaled@yahoo.fr
20/02/2013
L2 Informatique Biskra
20/02/2013
L2 Informatique Biskra
Base de donnes BD
Objectif: Comprendre les objectifs, les architectures et les langages de bases de donnes. Matriser les fondements thoriques et les algorithmes de base des systmes de gestion de bases de donnes, depuis la conception de base de donnes jusqu'au traitement de requtes et la gestion de transactions. Le module s'appuie sur le modle relationnel et les langages associs, en particulier SQL.
20/02/2013 L2 Informatique Biskra 3
Gnralits sur les bases de donnes Modlisation de bases de donnes : Le modle relationnel Conception et optimisation de schma relationnel Prsentation gnrale de SQL Introduction l'algbre relationnelle Evaluation et optimisation de requte Transaction
Base de donnes BD
20/02/2013
L2 Informatique Biskra
Rfrences Base de donnes lusage des tudiants Dr. Brahim BELATTAR - LISA - Dpt dinformatique - Facult des sciences de lIngnieur - Univ. de Batna - 05000 Algrie Georges Gardarin. Bases de donnes: objet et relationnel. Eyrolles, 1999. Base de donnes srie des pages blues Mode dvaluation. 50 % Examen + 25 % TP + 25 % TD.
Base de donnes BD
20/02/2013
L2 Informatique Biskra
Chapitre 01
20/02/2013
L2 Informatique Biskra
Quest-ce donc quune base de donnes ? Que peut-on attendre dun systme de gestion de bases de donnes ? Que peut-on faire avec une base de donnes ?
20/02/2013
L2 Informatique Biskra
20/02/2013
20/02/2013
L2 Informatique Biskra
Le stockage / laccs
20/02/2013
L2 Informatique Biskra
1960 1970
Le dbut des bases de donnes hirarchiques
1970 1980
La naissance du modle relationnel
20/02/2013
20/02/2013
L2 Informatique Biskra
20/02/2013
L2 Informatique Biskra
10
Les limites lutilisation des fichiers (4) Redondance des donnes et incohrences Isolation des donnes et accessibilit Un accs aux donnes = un programme Atomicit et environnement multi utilisateurs Scurit et protection des donnes
20/02/2013 L2 Informatique Biskra 11
Les limites lutilisation des fichiers (5) Source des difficults avec les fichiers
Le modle des donnes est intgr dans les programmes Absence de contrle pour laccs et la manipulation des donnes
20/02/2013
L2 Informatique Biskra
12
20/02/2013
L2 Informatique Biskra
14
SGBD (1)
Dfinition : Le logiciel qui permet dinteragir avec une BD est Systme de Gestion de Base de Donnes (SGBD)
SGBD
BD
20/02/2013
L2 Informatique Biskra
15
SGBD (2)
Un SGBD est un intermdiaire entre les utilisateurs et les fichiers physiques Un SGBD facilite - la gestion de donnes, avec une reprsentation simple sous forme de table par exemple - la manipulation de donnes. On peut insrer, modifier les donnes et les structures sans modifier les programmes qui manipulent la base de donnes Base de donnes Fichier 1 Fichier 2
20/02/2013
Fichier 3
L2 Informatique Biskra
20/02/2013
Ds que lon essaie de saisir une valeur qui ne respecte pas cette contrainte, le SGBD le refuse.
20/02/2013
L2 Informatique Biskra
19
20/02/2013
L2 Informatique Biskra
20
20/02/2013
L2 Informatique Biskra
21
20/02/2013
L2 Informatique Biskra
22
Modlisation
Schma conceptuel
Schma physique
20/02/2013
L2 Informatique Biskra
23
Cette description est faite selon un modle de donnes. Un modle de donnes est un ensemble de concepts permettant de dcrire la structure dune base de donnes. La plupart des modles de donnes incluent des oprations permettant de mettre jour et questionner la base. Le modle de donnes le plus utilis est le modle relationnel Cette description va donner lieu un schma de base de donnes. Un schma de base de donnes se compose dune description des donnes et de leurs relations ainsi que dun ensemble de contraintes dintgrit.
20/02/2013
L2 Informatique Biskra
24
20/02/2013
L2 Informatique Biskra
25
20/02/2013
L2 Informatique Biskra
26
20/02/2013
L2 Informatique Biskra
27
20/02/2013
20/02/2013
L2 Informatique Biskra
30
Modles de SGBD
Quelques modles logiques :
Modle hirarchique Modle rseau Modle relationnel Modle objet
20/02/2013
L2 Informatique Biskra
31
20/02/2013
L2 Informatique Biskra
32
Architecture
Architecture centralise
programme d'application et SGBD sur mme machine (mme site) premiers systmes
SGBD = serveur (de donnes data server ) machines (sites) diffrentes deux couches, niveaux, strates (two tier )
20/02/2013 L2 Informatique Biskra 33
BD Rseau
Client
20/02/2013 L2 Informatique Biskra
Serveur
34
Architecture 3 tiers
BD Rseau Rseau
Client mince
Serveur d'application
Serveur de donnes
20/02/2013
L2 Informatique Biskra
35
Client
Serveur de donnes
Serveur de donnes
20/02/2013
L2 Informatique Biskra
36
Unit de traitement
Unit de traitement
Unit de traitement
Mmoire vive
Disque
Disque
Disque
Disque
Disque
20/02/2013
L2 Informatique Biskra
37
Entrept de donnes
BD oprationnelle (OLTP)
BD oprationnelle (OLTP)
20/02/2013
L2 Informatique Biskra
38
Entrept de donnes
Base de donnes oprationnelle
traitement des donnes quotidiennes et rcentes OLTP ( On Line Transaction Processing ).
Prospection de donnes , ou forage, fouille, exploration de donnes, ou dcouverte de connaissances dans les BD (data mining, analysis, dredging, archeology, knowledge discovery in databases - KDD)
extraction non triviale d'informations implicites, inconnues et utiles apprentissage machine , statistiques
20/02/2013
L2 Informatique Biskra
39
Chapitre 02
Cours BD Dr REZEG K
Introduction
Cours BD Dr REZEG K
R1(A number(10), B string, , primary key (A), ...) . Rn (X number(15), Y string, , primary key (X), )
Schma logique Reprsente un modle de donnes conforme au modle cibl de SGBD (par ex. SGBDR) Schma physique dcrit comment les donnes sont stockes dans la bd + les index
Cours BD Dr REZEG K
Caractristiques de lArchitecture
Schma externe
Indpendance logique :
Schma conceptuel Un changement du schma conceptuel (nouvel attribut, nouvelle relation, ), n'entrane pas de changement dans les vues existantes
R1(A number(10), B string, , primary key (A), ...) Schma logique . Rn (X number(15), Y string, , primary key (X), )
Indpendance physique :
Schma physique Les changements du schma interne ne sont pas visibles aux niveaux des schmas conceptuels et logiques; consquences sur les performances Cours BD Dr REZEG K 4
Conception de BD
partir de l'analyse du contexte, recueillir les besoins :
Quelles informations stocker ? Comment les organiser ? Quelles contraintes prendre en compte ? Comment les reprsenter ? Quels types d'usages de ces donnes ?
Programmation
Dveloppement et optimisation de requtes et programmes Interfaces avec d'autres applications
Implmentation de SGBD
support de nouveaux types de donnes, optimiseurs, intgration de donnes et d'applications, interfaces utilisateurs, langages
Cours BD Dr REZEG K
Type de modle
Un schma conceptuel est donc le rsultat dun processus de modlisation fait en respectant les possibilits dun modle de donnes. Le modle de donnes est une caractristique de tout SGBD. Il existe quatre grandes classes de modles de donnes qui se distinguent par la nature des associations quils permettent de modliser. Les modles hirarchiques Les modles rseaux Les modles objets Les modles relationnels
Cours BD Dr REZEG K 6
CODASYL ( COnference on DAta SYstems Language) ANSI (American National Standard Institute) GUIDE/SHARE (groupe dusagers IBM) Le groupe CODASYL Enregistrement : collection dagrgats et datomes rangs conscutivement constituant lunit dchange entre la base de donnes et les applications. SETS : Association entre un enregistrement pre (propritaire ou Owner) et un enregistrement fils (Membre ou Member). Plus de dtails la rfrence 1 page 14.
Cours BD Dr REZEG K 7
Cours BD Dr REZEG K
Cours BD Dr REZEG K
Cours BD Dr REZEG K
10
Cours BD Dr REZEG K
11
Voiture
Avion
Bus
Train
Moteur
Roue
12 Cours BD Dr REZEG K
Concepts avancs
Hritage Agrgation, Composition Entits faibles
Cours BD Dr REZEG K
14
Identifier les donnes gres par la base de donnes et leur relations Produire un diagramme, suivant un formalisme, en vue de convertir le modle de donnes en schma de base relationnelle
RALIT modeling Modle Entit-Relation mapping
Cours BD Dr REZEG K 15
Systmes Relationnels
Entit -Attributs
Entit
"une chose" qui existe et qui peut tre distingue de faon unique. Ex.: un tudiant, une voiture, une banque abstraite ou concrte
Attribut
proprit dune entit prend des valeurs simples, par exemple entiers ou chanes de caractres (domaine d'attribut)
Ensemble d'Entits Voitures Attributs nsrie marque type Domaines entier (12) chane de car. (8) chane de car. (10)
marque
16
Relations
Une relation relie deux ou plusieurs ensembles d'entits Ex.:
Des universits dlivrent des diplmes Des tudiants sont inscrits dans des universits
nu
nd
titre diplme
inscriptio ne n tudiant
18
Dpartement nd Nom_d
dlivrer
Inscription
Cours BD Dr REZEG K
19
Ensemble de relations
La "valeur" d'une relation est l'ensemble des listes des entits rellement associes par la relation. Chaque liste est obtenue en correspondance des ensembles d'entits en relation. Exemple: valeur de la relation "dlivre"
nu u1 u1 u1 . u100 u100 nd d2 d3 d5 d1 d2 - l'universit identifie par u1 dlivre les diplmes identifis par d2, d3 et d5, l'universit identifie par u100 dlivre les diplmes identifis par d1 et d2
Cours BD Dr REZEG K 20
Soit r une relation entre k ensembles d'entits E1, E2, , Ek. Un ensemble d'entits peut apparatre plus d'une fois dans la liste. Soit un k-uplet (e1, ... ek) r
e1 E1, ... ek Ek sont associs par la relation r e1, ... ek est dit tuple de r k est le degr de la relation
K= K= K= K= 1 : relation unaire (ou rcursive, sur un mme ensemble d'entits) 2 : relation binaire 3 : relation ternaire n : relation n-aire
Cours BD Dr REZEG K
21
Relations n-aires
Une relation connectant plus de 2 ensembles d'entits permet de restreindre les combinatoires entre les valeurs des entits en relation
Ex.: des employs participent des projets avec des rles
nom_p projet particip e employ nom_e prnom_e nr descr_r rle np p1 p1 p1 p2 p2 ne e2 e3 e5 e2 e3 nr r1 r2 r3 r2 r1
np
ne
Cours BD Dr REZEG K
22
Soit r une relation binaire Le type de r est li au nombre doccurrences dune entit qui peuvent tre associes avec une occurrence de l'autre entit
E1
E2
Cours BD Dr REZEG K
23
ne
employs
projets
Cours BD Dr REZEG K
24
Cours BD Dr REZEG K
25
np
nom_p personnes
Cours BD Dr REZEG K
26
1-n
n-m
1-1
Cours BD Dr REZEG K
27
Attributs de relation
Proprits dont la valeur dpend des tuples dans l'ensemble de relations.
nc
np
nom_p produit
Cours BD Dr REZEG K
28
Cardinalits
Les BD sont conues dans l'hypothse du "monde ferm"
Les ensembles d'entits sont FINIS !!
Cardinalits
Couples (min, max) associs chaque ensemble d'entit reli par une relation r
Si r est binaire, entre E1 et E2:
le min (resp. max) associ Ei (i=1,2) reprsente le nombre minimum (resp. max) d'entits de Ej (j=2,1) associes un lment quelconque de Ei. le nombre doccurrences possibles dentits associes dans cette relation quand les autres (n-1) valeurs sont fixes
Si r est n-aire:
Min
Max
0 1
1 n
Cours BD Dr REZEG K 29
Exemples
nf
type voitures
nsrie
ne
titre projet
np
Cours BD Dr REZEG K
30
Exemples
np
est compose de
npice
0,n
quantit
nom_p
pice
0,n
compose
Cours BD Dr REZEG K 31
Exemple
np
ne nom_e
prnom_e
Cours BD Dr REZEG K
32
Cours BD Dr REZEG K
33
Articles
ceci est possible du fait que ces produits ont les mmes caractristiques (par exemple : la dsignation, le prix unitaire, la quantit, etc).
Clients Fournisseurs
Cours BD Dr REZEG K
34
Association :
Une association est une liaison qui a une interprtation prcise entre plusieurs entits. Exemple : entre lentit client et article il y a une liaison qui est Commander : un client commande un article, et entre fournisseurs et clients il y a la liaison : Livrer
Clients
Commander
Articles
Livrer
Fournisseurs
Fig. Associations
Cours BD Dr REZEG K 35
Attributs et identifiants :
Un attribut est une proprit (caractristique) dune entit ou dune association. Exemple: Dans lexemple de la socit, lentit Articles a des attributs que nous avons dj cits : Dsignation, Quantit, prix unitaire,
Cours BD Dr REZEG K
36
Lentit Client peut avoir comme attributs: adresse client, nom et prnom du client, Les associations Commander et Livrer peuvent avoir comme attributs : quantit commande, date de livraison,
Cours BD Dr REZEG K
37
Chaque individu dune entit doit tre identifiable dune manire unique et sans ambigut, Exemple: Lindividu Said Hamidi de lentit Clients ne peut pas tre identifier dune faon unique par son nom : Plusieurs clients peuvent avoir le mme nom
Cours BD Dr REZEG K 38
chaque entit doit possder un attribut sans doublon (ne prenant pas deux fois la mme valeur). Il sagit de lidentifiant
Remarque : Une entit doit possder au moins un attribut qui est son identifiant, par contre une association peut tre dpourvu dattributs.
Cours BD Dr REZEG K 39
Cardinalit
La cardinalit dun lien entre une entit et une association prcise le nombre de fois quun individu de lentit peut tre concern par lassociation. Exemples : articles. un client peut commander de 1 jusqu n
Cours BD Dr REZEG K
40
Cours BD Dr REZEG K
41
Un client ne peut exister que sil commande au moins un article. Cardinalit minimale pour le client est 1 Un article peut exister dans le stock mme sil nest pas command par aucun client, Cardinalit minimale pour larticle est 0.
Cours BD Dr REZEG K
42
Un bon schma Entits-association doit vrifier certaines rgles dites rgles de modlisation (normalisation) Objet : Rassembler les donnes homognes et viter les redondances. Rg 1: Normalisation des entits : Toutes les entits qui sont remplaables par une association doivent tre remplaces.
Cours BD Dr REZEG K
43
Redondance, donc risque dincohrence Les adresses peuvent ne pas tre les mme donc o va-t-on livrer ?
Cours BD Dr REZEG K 44
Rg 2: Normalisation des noms : le nom dune entit, dune association ou dun attribut doit tre unique. Rg 3: Normalisation dun identifiant : Chaque entit doit possder un identifiant. Rg 4: Normalisation des attributs et des associations: les attributs dune association doivent dpendre directement des identifiants de toutes les entits en association et il faut liminer les association superflues.
Cours BD Dr REZEG K
45
Rg 5. : Normalisation des cardinalits : une cardinalit minimale est toujours 0 ou 1 (pas 2, 3 ou n) et une cardinalit maximale est toujours 1 ou n (pas 2, 3,).
Cours BD Dr REZEG K
46
Mthodologie de Base
Conception dun MCD partir dun problme Rel 1- Identifier les entits en prsence. 2- Lister leurs attributs. 3- Ajouter les identifiants. 4- tablir les associations entre les entits. 5- Lister leurs attributs. 6- Calculer les cardinalits.
Cours BD Dr REZEG K rgles de normalisation. 47 7Vrifier les
Exemple 1 (1)
Exemple: schma conceptuel : cas dune compagnie arienne : Soit une compagnie arienne dcrite par les lments suivants : Elle possde un parc davion. Des pilotes qui assurent un certain nombre de vols. Les avions sont identifis par un numro et sont caractriss par un nom, un type et une capacit. Les pilotes sont identifis par un numro et sont caractriss par un nom et un prnom, une adresse, un grade et un numro de tlphone. Un vol est assur par un avion et un pilote. Un vol est identifi par un numro et caractris par une ville de dpart, une ville darrive, une heure de dpart, une heure darrive, et une date. Des passagers sont enregistrs sur un vol Un passager est identifi par un numro et caractris par un nom et un prnom, une adresse et un numro de tlphone.
10/04/1434 Cours BD Dr REZEG K 48
Exemple 1 (2)
Remarque: pour simplifier ce schma on peut dcomposer la relation assur en utilisant les cardinalits individuelles en deux relations : soit assure1 et assure2 leur collection sont (avion, vol) et (pilote, vol) respectivement
10/04/1434 Cours BD Dr REZEG K 49
Exemple 2 (1)
Notre tablissement universitaire dispose dune bibliothque permettant ses adhrents demprunter des livres. Un adhrent peut tre un tudiant ou un enseignant, il est identifi par un numro, possde un nom, un prnom et appartient une catgorie. Un livre est identifi par un numro de rfrence, possde un titre, une spcialit, une anne ddition et une maison ddition. Un livre est crit par un ou plusieurs auteurs dont un est principal. Un auteur est identifi par un numro, un nom et un prnom et possde une nationalit. Un livre possde un ensemble de mots cls, un mot cl appartient plusieurs livres et est identifi par un code. Un livre peut tre emprunt par plusieurs adhrents dans le temps, chaque opration demprunt on doit enregistrer la date et chaque restitution on doit enregistrer la date.
10/04/1434 Cours BD Dr REZEG K 50
Exemple 2 (2)
10/04/1434
Cours BD Dr REZEG K
51
Le modle relationnel
Introduction : introduit au dbut des annes 70, cest le premier modle de bases de donnes indpendant des critres de stockage, percevoir la base de donnes comme un ensemble de relations qui peuvent tre reprsentes sous forme de table deux dimensions : Les colonnes correspondent aux attributs dune relation et les lignes correspondent aux tuples. utilise un seul concept qui est la relation, ce qui lui rend plus facile utiliser mme pour les utilisateurs ayant plus ou moins de connaissance en informatique. Ce modle est bas essentiellement sur une thorie mathmatique la thorie des ensembles
Cours BD Dr REZEG K 52
Dfinitions (1)
Domaine : Un domaine est un ensemble de valeurs caractris par un nom. Exemple: Domaine des boolens D1={0,1} Domaine des couleurs D2= {Blanche, Rouge, noire} Domaines des marques de voitures D3={Peugeot, Fiat, Renault} Domaines des modules D4={BD, RO, SI, SE, ANG}
Cours BD Dr REZEG K
53
Dfinitions (2)
Le produit cartsien : Le produit cartsien dun ensemble de domaines D1, D2, .,Dn not D1 D2 .. Dn est lensemble des n-uplets tuples (U1, U2, , Un) tel que Ui Di pour tout i=1, 2, ,n Exemple: En prenant les domaines D2 et D3, le produit cartsien donne 9 couples :
Cours BD Dr REZEG K
54
Dfinitions (3)
La relation : Une relation est un sous-ensemble de produit cartsien dun ensemble de domaine, une relation est dsigne par un nom Exemple: Soient les domaines suivants:
D1={1, 2, 3} D2= {janvier, fvrier} D3={2002, 2003, 2004}
On peut avoir une relation date dfinie sur les domaines D1, D2, et D3 avec les tuples suivants :
D1 1 2 2 3 D2 Janvier Janvier Fvrier Fvrier D3 2004 2004 2003 2002
Cours BD Dr REZEG K
55
Dfinitions (4)
Lattribut : Un attribut est une colonne de la relation identifi par un nom, cest une variable qui prend valeur dans un des domaines sur lesquels la relation est dfinie. Exemple: Dans lexemple prcdent on peut avoir les attributs : jour dfini sur le domaine D1, mois dfini sur le domaine D2 et anne dfini sur le domaine D3, do la relation date devient :
Jour 1 2 2 3 Mois Janvier Janvier Fvrier Fvrier Anne 2004 2004 2003 2002
Cours BD Dr REZEG K
56
Dfinitions (5)
Le tuple: Un tuple dune relation dsigne une ligne dans la table reprsentant cette relation. Exemple: Dans la relation date (1, janvier, 2005) est un tuple 6. Arit dune relation : Larit dune relation est le nombre de ses attributs, cest aussi le nombre de colonnes de la table si on reprsente la relation sous forme de table. Exemple: Larit de la relation date est gale 3.
Cours BD Dr REZEG K
57
Dfinitions (6)
Cardinalit dune relation : La cardinalit dune relation cest le nombre de tuples de cette relation, cest aussi le nombre de lignes de la table qui reprsente la relation. La cardinalit dune relation R est un nombre entier not par |R| Exemple: la cardinalit de la relation date : |date| = 4; Schma dune relation : Un schma dune relation est compos du nom de la relation suivit de la liste des attributs avec leurs domaines, R(A1 : D1, A2 : D2, , An : Dn) ; Exemple: le schma de la relation Etudiant : Etudiant(numinsc: integer; nom: char(20); prenom: char(20); adr: char(40) ; depart: dep); o : dep : est le domaine des dpartements {inf, mat, bio, elec} ;
Cours BD Dr REZEG K 58
Dfinitions (7)
Extension de la relation : Une extension de la relation est un ensemble de tuples de la relation, elle est reprsente par un tableau 2 dimensions o une ligne correspond un tuple et une colonne un attribut de la relation Exemple: Soit la relation produit, une extension de cette relation peut tre :
Cod_prod Dsignation Prix_unit
Cours BD Dr REZEG K
59
Dfinitions (8)
Cl de la relation :
La cl dune relation R est un attribut ou un ensemble dattributs qui permet didentifier dune manire unique chaque tuple de la relation. Remarque: Daprs la dfinition mme dune relation quelle est un ensemble de tuples nayant pas dlments en double (ne peut pas contenir deux tuples identiques), toute relation possde au moins une cl savoir : lensemble de ses attributs. Cl candidate: un attribut ou un ensemble dattributs est appel cl candidate sil peut jouer le rle de cl dans une relation, une cl doit tre souligne dans un schma de relation. Cl primaire: lorsquon dispose pour une relation donne de plusieurs cls candidates, il est ncessaire de ne retenir quune seule parmi lensemble des cls candidates et cest celle quon utilisera effectivement pour reprer de manire unique les tuples de la relation, la cl retenue sappellera alors cl primaire.
Cours BD Dr REZEG K 60
Dfinitions (9)
Le choix de la cl primaire est gnralement effectu en fonction des deux critres suivants : On choisit la cl candidate ayant le plus petit nombre dattributs : il est prfrable de minimiser le nombre dattributs manipuls. On choisit la cl candidate en fonction de son usage pour la localisation des tuples : il sagit de privilgier la cl candidate dont lusage serait le plus frquent pour localiser les tuples de la relation Remarque: toute cl candidate qui na pas t retenue comme cl primaire constitue une cl secondaire.
Cours BD Dr REZEG K
61
Dfinitions (10)
Base de donnes relationnelles: Cest une base de donnes dont le schma conceptuel est un ensemble de schmas de relations et dont les occurrences sont des tuples de ces relations. Exemple: Etudiant(num_insc, nom, prnom, adr, dpartement) Module( codmod, intitule, coef) Inscrit(num_insc, codmod) Examen(num_ins, codmod, note)
Cours BD Dr REZEG K
62
Le passage dun schma conceptuel E-A vers une base de donnes relationnelle
Avec le modle relationnel, le schma conceptuel de la base de donnes est reprsent sous forme de table. Une telle reprsentation ne permet pas de distinguer facilement une entit dune relation, ni de servir de support de communication si on a discuter le schma conceptuel avec dautres personnes. Gnralement on prfre utiliser un autre formalisme tel que celui du modle entit-association, ce dernier nous offre un aide au niveau de la phase de modlisation mme si cela demande un travail supplmentaire de transformation de ce modle vers le modle relationnel. Pour effectuer ce passage on applique des rgles pour les individus et les relations.
Cours BD Dr REZEG K 63
Pour les relations : Cas des relations pre-fils (x, n y, 1) : Lindividu pre devient la table pre. Lindividu fils devient la table fils. Lidentifient de lindividu pre devient un attribut dans la table fils. Les proprits de la relation deviennent des attributs dans la table fils.
Cours BD Dr REZEG K 64
Cours BD Dr REZEG K
65
Exemples (1)
Cours BD Dr REZEG K
66
Exemples (2)
Cours BD Dr REZEG K
67
Questions
Cours BD Dr REZEG K
68
Rgles de passage
Cours BD Dr REZEG K
69
Rgles de passage
REGLE N2 : UNE ASSOCIATION DE DIMENSION 2 AVEC CARDINALITE 1,1 SE REECRIT EN : portant dans la relation fille la cl primaire de la relation mre. L'attribut ainsi ajout s'appelle cl trangre. Symbole : #.
Cours BD Dr REZEG K
70
Rgles de passage
Relation fille
Cours BD Dr REZEG K
71
Rgles de passage
ils sont individuellement cls trangres ajoutant la ou les ventuelles proprits de l'association cette relation.
Cours BD Dr REZEG K
72
Rgles de passage
Cours BD Dr REZEG K
73
Rgles de passage
REGLE N4 : UNE ASSOCIATION DE DIMENSION SUPERIEURE A 2 SE REECRIT SELON LA REGLE 3
Cours BD Dr REZEG K
74
Rgles de passage
Plus de dtail
Cours BD Dr REZEG K
75
Chapitre 3
Cours BD Dr REZEG K
La normalisation
La conception dun M E-A reprsente la vision de la ralit de lanalyste. Le formalisme obtenu, tabli avec une mthode, ne garantit pas justesse et optimisation. La justesse dpend de la comptence et de lexprience de lanalyste. Loptimisation est obtenue par les mcanismes de la normalisation.
Cours BD Dr REZEG K
Normalisation
Cest vrifier que la structure devant recevoir des donnes est organise pour viter: des redondances dinformations et des anomalies de conception (sources invitables dincohrence court ou long terme).
Cours BD Dr REZEG K
Normalisation
Cours BD Dr REZEG K
La normalisation
Les besoins de normalisation :
1,n
Commandes qute
1,n
anomalie d'insertion (si on rajoute une commande il faut que l'article existe) anomalie de suppression (si on enlve un fournisseur il faut enlever toutes les commandes de ce fournisseur) anomalie de modification (si on modifie le numro d'un article il faut modifier toutes les commandes avec ce numro d'article
Cours BD Dr REZEG K
La normalisation
La thorie de la normalisation repose sur l'analyse de dpendances entre attributs qui sont l'origine de phnomnes de redondance. La normalisation consiste en des mthodes de dcomposition des relations.
Cours BD Dr REZEG K
Normalisation
Les classifications formelles utilises pour dcrire le niveau de normalisation d'une base de donnes relationnelle sont appeles les formes normales (FN) Il existe 04 formes normales, sont les plus pratiques et sont connatre.
Cours BD Dr REZEG K
Normalisation
Chaque nouvelle forme normale marque une tape supplmentaire de progression vers des relations prsentant de moins en moins de redondance Le but.. est d'obtenir une reprsentation des donnes prsentant un minimum de redondance l'intrieur de chaque relation et un maximum d'indpendance entre les diffrentes relations
Cours BD Dr REZEG K
Formes normales
Premire forme normale
Deuxime forme normale Troisime forme normale Forme normale de Boyce-Codd Edgar Codd est lorigine de la dfinition des formes normales 1FN, 2FN, 3FN, BCFN.
Cours BD Dr REZEG K
la normalisation
La thorie de la normalisation est base sur les "dpendances fonctionnelles" (DF). C.A.D. Dpendance entre les informations
Par exemple, le salaire dpend de la qualification
Cours BD Dr REZEG K
10
11
Cours BD Dr REZEG K
Dpendance fonctionnelle
Rappel: Dfinition : dpendance fonctionnelle On dit qu'un attribut B dpend fonctionnellement d'un attribut A si, tant donn une valeur de A, il lui correspond une unique valeur de B. Notation : A --> B Exemple : La dpendance fonctionnelle SS NOM signifie qu' un numro est associ un nom seulement. Remarquons qu'une dpendance fonctionnelle n'est gnralement pas symtrique, c'est--dire que SS NOM n'interdit pas que deux personnes distinctes (correspondant deux SS diffrents) portent le mme nom.
12 Cours BD Dr REZEG K
Transitivit
Augmentation
A partir de ces trois axiomes de base, on peut dduire facilement dautres proprits trs utiles en pratiques. Les plus remarquables sont :
14 Cours BD Dr REZEG K
Pseudo Transitivit
Si X Y et Y , W Z X , W Z Ex : A C et B,C D A,B D
15
Cours BD Dr REZEG K
16
Cours BD Dr REZEG K
17
Cours BD Dr REZEG K
On appelle dpendance fonctionnelle transitive une dpendance de la forme : X A , ou A est un attribut unique non inclus dans X ( A X), tel que : Y X, X Y et Y A et Y / X Dans ce cas, on dit aussi que A est transitivement dpendant de X. Dans le cas o A nest pas transitivement dpendant de X, on dit que A est directement dpendant de X
18 Cours BD Dr REZEG K
Cours BD Dr REZEG K
19
On appelle dpendance fonctionnelle directe une dpendance de la forme X A , ou A est un attribut unique non inclus dans X ( A X), tel que : Y X, si X Y et Y A alors la d.f. Y X existe aussi
20
Cours BD Dr REZEG K
exemple : Si on considre les D.F. : 1- A B 2-B C 3- A C 4-D B 5-D C 6-B D La D.F. A C nest pas directe car pour B A on a : A B et B C =/=> B A La D.F. D C est directe puisque pour B D on a : D B et B C B D existe
Cours BD Dr REZEG K 21
La D.F. A B est directe puisque il nexiste pas dattribut Y A tel quon a en mme temps les d.f. A Y et Y B pour vrifier sil y a ou non contradiction avec la dfinition. Dans ces cas l , la d.f. est forcment directe. Dans le cas o A nest pas directement dpendant de X (i.e. la d.f. Y X nexiste pas), on dit que A est transitivement dpendant de X.
Cours BD Dr REZEG K 22
exemple : Si on considre les D.F. : 1- A ,B C 2- B C 3- B,C D dans la d.f. 1 C nest pas totalement dpendant de A ,B car on a B A,B tel que B C. On peut dire que C est partiellement dpendant de A,B. dans la d.f. 3- D est totalement dpendant de B,C car il nexiste pas de X B ,C et tel que X D.
Cours BD Dr REZEG K
24
On appelle dpendance fonctionnelle triviale une dpendance fonctionnelle de la forme X Y , tel que Y X. En dautres termes, une dpendance fonctionnelle est triviale si elle est obtenue grce la proprit de rflexivit. exemple : Si on considre les D.F. : 1- A ,B B 2-B,C C 3- A ,C D la d.f. 1 est triviale car on a B A ,B la d.f. 2 est triviale car on a C B ,C la d.f. 3 nest pas triviale car on a D A ,C
25
Cours BD Dr REZEG K
les notions de dpendance fonctionnelle lmentaire, de dpendance fonctionnelle totale, de dpendance fonctionnelle directe vont intervenir dans la dfinition des formes normales dune relation et principalement la deuxime et la troisime formes normales.
26
Cours BD Dr REZEG K
Normalisation : 1FN
1FN (rubrique lmentaire) : Un MR est dit en premire forme normale, si toutes les entits sont composes dattributs lmentaires ou atomiques (hors clefs concatnes).
IP 192.168.0.1 192.168.0.2 192.168.0.4 Role client serveur client et serveur
Consquences : un attribut reprsente une donne lmentaire du monde rel ; Un attribut ne peut dsigner, ni une donne compose d'entits de natures diffrentes, ni une liste de donnes de mme nature.
Cours BD Dr REZEG K 27
Normalisation : 1FN
Si on veut avoir les notes d'un tudiant :
Nom E in s te in F re u d
Nom E in s te in F re u d N o te s 8 ,1 2 .5 2 .5 , 0 , 1 8
N o te 1 8 2 .5
N o te 2 1 2 .5 0
N o te 3 N U LL 18
Nest pas en 1FN. Pour y remdier, on peut soit crer un attribut par note si le nombre maximal de notes est connu et si le nombre moyen de notes par personne est proche de ce maximum, Soit fabrique autant de tuples que de couples (nom, note)
Cours BD Dr REZEG K 28
Normalisation : 2FN
2FN (dpendance fonctionnelle lmentaire) : Un MR est dit en deuxime forme normale, si:
- il remplit les conditions de la 1FN et si, - tout attribut n'appartenant pas une cl ne dpend pas d'une partie de cette cl.
A
Cours BD Dr REZEG K
C
29
Normalisation : 2FN
Cours BD Dr REZEG K
30
Normalisation : 2FN
Exemple: Considrons une table Membres du Departement" dont les attributs sont : ID departement, ID employe, Date de naissance employe; et supposons quun employ travaille dans un ou plusieurs dpartements. La combinaison de ID departement et de ID employe identifie de manire unique un enregistrement de la table. Est-ce que cette table est en 2FN? Comme Date de naissance employe ne dpend que dun seul de ces attributs lID employe la table nest pas 2NF.
Cours BD Dr REZEG K 31
Normalisation : 2FN
Autre exemple : Considrons la relation PLAGE de schma suivant : PLAGE (NOMP, REGION, TYPE, POLLUTION) o la cl est (NOMP, REGION). Supposons que la pollution est bien dpendante de la plage (identifie par (NOMP, REGION)) mais que le type est, quant lui, dpendant de la rgion seule. Que pouvons nous faire?: La deuxime forme normale nous impose de distinguer deux relations R1 et R2 de schmas respectifs : R1 (NOMP, REGION, POLLUTION) ; R2 (REGION, TYPE).
Cours BD Dr REZEG K 32
Normalisation : 3FN
Dfinition : troisime forme normale: Une relation est en troisime forme normale si :
- elle est en deuxime forme normale ; - tout attribut n'appartenant pas une cl ne dpend pas d'un attribut non cl. - cad toute DF dont la partie droite nest pas une cl doit avoir une partie gauche qui est une cl :
B, C OK
A, B, C
Cours BD Dr REZEG K 33
Normalisation : 3FN
Exemple : Considrons une table "Departements" dont les attributs sont
et supposons que chaque manager peut grer un ou plusieurs dpartements. ID departement est une cl candidate. Bien que Date embauche manager est fonctionnellement dpendante de {ID departement}, elle est aussi fonctionnellement dpendante de lattribut ID manager. ID departement Date embauche manager ID manager Date embauche manager X Ceci signifie que la table nest pas 3FN. Departements (ID department, Nom departement, ID manager Information Manager (ID manager, date embauche manager)
Cours BD Dr REZEG K 34
Normalisation : 3FN
o la cl est NP. Supposons maintenant comme dans l'exemple prcdent que le type est dpendant de la rgion. La troisime forme normale nous impose de distinguer deux relations R1 et R2 de schmas respectifs : R1 (NP, REGION, POLLUTION) ; R2 (REGION, TYPE).
Cours BD Dr REZEG K 35
Normalisation : 3FN
Autre Exemple : Enseignant (Nom, Bureau, Batiment, Discipline, telephone)
Avec des contraintes dintgrit : Un btiment hberge des enseignants d'une mme discipline; un bureau donn possde un numro de d'appel unique.
Avec les DF: Batiment Discipline Batiment, Bureau Telephone Telephone Bureau, Batiment Note: la deuxime contrainte dfinit une relation 1-1, donc une DF reflexive.
Cours BD Dr REZEG K
36
Enseignant (Nom, Bureau, Batiment, Discipline, telephone) La dpendance Batiment->Discipline ne concerne pas la cl. La relation Enseignant n'est pas 3FN. On sort donc lattribut Discipline de la relation Enseignant (dpendant dun attribut non-cl) et on cr une nouvelle relation Affectation: Affectation(Batiment,Discipline) Les dpendances Batiment, Bureau->Telephone Telephone->Bureau, Batiment ne concernent pas la cl. On cr la nouvelle relation: Annuaire(Bureau, Batiment, telephone) La relation Enseignant dorigine peut tre renomme Sige, avec les attributs restant: Siege(Nom,Bureau,Batiment) Cours BD Dr REZEG K
37
Normalisation : Boyce-Codd
La FNBC tait propose comme une forme plus simple de 3FN, mais elle est finalement plus stricte que la 3FN.
Cours BD Dr REZEG K
38
Normalisation : BCFN
Dfinition : Boyce-Codd forme normale: Une relation est en BCFN si :
- elle est en 3 eme forme normale ; - aucun attribut ne dpend d'un attribut non cl. Toute relation qui est en BCFN est forcement en 3 FN
C.a.d. toute DF a pour partie gauche (origine de la flche) un cl candidate ou primaire entire. Une relation en BCFN si quelle que soit la DF, le membre gauche est une cl.
A, B, C
Cours BD Dr REZEG K 39
Cours BD Dr REZEG K
41
Cours BD Dr REZEG K
42
Algorithme de synthse
Relation en 3 FN
Cours BD Dr REZEG K 43
Cours BD Dr REZEG K
44
Cours BD Dr REZEG K
46
Cours BD Dr REZEG K
47
Cours BD Dr REZEG K
Cours BD Dr REZEG K
49
Chapitre 4
Cours BD Dr REZEG K
Algbre relationnelle
Les oprandes sont les relations ou variables (qui reprsentent des relations) Les oprateurs sont conus afin de rpondre aux besoins des utilisateurs Le rsultat est une algbre qui peut tre utilis comme langage de requtes
Cours BD Dr REZEG K
Oprateurs de base
Slection: garder certains n-uplets. Projection: garder certaines colonnes. Produits et jointure. Re-nomage des relations et attributs.
Cours BD Dr REZEG K
Cours BD Dr REZEG K
Laffectation permet de sauvegarder le rsultat dune expression de recherche ou bien de renommer une relation et ses attributs. Notation : Reprsentation graphique : Exemple : R A B C a b c d e f 1 2 3
S(D,E,F) R donne S
:
D a b c E d e f
F 1 2 3
5
Cours BD Dr REZEG K
Cours BD Dr REZEG K
A a b c
B d e f
C 1 2 3
Select
A
b c
B
e f
C
2 3
Cours BD Dr REZEG K
Cours BD Dr REZEG K
Exemple :
A a b c
B d e f
C 1 2 3
proj A,B(R)
A a b c
B d e f
proj A (R)
A a b c
Cours BD Dr REZEG K
Cours BD Dr REZEG K
10
Lunion de deux relations R et S de mme schma est une relation T de mme schma contenant lensemble des tuples appartenant R, S ou aux deux. Notation : R US ou union (R, S) Reprsentation graphique :
Cours BD Dr REZEG K
11
A a b c
B d e f
C 1 2 3 T A a s c B d e d C 1 4 3
Union (R,T)
A a b c s c
B d e f e d
C 1 2 3 4 3
Cours BD Dr REZEG K 12
Lintersection de deux relations R et S de mme schma est une relation T de mme schma contenant lensemble des tuples appartenant la fois R et S. Notation : R IS ou inter (R,S) Reprsentation graphique :
R
Cours BD Dr REZEG K
S
13
A a b c
B d e f
C 1 2 3 T A a s c B d e d C 1 4 3
Inter (R,T)
A a
B d
C 1
Cours BD Dr REZEG K
14
La diffrence entre deux relations R et S de mme schma est une relation T de mme schma contenant lensemble des tuples appartenant R et nappartenant pas S. Notation : R S ou minus (R, S) Reprsentation graphique :
R
Cours BD Dr REZEG K
S
15
A a b c
B d e f
C 1 2 3 T A a s c B d e d C 1 4 3
R- T
A b c
B e f
C 2 3
16
Cours BD Dr REZEG K
R
Cours BD Dr REZEG K
S
18
A a b c
B d e f
C 1 2 3
D a b
E d e
RxS
A a a b b c c
B d d e e f f
C 1 1 2 2 3 3
D a b a b a b
E d e d e d e
19
Cours BD Dr REZEG K
S ou joint Q (R,S)
Reprsentation graphique :
Q R Cours BD Dr REZEG K S
20
A a b c
B d e f
C b g c
D f b
E d e
B<D et A != C
A a b
B d e
C b g
D f f
E d d
Cours BD Dr REZEG K
21
attributs de R et de S respectivement R A a b c B d e f C d g c
D d b
E f e
B= D
A a
B d
C d
D d
E f
22
Cours BD Dr REZEG K
La jointure naturelle de deux relations R et S est une qui-jointure sur tous les attributs de mme nom dans R et dans S, suivie de la projection qui permet de ne conserver quun seul des cas attributs gaux de mme nom. Notation : R S ou joint (R,S) Reprsentation graphique :
R Cours BD Dr REZEG K
S
23
A a b c
B d e f
C s g c
A a a c
B d d f
D d g c
A a a c
B d d f
C s s c
D d g c
Cours BD Dr REZEG K
24
La jointure ninclut les tuples que sil y a galit entre deux colonnes
Exemple : on dsire la liste de tous les dpartements de lentreprise avec les employs Associs. Dpt Did
D1 D2 D3 D4
Dnom
Achats Recherche Ventes Informatiq ue
Dville
Amiens Boves Ailly Dreuil
Emp
Eid
E10 E20 E30 E40 E50 E60
Enom
Black White Lger Flam Albator DreamBox
Epren
John Bob Ferdinand Captain Roger Ren
Did
D3 D3 D2 D3 D1 D1 25
Cours BD Dr REZEG K
Dpt
Emp
Did
D1 D1 D2 D3 D3 D3
Dnom
Achats Achats Recherche Ventes Ventes Ventes
Dville
Amiens Amiens Boves Ailly Ailly Ailly
Eid
E50 E60 E30 E10 E40 E20
Enom
Albator Dreambox Lger Black Flam White
Epren
Roger Ren Ferdinand John Captain Bob
Cours BD Dr REZEG K
26
La division (ou quotient) de la relation R (A1, A2, , An) par la (sous-)relation S de schma S(A p+1, , An) est la relation de schma T (A1, A2, , Ap) forme de Tous les tuples qui, concatns chaque tuple de S, donnent toujours un tuple de R. Notation : R / S ou div(R,S) Reprsentation graphique :
%
R S
Cours BD Dr REZEG K
27
A
a a b e e a
B
b b c d d b
C
c e e c e d
c c f d
D
d f f d f e
C
c e
D
d f
R/S
A
a e
B
b d
Cours BD Dr REZEG K
28
Agrgats
Un agrgat est un partitionnement horizontal d une relation selon des valeurs d attributs, suivi d un regroupement par une fonction de calcul Notation : Fonction_d Agrgat Ai1,Ai2,,Aip (R) Par exemple : Compte A,B,C ( R ) Reprsentation graphique :
FA Ai1,Ai2,,Aip
Cours BD Dr REZEG K
29
Agrgats : Exemple
A
a d c b
B
b a b g
C
10 15 5 8
Compte (R)
Compte
4
Moyenne (R , C)
Moyenne
9,5
Compte B (R, C)
B
b a g
Compte
2 1 1
Somme B (R, C)
B
b a g
Somme
15 15 8
30
Cours BD Dr REZEG K
Cours BD Dr REZEG K
31
Cours BD Dr REZEG K
33
Chapitre 4
Cours BD Dr REZEG K
Introduction
SQL est le langage informatique standard pour la communication avec les SGBD relationnelles. Il peut tre logiquement vu comme tant compos de 3 sous langages: un Langage de Manipulation de Donnes (LMD), un Langage de Description de Donnes (LDD) et un Langage de Contrle de Donnes (LCD). Interrogation en SQL L'interrogation de relation s'exprime l'aide de la commande Select, ne pas confondre avec la slection algbrique.
Cours BD Dr REZEG K
Projection
SELECT liste d'attributs FROM nom de relation Exemple : soit la relation Produit (code, desig, PU), et soit l'expression en algbre relationnelle suivante: Project Desig, SELECT PU (produit), elle se traduit en SQL comme suit: desig, PU FROM Produit RQ: SQL n'limine pas les tuples en double moins que ceci soit explicitement demand par un mot cl du langage qui est : DISTINCT (ou parfois UNIQUE) SELECT UNIQUE
Cours BD Dr REZEG K 3
Slection
SELECT * FROM nom de relation WHERE condition ; " * " dnote toutes les colonnes de la relation. Exemples: 1) SELECT (PU<= 250) (produit) SELECT * FROM Produit WHERE (PU<= 250) 2) "Quel sont les produits dont le nom commence par 'P' et dont le prix unitaire est infrieur ou gale 300?" SELECT * FROM Produit WHERE (Desig Like "P%") and (PU<= 300)
Cours BD Dr REZEG K 4
Cours BD Dr REZEG K
Produit cartsien
Le produit cartsien entre deux relations s'exprime comme une jointure sans condition (qualification). SELECT * FROM liste de noms de relations Exemple: le produit cartsien des relations EMPLOYES et DEPARTEMENTS s'obtient l'aide de la requte suivante : SELECT * FROM EMPLOYES , DEPARTEMENTS
Cours BD Dr REZEG K
Jointure
SELECT * FROM liste de noms de relations WHERE expression de jointure Exemples: "Quels sont les numros et les noms des employs qui travaillent BATNA ? SELECT Num_Emp , Nom_Emp FROM EMPLOYES , DEPARTEMENTS WHERE (EMPLOYESNum_Dept=DEPARTEMENTSNum_Dept) AND (Ville = 'BATNA')
Cours BD Dr REZEG K
Cours BD Dr REZEG K
Cours BD Dr REZEG K
12
Tri
Tri du rsultat dune requte : la clause ORDER BY La clause ORDER BY permet de trier le rsultat retourn par une requte. Lordre peut tre ascendant (ASC) ou descendant (DESC) et sera fonction du type de ou des attributs qui seront spcifis comme arguments de cette clause. Les exemples suivants permettent de donner une ide des possibilits de cette clause. Q8: Liste des employs du dpartement 10 par ordre dcroissant de leur salaire? SELECT Num_Dept , Nom_Emp, Salaire FROM EMPLOYES WHERE Num_Dept = 10 ORDER BY Salaire DESC
Cours BD Dr REZEG K
14
Cours BD Dr REZEG K
16