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

Slides:



Advertisements
Présentations similaires
REFERENTIEL DE LA SERIE STG
Advertisements

Bases de Données Avancées: Bases de Données Relationnelles
Les Systèmes de Gestion de Bases de Données (SGBD) df - normalisation.
Les Systèmes de Gestion de Bases de Données (SGBD) PL-SQL.
Benoît Piranda Équipe SISAR Université de Marne La Vallée Bases de données Algèbre relationnelle, opérations Requêtes SQL.
Les Systèmes de Gestion de Bases de Données (SGBD) L'algèbre relationnelle.
Les Systèmes de Gestion de Bases de Données (SGBD) Les vues.
Rappels. Les Systèmes de Gestion de Bases de Données (SGBD) L'algèbre relationnelle.
Informatique appliquée à la gestion Bases de données www. labri
Bases de données : modèlisation et SGBD
19 septembre 2006 Tendances Logicielles IBM Rational Data Architect Un outil complet de modélisation et de conception pour SGBD Isabelle Claverie-Berge.
Introduction Pour concrétiser l’enseignement assisté par ordinateur
Le Modèle Relationnel (Chapitre 4)
Fonctionnalités des SGBD
Algèbre relationnelle
Optimisation de Requêtes
Gestion de la persistance des objets
Programme Introduction aux BD et aux SGBD Le modèle relationnel
Le modèle relationnel Des transparents issus de ceux de Ph Rigaux, J Ullman (Stanford), Barry (Bath et Amiens), Godin (UQAM)
1 ARCHITECTURE DACCÈS la méthode générale modèle de données définitions module daccès / modules métiers construction des modèles les modules daccès, les.
Contrôles d'accès aux données
Eléments d ’algèbre relationnelle
BASE DE DONNEES RELATIONNELLES
LE LANGAGE SQL Langage de manipulation de données (LMD)
Introduction à la conception de Bases de Données Relationnelles
LANGAGES LIES AU MODELE RELATIONNEL
Les bases de données Cours assuré par: Mlle Smii imen
Chap 4 Les bases de données et le modèle relationnel
Bases de données et SGBD relationnels
Modèle Logique de Données
Algèbre relationnelle et SQL
Algèbre relationnelle
Les Systèmes de Gestion de Bases de Données (SGBD) Modèle Entité/Association.
Bases de Données Relationnelles DESS CCI
MODELE RELATIONNEL concept mathématique de relation
SYSTEME DE GESTION DE BASES DE DONNEES
Staf 2x Cours de bases de données
1 SQL: Requêtes, Programmation et Triggers Chapitre 5, Sections 15.5.
Algèbre Relationnelle
Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke1 Algèbre Relationnelle Chapitre 4, Sections 4.1 – 4.2.
Cours de Base de Données & Langage SQL
Cours N°2 Base de Données & Langage SQL
Initiation aux bases de données et à la programmation événementielle
Michel Tollenaere SQL et relationnel 1 Cours MSI-2A filière ICL version 1.1 du 2 novembre 2010 Cours de Management des Systèmes dInformation
Michel Tollenaere SQL et relationnel ENSGI Cours MSI 2A Relationnel et SQL version 1.4 du 25 septembre 2007 (ajout jointures) 1 Modèle relationnel Historique.
Les Systèmes de Gestion de Bases de Données (SGBD)
Algèbre Relationnelle : Implémentation
Bases de données.
Traduction des opérations sous MySQL
Optimisation de requêtes
1 G. Gardarin Optimisation de Requêtes  1. Introduction  2. Arbres relationnels  3. Restructuration algébrique  4. Modèle de coût  5. Choix du meilleur.
Bases de données : modèlisation et SGBD
Sélection de colonnes (la projection)
Le modèle relationnel Plan 1. Concepts descriptifs
1 Initiation aux bases de données et à la programmation événementielle Responsable : Souheib BAARIR. (le sujet de votre .
Quinio1 Bases de données : modèlisation et SGBD Séance 3 B Quinio.
Initiation aux SGBD Frédéric Gava (MCF)
Systèmes de gestion de BD
1 Structure en MC Principes Stockage des données dans la mémoire volatile d’un ordinateur Problèmes Stockage temporaire «Petits» volumes de données Langages.
Langage Relationnel Graphe de Requêtes
Séance /10/2004 SGBD - Approches & Principes.
INTRODUCTION AUX BASES DE DONNEES Algèbre relationnelle
Op é rateurs ensemblistes Module 4. 2 La clause GROUP BY La clause GROUP BY est nécessaire dès que l'on utilise des fonctions de calculs statistiques.
Cours n°2 Implémentation et exploitation
Introduction Module 1.
Analyse, élaboration et exploitation d’une Base de Données
Bases de données – Cours 3
Le langage SQL LA Plan 1. Introduction Rappels sur le modèle relationnel Les caractéristiques du langage SQL 2. Le Langage d'Interrogation des.
Bases de données : modèlisation et SGBD Séance 3.
Transcription de la présentation:

Les Systèmes de Gestion de Bases de Données (SGBD) Algèbre relationnelle

B.Sadeg Le Havre Bibliographie S. Abiteboul, R. Hull, V. Vianu, Foundations of Databases, Addison-Wesley J.C. Date, A Guide to the SQL Standard, Addison-Wesley J.C. Date, A Guide to DB2, Addison-Wesley R. Elmasri, S. Navathe, Conception et architecture des bases de données, 4ème ed., publié par Pearson Education. H. Garcia-Molina, J. Ullman and J. Widom, Implementation of Database Systems, Prentice Hall, G. GARDARIN, Bases de Données, Eyrolles, 6ème tirage, R. Ramakrishnan et J. Gehrke DATABASE MANAGEMENT SYSTEMS, MacGraw Hill M. SCHOLL, B. AMANN, P. RIGAUX, V. CHRISTOPHIDES, D. VODISLAV, Polycopié de Bases de Données, librairie des Arts et Métiers. Ullman J.D. and Widom J. A First Course in Database Systems, Prentice Hall, 1997 Ullman J.D. Principles of Database and Knowledge-Base Systems, 2 volumes, Computer Science Press

B.Sadeg Le Havre Sommaire Rappels BD et SGBD relationnels Postgresql, pl/pgsql Algèbre relationnelle Dépendances fonctionnelles et normalisation Architecture d'un SGBD Optimisation dune BD Notions sur l'interfaçage avec les langages évolués Les différents types de SGBD

B.Sadeg Le Havre Rappels

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

B.Sadeg Le Havre 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, …)

