Le modèle relationnel Des transparents issus de ceux de Ph Rigaux, J Ullman (Stanford), Barry (Bath et Amiens), Godin (UQAM)

Slides:



Advertisements
Présentations similaires
REFERENTIEL DE LA SERIE STG
Advertisements

Etudes de cas A vous de faire Bases de données DRES – B. TALON.
Bases de Données Avancées: Bases de Données Relationnelles
Langage de manipulation de données Ensemble de commandes permettant : – modifier la base : ajout, modification et suppression – interroger la base ex :
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) Algèbre relationnelle.
Les Systèmes de Gestion de Bases de Données (SGBD) L'algèbre relationnelle.
Rappels. Les Systèmes de Gestion de Bases de Données (SGBD) L'algèbre relationnelle.
DataLog ENSEIRB 2010/2011 Ch. Retoré
Informatique appliquée à la gestion Bases de données www. labri
STS2 - Révision des requêtes de sélection2/9/2003 Forme d'une requête de Sélection nSELECT nFROM nWHERE nGROUP BY nHAVING nORDER BY.
Algèbre relationnelle
Techniques dindexation Implémentation du modèle relationnel ~ LIF10: Fondements des bases de données relationnelles.
Optimisation de Requêtes
LE MODELE RELATIONNEL INVENTE PAR T. CODD (IBM SAN-JOSE)
Programme Introduction aux BD et aux SGBD Le modèle relationnel
Eléments d ’algèbre relationnelle
BASE DE DONNEES RELATIONNELLES
LE LANGAGE SQL Langage de manipulation de données (LMD)
Algèbre relationnelle
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
SYSTÈME DE GESTION DE BASES DE DONNÉES
Bases de données et SGBD relationnels
Calcul Relationnel Chapitre 4, Section 4.3.
1 Les dépendances entre les données et les moyens de les vérifier Y Kermarrec (à partir des transparents de J Ullman et de son livre)
Les requêtes Les requêtes permettent dinterroger une base de données suivant 3 opérateurs : La projection Affiche le contenu dun champ complet En langage.
3 Introduction au modèle relationnel 3.1 Concepts de base
L’utilisation des bases de données
Algèbre relationnelle et SQL
1 Introduction à SQL Select-From-Where Le sens des requêtes Requêtes imbriquées et complexes Modifier des relations (daprès les transparents de Ullman)
Algèbre relationnelle
Staf 2x Cours de bases de données
1 SQL: Requêtes, Programmation et Triggers Chapitre 5, Sections
1 SQL: Requêtes, Programmation et Triggers Chapitre 5, Sections 15.5.
Algèbre Relationnelle
1 SQL: Requêtes, Programmation et Triggers Chapitre 5, Sections
Bases de Données II (Automne 2007)
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
Inventé par T. Codd (IBM Recherche)
Cours de Management des Systèmes d’Information
Manipulation des données Requêtes simples
Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke1 Calcul Relationnel Chapitre 4, Section 4.3.
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.
Le modèle relationnel Le modèle relationnel est une représentation de la structure de la base de donnée, permettant de la développer à laide dun logiciel.
PHP & My SQL.
Traduction des opérations sous MySQL
ETAPE04 « Des besoins d’information… » « Des besoins d’information » En définissant son schéma relationnel, le Moulin des Costières définit une organisation.
Bases de données fédéréEs hétérogènes
Optimisation de requêtes
Mini-SGBD Implémentation des opérateurs algébriques Yohann HUBERT Christophe PANNEAU Licence informatique Année Maître de stage : M. KHAYATA.
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.
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.
Langage Relationnel Graphe de Requêtes
Introduction aux Bases de Données et au langage SQL
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.
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.
Langages d’interrogation et de manipulation. N. ChaignaudGM4 - Base de données2 1. Algèbre relationnelle  Ensemble d’opérations permettant de manipuler.
Langage de manipulation de données (LMD)
Transcription de la présentation:

Le modèle relationnel Des transparents issus de ceux de Ph Rigaux, J Ullman (Stanford), Barry (Bath et Amiens), Godin (UQAM)

Une Relation est uneTable Attributs (titre des colonnes) nom fabricant Kro cronenbourg Bud Lite Anheuser-Busch Bières Tuples (lignes)

Schemas Relation schema = nom relation+ attributs, en ordre (+ types des attributs). Exemple: Beers(nome, fab) or Beers(nom: string, fab: string) Database = collection de relations Database schema = ensemble de tous les schéma des relations de la base

Le modèle relationnel Très simple Correspondances presque immédiates avec le monde réel Modèle sous-jacent à SQL : plutôt populaire et largement utilisé !

Du modèle E/R aux relations Passage assez immédiat Des ensembles de données (entity set) qui deviennent des relations Des relations du modèle E/R qui deviennent des relations

