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

Bases de Données Relationnelles Modélisation Conceptuelle (Chapitre 2) Partie 1: Concepts généraux.

Présentations similaires


Présentation au sujet: "Bases de Données Relationnelles Modélisation Conceptuelle (Chapitre 2) Partie 1: Concepts généraux."— Transcription de la présentation:

1 Bases de Données Relationnelles Modélisation Conceptuelle (Chapitre 2) Partie 1: Concepts généraux

2 2 Modélisation des données et schémas n La modélisation est lactivité délaboration dune représentation structurée de la réalité n Une BD est une représentation de la partie du monde réel qui intéresse les utilisateurs / les applications. n La modélisation des données est lélaboration des structures de données pour les données qui seront enregistrées dans une BD. n La définition de ces structures est consignée dans le schéma de la base de données.

3 3 Modélisation conceptuelle n Objectif: représenter la réalité telle qu'elle est perçue par les utilisateurs n Le processus de modélisation et la définition de son résultat sous forme d'un schéma conceptuel est appelé conception de la base de données n La qualité de la conception de la BD est un facteur critique de réussite

4 4 Modélisation conceptuelle: avantages n Attention portée sur les applications n Indépendante des technologies u Portabilité u Longévité n Orientée utilisateur u Compréhensibilité u Support du dialogue concepteurs / utilisateurs u Permet la collaboration et la validation par les utilisateurs

5 5 Autres avantages n Spécifications formelles, non ambiguës, proches de la vision utilisateur n Puissance des concepts n Support dinterfaces visuelles (lisibilité) u Diagrammes de définition de données u Manipulation de données n Facilite les échanges dinformations entre SGBD différents

6 6 Modèle de données (rappel) n Ensemble de : u concepts permettant la description et la manipulation des données du monde réel u règles dutilisation de ces concepts n Ces concepts décrivent les aspects: u Statiques: structure des données u Dynamiques: opérations sur les données + contraintes explicites

7 7 n Respectent la trilogie de base u objets u liens u propriétés n Permettent des représentations multiples Modèles conceptuels

8 8 Conception dune BD : analyse reconnaissance structuration Une BD est une représentation de la partie de la réalité qui nous intéresse. perception Monde réel

9 9 Conception dune BD : description description Jean est un homme jeune aux cheveux bruns. Il est marié avec Arlette, et est propriétaire d'une Honda CRV.

10 10 Conception dune BD : phases n analyse de la réalité u partielle u subjective u infidèle n représentation (modèle) u contenu u structure u règles u dynamique n description (langage de définition des données - LDD)

11 11 Structure perçue du monde réel n Jean possède une Honda CRV grise n Arlette, sa femme, est avec lui

12 12 Observations n "Jean", "Arlette u désignent des objets reconnus comme des Personnes n "Honda CRV u nom utilisé pour désigner une Voiture n "Jean" Possède "Honda CRV" : u exprime un lien entre une personne et une voiture n... est marié avec... : u exprime un lien entre une personne et une autre personne n "grise": u valeur pour la propriété couleur de la voiture n "Jean": u valeur pour la propriété prénom de la personne

13 13 Abstraction type dobjet:Personne propriétés:- nom, - âge,... De la réalité perçue à la représentation: Faire abstraction des particularités permet de passer des objets aux types d'objets LisaFredDylan...Zoë

14 14 Définition du schéma n Un schéma est une collection de types n La bases de données contiendra les valeurs représentant les instances de ces types PersonneVoiture Possède Est-marié-avec

15 15 Qualités pour modèles conceptuels n Complétude u Description de tous phénomènes courants n Fiabilité u formellement défini n Orientation utilisateur u compréhensible, clair, lisible n Orthogonalité u indépendance des concepts n Implémentabilité u traduisible en SGBD existant n Complètement opérationnel u capacités de manipulation des données

16 16 Quels modèles conceptuels ? n Idéalement: tous les concepts utiles n Pratiquement: un nombre limité n Base: objets + liens + propriétés + multi-représentation + contraintes dintégrité

17 17 Modèles conceptuels n Entité-Association – EA (ER: Entity-Relationship) n UML n autres u NB: les modèle relationnel et certains modèles orienté objets sont des modèles logique (objectif: implémentation)

