Bases de Données-Conception CONCEPTION D UNE BASE DE DONNEES N.Lammari 1 INTRODUCTION Responsable de la bibliothèque X Concepteur Je souhaite avoir une application de gestion de ma bibliothèque D accord! N.Lammari 2 1
INTRODUCTION Bibliothèque X Il y des livres, des adhérents, des bibliothécaires,.. Le bibliothécaire achète des livres et les mets à la disposition de l adhérent. L adhèrent emprunte un livre pour une certaine durée et le rend à la bibliothèque N.Lammari 3 INTRODUCTION Monde réel Objets Propriétés Valeurs Comment faire? Bibliothécaire ou adhérent Application G-BIBLIO Ensemble de programmes SGBD BASE DE DONNEES Fichiers, données N.Lammari 4 2
INTRODUCTION - structuré + structuré Monde réel Monde Conceptuel Monde de l ordinateur Objets Propriétés Valeurs Entités Associations Attributs Tables Schémas Attributs Base de données Modélisation conceptuelle des données Modélisation Logique des données Modélisation physique des données N.Lammari 5 EXEMPLE : l OFFICIEL DES SPECTACLES Expression des besoins : Stocker les principales informations sur l officiel des spectacles Les films ainsi que les informations concernant le metteur en scène, les principaux acteurs,. Les informations concernant les différentes salles de cinéma Les horaires de passage des films dans des salles de cinéma. Procéder à différentes types d interrogations de la base : Savoir les films qui passent à Paris Quels sont les cinémas d un arrondissement donné Titre des films joués par un acteur donné Titre des films tournés par un metteur en scène donné. Tenir à jour des informations de l officiel des spectacles. N.Lammari 6 3
EXEMPLE : l OFFICIEL DES SPECTACLES ARTISTE NomArtiste PrénomArtiste AnnéeNaissArtiste 0,n 0,n A réalisé CINEMA A Joué NomCinema Adresse 1,n 1,n 1,1 FILM CodeFilm TitreFilm AnnéeFilm SALLE 0,n N Salle CapacitéSalle 1,1 0,n Appartient Passe PLANNING Date Heure 0,n N.Lammari 7 EXEMPLE : l OFFICIEL DES SPECTACLES ARTISTE (NomArtiste, PrénomArtiste, AnnéeNaissArtiste) FILM (CodeFilm, TitreFilm, AnnéeFilm, NomRéalisateur) SALLE (N Salle, NomCinéma, CapacitéSalle) CINEMA (NomCinema, Adresse) JOUE (NomArtiste, CodeFilm) PLANNING (N Salle, Date, Heure, CodeFilm) N.Lammari 8 4
EXEMPLE : l OFFICIEL DES SPECTACLES ACTEUR (NomActeur, PrénomActeur, AnnéeNaissActeur) REALISATEUR (NomRéalisateur, PrénomRéalisateur, AnnéeNaissRéalisateur) FILM (CodeFilm, TitreFilm, AnnéeFilm, NomRéalisateur) SALLE (N Salle, NomCinéma, CapacitéSalle) CINEMA (NomCinema, NumNomRue, CodePostal) JOUE (NomActeur, CodeFilm) PLANNING (N Salle, Date, Heure, CodeFilm) N.Lammari 9 INTRODUCTION Phases de conception d une base de données Besoins d une application Analyse et spécification des besoins Modélisation Conceptuelle Modélisation Logique Base de données Programmes NFA008 Modélisation Physique Phases de conception des traitements Documentation NFA007 N.Lammari 10 5
MODELES ET NIVEAUX D ABSTRACTION Modélisation Conceptuelle Modèle E/R ou E/A (Entités/relationships) Règles de passage Modélisation Logique Modèle relationnel Opérations d optimisation Modélisation Physique Modèle relationnel N.Lammari 11 MODELE ENTITE/ASSOCIATION (E/A) Proposé par Peter Chen en 1976 Perçoit le monde réel comme un ensemble d objets liés. Les objets du monde réel sont représentés par des entités, les liens entre ces objets par des associations. Décrit la structure de la base de données à travers un modèle E/A Utilise un diagramme pour représenter graphiquement le modèle E/A de la base de données. Il est la base de beaucoup de modèles de données de plusieurs méthodes de conception : MERISE, OMT N.Lammari 12 6
CONCEPTS DU MODELE E/A ATTRIBUT ET DOMAINE D UN ATTRIBUT ENTITE ET ENTITE-TYPE IDENTIFIANT ASSOCIATION ET ASSOCIATION-TYPE CONTRAINTES SUR L ASSOCIATION-TYPE N.Lammari 13 ENTITE LE CONCEPT D ENTITE Un objet concret ou abstrait du monde réel qui se distingue des autres objets Tout objet du monde réel pertinent pour l application Exemples Exemple d objet concret : Chaque amphi du CNAM est un objet donc une entité : l amphi 1 est un objet Dans l officiel des spectacles le cinéma Rex est une entité de ce monde réel Dans la bibliothèque X l adhèrent DUPONT est une entité Exemple d objet abstrait : L inscription de n XXXX de l étudiant DUPONT est une entité Dans l officiel des spectacles le film de nom «Impitoyable» est une entité Dans la bibliothèque X le prêt du livre «base de donnée» effectué par adhèrent DUPONT est une entité N.Lammari 14 7
LE CONCEPT D ENTITE-TYPE ENTITE-TYPE Concept permettant de décrire un ensemble d entité de même type c.à.d possédant les mêmes caractéristiques. Exemples L entité-type AMPHI décrit l ensemble des amphi du CNAM. Tout amphi du CNAM possède un nom, une capacité, une localisation, etc. Dans l officiel des spectacles, FILM représente l ensemble des films. Chaque film possède un titre, une année de parution, etc. Dans la bibliothèque X, ADHERENT est une entité-type représentant l ensemble des adhérents de la bibliothèque. Chaque adhèrent possède un numéro adhèrent, un nom, un prénom, une adresse, etc. N.Lammari 15 DOMAINE ET ATTRIBUT ATTRIBUT Une propriété ou une caractéristique d une entité-type Il possède un nom et un domaine de valeurs DOMAINE D UN ATTRIBUT Un ensemble de valeurs permises pour cet attribut EXEMPLES Le titre d un film, son année de parution sont les attributs de l entité-type FILM. Le titre d un film a pour nom Titre. L année de parution a pour nom Année. Titre est une chaîne de 1 à 30 caractères et Année est un entier compris entre 1800 et 2003. Un attribut prend une est une seule valeur à la fois pour une entité de l entité type N.Lammari 16 8
IDENTIFIANT D UNE ENTITE-TYPE IDENTIFIANT C est un sous ensemble des attributs de l entité-type Sert à distinguer les objets / entités dans l entité-type : deux entités possibles d une même entité-type ne peuvent pas avoir la même valeur pour l identifiant. EXEMPLE Le N de carte adhérent permet de distinguer l ensemble des adhérents d une bibliothèque Il peut jouer le rôle d identifiant pour l entité-type ADHERENT. Le N inscription d un auditeur au CNAM peut jouer le rôle d identifiant pour l entité-type AUDITEUR représentant l ensemble des auditeur du CNAM Dans un système de gestion d une prison, on peut avoir à décrire les différentes cellules de cette prison à travers une entité-type CELLULE dont les entités sont identifiables par le numéro de la cellule dans le couloir. Par conséquent, identifiant de CELLULE sera : {NumCellule, NumCouloir N.Lammari } 17 IDENTIFIANT D UNE ENTITE-TYPE Toute entité-type doit avoir au moins un identifiant N.Lammari 18 9
IDENTIFIANT D UNE ENTITE-TYPE NATURE DE L IDENTIFIANT Un identifiant peut être : Naturel : est construit à partir des attributs de l entité-type Artificiel ou abstrait : il est improvisé Il peut y avoir plusieurs identifiant potentiel en choisir un seul Exemple Le numéro de carte de l entité-type AUDITEUR est un identifiant naturel. Dans l officiel des spectacles, FILM représente l ensemble des films. Chaque film possède un titre, une année de parution. Or ni le titre du film ni l année de parution, ni la conjonction des deux ne peut jouer le rôle d identifiant. Par conséquent, on construit un artificiel qu on rajoute à l ensemble des attributs de FILM. On peut, par exemple l appeler IdFilm. N.Lammari 19 REPRESENTATION GRAPHIQUE DE L ENTITE-TYPE Un ensemble d entités ayant les mêmes caractéristiques «Cyrano», 1992 «Le dernier Métro», 1980 «Les oiseaux», 1963 Le titre du film L année de Parution du film Une entité-type FILM IdFilm Titre Année Nom de l entité-type Identifiant de l entité-type Attribut de l entité-type N.Lammari 20 10
UN AUTRE EXEMPLE : LES LIVRES DE LA BIBLIOTHEQUE X «Le modèle relationnel» «Bouzeghoub, Jouve, Pucheral», «Hermes», «1998» «2-86601678-5» «Bases de données et systèmes d information», «Boudjlida», «Dunod», «1999» «2-10004309-9» «Bases de données objet et relationnel», «Gardarin», «Conception des bases de données relationnelles», «Eyrolles», «Akoka et Comyn Wattiau», «1999» «Vuibert», «2-21209060-9» «2001» «2-71178678-1» N.Lammari 21 SUITE EXEMPLE Quelque soit le livre, il a un titre représentée par une chaîne de caractères Quelque soit le livre, il a un éditeur représentée par une chaîne de caractères Quelque soit le livre, il a une année de parution représentée par un entier de 4 chiffres ne dépassant pas 2003 Quelque soit le livre il a un ou plusieurs auteurs. Chaque auteur est représenté par une chaîne de caractères Quelque soit le livre il a un numéro ISBN qui est un entier de 10 chiffres Deux livres quelconques ne peuvent pas avoir le même numéro ISBN N.Lammari 22 11
SUITE EXEMPLE LIVRE NumIsbn TitreLivre NomEditeur AnnéeParution ListeAuteurs Mauvaise entitétype car un attribut est atomique dans un modèle E/A N.Lammari 23 SUITE EXEMPLE LIVRE NumIsbn TitreLivre NomEditeur AnnéeParution AUTEUR IdAuteur NomAuteur Entité-type bien conçues car tout attribut est atomique Reste maintenant à les lier pour exprimer le fait qu un livre est écrit par un ou plusieurs auteurs N.Lammari 24 12
ASSOCIATION ET ASSOCIATION-TYPE ASSOCIATION Lien entre deux objets /entités du monde réel «Bases de données et systèmes d information»., «Dunod», «1999» «2-10004309-9» «Le modèle relationnel» «Hermes», «1998» «2-86601678-5» Association entre objets «1», «Boudjlida» «2», «Bouzeghoub» «3», «Jouve» «4», «Pucheral» N.Lammari 25 ASSOCIATION ET ASSOCIATION-TYPE Adjani Anglade Depardieu Taylor. Ensemble des acteurs Rappeneau Adèle H. La reine Margot Nocturne Indien Cyrano Les oiseaux.. Ensemble des films Hitchcock Ensemble des metteurs en scène Ceux sont deux associations différentes entre objets: L une exprime le lien de mise en scène, l autre le lien de participation en tant que acteur N.Lammari 26 13
ASSOCIATION ET ASSOCIATION-TYPE ASSOCIATION-TYPE Représente un ensemble d association de même type: des associations liant des mêmes ensemble d entités et décrivant la même sémantique On lui affecte un nom (généralement un verbe) EXEMPLE On peut définir pour l exemple précédent deux associations- type : L association-type JOUE qui décrit le lien entre l entité-type Film représentant les films de l officiel des spectacles et l entité-type ACTEUR représentant l ensemble des acteurs. L association-type REALISE qui décrit le lien entre l entité-type Film représentant les films de l officiel des spectacles et l entité-type METTEUR-EN-SCENE représentant l ensemble des metteurs en scène. N.Lammari 27 REPRESENTATION GRAPHIQUE D UNE ASSOCIATION-TYPE Nom association-type N.Lammari 28 14
EXEMPLE FILM.. LIVRE NumIsbn TitreLivre NomEditeur AnnéeParution Joue A écrit ACTEUR.. AUTEUR IdAuteur NomAuteur Réalise METTEUR-EN-SCENE.. N.Lammari 29 INTERPRETATION MATHEMATIQUE C est une relation mathématique définie entre deux ensembles. C est un produit cartésien entre ensemble d entités composant les entités-type. Elle peut être une simple application, une bijection, etc.son ensemble peut être représenté sous forme de diagramme de VENN ou sous forme tabulaire e 11 : (v(ide 11 ),.) a 1 : (v(ide 11 ), v(ide 21 )) e 21 : (v(ide 21 ),.) X X X X X Ensemble d entités de l entité-type E1 X X X X X X X X X X Ensemble d entités de l association-type Ensemble d entités N.Lammari 30 de l entité-type E2 15
EXEMPLE DE REPRESENTATION DE L ENSEMBLE DES ELEMENTS D UNE ASSOCIATION-TYPE «Bases de données et systèmes d information»., «Dunod», «1999» «2-10004309-9» LIVRE «Le modèle relationnel» «Hermes», «1998» «2-86601678-5» AUTEUR «1», «Boudjlida» «2», «Bouzeghoub» A ECRIT «1», «2-10004309-9» «3», «Jouve» «2», «2-86601678-5» «4», «Pucheral» N.Lammari 31 EXEMPLE A ECRIT «1» «2-10004309-9» «2» «2-86601678-5» «3» «2-86601678-5» «4» «2-86601678-5» N.Lammari 32 16
TYPE D ASSOCIATIONS-TYPE ASSOCIATION BINAIRE Association-type liant deux entités-type ASSOCIATION N-AIRES Association-type liant plus de deux entités-type Association-type quaternaire N.Lammari 33 EXEMPLE D ASSOCIATION N-AIRES Exemple : Dans un système de gestion des commandes on souhaite exprimer le fait qu un client commande un produit dans un magasin PRODUIT CodeProduit Designation.. CLIENT NumClient AdresseCli Commande MAGASIN IdMagasin AdresseMag N.Lammari 34 17
ATTRIBUTS D UNE ASSOCIATION-TYPE ATTRIBUTS D UNE ASSOCIATION Les identifiants des entités-type qui la compose Plus éventuellement d autres attributs EXEMPLE ACTEUR Soit l association-type : IdActeur Nom Prénom Joue FILM IdFilm Titre Année On souhaite garder trace du rôle de chaque acteur dans un film. La solution : mettre l attribut «Rôle» dans l association-type JOUE ACTEUR IdActeur Nom Prénom Joue Rôle FILM IdFilm Titre Année N.Lammari 35 ATTRIBUTS D UNE ASSOCIATION-TYPE. «100, Eastwood, Clint» «20, Impitoyable, 1992» «101, Hackman, Gene» «103, Smith, Will» «21, Ennemi d état, 1998». ACTEUR JOUE «100, 20, William, Munny» «101, 20, Little Bill» «101, 21, Bril» «103, 21, Robert Dean» FILM N.Lammari 36 18
IDENTIFIANT D UNE ASSOCIATION-TYPE IDENTIFIANT D UNE ASSOCIATION-TYPE C est l ensemble formé des identifiants des entitéstype qui la composent EXEMPLE L identifiant de JOUE est {IdFilm, IdActeur} ACTEUR IdActeur Nom Prénom Joue Rôle FILM IdFilm Titre Année N.Lammari 37 IDENTIFIANT D UNE ASSOCIATION-TYPE CAS PARTICULIER Pour modéliser le temps on peut avoir rajouter à l identifiant de l association-type un attribut décrivant le temps (date, heure, etc.) EXEMPLE On souhaite exprimer le fait qu un film a lieu dans une salle à une date donnée FILM SALLE SOLUTION IdFilm Titre Année A lieu Date IdSalle Nom Capacité N.Lammari 38 19
IDENTIFIANT D UNE ASSOCIATION-TYPE «S11, AAA, 100» «S10, BBB, 100» SALLE IdSalle Nom Capacité «S10, 20, 5-12-2008» «S11, 20, 10-12-2008» A lieu Date «20, Impitoyable, 1992» FILM IdFilm N.Lammari Titre Année 39 IDENTIFIANT D UNE ASSOCIATION-TYPE On souhaite maintenant exprimer le fait qu un film peut avoir lieu dans une même salle à des dates différentes A LIEU «S10, 20, 5-12-2008» «S11, 20, 10-12-2008» C est-à-dire avoir la possibilité, par exemple, d intégrer l association : «S10, 20, 10-12-2008» Pas possible à cause de l identifaint de «A lieu» N.Lammari 40 20
IDENTIFIANT D UNE ASSOCIATION-TYPE La solution est dintégrer dans l identifiant de «A lieu» la date. Ce qui donne le schéma suivant : FILM IdFilm Titre Année A lieu SALLE IdSalle Nom Capacité DATE Date Une date quelconque participant dans l association «A lieu» représente une date de passage d un film N.Lammari 41 dans une salle IDENTIFIANT D UNE ASSOCIATION-TYPE Ou encore le schéma suivant : FILM IdFilm Titre Année A lieu Date SALLE IdSalle Nom Capacité «Date» est soulignée pour exprimer le fait qu elle fait partie de l identifiant de l association-type «A lieu» N.Lammari 42 21
CONTRAINTES SUR LES ASSOCIATIONS-TYPE CONTRAINTE DE PARTICIPATION CONTRAINTES DE CARDINALITES N.Lammari 43 CONTRAINTE DE PARTICIPATION SIGNIFICATION L existence d une entité-type E2 dépend de l existence d une entité-type E1 reliée à E2 à travers une association-type A. Ou encore, l existence E2 dépend de l existence de E1 Si l on supprime une entité de E1, alors toutes les entités de E2 rattachées à E1 via A sont aussi supprimées La création d une entité de E2, suppose l existence d au moins une entité de E1 à laquelle elle sera rattachée. Entité-type régulière E1 A E2 Entité-type faible Quand la sémantique de l association est une sémantique de «est composée de» ou «fait partie de», l association A est appelée association de composition N.Lammari 44 22
CONTRAINTE DE PARTICIPATION EXEMPLE L entité-type LIGNE - COMMANDE dépend de l entitétype COMMANDE COMMANDE NumCommande DateCommande. A LIGNE_COMMANDE NumLigne Qtéproduit concerne LIGNE_COMMANDE est entité-type faible PRODUIT de COMMANDE L association-type A est une association IdProduit de composition Nom N.Lammari Prix 45 CONTRAINTE DE CARDINALITE SIGNIFICATION Nombre d entités avec qui une autre entité peut être liée Etant donnée une entité e d une entité-type E1, combien de fois elle peut être liée à une autre entité d une entitétype E2. Est-ce qu une entité de E1 peut être associée qu avec une et une seule entité de E2? Est qu une entité de E1 peut être associée à plusieurs entités de E2? Est-ce qu une entité de E1 peut ne pas s associer avec une entité de E2? E1 E2 el1 e21 el3 e23 e22 el2 e24 N.Lammari 46 23
CONTRAINTE DE CARDINALITE Peut-il y avoir un client qui ne passe pas du tout de commande? Si oui : CLIENT représente des clients potentiels Peut-il y avoir un client qui passe plusieurs commandes? Peut-il y avoir une commande dont on connaît pas le client? Peut-il y avoir une commande passée par plusieurs clients? CLIENT PASSER COMMANDE Cl1 Cl3 Cl2 Cd1 Cd3 Cd2 Cd4 N.Lammari 47 CONTRAINTE DE CARDINALITE Les cardinalités décrivent donc des règles de gestion du monde réel qu on souhaite modéliser vont donc servir à réduire le produit cartésien de l association. Valeurs de cardinalité 1-1 1-n 0-1 0-n m-n Le premier chiffre représente la cardinalité minimale Le second chiffre représente la cardinalité maximale La Notation utilisée dans le cadre de ce cours est celle de MERISE N.Lammari 48 24
CONTRAINTE DE CARDINALITE E1 E2 el1 e21 CLIENT el3 el2 e23 e22 e24 0, n Associer E1 0, n 1, 1 Associer E2 1, 1 COMMANDE N.Lammari 49 CONTRAINTE DE CARDINALITE COMMANDE NumCommande DateCommande. A 1, n 1, 1 LIGNE_COMMANDE NumLigne Qtéproduit 1, 1 FILM IdFilm Titre Année A lieu 0, n Date 0, n SALLE IdSalle Nom Capacité concerne 0, n PRODUIT IdProduit Nom Prix N.Lammari 50 25
CONTRAINTE DE CARDINALITE PRODUIT CodeProduit Designation.. CLIENT NumClient AdresseCli 1, n 0, n Commande Quantité 0, n MAGASIN IdMagasin AdresseMag N.Lammari 51 CONTRAINTE DE PARTICIPATION ET CARDINALITES Remarque Une contrainte de cardinalité 1,1 n implique pas une contrainte de participation EXEMPLE L association «s adresse» n a pas de contrainte de participation CLIENT n est pas entité faible de DEPOT L association-type «s adresse» n est pas une association de de composition DEPOT N DEPOT AdresseDépôt... 1, n S adresse 1,1 CLIENT N Client AdresseClient. N.Lammari 52 26
CONTRAINTE DE PARTICIPATION ET CARDINALITES Remarque Une contrainte de participation implique une cardinalité (1, 1) du côté de l entité faible. EXEMPLE L association-type «A» est une association de de composition Une ligne de commande compose une commande à la fois COMMANDE NumCommande DateCommande. A 1, n 1, 1 LIGNE_COMMANDE NumLigne Qtéproduit N.Lammari 53 TRANSFORMATION D UNE ASSOCIATION-TYPE N-AIRES EN ENTITE-TYPE Soit A une association-type entre les entités E1, E2,.En REGLE DE TRANSFORMATION DE A EN UNE ENTITE-TYPE E 1. Construire l entité-type E à partir des attributs de A hormis son identifiant 2. Attribuer un identifiant à E (artificiel si aucun sousensemble de E ne peut jouer le rôle d identifiant) 3. Créer entre l entité-type Ei et l entité-type E une association Ai de cardinalité 1-1 N.Lammari 54 27
EXEMPLE PRODUIT CodeProduit Designation.. CLIENT NumClient AdresseCli 1, n 0, n Commande Quantité 0, n MAGASIN IdMagasin AdresseMag N.Lammari 55 EXEMPLE PRODUIT CLIENT NumClient AdresseCli 1, n Passe 1, 1 CodeProduit Designation.. Concerne 1, 1 0, n COMMANDE IdCommande Quantité 1, 1 MAGASIN IdMagasin AdresseMag Reçoit 0, n N.Lammari 56 28
PASSAGE DU MODELE E/A VERS LE MODELE RELATIONNEL La modélisation logique des données est une description de la représentation des données sous un formalisme compatible avec un type de SGBD. la modélisation logique des données s inscrit dans une démarche générale de construction d une base de données Modélisation conceptuelle Modélisation logique Modélisation physique N.Lammari 57 MODÉLISATION LOGIQUE MCD Transformation Normalisation Utilisation de règles de transformations Règle de transformation de propriété type Règles de transformation d entité type Règles de transformation d association type. Vérification et décomposition (si nécessaire) MLD N.Lammari 58 29
RÈGLES DE TRANSFORMATION D UNE PROPRIÉTÉ TYPE Toute propriété d une entité type ou d une association type devient un attribut d une relation Tout groupe de propriété type identifiant une entité est clé primaire de la relation représentant l entité. Tout groupe de propriété type susceptible de jouer de rôle d identifiant d une entité est clé candidate de la relation représentant l entité. Une propriété type d une entité ou d une relation conserve son type et ses contraintes lors du mapping N.Lammari 59 RÈGLES DE TRANSFORMATION D UNE ENTITÉ TYPE Une entité type d un modèle E/A devient une relation du MLD. L identifiant naturel ou artificiel d une entité type est clé primaire de la relation qui lui est associée. La clé primaire d une entité faible se construit par concaténation de l identifiant de l entité faible et de l entité régulière dont dépend l entité faible. N.Lammari 60 30
EXEMPLE FILM IdFilm Titre Année A lieu 0, n Date 0, n SALLE IdSalle Nom Capacité FILM (IdFilm, Titre, Année) SALLE (IdSalle, Nom, Capacité) N.Lammari 61 EXEMPLE COMMANDE N commande DateCommande DateLivSouhaitée... 1, n REGROUPE 1,1 LIGNE_COMMANDE N ligne Quantité. COMMANDE (N commande, DateCommande, DateLivSouhaitée,..) LIGNE_COMMANDE (N commande, N Ligne, Quantité, ) N.Lammari 62 31
EXEMPLE LIVRE N Isbn Titre... 1, n FAIRE PARTIE 1,1 EXEMPLAIRE N exemplaire RéfBibliothèque État. RéfBibliothèque est second identifiant de Exemplaire LIVRE (N Isbn, Titre,..) EXEMPLAIRE (N Isbn, N Exemplaire, Cote, État, ) RéfBibliothèque est clé candidate dans Exemplaire N.Lammari 63 RÈGLES DE TRANSFORMATION D UNE ASSOCIATION TYPE Plusieurs cas possibles : Cas 1 : Association n-aires (x 1, n) -.- (x p, n) Binaire ou autre Cas 2 : Association binaire (x,y)-(1,1) (0,n)-(1,1) (1,n)-(1,1) (0,1)-(1,1) Cas 3 : Association binaire (x, y) - (0, 1) (x, y) (1, 1) (0,n)-(0,1) (1,n)-(0,1) (0,1)-(0,1) N.Lammari 64 32
RÈGLE DE TRANSFORMATION D UNE ASSOCIATION N-AIRE (x 1, n) -.. - (x p, n) ENTITE1 IdEntité1 P Entité1 ASSOCIER P Associer (1, n) ou (0, n) (1, n) ou (0, n) ENTITE2 IdEntité2 P Entité2 ENTITE1 (IdEntité1, P Entité1 ) ENTITE2 (IdEntité2, P Entité2 ). ENTITEn (IdEntitén, P Entitén ) (1, n) ou (0, n) ENTITEn IdEntitén P Entitén ASSOCIER (IdEntité1, IdEntité2,., IdEntitén, P Associer ) N.Lammari 65 EXEMPLE FOURNISSEUR CodeFournisseur NomFournisseur VilleFournisseur VENDRE 1,n PrixUnitaire DélaiLivraison 1,n PRODUIT CodeProduit NomProduit PoidsProduit FOURNISSEUR (CodeFournisseur, NomFournisseur, VilleFournisseur) PRODUIT (CodeProduit, NomProduit, PoidsProduit) COND-VENTE (CodeFournisseur, CodeProduit, PrixUnitaire, DélaiLivraison) CodeFournisseur de COND-VENTE fait référence à FOURNISSEUR N.Lammari 66 CodeProduit de COND-VENTE fait référence à Produit 33
EXEMPLE CHAUFFEUR CodeChauffeur... CHAUFFEUR (CodeChauffeur,..) GARAGE (IdGarage,..) VOITURE (N Immatri,..) 0, n GARER Date GARAGE IdGarage... 0, n GARER (CodeChauffeur, IdGarage, N Immatri, Date) 0, n VOITURE N Immatri.... CodeChauffeur de GARER fait référence à CHAUFFEUR IdGarage de GARER fait référence à GARAGE N Immatri de GARER fait référence à VOITURE N.Lammari 67 RÈGLES DE TRANSFORMATION D UNE ASSOCIATION N-AIRE (x, y) - (1, 1) ENTITE1 ASSOCIER IdEntité1 P (1, n) ou (0, n) 1, 1 Entité1 ENTITE2 IdEntité2 P Entité2 ENTITE1 ASSOCIER IdEntité1 P (0, 1) 1, 1 Entité1 ENTITE2 IdEntité2 P Entité2 ENTITE1 (IdEntité1, P Entité1 ) ENTITE2 (IdEntité2, P Entité2, IdEntité1) IdEntité1 de ENTITE2 fait référence à ENTITE1 IdEntité1 de ENTITE2 est obligatoire N.Lammari 68 34
EXEMPLE CLIENT CodeClient... 0, n PASSER 1, 1 COMMANDE N Commande... CLIENT ( CodeClient,..) COMMANDE (N Commande,, CodeClient) CodeClient de COMMANDE fait référence à CLIENT CodeClient est obligatoire N.Lammari 69 RÈGLES DE TRANSFORMATION D UNE ASSOCIATION N-AIRE (x, y) - (0, 1) ENTITE1 ASSOCIER IdEntité1 P P (0, n) ou (1, n) Associer 0, 1 Entité1 ENTITE2 IdEntité2 P Entité2 ENTITE1 ASSOCIER IdEntité1 P P 0, 1 Associer 0, 1 Entité1 ENTITE2 IdEntité2 P Entité2 N.Lammari 70 35
RÈGLES DE TRANSFORMATION D UNE ASSOCIATION N-AIRE (x, y) - (0, 1) ENTITE1 ASSOCIER IdEntité1 P P (0, n) ou (1, n) Associer 0, 1 Entité1 ENTITE2 IdEntité2 P Entité2 Application du cas 2 ENTITE1 (IdEntité1, P Entité1 ) ENTITE2 (IdEntité2, P Entité2, IdEntité1, P Associer ) IdEntité1 de ENTITE2 fait référence à ENTITE1 Application du cas 1 ENTITE1 (IdEntité1, P Entité1 ) ENTITE2 (IdEntité2, P Entité2 ) ASSOCIER (IdEntité2, IdEntité2, P Associer ) IdEntité2 de ASSOCIER fait référence à ENTITE2 IdEntité1 N.Lammari de ASSOCIER fait référence à ENTITE171 EXEMPLE LECTEUR CodeLecteur. 0,1 EMPRUNTER 0,n DateEmprunt LIVRE Côte. LIVRE (Côte,.) LECTEUR (CodeLecteur,.., Côte, DateEmprunt) Côte de LECTEUR fait référence à LIVRE DateEmprunt et Côte sont valuée en même temps Si nombre de lecteur non emprunteur est négligeable Ou encore LIVRE (Côte,.) LECTEUR (CodeLecteur,.) EMPRUNTER (CodeLecteur, Côte, DateEmprunt) Côte de EMPRUNTER fait référence à LIVRE CodeLecteur N.Lammari de EMPRUNTER fait référence à LECTEUR72 36
RÈGLES DE TRANSFORMATION D UNE ASSOCIATION N-AIRE (x, y) - (0, 1) ENTITE1 ASSOCIER IdEntité1 P P 0, 1 Associer 0, 1 Entité1 ENTITE2 IdEntité2 P Entité2 Application du cas 1 ENTITE1 (IdEntité1, P Entité1, IdEntité2) ENTITE2 (IdEntité2, P Entité2, IdEntité1) ASSOCIER (IdEntité2, IdEntité1, P associer ) IdEntité2 de ENTITE1 fait référence à ENTITE2 IdEntité1 de ENTITE2 fait référence à ENTITE1 N.Lammari 73 RÈGLES DE TRANSFORMATION D UNE ASSOCIATION N-AIRE (x, y) - (0, 1) ENTITE1 ASSOCIER IdEntité1 P P 0, 1 Associer 0, 1 Entité1 ENTITE2 IdEntité2 P Entité2 Application du cas 2 pour le 0,1 du côté de ENTITE2 ENTITE1 (IdEntité1, P Entité1 ) ENTITE2 (IdEntité2, P Entité2, IdEntité1, P Associer ) IdEntité1 de ENTITE2 fait référence à ENTITE1 Application du cas 2 pour le 0,1 du côté de ENTITE1 ENTITE1 (IdEntité1, PEntité1, IdEntité2, PAssocier) ENTITE2 (IdEntité2, PEntité2) IdEntité2 de ENTITE1 fait référence à ENTITE2 N.Lammari 74 37
RÈGLES DE TRANSFORMATION D UNE ASSOCIATION N-AIRE (x, y) - (0, 1) ENTITE1 ASSOCIER IdEntité1 P P 0, 1 Associer 0, 1 Entité1 ENTITE2 IdEntité2 P Entité2 Application du cas 2 pour le 0,1 du côté des deux entités ENTITE1 (IdEntité1, P Entité1, IdEntité2, P Associer ) ENTITE2 (IdEntité2, P Entité2, IdEntité1) Si P associer est vide IdEntité2 de ENTITE1 fait référence à ENTITE2 N.Lammari 75 IdEntité1 de ENTITE2 fait référence à ENTITE1 EXEMPLE MAISON CodeMaison. 0,1 POSSEDER 0,1 DateAchat PROPRIETAIRE CodeProp. Trois cas assimiler l exemple au cas (0, n) (0, n) assimiler l exemple au cas (1, 1) (0, 1) référence pour une seule entité référence pour les deux entités (ou mettre date d achat?) N.Lammari 76 38
EXEMPLE : l OFFICIEL DES SPECTACLES ARTISTE NomArtiste PrénomArtiste AnnéeNaissArtiste 0,n 0,n A réalisé CINEMA A Joué NomCinema Adresse 1,n 1,n 1,1 FILM CodeFilm TitreFilm AnnéeFilm SALLE 0,n N Salle CapacitéSalle 1,1 0,n Appartient Passe PLANNING Date Heure 0,n N.Lammari 77 LE PASSAGE VERS LE MLDR ARTISTE (NomArtiste, PrénomArtiste, AnnéeNaissArtiste) FILM (CodeFilm, TitreFilm, AnnéeFilm, NomRéalisateur) SALLE (N Salle, NomCinéma, CapacitéSalle) CINEMA (NomCinema, Adresse) JOUE (NomArtiste, CodeFilm) PASSE (CodeFilm, N Salle, NomCiméma, Date, Heure) N.Lammari 78 39
LE PASSAGE VERS LE MLDR (suite) NomRéalisateur de FILM est clé étrangère. Elle fait référence à ARTISTE NomRéalisateur de FILM est oblibatoire NomCinéma de SALLE est clé étrangère. Elle fait référence à CINEMA NomArtiste de JOUE est clé étrangère. Elle fait référence à ARTISTE CodeFilm de JOUE est clé étrangère. Elle fait référence à FILM CodeFilm de PASSE est clé étrangère. Elle fait référence à FILM {NumSalle, NomCinéma} est clé étrangère. Elle fait référence à SALLE N.Lammari 79 40