Un exemple de Ullman name name addr manf Drinkers Likes Likes(drinker, beer) Beers Married husband wife Favorite Favorite(drinker, beer) Beers (name, manf) Married(husband, wife) Drinkers (name, addr)

Algèbre relationnelle Les opérandes sont les relations ou variables (qui représentent des relations) Les opérateurs sont conçus afin de répondre aux besoins des utilisateurs Le résultat est une algèbre qui peut être utilisé comme langage de requêtes

Opérateurs de base Union, intersection, et la différence. Des opérations ensemblistes qui imposent que les opérandes aient le même schéma. Sélection: garder certains n-uplets. Projection: garder certaines colonnes. Produits et jointure. Re-nomage des relations et attributs.

L’algèbre relationnelle Opérateurs unaires Affectation : opération qui consiste à transférer des tuples d’une table dans une autre table. Cette opération est notée  Restriction : Opération qui consiste à supprimer les tuples d’une relation ne satisfaisant pas la condition précisée. Cette opération est notée s Projection : Opération qui consiste à supprimer des attributs d’une relation et à éliminer les tuples en double apparaissant dans la nouvelle relation. Cette opération est notée p . Tous les langages relationnelles sont basés sur l’algèbre relationnelle.

L’algèbre relationnelle L’affectation L’affectation permet de sauvegarder le résultat d’une expression de recherche ou bien de renommer une relation et ses attributs. Notation :  Représentation graphique : Exemple : R C B A 1 2 3 a b c d e f S(D,E,F)  R donne : S F E D 1 2 3 a b c d e f

L’algèbre relationnelle La restriction (1) La restriction (ou sélection) d’une relation R par une qualification Q est une relation R’ de même schéma dont les tuples sont ceux de R qui satisfont à la qualification. Q peut s’exprimer à l’aide de constante, d’attributs, de comparateurs (>, >=, <, <=,=, <>) et d’opérateurs logiques ( , , ) Notation : s Q ( R ) ou select Q (R) Représentation graphique : Q R

L’algèbre relationnelle La restriction (2) 1 2 3 a b c d e f Select C < 4 et A <> ‘a’ ( R ) C B A 2 3 e f b c

L’algèbre relationnelle La projection (1) La projection d’une relation R de schéma R(A1, A2, …, An) sur les attributs Ai1, Ai2, …, Aip avec avec ij != ik et p<= n est une relation R’(Ai1, Ai2, …, Aip ) dont Les tuples sont obtenus par élimination des attributs de R n’appartenant pas à R’ et par suppression des doublons Notation : p Ai1, Ai2, …, Aip (R) ou proj Ai1, Ai2, …, Aip (R) Représentation graphique : Ai1, Ai2, …, Aip R

L’algèbre relationnelle La projection (2) Exemple : R C B A 1 2 3 a b c d e f proj A,B(R) B A a b c d e f proj A (R) A a b c

L’algèbre relationnelle Opérateurs binaires ayant le même schéma Union : opération portant sur deux relations ayant le même schéma et construisant une troisième relation constituée des tuples appartenant à chaque relation. Les tuples en double sont éliminer Intersection : Opération portant sur deux relations ayant le même schéma et construisant une troisième relation dont les tuples sont constitués de ceux appartenant au deux relations Différence relationnelle : Opération portant sur deux relations ayant le même schéma et construisant une troisième relation dont les tuples sont constitués de ceux ne se trouvant que dans une seule relation

L’algèbre relationnelle L’union (1) L’union de deux relations R et S de même schéma est une relation T de même schéma contenant l’ensemble des tuples appartenant à R, à S ou aux deux. Notation : R U S ou union (R, S) Représentation graphique : R S

L’algèbre relationnelle L’union (2) C B A 1 2 3 a b c d e f T C B A 1 4 3 a s c d e Union (R,T) C B A 1 2 3 4 3 a b c s d e f

L’algèbre relationnelle L’intersection(1) L’intersection de deux relations R et S de même schéma est une relation T de même schéma contenant l’ensemble des tuples appartenant à la fois à R et à S. Notation : R I S ou inter (R,S) Représentation graphique : I R S

L’algèbre relationnelle L’intersection(2) 1 2 3 a b c d e f T C B A 1 4 3 a s c d e Inter (R,T) C B A 1 a d

L’algèbre relationnelle La différence (1) La différence entre deux relations R et S de même schéma est une relation T de même schéma contenant l’ensemble des tuples appartenant à R et n’appartenant pas à S. Notation : R – S ou minus (R, S) Représentation graphique : - R S

L’algèbre relationnelle La différence (2) 1 2 3 a b c d e f T C B A 1 4 3 a s c d e R- T C B A 2 3 b c e f