18 18 Quelques termes Classe d'objets similaires étudiants INSTANCES ou OCCURRENCES Étudiant: -nom -prénoms -date de naissance -section -année TYPE Type d'objet Base de données POPULATION Etudiant SCHEMA Une perception du monde réelAbstraction / Description Diagramme

19 Bases de Données Relationnelles Modélisation Conceptuelle (Chapitre 2) Partie 2: Le modèle Entité-Association

20 20 Modèle de type conceptuel n But: permettre la description conceptuelle des structures de données d'une application n Les concepts de base (correspondent aux concepts dabstraction de la réalité): u objet entité u lien association (relationship) u propriété attribut n + la représentation multiple

21 21 Entités et types dentités n Entité: représentation dun objet du monde réel ayant une existence propre n Type d'entité (TE): représentation d'un ensemble d'entités perçues comme similaires et ayant les mêmes caractéristiques LisaFredDylan...Zoë Personne

22 22 Associations et types dassociations n Association: représentation d'un lien non orienté entre plusieurs entités (qui jouent un rôle déterminé) n Type d'association (TA): représentation d'un ensemble d'associations ayant la même sémantique et décrites par les mêmes caractéristiques achète = PersonneMaison achète

23 23 Population d'un TA PersonneMaison achète

24 24 Rôles achète = ACHETEURACHETÉ PersonneMaison achète Association binaire: deux rôles

25 25 Associations Ternaires achète = 3 rôles ClientProduit achète Fournisseur

26 26 Associations Cycliques marié à = ? Personne Marié à 2 rôles (au moins) lient le même type d'entité Problème: comment savoir dans un couple qui est le mari et qui est la femme ?

27 27 Associations Cycliques: rôles nommés marié à = Solution: spécifier le rôle de chaque entité pour supprimer les ambiguïtés ? MARI FEMME Personne Marié à < Dupont Dominique / femme, Dupont Dominique / mari >

28 28 Associations Cycliques n Ternaires: LAUTRE L'UN Personne Ami de Emprunteur Personne Emprunt Banque Garant n Symétriques:

29 29 Cardinalité des rôles n Combien de voitures (minimum) une personne peut-elle avoir? n Combien de voitures (maximum) une personne peut-elle avoir? PersonneVoiture Possède Min : Max Personne Possède

30 30 Contraintes de cardinalité n Une personne peut ne pas avoir de voiture, en avoir 1, 2, … n (pas de contrainte) Contraintes sur les cardinalités 0 : n Personne Possède 0 : n 1 : 1 PersonneVoiture Possède n Une voiture a un et un seul propiétaire

31 31 Population d'un TA PersonneMaison achète 0:n1:1

32 32 Valeurs et notations des cardinalités Minimum Maximum 011 0n 1n nm 0 : n 1 : 1 PersonneVoiture Possède

33 33 Attributs n Décrivent linformation (les propriétés) à conserver sur: u un objet u une association u un attribut nomprénomsalaire Date_mariage jourmoisannée Domaine [1,31] MARI FEMME Personne Marié à

34 34 Attributs simples n simple (atomique): non décomposable u Exemples: jour, prénom n Feuilles de larbre des attributs: seuls les attributs simples portent des valeur n Le domaine de valeurs est constitué de valeurs atomiques u Ex.: jour - domaine de valeurs: {1, 2, …., 31} u Domaines prédéfinis standard, intervalles, énumérés

35 35 Attributs complexes n complexe: décomposé en d'autres attributs u Exemples: date (jour, mois, année), adresse (rue, ville, code postal) n Un attribut complexe ne porte pas de valeur propre (pas de domaine directement associé) n La valeur d'un attribut complexe est la composition des valeurs de ses attributs composants. n Un composant d'attribut complexe peut être lui-même un attribut complexe.

36 36 Attributs mono- ou multivalués n monovalué: une seule valeur par occurrence (cardinalité max=1) Exemples: date de naissance, numéro AVS n multivalué: plusieurs valeurs par occurence (cardinalité max>1). Exemples: prénoms, téléphones Une valeur d'attribut multivalué est un ensemble (ou liste ou multi-ensemble) de valeurs, prises chacune dans le domaine de valeurs associé à l'attribut.

