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

Le modèle relationnel Frédéric Gava (MCF) LACL, bâtiment P2 du CMC, bureau 223 Université de Paris XII Val-de-Marne 61 avenue du Général.

Présentations similaires


Présentation au sujet: "Le modèle relationnel Frédéric Gava (MCF) LACL, bâtiment P2 du CMC, bureau 223 Université de Paris XII Val-de-Marne 61 avenue du Général."— Transcription de la présentation:

1 Le modèle relationnel Frédéric Gava (MCF) LACL, bâtiment P2 du CMC, bureau 223 Université de Paris XII Val-de-Marne 61 avenue du Général de Gaulle Créteil cedex

2 2/16 « Théorie »

3 3/16 Définitions (1) Cest le modèle le plus utilisé par les SGBD actuels. Il nutilise que le concept de relation. On peut lui associer le cadre mathématique de lalgèbre relationnelle (non vue ici) Une relation est une partie dun produit cartésien densembles. Dans le langage SGBD, les ensembles sont appelés domaine Larité dune relation est le nombre de ses domaines Une relation est représenté par une table où les lignes sont des « uplets » et les colonnes des composants (ou attributs). Exemple : Numéro avocatNomPrénomNombre de clients 1LecouturierGuigui10 2CollardBebert0 3VergèsJacquy100

4 4/16 Définitions (2) Cette table représente un ensemble davocats. Pour facilité la lisibilité de la table, on nomme les colonnes (nom, domaine). Exemple (nom, chaîne de caractères) Le schéma de la relation est la liste de ses attributs (numéro, nom, prénom, nb_clients) Pour simplifier, on omettra les domaines, ils sont souvent implicite. Les notions de clé et de dépendance fonctionnelle seront aussi utilisées. Les attributs constituant la clé dune table seront soulignés. Si un attribut dune table appartient à la clé principale dautre autre table, il est dit clé externe (ou étrangère). On le mettra en rouge.

5 5/16 Définitions (3) Le schéma de relation donne la signification ou linterprétation de la relation. Il est définit par : son nom la liste des attributs ses clés et clés externes sa définition la liste des contraintes Par mis les contraintes se trouvent les dépendances fonctionnelles

6 6/16 Exemple Complet Avocats (numéro, nom, prénom, nb_clients) (nom, chaîne de caractères) (prénom, chaîne de caractères) (numéro, entier) (nb_client, entier) Contrainte : le nom ne peut être identique au prénom. En pratique, on se contentera décrire juste la relation et écrire à côtés les contraintes. Les domaines seront sous-entendus

7 7/16 Important Avocats (numéro, nom, prénom, nb_clients) et le nom ne peut être identique au prénom. Écrire cette relation correspond à : On fait une abstraction des données en ne donnant juste que les noms des colonnes et les relations entres elles Numéro sera la clé de la relation car elle identifie une ligne de manière unique : il ne pourra pas y avoir 2 avocat ayant le même numéro (pas 2 français ayant le même numéro de sécu) NuméroNomPrénomNombre de clients 1LecouturierGuigui10 2CollardBebert0 3VergèsJacquy100

8 8/16 Passage des diagrammes EA aux tables du relationnel À partir dun diagramme EA, il est possible de construire un diagramme relationnel. Les TE et les TA sont transformés en schéma de relation (table) suivant cette méthode : chaque TE donne naissance à une relation de même nom, ayant les mêmes attributs et les mêmes clés chaque TA, dont aucune des « pattes » ne contient une connectivité maximale égale à 1 (dépendance fonctionnelle) devient une relation dont les attributs sont les clés des TE liés et de ses propres attributs. En cas dune dépendance fonctionnelle, le TA nest pas transformé en relation et il est matérialisé par lajout dun attribut dans la relation source de la dépendance fonctionnelle, cet attribut correspond à la clé de lautre TE Dans le cas dun TE faible, on ne fait quune seule table avec le TA et le TE. On ajoute aussi la clé de lautre TE (clé extérieur)

