La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Les Systèmes de Gestion de Bases de Données (SGBD) L'algèbre relationnelle.

Présentations similaires


Présentation au sujet: "Les Systèmes de Gestion de Bases de Données (SGBD) L'algèbre relationnelle."— Transcription de la présentation:

1 Les Systèmes de Gestion de Bases de Données (SGBD) L'algèbre relationnelle

2 Le Havre 2 Rappels

3 Le Havre 3 Niveaux de représentation dune BD (rapport de lANSI/SPARC 75) Schéma externe 1 (vue-1) schéma externe 2 (vue-2) schéma externe n (vue-n) Schéma conceptuel Schéma physique Fichiers Monde réel modélisation Supports physiques Groupe d'utilisateurs 1 groupe dutilisateurs 2Groupe dutilisateurs n

4 Le Havre 4 Dans la pratique, 4 niveaux : niveau externe (sous-schéma conceptuels) niveau conceptuel (en général, le modèle entité/association) niveau logique (modèle hiérarchique, réseau, relationnel, objet) niveau physique (fichiers, index, …)

5 Le Havre 5 Niveau conceptuel Niveau logique Niveau physique vue-1 vue-2 vue-n

6 Le Havre 6 – Niveau interne : comment sont stockées les données sur les supports physiques --> géré par le SGBD – Niveau conceptuel : passage du monde réel au monde conceptuel via un modèle (exemple : le modèle entité/association). Doit être indépendant de toute implantation (de toute machine) --> géré par le concepteur de la BD – Niveau logique : passage du modèle conceptuel à un modèle de bases de données (relationnel, objet, …), en vue de l implantation sur machine --> géré par le concepteur de la BD – Niveau externe : création de vues (parties de la base de données) sur lesquelles des groupes d utilisateurs ont le droit de travailler (interroger, insérer, modifier et/ou supprimer -> selon les autorisations) --> géré par le concepteur de la BD --> le travail sur les vues est effectué par les utilisateurs.

