Modélisation d une BD Conception de bases de données relationnelles Niveau conceptuel : modélisation de BD relationnelles Marie Szafranski Étape fondatrice du processus de conception ; c est une abstraction du problème réel, une reformulation qui permettra ensuite de transcrire la BD dans un cadre technologique. Modèle E-A (Entité-Association) Niveau conceptuel de la méthode MERISE Orienté bases de données relationnelles Modèle UML (Unified Modeling Language) Modélisation orientée objet d applications Focus sur le diagramme de classes Limité aux aspects liées à la modélisation de BD (ILO, S3) Modélisation statique qui met en exergue une structure 2012-2013 ensiie 1 2012-2013 ensiie 2 Notion de classe Notion d attribut Type abstrait caractérisé par des propriétés et des méthodes communes à un ensemble d objets, permettant de créer des instances de ces objets. Disclaimer : pas d accent sur les noms des classes, les noms de variables, etc. dans les schémas ou les codes. Instance Nom de classe Attributs [: type] [Méthodes] Prenom[3] : varchar Adresse :... Date d n. : date (Holmes, Sherlock Arthur Conan, 221b Baker Street Londres, 06/01/1854) 2012-2013 ensiie 3 Information élémentaire qui caractérise une classe. Propriétés d un attribut Typé attribut:type nom:varchar Holmes Le domaine de valeur fixé apriori Multivalué Peut prendre plusieurs valeurs distinctes dans un domaine attribut multivalue[min..max]:type prenom[3]:varchar Sherlock, Arthur, Conan Composé Joue le rôle d un groupe d attributs attribut compose adresse sous attribut 1 numero: varchar 221b sous attribut 2 rue: varchar Baker Street sous attribut 3 ville: varchar Londres Dérivé Utilisation de méthodes : 2012-2013 ensiie 4
Notion d association Notion de classe d association Relation entre deux (ou plusieurs) classes qui définit l ensemble et la nature des liens entre les objets de ces classes. On parle d association binaire (ou n-aire). En pratique, on se limitera aux associations binaires, voire ternaires. La classe d association est utilisée pour ajouter des propriétés (qui prennent la forme d attributs) aux associations. Att 1[: type] Att n[: type] Annee : int(4) [Méthodes] 2012-2013 ensiie 5 2012-2013 ensiie 6 UML : notion de cardinalité Familles de cardinalités Élément d une association permettant de représenter le nombre minimum et maximum d instances impliquées dans la relation. Cardinalités dites de type n : m n (resp. m) N,n (resp. m) > 1 Une cardinalité est définie pour chaque sens de la relation. Notations C1 b.. a.. C2 0..1 De 0 à 1 1 ou 1 0..n ou 0.. ou 1 seul Plusieurs n ou De 1 à p l u s i e u r s Lecture Un détective peut résoudre plusieurs enquêtes Une enquête est résolue par au moins un détective 0.. 2012-2013 ensiie 7 À un élément de C1, on peut associer de a à plusieurs (m) é l é m e n t s d e C 2 a N,a m À un élément de C2, on peut associer de b à plusieurs (n) é l é m e n t s d e C 1 b N,b n 2012-2013 ensiie 8
Familles de cardinalités Familles de cardinalités Cardinalités dites de type 1 : n n N,n>1 Cardinalités dites de type 1 : 1 C1 b..1 a.. C2 C1 b..1 a..1 C2 À un élément de C1, on peut associer de a à plusieurs (n) é l é m e n t d e C 2 a N,a n À un élément de C2, on peut associer au plus un élément de C1 b {0, 1} À un élément de C1, on peut associer au plus un élément de C2 À un élément de C2, on peut associer au plus un élément de C1 a {0, 1} b {0, 1} Remarque : une association de type 1 : 1 entre deux classes revient à considérer une seule classe. 2012-2013 ensiie 8 2012-2013 ensiie 8 Notion d héritage Notion de clé Association entre deux classes qui permet d exprimer une relation de généralisation (ou de spécialisation) d une classe sur l autre. Attribut qui identifie de façon unique une instance dans la base de données. Propriétés Factorisation de propriétés identiques entre deux classes Transmission automatique des propriétés de la classe mère à la classe fille Prenom[3] : varchar Date d n:date Différentes clés #Primaire : clé choisie #Candidate : clé potentielle Artificielle : clé générée #Num ss :integer(13) Prenom[3] : varchar Date d n:date Licence : integer #Licence : integer 2012-2013 ensiie 9 2012-2013 ensiie 10
simple Association : sens de lecture et rôle #Num ss :integer(13) Prenom[3] : varchar Date d n:date Suspect? Il est possible d ajouter un sens de lecture caractérisant l association et de préciser le rôle joué par une ou plusieurs classes pour préciser le modèle. role 1 Client employeur #Licence : integer #N dossier : integer r Annee : int(4) role 2 2012-2013 ensiie 11 2012-2013 ensiie 12 Association : composition Association : composition Dans une composition, la classe dépendante n a de sens ou d existence qu associée à sa classe composite. Dans une composition, la classe dépendante n a de sens ou d existence qu associée à sa classe composite. Propriétés Classe composite 1 Classe dépendante Livre 1 Contenir Chapitre La composition associe une classe composite et des classes dépendantes, tel que tout objet dépendant appartient à un objet composite Asso. 1:n La composition n est pas partageable :un objet dépendant ne peut appartenir qu à un seul objet composite à la fois Le cycle de vie des objets dépendants est lié à celui des objets composites Livre 1 Contenir Chapitre 2012-2013 ensiie 13 2012-2013 ensiie 13
Association : agrégation Association n-aire L agrégation est utilisée pour préciser une relation de type tout / partie ou ensemble / élément. Pas de contrainte sur les cardinalités. Relation qui associe n classes par le biais de cardinalités de type : m. Il est souvent possible de récrire une association ternaire avec trois associations binaires en transformant l association en classe. Classe ensemble Bibliothèque Classe 3 Proprietaire Contenir Locataire Logement Classe element Livre Transaction Date : date Montant : real 2012-2013 ensiie 14 2012-2013 ensiie 15 Contrainte dynamique Les contraintes s expriment par annotations sur les attributs, les classes et les associations. contrainte d asso. {contrainte d attribut} Attribut : type Les clients commandent avant de payer Client #N client : int payer Produit { 1000} #N produit : int Prix : int commander {ET}, {=}, {S} {IN} 2012-2013 ensiie 16
{AND} {OR} Une seule des deux asso. doit être instanciée
Héritage : classe abstraite Héritage exclusif Une classe abstraite n est pas instanciable et n existe qu à travers les classes filles qui en héritent. Elle exprime une généralisation et ne correspond à aucun objet existant dans le contexte. Un héritage est exclusif si les objets d une classe fille ne peuvent appartenir aussi à une autre classe fille. Classe mere abstraite Mammifère Classe mère Humain Sous classe fille Humain... Félin Classe fille 1 Classe fille 2 Homme Femme Homme Femme... 2012-2013 ensiie 18 2012-2013 ensiie 19 Héritage complet Packages Un héritage est complet si ses classes filles n ont aucune caractéristiques propres (attributs, méthodes, associationsassociations). Classe mère Prenom : varchar Date de n:date... Classe fille 1 Classe fille 2 Homme Femme 2012-2013 ensiie 20 2012-2013 ensiie 21