37 37 Attributs obligatoires ou facultatifs n obligatoire:une valeur au moins par occurrence (cardinalité min>=1). u Exemples: nom, prénoms n facultatif: peut ne pas prendre de valeur (cardinalité min=0). u Exemples: salaire, téléphones n Le caractère obligatoire ou facultatif est déterminé par les besoins de l'application: u Si l'on accepte d'enregistrer une personne sans connaître sa date de naissance, alors l'attribut date-de-naissance sera facultatif; sinon, il sera obligatoire

38 38 Attributs: exemple simple obligatoire monovalué complexe, facultatif, multivalué de type ensemble Employé No-emp nom prénoms CV postes diplôme année intitulé salaires date-début date-fin montant date année mois liste simple, obligatoire, multivalué de type liste

39 39 Identifiants de TE et TA n Necessité de pouvoir désigner une entité (une association) de façon univoque n Identifiant: u Ensemble minimal d'attributs tel qu'il n'existe pas deux instances du TE (TA) où ces attributs aient la même valeur

40 40 Identifiants du TE Employé Employé No-emp nom prénoms CV postes diplôme année intitulé salaires date-début date-fin montant date année mois Il n'a a pas deux employés qui ont le même numéro Il n'a a pas deux employés qui ont à la fois le même nom et les mêmes prénoms Deux identifiants de Employé: No-emp, nom+prénoms

41 41 Identifiant d'un TA: rôles multivalués n Cas fréquent: id.TA = ensemble des identifiants des TE liés EtudiantCours Contrôle No-carte nom note No-cours intitulé Identifiant de Contrôle: Etudiant.No-carte + Cours.No-cours

42 42 Identifiant d'un TA: attribut propre n id.TA = attribut du TA No-client nom No-commande date quantité No-produit nom Deux identifiants pour Commande: 1) No-commande 2) Client.No-client + Produit.No-produit (il nexiste quune seule commande dun client donné pour un produit donné) ClientProduit Commande

43 43 Identifiant d'un TA: id.TE +attribut propre n Un client peut commander le même produit plusieurs fois à des dates différentes ClientProduit Commande No-client nom date quantité No-produit nom Identifiant de Commande: Client.No-client + Produit.No-produit + Commande.date

44 44 Identifiant d'un TA: rôle monovalué n Règle: Tout rôle monovalué induit un identifiant du TA (lidentifiant du TE lié est aussi identifiant du TA) Identifiant de Assure: Voiture.No-imm. No-AVS No-imm. PersonneVoiture Assure Compagnie Ass. Nom

45 45 Identifiant d'un TA cyclique n Comme pour les autres TA Deux rôles monovalués: deux identifiants pour Marié à: 1) Personne/Femme.nom 2) Personne/Mari.nom nomprénomsalaire Date_mariage jourmoisannée MARI FEMME Personne Marié à

46 46 Identifiant de TE faible n Un TE qui ne peut être identifié par ses seuls attributs propres est appelé TE faible Livre Exemplaire Existe No-ISBN titre date-achât No-exemp. état Identifiant de Exemplaire: (Livre.No-ISBN + No-exemp.) Identifiant de Existe: (Livre.No-ISBN + No-exemp.)

47 47 Exemple de schéma EA Gestion d'un hypermarché RayonArticle Vend AffectéLivré par EmployéFournisseur Chef de chef subord. NomR étage quantité NomA type nom salaire NomF adresse quantité

48 48 Représentation multiple n Un objet peut avoir plusieurs représentations Plusieurs points de vues: un article un article alimentaire un produit laitier Articles Alimentaire Habillement Hi-Fi Produit laitiers Viandes Fruits Légumes

49 49 Lien de Généralisation / Spécialisation Article habillement Lien IS_A Article Hi-Fi Produit laitier Fruits et legumes Viande Article alimentaire Un article alimentaire Est un article Raffinement de classification

50 50 Hiérarchie de Généralisation/Spécialisation Lien IS_A TE générique TE spécifiques SpécialisationGénéralisation Article alimentaire Article Hi-Fi Article habillement X Est un Y X sous-type de Y Y sur-type de X Y Inclusion de populations: tout X est un Y X

51 51 Contraintes d'intégrité sur Is-a Lien IS_A Article alimentaire Article Hi-Fi Article habillement Disjonction: les articles alimentaires et les articles d'habillement n'ont pas d'instances communes Couverture: tout article appartient à l'un des sous-types (alimentaires, d'habillement ou Hi-Fi) Partition: disjonction + couverture