9 9/16 Exemple 1 Etudiant Nº, nom Matière Nº, libellé Contrôle Note (0,n) Livre ISBN, titre, auteur Exemplaire Nº, date, état Est_un (1,1)(1,n) Etudiant( Nº, Nom) Contrôle( Nºétudiant, Nºmatière, note) Matière( Nºmatière, libellé) Livre(ISBN, titre, auteur) Exemplaire( Nº exemplaire, date, état, ISBN)

10 10/16 Suite exemple 1 Nous aurons donc les tables (relations) suivantes : Etudiant(Nº, Nom) Contrôle(Nºétudiant, Nºmatière, note) Matière(Nºmatière, libellé) Livre(ISBN, titre, auteur) Exemplaire(Nº exemplaire, date, état, ISBN) Ces relations seront notre base de données. Dans un SGBD, il suffira de créer ces tables puis de les remplir, consulter etc. Nous verrons cela plus tard

11 11/16 Exemple 2 (0,n) Véhicule Nº immatriculation, type Assure Date Assurance Nº, type Personne Nº, nom, prénom (1,n) (0,1) Véhicule( Nº immatriculation, type, date, Nºpersonne, Nº assurance ) Assurance( Nº assurance, type) Personne( Nºpersonne, nom, prénom)

12 12/16 Suite exemple 2 Nous aurons donc les tables (relations) suivantes : Véhicule(Nº immatriculation, type, date, Nºpersonne, Nº assurance ) Assurance(Nº assurance, type) Personne(Nºpersonne, nom, prénom)

13 13/16 Notion de clôture On part dun ensemble dattribut X dune relation R et lon veut calculer tous les autres attributs qui dépendent fonctionnellement de cette ensemble initial (noté {X} + ) On parle aussi de fermeture transitive Définition mathématique : trop dure pour ici Méthode (algorithme) : On commence avec lensemble de départ (initial). Pour chaque dépendance fonctionnelle, on regarde sils on peut obtenir de nouveaux attributs. Lon rajoute alors ces nouveaux attributs à lensemble précédent dattribut. On recommence alors lopération jusquà ne plus rajouter dattributs Propriété : {clé} + =R La clôture minimal est la clôture qui est la plus petite et qui recouvre le maximal PECA

14 14/16 Algorithme de X + de R Entrée : La relation R, un ensemble dattribut X de R et des DF sur R Sortie : La clôture X + de X sur R daprès les DF Début X + X Aux Répéter Aux X + pour chaque Y Z faire si Y X alors X + X + Z fin pour chaque Jusquà Aux=X + ou X + =R Fin PECA

15 15/16 Mathématiquement A ne lire que que si vous êtes à laise en maths Méthode déclaratif : X + ={A R | X A} Obtenue par la relation de récurrence suivante : X (0) = X X (i+1) = X (i) { A} tel que si Y Z F alors Y X (i) et A Z} PECA

16 16/16 Exemple dune clôture R(A,B,C,D,E) avec DF={AB C, B D, CD E} X0={A,B} X1=X0 {C} {D}={A,B,C,D} car AB C et B D X2=X1 {E}=R car CD E On ne rajoute plus dattribut donc X2={AB} + PECA

17 17/16 Lopération de jointure

18 18/16 Décomposer une relation (1) Étant donnée une relation non satisfaisante (répétitions, pbs dintégrités etc.) on peut trouver un sous-ensemble de sous-relation satisfaisant et qui décrivent les mêmes informations Exemple : NOMSTATUTAGECOURS GAVAMCF26Parallélisme HAINSPr40Sécurité HAINSPr40Sémantique NOMSTATUTAGE GAVAMCF26 HAINSPr40 NOMCOURS GAVAParallélisme HAINSSécurité HAINSSémantique

19 19/16 Décomposer une relation (2) On dira quune décomposition est « bonne » si on peut retrouver les informations de la relation initiale à partir des sous-relations Pour retrouver les informations dune relation à partir des relations « filles », on utilisera lopérateur de jointure naturelle

20 20/16 La jointure Lopérateur que nous allons utilisés est appelé jointure. + est un opérateur sur les entiers Il prend 2 entiers par exemple 2 et 3 en fait la somme En résumé sera un opérateur sur les tables (relations) le résultat sera une nouvelle table celle-ci contiendra une « fusion » des données des 2 tables utilisées pour la jointure