L’algèbre relationnelle Opérateurs binaires ayant un schéma différent Le produit cartésien : opération sur deux relations de schéma différents construisant une troisième relation constituée des attributs appartenant à chaque relation et dont les tuples sont constitués de toutes les concaténations des tuples des deux relations. La jointure : opération qui consiste à faire le produit cartésien de deux relations, puis à supprimer les tuples ne satisfaisant pas une condition portant sur un attribut de la première relation et sur un attribut de la seconde. La division : opération sur deux relations de schéma différents construisant une troisième relations constituée de tous les tuples qui concaténé à chaque tuple de la deuxième relation, donnent toujours un tuple de la première relation.

L’algèbre relationnelle Le produit cartésien (1) Le produit cartésien de deux relations R et S de schémas quelconques est une relation T ayant pour attributs la concaténation des attributs de R et de S et dont les tuples Sont constitués de toutes les concaténations d’un tuple de R à un tuple de S. Notation : R x S ou product(R,S) Représentation graphique : X R S

L’algèbre relationnelle Le produit cartésien (2) 1 2 3 a b c d e f S E D a b d e R x S A B C D E a b c d e f 1 1 2 2 3 3 a b a b a b d e d e d e

L’algèbre relationnelle La q jointure (1) La q jointure de deux relations R et S selon une qualification Q est l’ensemble des Tuples du produit cartésien R qui satisfont à la qualification Q. Il s’agit donc de la Restriction selon Q de R x S, c’est à dire s Q ( R X S) Notation : R Q S ou joint Q (R,S) Représentation graphique : Q R S

L’algèbre relationnelle La q jointure (2) C B A b g c a d e f S E D f b d e R C B A b g a d e E D B<D et A != C S f

L’algèbre relationnelle L’équi-jointure L’équi-jointure de deux relations R et S est une q jointure avec pour qualification Q l’égalité entre deux colonnes, c’est-à-dire R Ai = Bj S avec Ai et Bj, deux attributs de R et de S respectivement R C B A d g c a b e f S E D d b f e R C B A d a E D B= D S f

L’algèbre relationnelle La jointure naturelle (1) La jointure naturelle de deux relations R et S est une équi-jointure sur tous les attributs de même nom dans R et dans S, suivie de la projection qui permet de ne conserver qu’un seul des cas attributs égaux de même nom. Notation : R S ou joint (R,S) Représentation graphique : R S

L’algèbre relationnelle La jointure naturelle (2) C B A s g c a b d e f S D B A d g c a f R C B A s c a d f D S g

Problèmes liés à la jointure (1) La jointure n’inclut les tuples que s’il y a égalité entre deux colonnes Exemple : on désire la liste de tous les départements de l’entreprise avec les employés Associés. Dpt Dville Dnom Did D1 D2 D3 D4 Achats Recherche Ventes Informatique Amiens Boves Ailly Dreuil Emp Epren Enom Eid E10 E20 E30 E40 E50 E60 Black White Léger Flam Albator DreamBox John Bob Ferdinand Captain Roger René Did D3 D3 D2 D3 D1 D1

Problèmes liés à la jointure (2) Dpt Emp Did Dnom Dville Eid Enom Epren D1 D2 D3 Achats Recherche Ventes Amiens Boves Ailly E50 E60 E30 E10 E40 E20 Albator Dreambox Léger Black Flam White Roger René Ferdinand John Captain Bob Remarque : il nous manque le département informatique !!!

L’algèbre relationnelle La division (1) La division (ou quotient) de la relation R (A1, A2, …, An) par la (sous-)relation S de schéma S(A p+1, …, An) est la relation de schéma T (A1, A2, …, Ap) formée de Tous les tuples qui, concaténés à chaque tuple de S, donnent toujours un tuple de R. Notation : R / S ou div(R,S) Représentation graphique : % R S

L’algèbre relationnelle La division (2) C D S C D b c d c f d a b e c e d d f e c e d f R / S A B a e b d

Agrégats Un agrégat est un partitionnement horizontal d ’une relation selon des valeurs d ’attributs, suivi d ’un regroupement par une fonction de calcul Notation : Fonction_d ’Agrégat Ai1,Ai2,…,Aip (R) Par exemple : Compte A,B,C ( R ) Représentation graphique : FA Ai1,Ai2,…,Aip R

Agrégats : Exemple R A B C Compte (R) Compte Moyenne (R , C) Moyenne 4 a d c b b a g 10 15 5 8 Moyenne (R , C) Moyenne 9,5 Compte B (R, C) B Compte b a g 2 1 Somme B (R, C) B Somme b a g 15 8

Formulation en SQL Un passage presque immédiat Select attributs from relations where condition