52 52 Clusters de spécialisation Etudiant Et.garçonEt.filleEt.infoEt.sscEt.3èmeEt.4ème critère: sexe critère: section critère: année

53 53 Généralisation multiple DoctorantProfesseurAssistant EtudiantEnseignant ……. Assistant-Doctorant assistants doctorants assitants-doctorants

54 54 Héritage Article alimentaire Article Hi-Fi Article habillement Vente nom marque type date limite tailles couleurs puissance Reparation Service après vente La description des sous-types ne porte que sur les informations additionnelles propres au sous-type

55 55 Héritage et inclusion Carré a Rectangle abab Carré b Rectangle a CI: a=b Rectangle b Carré a BD LPOO mauvais

56 56 DESCRIPTION DUN SCHÉMA EA n Types dentités n Types dassociation n Attributs n Liens is-a n Types didentifiant n Domaines dattribut n Contraintes d'intégrité schéma conceptuel EA = ( {TE}, {TA}, {CI} )

57 57 Description d'un TE n nom du type d'entité; n nom du (ou des) type(s) d'entité sur-type de ce type d'entité, s'il en existe; n une définition libre (commentaire) précisant la sémantique du TE u caractérisation exacte de la population du type d'entité n description des attributs du TE n composition des identifiants du TE, s'il en existe n contraintes d'intégrité propres au TE

58 58 Les entités dans le temps TE Client: qu'est qu'un client ??? n Toute personne qui a une commande en cours n Toute personne qui a fait une commande dans les six derniers mois n Toute personne qui a fait une commande dans le passé ou qui est susceptible de faire une commande dans le futur n ………

59 59 n nom du type d'association n une définition libre (commentaire) précisant la sémantique du TA n noms des TE participant au TA, avec le nom du rôle les associant au TA n pour chaque rôle, sa cardinalité n description des attributs du TA, s'il en existe n composition des identifiants du TA, s'il en existe n contraintes d'intégrité propres au TA Description d'un TA

60 60 Les associations dans le temps TA Personne – Emprunte – Livre n Quels emprunts veut-on dans la BD? n Seulement les emprunts en cours n Les emprunts des trois derniers mois n Aussi les emprunts à venir (réservations) n ….

61 61 Exemple: TA "Affecté" (BD hypermarché ) n nom: Affecté n définition: "lie un employé au rayon dans lequel cet employé travaille aujourd'hui n TE participants:, n cardinalités: Employé : min=0, max=1 Rayon : min=0, max=n n attributs: / n identifiant: Employé.nom n contraintes d'intégrité: /

62 62 Description d'un attribut n nom de l'attribut n définition libre de sa sémantique n cardinalités n si attribut simple: domaine de valeurs n si attribut complexe: description des attributs composants

63 63 Domaine de valeurs dun attribut simple n Le domaine de valeurs dun attribut définit l'ensemble des valeurs permises pour cet attribut. n Le domaine dun attribut simple peut être u un domaine de base: entiers, réels, string, booléen, date, … u un domaine de base avec restriction: Entier [>=1,<=12] pour l'attribut mois u un domaine énuméré: {janvier, février, …, décembre} u un domaine de type défini par lutilisateur

64 64 Contraintes d'intégrité (CI) n règles définissant les états (CI statiques) et les transitions d'état (CI dynamiques) possibles de la BD n doivent être décrites explicitement (avec un langage approprié) si elles ne peuvent pas être décrites avec les concepts du modèle de données n une BD est cohérente si toutes les CI définies sont respectées par les valeurs de la BD.

65 65 CI sur les attributs n Restrictions de domaine fixes : âge [0 : 130 ] n Restrictions selon le contexte : u SI mois {4, 6, 9, 11} ALORS jour [1:30], SINON SI mois=2 ALORS jour [1:29], SINON jour [1:31] x,y Personne, Mariage => x.état-civil = "marié" & y.état-civil = "marié x Personne, y Voiture, Conduit => x.âge >=18 x Personne, (x.sexe=F OR x.age x.statut_milit.=NUL

66 66 Attributs dérivés nombre d'enfants = nombre d'occurrences du TA Parent qui lient cette Personne nom Personne Enfant Parent nom prénoms nombre d'enfants nom prénoms 2:2


Télécharger ppt "Bases de Données Relationnelles Modélisation Conceptuelle (Chapitre 2) Partie 1: Concepts généraux."

Présentations similaires


Annonces Google