21 21/16 Jointure naturelle Lopération de jointure naturelle permet de composer des sous-relations pour en obtenir une plus grosse relation : R1(X,Y) R2(Y,Z)=R(X,Y,Z) Dans la relation R1 et R2, X et Z correspondent aux attributs non utilisés (voir exemple) Cest donc un lien entre plusieurs tables disposant de colonnes commune sémantiquement Chaque ligne de R est fabriquée avec une ligne de R1 et une ligne de R2 de telle sorte que les valeurs sur les attributs de Y soient identiques dans les ligne de R1 et de celle de R2 Elle permet donc de recomposer une relation qui avait été préalablement décomposée ; une décomposition est dite « sans perte dinformations » si les jointures naturelles des sous-relations redonne la relation initiale

22 22/16 Produit cartésien : concaténation de toutes les lignes de la première table avec toutes les lignes de la seconde table. Exemple Jointure : lien entre 2 tables disposant dau moins une colonne commune (sémantiquement). On associe a chaque ligne de la première table toutes les lignes de la seconde table Exemple Jointure et produit cartésien Table 1Table 2 Produit axa,x bya,y cb,x b,y c,x c,y Table 1Table 2Jointure a1,b1b1,c1a1,b1,c1 a2,b1b2,c2a2,b1,c1 a3,b2b3,c3a3,b2,c2

23 23/16 Exemple Jointure (1) NomPrénom Numéro avocat CollardBebert1 VergèsJacquy2 Numéro avocatProcèsRésultat 1HLMPerdu 2Serial KillerGagné 1OutreauPerdu 2Du siècleGagné R1 = R2 = R1 R2 = NomPrénomNuméro avocatProcèsRésultat CollardBebert1HLMPerdu VergèsJacquy2Serial KillerGagné CollardBebert1OutreauPerdu VergèsJacquy2Du siècleGagné Calculons la jointure R1(Nom;Prénom,Num) R2(Num,Procès;Résultat)

24 24/16 Exemple Jointure (2) R1 = ABC a1b1c1 a2b1c2 a3b2c2 a4b2c3 R2 = CD c1d1 c2d1 c2d2 c3d3 Calculons la jointure R1(A;B,C) R2(C,D) ABCD a1b1c1d1 a2b1c2d1 a2b1c2d2 a3b2c2d1 a3b2c2d2 a4b2c3d3

25 25/16 Jointure en générale Dans les jointures naturelles, nous comparions légalités des données de 2 tables différentes sur un attribut (une colonne) En fait, on peut généraliser cette notion, cest-à-dire ne plus se limiter et : utiliser plusieurs tables, parfois plusieurs fois les mêmes utiliser autre chose que le test dégalité, en fait nimporte quel opérateur tant quil répond « vrai » ou « faux » inférieur, supérieur pour les entiers, chaîne de caractère, dates, etc. etc. Prenons un dernier exemple…

26 26/16 Différentes jointures Définition : une équi-jointure est une jointure dont la condition est une comparaison dégalité de 2 colonnes appartenant aux 2 tables Définition : une theta-jointure est est une jointure dont la condition est une comparaison autres que légalité de 2 colonnes appartenant aux 2 tables Définition : une jointure multiple met en relation plus de 2 tables. Définition : une auto-jointure est une jointure dune table avec elle-même

27 27/16 Bibliographie C. Date « An introduction to database systems », Addison Wesley, 1986 C. Delobel et M. Adiba « Bases de données et systèmes relationnels », Dunod Informatique, 1982 J. Ullman « Principles of database systems », Computer Science Press, 1982 G. Gardarin « Bases de Données », Eyrrolles, 1998 Tout pleins dautres livres plus récent… Site internet :


Télécharger ppt "Le modèle relationnel Frédéric Gava (MCF) LACL, bâtiment P2 du CMC, bureau 223 Université de Paris XII Val-de-Marne 61 avenue du Général."

Présentations similaires


Annonces Google