Expert Base de donnes sandra bringayunivmontp 3 fr
Expert Base de données sandra. bringay@univ-montp 3. fr alexandre. pinlou@univ-montp 3. fr
Cycle de vie d’une base de données Concepteur Modélisation Conceptuelle Personne Maison Achète Modèle conceptuel Monde réel Création du schéma Utilisateur Personn Nom Toto Tata Tete Prénom Titi Tutu Tyty age 25 30 42 Base de données Expert Base de données Concepteur Table Personne Table Maison Table Acheter Schéma logique 2
2 étapes n Modèle conceptuel : ensemble de q q n Concepts permettant la description et la manipulation des données du monde réel Règles d’utilisation de ces concepts Schéma logique : q Description de la structure de la base de données (en terme de tables, de lignes et de colonnes) obtenue en utilisant un modèle conceptuel Expert Base de données 3
Modélisation conceptuelle Concepteur Modélisation Conceptuelle Personne Maison Achète Modèle conceptuel Monde réel Création du schéma Table Personne Table Maison Table Acheter Utilisateur Base de données Expert Base de données Concepteur Schéma logique 4
Abstraction n Faire abstraction des particularités pour passer des objets aux types ou classes d’objets Type d’objet: Personne Propriétés : -Nom -Prénom -Age Expert Base de données 5
Objets et liens / Entités et associations Monde réel Instances : occurrences dans le monde réel Expert Base de données Objet Lien Objet Modèle conceptuel Personne Entité Achète Association Maison Entité 6
Propriétés d’une entité n n Sur les entités ou sur les associations Personne Achète Nom Prénom Age Date Maison Adresse Surface Obligatoire / Facultative Expert Base de données 7
Cardinalité d’une association Min Max association n 3 types d'associations : 1, N, N, N ou 1, 1 Expert Base de données 8
association 1. . N n n Une personne peut ne pas avoir de voiture, en avoir 1, 2, …. N noté 0, N Une voiture a un seul propriétaire (au moins 1 et au plus un) noté 1, 1 P 2 P 3 P 4 Personne 0, N Expert Base de données V 3 V 1 V 2 1, 1 Achète Voiture 9
association NN n n Une personne peut ne pas avoir de maison, en avoir 1, 2, …. N noté 0, N Une maison peut appartenir à un propriétaire, 2, … N noté 1, N P 1 P 2 P 3 P 4 Personne 0, N Expert Base de données M 3 M 1 M 2 1, N Achète Maison 10
association 11 n n Une personne est enterrée dans une seule sépulture noté 1 1 Une sépulture correspond à une seule personne noté 1 1 P 2 P 3 P 4 Personne S 3 S 1 S 2 0, 1 Expert Base de données 1, 1 Enterre Sépulture 11
association sur la même entité n Une personne est le père d’aucune, d’une ou plusieurs personnes 0, N Personne Est le père 1, 1 Expert Base de données 12
association N-aire Salle 1, N Etudiant Enseignant Cours 1, N Expert Base de données 1, N 13
Choix de l’identifiant n Pour désigner une entité ou une association de manière univoque q q Nom + Prénom ? Ajout d’un identifiant Non car homonymes Personne Achète Num Nom Prénom Age Date Expert Base de données Maison Adresse Surface 14
Exemple de modélisation n n n Gestion d’une bibliothèque Un livre est caractérisé par son numéro dans la bibliothèque (identifiant), son titre, son éditeur et son (ses) auteurs Un client qui s’inscrit à la bibliothèque verse une caution. Suivant le montant de cette caution, il aura droit d’effectuer en même temps 10 emprunts au maximum. Les emprunts durent au maximum 15 jours. On veut pouvoir, pour chaque client, retrouver les emprunts effectués (nombre numéro, titre du livre, date de l’emprunt). Toutes les semaines, on édite la liste des emprunteurs en retard : nom et dresse, date de l’emprunt, numéro(s) et titre du ou des livres concernés On veut enfin pouvoir connaître pour chaque livre sa date d’achat et son état (emprunté ou non). Expert Base de données 15
Comment faire ? 1. 2. 3. 4. 5. 6. 7. Identifier les objets ayant un existence propre Parmi eux, trouver ceux ayant un intérêt pour au moins un traitement de l’application. Ce sont alors les entités. Découvrir les types d’associations permettant de lier les entités Trouver les attributs des associations Définir les cardinalités de l'association Choisir les clés Expert Base de données 16
1. Identifier les objets ayant une existence propre n n n Gestion d’une bibliothèque Un livre est caractérisé par son numéro dans la bibliothèque (identifiant), son titre, son éditeur et son (ses) auteurs. Un client qui s’inscrit à la bibliothèque verse une caution. Suivant le montant de cette caution, il aura droit d’effectuer en même temps 10 emprunts au maximum. Les emprunts durent au maximum 15 jours. On veut pouvoir, pour chaque client, retrouver les emprunts effectués (nombre numéro, titre du livre, date de l’emprunt). Toutes les semaines, on édite la liste des emprunteurs en retard : nom et dresse, date de l’emprunt, numéro(s) et titre du ou des livres concernés On veut enfin pouvoir connaître pour chaque livre sa date d’achat et son état (emprunté ou non). Expert Base de données 17
Comment faire ? 1. 2. 3. 4. 5. 6. 7. Identifier les objets ayant un existence propre Parmi eux, trouver ceux ayant un intérêt pour au moins un traitement de l’application. Ce sont alors les entités. Découvrir les types d’associations permettant de lier les entités Trouver les attributs des entités Choisir les identifiants Trouver les attributs des associations Définir les cardinalités de l'association Expert Base de données 18
2. Entités ayant un intérêt pour l’application Auteur Bibliothèque Editeur Expert Base de données Client Livre 19
Comment faire ? 1. 2. 3. 4. 5. 6. 7. Identifier les objets ayant un existence propre Parmi eux, trouver ceux ayant un intérêt pour au moins un traitement de l’application. Ce sont alors les entités. Découvrir les types d’associations permettant de lier les entités Trouver les attributs des entités Choisir les identifiants Trouver les attributs des associations Définir les cardinalités de l'association Expert Base de données 20
3. Trouver les associations entre entités Client Expert Base de données Emprunte Livre 21
Comment faire ? 1. 2. 3. 4. 5. 6. 7. Identifier les objets ayant un existence propre Parmi eux, trouver ceux ayant un intérêt pour au moins un traitement de l’application. Ce sont alors les types d’entités. Découvrir les types d’associations permettant de lier les entités Trouver les attributs des entités Choisir les identifiants Trouver les attributs des associations Définir les cardinalités de l'association Expert Base de données 22
4. Trouver les attributs n n n Gestion d’une bibliothèque Un livre est caractérisé par son numéro dans la bibliothèque (identifiant), son titre, son éditeur et son (ses) auteurs. Un client qui s’inscrit à la bibliothèque verse une caution. Suivant le montant de cette caution, il aura droit d’effectuer en même temps 10 emprunts au maximum. Les emprunts durent au maximum 15 jours. On veut pouvoir, pour chaque client, retrouver les emprunts effectués (nombre numéro, titre du livre, date de l’emprunt). Toutes les semaines, on édite la liste des emprunteurs en retard : nom et dresse, date de l’emprunt, numéro(s) et titre du ou des livres concernés On veut enfin pouvoir connaître pour chaque livre sa date d’achat et son état (emprunté ou non). Expert Base de données 23
4. Trouver les attributs n n n Gestion d’une bibliothèque Un livre est caractérisé par son numéro dans la bibliothèque (identifiant), son titre, son éditeur et son (ses) auteurs. Un client qui s’inscrit à la bibliothèque verse une caution. Suivant le montant de cette caution, il aura droit d’effectuer en même temps 10 emprunts au maximum. Les emprunts durent au maximum 15 jours. On veut pouvoir, pour chaque client, retrouver les emprunts effectués (nombre numéro, titre du livre, date de l’emprunt). Toutes les semaines, on édite la liste des emprunteurs en retard : nom et adresse, date de l’emprunt, numéro(s) et titre du ou des livres concernés On veut enfin pouvoir connaître pour chaque livre sa date d’achat et son état (emprunté ou non). Expert Base de données 24
4. Trouver les attributs n n n Gestion d’une bibliothèque Un livre est caractérisé par son numéro dans la bibliothèque (identifiant), son titre, son éditeur et son (ses) auteurs. Un client qui s’inscrit à la bibliothèque verse une caution. Suivant le montant de cette caution, il aura droit d’effectuer en même temps 10 emprunts au maximum. Les emprunts durent au maximum 15 jours. On veut pouvoir, pour chaque client, retrouver les emprunts effectués (nombre numéro, titre du livre, date de l’emprunt). Toutes les semaines, on édite la liste des emprunteurs en retard : nom et adresse, date de l’emprunt, numéro(s) et titre du ou des livres concernés On veut enfin pouvoir connaître pour chaque livre sa date d’achat et son état (emprunté ou non). Expert Base de données 25
4. Trouver les attributs des entités Client Nom Adresse Caution Expert Base de données Emprunte Livre Num. L Titre Editeur Auteur (s) Date d’achat Etat 26
Comment faire ? 1. 2. 3. 4. 5. 6. 7. Identifier les objets ayant un existence propre Parmi eux, trouver ceux ayant un intérêt pour au moins un traitement de l’application. Ce sont alors les types d’entités. Découvrir les types d’associations permettant de lier les entités Trouver les attributs des types d’entités Choisir les identifiants Trouver les attributs des associations Définir les cardinalités de l'association Expert Base de données 27
5. Choisir les identifiants Client Emprunte Num. C Nom Adresse Caution Livre Num. L Titre Editeur Auteur (s) Date d’achat Etat Expert Base de données 28
Comment faire ? 1. 2. 3. 4. 5. 6. 7. Identifier les objets ayant un existence propre Parmi eux, trouver ceux ayant un intérêt pour au moins un traitement de l’application. Ce sont alors les types d’entités. Découvrir les types d’associations permettant de lier les entités Trouver les attributs des types d’entités Choisir les identifiants Trouver les attributs des associations Définir les cardinalités de l'association Expert Base de données 29
6. Trouver les attributs des associations Client Emprunte Num. C Nom Adresse Caution Date emprunt Date retour Expert Base de données Livre Num. L Titre Editeur Auteur (s) Date d’achat Etat 30
Comment faire ? 1. 2. 3. 4. 5. 6. 7. Identifier les objets ayant un existence propre Parmi eux, trouver ceux ayant un intérêt pour au moins un traitement de l’application. Ce sont alors les types d’entités. Découvrir les types d’associations permettant de lier les entités Trouver les attributs des types d’entités Choisir les identifiants Trouver les attributs des associations Définir les cardinalités de l'association Expert Base de données 31
7. Définir les cardinalités de l’association 0, N Client Emprunte Num. C Nom Adresse Caution Date emprunt Date retour Expert Base de données Livre Num. L Titre Editeur Auteur (s) Date d’achat Etat 32
Cycle de vie d’une base de données Concepteur Modélisation Conceptuelle Client Livre Emprunter Modèle conceptuel Monde réel Création du schéma Utilisateur Nom Toto Tata Tete Client Prénom Titi Tutu Tyty age 25 30 42 Base de données Expert Base de données Concepteur Table Client Table Livre Table Emprunter Schéma logique 33
Règle 1 : chaque entité devient une table n n Pour chaque entité E, on crée une table T telle que chaque attribut de E devient une colonne de la table T. L’identifiant de E devient la clé primaire de T. Expert Base de données 34
Règle 2 : association NN n Les associations "équilibrées" (. N. N) deviennent des tables contenant comme clés étrangères les clés primaires des tables reliées. Expert Base de données 36
Règle 2 : association 1 N n Pour les associations "déséquilibrées" (1, N), la clé primaire de la table du côté du N devient une clé étrangère dans la table du côté du 1. Responsable Expert Base de données 37
Retour sur la bibliothèque 0, N n n n 0, N Client Emprunte Num. C Nom Adresse Caution Date emprunt Date retour Livre Num. L Titre Editeur Auteur (s) Date d’achat Etat Client (Num. C, Nom, adresse, caution) Livre (Num. L, Titre, éditeur, auteur(s), date d’achat, Etat) Emprunte (Num. C, Num. L, date emprunt, date retour) Expert Base de données 38
Retour sur l’exemple de la semaine dernière FOURNISSEUR PIECE Num. F Nom. F Ville. F Num. P Type. P 152 174 81 Mercier Charles Dumont Amiens Rouen Paris 14 Boulon 16 15 Boulon 15 16 Ecrou 17 Tournevis 18 Vis OFFRE Nu. FO Nu. PO Prix 152 81 174 81 14 16 16 17 17 46 60 62 52 50 Expert Base de données 39
Retour sur l’exemple de la semaine dernière On souhaite gérer un ensemble de fournisseurs pour quincailleries qui proposent des pièces (outils, fournitures, matériel de bricolage, visserie, serrurerie…). Un fournisseur est caractérisé par son nom et la ville dans laquelle son entreprise est basée. Les pièces qu’il propose sont d’un certain type. Chaque fournisseur fixe le prix des pièces qu’il vend. Expert Base de données 40
Retour sur l’exemple de la semaine dernière 1, N 0, N Fournisseur Offre Num. F Nom. F Ville. F Prix n n n Pièce Num. P Type. P Fournisseur (Num. F, Nom. F, Ville. F) Pièce (Num. P, Type. P) Emprunte (Num. F, Num. P, Prix) Expert Base de données 41
- Slides: 40