B.Sadeg Le Havre – 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.

B.Sadeg Le Havre 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

B.Sadeg Le Havre Modèle relationnel D i ; i = 1,2..n des ensembles, dits domaines Une relation R est un sous-ensemble du produit cartésien: R dans D i,1 x D i,2... x... D i,k k n Dans une BD relationnelle, on na que des relations finies Les D i,j sont les attributs de R ; (Codd)

B.Sadeg Le Havre Schéma d'une relation Les noms R et D i,j constituent le schéma de la relation Ce schéma et l'ensemble des éléments possibles de R constituent une intention de R. Les éléments de R présent à un moment donné constituent une extension de R. Une mise à jour de R modifie une extension et change l'état de la base

B.Sadeg Le Havre Langages relationnels Lalgèbre relationnelle

B.Sadeg Le Havre 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

B.Sadeg Le Havre 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 : la jointure, la division et l intersection Algèbre relationnelle

B.Sadeg Le Havre 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. La projection sur A1, A2, …, Ak élimine tous les autres attributs de la relation et supprime les tuples dupliqués. Projection

B.Sadeg Le Havre Exemple de projection A B C a b c d a b c b d a b e e e a A B a b d a c b e =>п A, B (R) = R

B.Sadeg Le Havre Exemple 2 de projection Requête type : – Quels sont les villes de résidence des personnes de la table P 1 VILLE P 2 = µ ville (P 1 ) LyonDupont3457 ParisDurand3425 ParisDupond2140VILLENOMID P1P1 Lyon ParisVILLE P2P2

B.Sadeg Le Havre Selection en fonction d une condition C portant sur des attributs de R le résultat est une relation dont les attributs satisfont la condition. On note : C (R) Selection

B.Sadeg Le Havre Exemple de selection A B C a b 1 d a 2 c b 3 a b 4 e e 5 => B=b (R) = R A B C a b 1 d a 2 c b 3 a b 4 e e 5 => C (R) = où C : (A=a B=a) C 3 R A B C a b 1 d a 2 A B C a b 1 c b 3 a b 4

B.Sadeg Le Havre Exemple 2 de sélection Requête type : – Sélectionner tous les individus habitant à Paris. VILLE=PARIS P 2 = VILLE=PARIS (P1)

B.Sadeg Le Havre 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

B.Sadeg Le Havre Expressions de l algèbre relationnelle L algèbre relationnelle est fermée par rapport aux opération 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

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

B.Sadeg Le Havre 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

B.Sadeg Le Havre 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

B.Sadeg Le Havre 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

B.Sadeg Le Havre 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

B.Sadeg Le Havre -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 A i B j 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 A i B j S, où {=,,,,, }

B.Sadeg Le Havre 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

B.Sadeg Le Havre 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)

B.Sadeg Le Havre Exercices : Equijinture, 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

B.Sadeg Le Havre 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

B.Sadeg Le Havre 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 R S A B a b a c a e f g R S

B.Sadeg Le Havre UNION 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

B.Sadeg Le Havre 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}

B.Sadeg Le Havre 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 R S => R S 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

B.Sadeg Le Havre 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

B.Sadeg Le Havre 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

B.Sadeg Le Havre 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)

B.Sadeg Le Havre 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 )