7 Le Havre 7 Cycle de vie dune base de données Concevoir (analyse => modèle (E/A par exemple) : concepteur Créer la structure (modèle logique (ex. relationnel) -> SGBD particulier): idem Implanter la base de données (LDD+insertions initiales) : administrateur Optimiser la base de données (indexation, …) : administrateur Manipuler (LMD: insérer, màj, supprimer) : utilisateur Maintenir (requêtes spécifiques) : administrateur Monde réel

8 Le Havre 8 Modèle relationnel (Codd 1970) On considère D i où i = 1,2..n des ensembles, dits domaines Un domaine = ensemble de valeurs (ex. D1 : entiers sur 10 positions, D2 : chaînes de 8 caract., …) Attribut = variable à valeurs dans un domaine Une relation r sur les attributs A1, A2,..., An de domaines respectifs D1, D2,..., Dn, est un sous-ensemble du produit cartésien D1xD2x … x Dn. Schéma de la relation r = R = liste de ses attributs avec leurs domaines (souvent, on omet les domaines) ex. Schéma ETUD (num-et:D1, nom-et:D2) ou ETUD (num-et, nom-et) La relation etud ={(102, 'jacques'), (304, 'Marc')} Représentation tabulaire : num-et nom-et Relation etud Jacques 304 Marc

9 Le Havre 9 Langages relationnels - Lalgèbre relationnelle

10 Le Havre 10 Les langages relationnels : sont utilisés pour effectuer des requêtes sur une BD relationnelle utilisent 2 approches qui expriment les mêmes opérations : - algèbre relationnelle - calcul relationnel

11 Le Havre 11 Les opérateurs de l algèbre relationnelle sont des opérateurs ensemblistes. Un opérateur prend en entrée une ou deux relations (ensembles de tuples de la base) et retourne un résultat qui est également une relation. Il existe 5 opérateurs de base : - les opérateurs unaires : selection et projection - les opérateurs binaires : union, différence et produit cartésien D autres opérateurs existent qui peuvent s exprimer à l aide des opérateurs de base. Ce sont la jointure, la division et l intersection Algèbre relationnelle R1R'1 R1 R2 R'

12 Le Havre 12 Projection des attributs d une relation R sur un sous-ensemble des attributs de R : п A1, A2, …, Ak (R) = R(A1, A2, …,Ak) où A 1, A 2, …,A k sont un sous-ensemble du schéma de la relation R (égal ou inclus). La projection sur A1, A2, …, Ak élimine tous les autres attributs de la relation et supprime les tuples dupliqués. La projection : п R R' п

13 Le Havre 13 Exemple de projection X Y Z a b c d a b c b d a b e e e a X Y a b d a c b e =>п X,Y (R) = R = (X,Y,Z) et R' =п X,Y (R) = projection de R sur les attributs X et Y R'R

14 Le Havre 14 Exemple de projection (2) Requête : Soit la relation Ville (id, nomp, nomv) – Quels sont les villes de résidence des personnes de la base (projection sur l'attribut nomv) nomv Tab2 = µ nomv (Tab 1 ) ParisJacques3500 ParisDurand3333 HavreMarc1500 nomvnompid Tab 1 Paris Havrenomv Tab 2

15 Le Havre 15 Selection (restriction) R R' La selection se fait en fonction dune condition C portant sur des attributs de R. Le résultat est une relation dont les attributs satisfont la condition. On note : C (R)

16 Le Havre 16 Exemple de selection X Y Z a b 1 d a 2 c b 3 a b 4 e e 5 => Y='b' (R) = R' R X Y Z a b 1 d a 2 c b 3 a b 4 e e 5 => C (R) = R' où C : (X=a Y=a) Z 3 R X Y Z a b 1 d a 2 X Y Z a b 1 c b 3 a b 4 R'

17 Le Havre 17 Exemple de sélection (2) Requête : – Sélectionner tous les individus habitant à Paris. nomv=PARIS Tab1 2 = mv=Paris (Tab1 )

18 Le Havre 18 Il s agit d une formule logique qui relie, par des connecteurs logiques (AND, OR, NOT), des expressions de la forme : Ai op Aj ou (Ai op a) ou Ai où Ai, Aj sont des attributs de la relation R a est un élement (une valeur) du domaine de Ai op est un opérateur de comparaison : =,, =, <> Les conditions de sélection

19 Le Havre 19 Expressions de l algèbre relationnelle L algèbre relationnelle est fermée par rapport aux opérations de l A.R. : le résultat d une opération relationnelle est aussi une relation. Les opérations relationnelles peuvent être combinées et former des expressions plus complexes. Ex : Relation R = Commande (nom, prenom, nomc, qte) R = pnom ( nom (paul(commande)) R = nom (paul(commande)) : contient les commandes de paul

20 Le Havre 20 Produit cartésien Produit cartésien de la relation R1 par la relation R2 : R1 x R2 Argument : 2 relations quelconques R1 (A1, A2, …, An) et R2 (B1, B2, …, Bk) Schéma de la relation résultat T : R1 x R2 : (A1, …, An, B1, …, Bk) Les occurrences de R : ensemble des tuples ayant n+k attributs : – dont les n valeurs des premiers attributs sont les tuples de R1 – et les k dernieres sont les tuples de R2 X R1 R2 R

21 Le Havre 21 Exemple A B C D E a b a a b c b a a A B C D E 1 1 a b a 1 2 a b a 3 4 a b a 1 1 a b c 1 2 a b c 3 4 a b c 1 1 b a a 1 2 b a a 3 4 b a a RS R x S

22 Le Havre 22 Jointure naturelle Soient 2 relations R et S ayant des attributs en commun R(A 1, …, A m, X 1, …,X K ) S(B 1, …, B n, X 1, …, X k ) Schéma de la relation R S, jointure naturelle de R et S : T (A 1, …, A m, B 1, …, B n,X 1, …,X K ) Un tuple de R S comporte donc (m+n+k) attributs. A B C a b c d b c b b f c a d B C D b c d b c e a d b A B C D a b c d a b c e d b c d d b c e c a d b R S R S

23 Le Havre 23 Jointure naturelle (suite) La jointure naturelle correspond à un produit cartésien, suivi d une sélection. Soient 2 relations R et S ayant des attributs en commun R(A 1, …, A m, X 1, …,X K ) S(B 1, …, B n, X 1, …, X k ). Soit V = {X 1, …, X k } R S = U ( A V : R.A=S.A (R x S)) où U = l ensemble des attributs de R et S et R.A est l attribut A de R

24 Le Havre 24 Jointure naturelle - algorithme Début Pour tout tuple a de R et tout tuple b de S : 1. Concaténer a et b. On obtient un tuple avec comme attributs a | b, c-à-d : A 1, …, A m, X 1, …, X k, B 1, …, B n, X 1, …, X k 2. Ne garder ce tuple que si chaque attribut X i de a est égal à lattribut X i de b : i=1::..k a.X i = b.X i 3. Eliminer les valeurs (colonnes) dupliquées. On obtient, pour la jointure naturelle, un tuple avec comme attributs : A 1, …, A m, B 1, …, B m, X 1, …, X k a b a+b

25 Le Havre 25 -jointure Notée :. C est une jointure entre 2 relations R et S avec : R = ( A 1, …, A m ), S = (B 1, …, B n ) Schéma de T = R Ai Bj S = (A 1, …, A m, B 1, …, B n ) La valeur de T est : Ai Bj (RxS) : sélection des tuples de RxS tels que A i B j Equijointure : on parle de équijointure quand lopérateur est l égalité. R Ai Bj S, où {=,,,,, }

26 Le Havre 26 Exemple de - jointure A B 1 a 1 b 3 a C D E 1 b a 2 b c 4 a a R S A B C D E 1 a 1 b a 1 a 2 b c 1 a 4 a a 1 b 1 b a 1 b 2 b c 1 b 4 a a 3 a 1 b a 3 a 2 b c 3 a 4 a a A B C D E 1 a 1 b a 1 a 2 b c 1 a 4 a a 1 b 1 b a 1 b 2 b c 1 b 4 a a 3 a 4 a a A > C RxS R A C S

27 Le Havre 27 Exemple d équijointure A B 1 a 1 b 3 a C D E 1 b a 2 b c 4 a a R S A B C D E 1 a 1 b a 1 a 2 b c 1 a 4 a a 1 b 1 b a 1 b 2 b c 1 b 4 a a 3 a 1 b a 3 a 2 b c 3 a 4 a a A B C D E 1 a 4 a a 1 b 1 b a 1 b 2 b c 3 a 4 a a RxS R B=D S B D = B=D (RxS)

28 Le Havre 28 Exercices : Equoijinture, jointure naturelle Soient les relations : Immeuble (Adr-Imm, NB-etages, Date-Const, Proprio) App-Imm (Adr-Imm, Num-App, Etage ) 1. Nom du propriétaire de l immeuble où est situé l appartement occupé par Dupond : jointure naturelle Proprio (Immeuble Occup = «Dupond» (App-Imm)) 2. Appartements occupés par des propriétaires dimmeubles : Adr-Imm, Num-App, Etage (App-Imm Occup=Proprio Immeuble)) Jointure naturelle équijointure

29 Le Havre 29 Autre exemple de requête Soit le schéma : Commandes (pnom, cnom, num-cmde, qte) Clients (cnom, cadr, balance) Nom et adresse des clients qui ont commandé des briques : cnom,cadr (Clients pnom = «briques» ( Commandes)) Jointure naturelle

30 Le Havre 30 UNION Soient 2 relations R(A 1, …, A m ) et S(A 1, …, A m ) Le schéma de T = R S est : T (A 1, …, A m ) Les tuples de T : union ensembliste sur D 1 x … x D m avec D i domaine de A i Les doublons sont éliminés. T = R S = {t / t R t S} A B a b a c d e A B a b a e d e f g RS A B a b a c d e a e f g R S

31 Le Havre 31 DIFFERENCE A B a b a c d e A B a b a e d e f g R S A B a c R - S Soient 2 relations R(A 1, …, A m ) et S(A 1, …, A m ) Le schéma de T = R - S est : T (A 1, …, A m ) Les tuples de T : différence ensembliste sur D 1 x … x D m avec D i domaine de A i T = R - S = {t / t R t S} A B a c f g S - R

32 Le Havre 32 INTERSECTION A B a b a c d e A B a b a e d e f g R S A B a c R - S (différence) A B a b d e R S = R - (R - S) (intersection) Soient 2 relations R(A 1, …, A m ) et S(A 1, …, A m ) Le schéma de T = R S est : T (A 1, …, A m ) Les tuples de T : intersection ensembliste sur D 1 x … x D m avec D i domaine de A i T = R S = {t / t R t S}

33 Le Havre 33 Semijointure La semijointure R S correspond à une projection sur les attributs de R de la jointure naturelle entre R et S : U (R S) Si R = (A 1, …, A m, X 1, …, X k ) et S = (B 1, …, B n, X 1, …, X k ) alors le schéma de T : R S = (A 1, …, A m, X 1, …, X k ) Exemple : A B C a b c d b c b b f c a d B C D b c d b c e a d b RS A B C D a b c d a b c e d b c d d b c e c a d b A B C a b c d b c c a d => R S jointure naturelle semijointure => R S

34 Le Havre 34 Division A B C D a b x m a b y n a b z o b c x o b d x m c e x m c e y n c e z o d a z p d a y m C D x m y n z o A B a b c e R S R S

35 Le Havre 35 Division : exemple Num nom p-nom qte 1 Jean briques Jean ciment 10 3 Jean plâtre 5 4 Paul briques Paul platre 8 5 Vincent platre 15 P-nom briques ciment plâtre PROD COMM nom Jean COMM PROD Client(s) qui ont commandé tous les produits

36 Le Havre 36 Division : formellement Soient R1(A 1, …, A m, X 1, …, X k ) et S (X 1, …, X k ) c-à-d les attributs de S sont inclus dans R. T = R a pour schéma : T (A 1, …, A m ) Tuples de T = R S ={(a 1, …, a m )/ (x 1, …, x k ) S : (a 1, …, a m, x 1, …, x k ) R La division peut s exprimer en utilisant les opérateurs produit cartésien, projection et différence : R S = R1 - R2 où : R1 = A1, …, Am (R) et R2 = A1, …, Am ((R1xS) - R)

37 Le Havre 37 Opération de renommage Notée :, c est une opération unaire. Consiste à remplacer le nom d un attribut par un autre. Soit R (A 1, …, A m ), on a : Ai Bi R : T (A 1, …, A i-1, B i, A i+1,..., A m )


Télécharger ppt "Les Systèmes de Gestion de Bases de Données (SGBD) L'algèbre relationnelle."

Présentations similaires


Annonces Google