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

Présentations similaires


Présentation au sujet: "Bases de Données Relationnelles"— Transcription de la présentation:

1 Bases de Données Relationnelles
Stefano Spaccapietra 30/03/2017 Bases de Données Relationnelles Modélisation Conceptuelle (Chapitre 2) Partie 1: Concepts généraux Cours Bases de données relationnelles

2 Modélisation des données et schémas
La modélisation est l’activité d’élaboration d’une représentation structurée de la réalité Une BD est une représentation de la partie du monde réel qui intéresse les utilisateurs / les applications. 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. La définition de ces structures est consignée dans le schéma de la base de données.

3 Modélisation conceptuelle
Objectif: représenter la réalité telle qu'elle est perçue par les utilisateurs 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 La qualité de la conception de la BD est un facteur critique de réussite

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

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

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

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

8 Conception d’une BD : analyse
Stefano Spaccapietra 30/03/2017 Conception d’une BD : analyse reconnaissance structuration Monde réel perception Une BD est une représentation de la partie de la réalité qui nous intéresse. L ’utilisateur a une perception du monde réel accès sur son appli. Description de données pour ses besoins... A partir de là, reconnaissance et structuration... Cours Bases de données relationnelles

9 Conception d’une BD : description
Stefano Spaccapietra 30/03/2017 Conception d’une BD : description description Jean est un homme jeune aux cheveux bruns. Il est marié avec Arlette, et est propriétaire d'une Honda CRV. Cours Bases de données relationnelles

10 Conception d’une BD : phases
Stefano Spaccapietra 30/03/2017 Conception d’une BD : phases analyse de la réalité partielle subjective infidèle représentation (modèle) contenu structure règles dynamique description (langage de définition des données - LDD) par rapport à la réalité, un schéma est une représentation - incomplète: il ne représente que les informations qui sont intéressantes pour l'application - partiale: il représente le point de vue du concepteur - infidèle: il ne représente pas la réalité telle qu'elle est, mais telle qu'elle intéresse le concepteur Cours Bases de données relationnelles

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

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

13 Abstraction De la réalité perçue à la représentation:
Stefano Spaccapietra 30/03/2017 Abstraction De la réalité perçue à la représentation: Faire abstraction des particularités permet de passer des objets aux types d'objets Lisa Fred Dylan ... Zoë CLASSE = ensemble des objets perçus comme ayant des caractéristiques similaires Ils auront le même type. Lisa, Zoe, Dylan … sont regroupés dans la classe Personne. Ils forment la population de la classe. + propriétés: - nom - prénom - âge - taille - couleur des yeux + liens - Zoe MARIEE avec Dylan Zoe FEMME de Dylan et inverse... type d’objet: Personne propriétés: - nom, - âge, ... Cours Bases de données relationnelles

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

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

16 Quels modèles conceptuels ?
Stefano Spaccapietra 30/03/2017 Quels modèles conceptuels ? Idéalement: tous les concepts utiles Pratiquement: un nombre limité Base: objets + liens + propriétés + multi-représentation + contraintes d’intégrité Quels modèles choisir? On veut des modèles qui proposent les concepts suivants... Cours Bases de données relationnelles

17 Modèles conceptuels Entité-Association – EA (ER: Entity-Relationship)
Stefano Spaccapietra 30/03/2017 Modèles conceptuels Entité-Association – EA (ER: Entity-Relationship) UML autres NB: les modèle relationnel et certains modèles orienté objets sont des modèles logique (objectif: implémentation) Quels modèles choisir? On veut des modèles qui proposent les concepts suivants... Cours Bases de données relationnelles

18 Quelques termes Diagramme SCHEMA Base de données
Stefano Spaccapietra 30/03/2017 Quelques termes Une perception du monde réel Abstraction / Description Diagramme Classe d'objets similaires Etudiant étudiants SCHEMA Base de données Type d'objet Étudiant: -nom -prénoms -date de naissance -section -année Récapitulatif des notions de base... INSTANCES ou OCCURRENCES TYPE POPULATION Cours Bases de données relationnelles

19 Bases de Données Relationnelles
Stefano Spaccapietra 30/03/2017 Bases de Données Relationnelles Modélisation Conceptuelle (Chapitre 2) Partie 2: Le modèle Entité-Association Cours Bases de données relationnelles

20 Modèle de type conceptuel
Stefano Spaccapietra 30/03/2017 Modèle de type conceptuel But: permettre la description conceptuelle des structures de données d'une application Les concepts de base (correspondent aux concepts d’abstraction de la réalité): objet <=> entité lien <=> association (relationship) propriété <=> attribut  + la représentation multiple EA: actuellement limité à la description statique but = permettre la description conceptuelle des structures de données d'une appli. L'idée fondamentale du modèle EA : concepts de base pour la représentation = concepts génériques du processus d'abstraction qui permettent la description à partir de l'observation de la réalité => correspondance entre les 3 concepts génériques et la terminologie du modèle EA OBJET=ENTITE LIEN=ASSOCIATION PROPRIETE=ATTRIBUT Suppose que la perception d'une situation observée se fait naturellement en identifiant les objets présents, de liens entre ces objets (une personne conduit une voiture) et de propriétés observables (la taille d'une personne, la couleur d'une voiture, ...). Concepts renommés => pour distinguer facilement le discours sur la réalité (en termes d'objets, liens et propriétés) du discours sur la représentation de la réalité (fait en utilisant les termes du modèle). Cours Bases de données relationnelles

21 Entités et types d’entités
Stefano Spaccapietra 30/03/2017 Entités et types d’entités Entité: représentation d’un objet du monde réel ayant une existence propre Type d'entité (TE): représentation d'un ensemble d'entités perçues comme similaires et ayant les mêmes caractéristiques Lisa Fred Dylan ... Zoë Personne ENTITE représentation d'un objet du monde réel (concret ou abstrait), - perçu par le concepteur comme ayant une existence propre, et - à propos duquel on veut enregistrer des informations. Une entité existe indépendamment du fait qu'elle puisse être liée à d'autres entités de la BD. Ex: Mme Dupont, Mr. Durand, le service Comptabilité, … Type d'entité (TE) représentation d'un ensemble d'entités perçues comme similaires et ayant les mêmes caractéristiques. Exemples: Personne, Employé (représentation de l'ensemble des employés), Article, Service, ... Cours Bases de données relationnelles

22 Associations et types d’associations
Stefano Spaccapietra 30/03/2017 Associations et types d’associations Association: représentation d'un lien non orienté entre plusieurs entités (qui jouent un rôle déterminé) 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 Personne Maison Association Ex: les liens d’achat entre Mr. Durand et la MaisonX peut être représenté par des associations entre les entités correspondantes : Mr Durand achete la maison X 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 (liant des entités de même type, et possédant les mêmes propriétés). Exemples: le TA achete lie le TE Personne au TE Maison, chaque association de ce TA exprimant le fait qu'un personne donnée achete une maison donnée; travaille lie le TE Employé au TE Service pour exprimer que tel employé travaille dans tel service; est marié avec lie le TE Personne avec lui-même pour exprimer que telle personne, l'époux, est mariée à telle autre personne, l'épouse. ’achète ’ = < 1 personne, 1 maison > Cours Bases de données relationnelles

23 Population d'un TA achète Personne Maison

24 Rôles ’achète’ = < 1 personne, 1 maison > ACHETEUR ACHETÉ
Stefano Spaccapietra Rôles 30/03/2017 ’achète’ = < 1 personne, 1 maison > achète Personne Maison ACHETEUR ACHETÉ Association binaire: deux rôles en général, une association a toujours 2 rôles Mr. Durand achete une maison (rôle: achète) La Maison des arts est achetée par Mr Durand Dans l’ex, le rôle: maison …acheté par personne pas forcément intéressant. A moins qu’il s ’agisse d ’une agence immobilière (veut connaitre l ’acheteur). Dépendant du point de vue du user… Peut vouloir dire que le lien n ’est pas necessaire un attribut pourrait suffire?? Cours Bases de données relationnelles

25 Associations Ternaires
Stefano Spaccapietra 30/03/2017 Associations Ternaires 3 rôles achète Client Produit Fournisseur ’achète’ = < 1 client, 1 produit, 1 fournisseur > Cours Bases de données relationnelles

26 Associations Cycliques
Stefano Spaccapietra 30/03/2017 Associations Cycliques 2 rôles (au moins) lient le même type d'entité Marié à Personne ’marié à ’ = < 1 personne, 1 personne > Problème: comment savoir dans un couple qui est le mari et qui est la femme ? < Dupont Dominique, Dupont Dominique > Si l'association lie 2 (ou +ieurs) entités du même type, elle est dite "cyclique”. !!! spécification du rôle de chaque entité indispensable pour supprimer les ambiguïtés possibles. ? Cours Bases de données relationnelles

27 Associations Cycliques: rôles nommés
Stefano Spaccapietra 30/03/2017 Associations Cycliques: rôles nommés ? Solution: spécifier le rôle de chaque entité pour supprimer les ambiguïtés FEMME Marié à Personne MARI ’marié à’ = < 1 personne/FEMME, 1 personne/MARI > Si l'association lie 2 (ou +ieurs) entités du même type, elle est dite "cyclique”. !!! spécification du rôle de chaque entité indispensable pour supprimer les ambiguïtés possibles. < Dupont Dominique / femme, Dupont Dominique / mari > Cours Bases de données relationnelles

28 Associations Cycliques
Stefano Spaccapietra 30/03/2017 Associations Cycliques Ternaires: Emprunteur Personne Emprunt Banque Garant Symétriques: L’AUTRE L'UN Personne Ami de Cours Bases de données relationnelles

29 Cardinalité des rôles Possède Personne Voiture
Stefano Spaccapietra 30/03/2017 Cardinalité des rôles Possède Personne Voiture Combien de voitures (minimum) une personne peut-elle avoir? Combien de voitures (maximum) une personne peut-elle avoir? Min : Max Personne Possède Erreur MAX dans le slide !!! Cours Bases de données relationnelles

30 Contraintes de cardinalité
Stefano Spaccapietra 30/03/2017 Contraintes de cardinalité Une personne peut ne pas avoir de voiture, en avoir 1, 2, … n (pas de contrainte) 0 : n Personne Possède Une voiture a un et un seul propiétaire 0 : n 1 : 1 Personne Voiture Possède Contraintes sur les cardinalités Cours Bases de données relationnelles

31 Population d'un TA achète 0:n 1:1 Personne Maison

32 Valeurs et notations des cardinalités
Stefano Spaccapietra 30/03/2017 Valeurs et notations des cardinalités Minimum Maximum 0 1 1 1 0 n 1 n n m Possède Personne Voiture La représentation graphique des rôles et des attributs varie en fonction des cardinalités associées au rôle ou à l'attribut Notation ou représentation graphique... 1 : 1 0 : n Cours Bases de données relationnelles

33 Attributs Décrivent l’information (les propriétés) à conserver sur:
Stefano Spaccapietra 30/03/2017 Attributs Décrivent l’information (les propriétés) à conserver sur: un objet une association un attribut FEMME Marié à Personne MARI Attribut = représentation d'une propriété associée à un TE, ou à un TA, ou participant à la composition d'un autre attribut. L'ensemble des attributs d'un TE (ou TA) représente l'ensemble des informations inhérentes qu'on veut conserver sur les entités (ou associations) du TE (ou TA). Exs: nom, prénoms, salaire = attributs du TE Employé date-de-mariage = attribut du TA est-marié-avec jour, mois, année = attributs composant un attribut date, … Domaine de valeurs de l’attribut: entier, réel, caractère... Peut etre restreint Ex: jour 1…31 Date_mariage nom prénom salaire jour mois année Domaine [1,31] Cours Bases de données relationnelles

34 Attributs simples simple (atomique): non décomposable
Stefano Spaccapietra 30/03/2017 Attributs simples simple (atomique): non décomposable Exemples: jour, prénom Feuilles de l’arbre des attributs: seuls les attributs simples portent des valeur Le domaine de valeurs est constitué de valeurs atomiques Ex.: jour - domaine de valeurs: {1, 2, …., 31} Domaines prédéfinis standard, intervalles, énumérés Terminologie: on appelle: attribut simple: attribut non décomposé en d'autres attributs: valeurs atomiques. Un domaine associé. Exemple: salaire, téléphones attribut complexe: attribut décomposé en d'autres attributs: ses valeurs sont des valeurs composées. Exemple: adresse, composé de: rue, ville, code postal attribut monovalué: attribut qui ne peut prendre qu'une seule valeur par occurrence (cardinalité max=1). Exemple: nom, date de naissance attribut multivalué: attribut qui peut prendre plusieurs valeurs par occurrence (cardinalité max>1). Exemple: prénoms, téléphones attribut obligatoire: attribut qui doit prendre une valeur au moins par occurrence (cardinalité min=1). Exemple: nom, prénoms attribut facultatif: attribut qui peut ne pas prendre de valeur dans une occurrence (cardinalité min=0). Cours Bases de données relationnelles

35 Attributs complexes complexe: décomposé en d'autres attributs
Stefano Spaccapietra 30/03/2017 Attributs complexes complexe: décomposé en d'autres attributs Exemples: date (jour, mois, année), adresse (rue, ville, code postal) Un attribut complexe ne porte pas de valeur propre (pas de domaine directement associé) La valeur d'un attribut complexe est la composition des valeurs de ses attributs composants. Un composant d'attribut complexe peut être lui-même un attribut complexe. Terminologie: on appelle: attribut simple: attribut non décomposé en d'autres attributs: valeurs atomiques. Un domaine associé. Exemple: salaire, téléphones attribut complexe: attribut décomposé en d'autres attributs: ses valeurs sont des valeurs composées. Exemple: adresse, composé de: rue, ville, code postal attribut monovalué: attribut qui ne peut prendre qu'une seule valeur par occurrence (cardinalité max=1). Exemple: nom, date de naissance attribut multivalué: attribut qui peut prendre plusieurs valeurs par occurrence (cardinalité max>1). Exemple: prénoms, téléphones attribut obligatoire: attribut qui doit prendre une valeur au moins par occurrence (cardinalité min=1). Exemple: nom, prénoms attribut facultatif: attribut qui peut ne pas prendre de valeur dans une occurrence (cardinalité min=0). Cours Bases de données relationnelles

36 Attributs mono- ou multivalués
Stefano Spaccapietra 30/03/2017 Attributs mono- ou multivalués monovalué: une seule valeur par occurrence (cardinalité max=1) Exemples: date de naissance, numéro AVS 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. Terminologie: on appelle: attribut simple: attribut non décomposé en d'autres attributs: valeurs atomiques. Un domaine associé. Exemple: salaire, téléphones attribut complexe: attribut décomposé en d'autres attributs: ses valeurs sont des valeurs composées. Exemple: adresse, composé de: rue, ville, code postal attribut monovalué: attribut qui ne peut prendre qu'une seule valeur par occurrence (cardinalité max=1). Exemple: nom, date de naissance attribut multivalué: attribut qui peut prendre plusieurs valeurs par occurrence (cardinalité max>1). Exemple: prénoms, téléphones attribut obligatoire: attribut qui doit prendre une valeur au moins par occurrence (cardinalité min=1). Exemple: nom, prénoms attribut facultatif: attribut qui peut ne pas prendre de valeur dans une occurrence (cardinalité min=0). Cours Bases de données relationnelles

37 Attributs obligatoires ou facultatifs
Stefano Spaccapietra 30/03/2017 Attributs obligatoires ou facultatifs obligatoire: une valeur au moins par occurrence (cardinalité min>=1). Exemples: nom, prénoms facultatif: peut ne pas prendre de valeur (cardinalité min=0). Exemples: salaire, téléphones Le caractère obligatoire ou facultatif est déterminé par les besoins de l'application: 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 Terminologie: on appelle: attribut simple: attribut non décomposé en d'autres attributs: valeurs atomiques. Un domaine associé. Exemple: salaire, téléphones attribut complexe: attribut décomposé en d'autres attributs: ses valeurs sont des valeurs composées. Exemple: adresse, composé de: rue, ville, code postal attribut monovalué: attribut qui ne peut prendre qu'une seule valeur par occurrence (cardinalité max=1). Exemple: nom, date de naissance attribut multivalué: attribut qui peut prendre plusieurs valeurs par occurrence (cardinalité max>1). Exemple: prénoms, téléphones attribut obligatoire: attribut qui doit prendre une valeur au moins par occurrence (cardinalité min=1). Exemple: nom, prénoms attribut facultatif: attribut qui peut ne pas prendre de valeur dans une occurrence (cardinalité min=0). Cours Bases de données relationnelles

38 Attributs: exemple Employé liste No-emp nom prénoms CV postes
Stefano Spaccapietra 30/03/2017 Attributs: exemple Employé liste No-emp nom prénoms CV postes diplôme année intitulé salaires date-début date-fin simple obligatoire monovalué complexe, facultatif, multivalué de type ensemble montant date TE Employé 2 attributs simples, monovalués et obligatoires (n°E et nom), 1 attribut simple, multivalué et obligatoire (prénoms) 2 attributs complexes et multivalués (CV et postes), dont CV facultatif et postes obligatoire. NB: la définition d'un attribut (ou d'un rôle) comme étant obligatoire induit une contrainte sur la création des occurrences correspondantes. La création d'une occurrence ne peut être acceptée que si tous les attributs (rôles) obligatoires reçoivent une valeur dès sa création. année mois simple, obligatoire, multivalué de type liste Cours Bases de données relationnelles

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

40 Identifiants du TE Employé
Stefano Spaccapietra 30/03/2017 Identifiants du TE Employé Deux identifiants de Employé: No-emp, nom+prénoms Employé No-emp nom prénoms CV postes 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 diplôme année intitulé salaires date-début date-fin montant date TE Employé 2 attributs simples, monovalués et obligatoires (n°E et nom), 1 attribut simple, multivalué et obligatoire (prénoms) 2 attributs complexes et multivalués (CV et postes), dont CV facultatif et postes obligatoire. NB: la définition d'un attribut (ou d'un rôle) comme étant obligatoire induit une contrainte sur la création des occurrences correspondantes. La création d'une occurrence ne peut être acceptée que si tous les attributs (rôles) obligatoires reçoivent une valeur dès sa création. année mois Cours Bases de données relationnelles

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

42 Identifiant d'un TA: attribut propre
id.TA = attribut du TA Client Produit Commande 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 n’existe qu’une seule commande d’un client donné pour un produit donné)

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

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

45 Identifiant d'un TA cyclique
Comme pour les autres TA FEMME Marié à Personne MARI Date_mariage nom prénom salaire jour mois année Deux rôles monovalués: deux identifiants pour Marié à: 1) Personne/Femme.nom 2) Personne/Mari.nom

46 Identifiant de TE faible
Stefano Spaccapietra 30/03/2017 Identifiant de TE faible 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 TE faible si aucun sous-ensemble de ses attributs ne constitue un identifiant (il n'a pas d'identifiant qui lui soit interne) et si un identifiant peut être défini en intégrant un identifiant d'un autre TE' qui lui est lié par un TA binaire de cardinalité (1,1). Le TE dépend de TE'. Exemplaire (d'un livre) = TE faible dépendant du TE Livre. CAR du fait des cardinalités, pas possible de créer une occurrence de Exemplaire sans la rattacher à une occurrence existante de Livre. = dépendance d'existence L'identifiant d'un TE faible (= celui du TA) est constitué de l'identifiant du TE dont il dépend + d'un (ou plusieurs) attribut du TE faible. L'identifiant de Exemplaire (et du TA "est un") est: LivreISBN + N°ex ISBN = "international standard book number" C'est un numéro qui identifie tout nouveau livre édité Identifiant d'un TE sous-type Soit E un TE sous-type du TE E', alors tout identifiant de E' est aussi identifiant de E. E n'a pas nécessairement d'identifiant qui lui soit propre. Dans l'exemple de l'hypermarché, Article alimentaire, Article habillement et Article Hi-Fi ont tous les trois pour identifiant celui de Article (n°code). Identifiant de Exemplaire: (Livre.No-ISBN + No-exemp.) Identifiant de Existe: (Livre.No-ISBN + No-exemp.) Cours Bases de données relationnelles

47 Exemple de schéma EA Gestion d'un hypermarché Chef de Employé
Stefano Spaccapietra 30/03/2017 Exemple de schéma EA Gestion d'un hypermarché chef Chef de Employé Fournisseur subord. nom salaire NomF adresse Affecté Livré par quantité Vend Rayon Article NomR étage quantité NomA type Cours Bases de données relationnelles

48 Représentation multiple
Stefano Spaccapietra 30/03/2017 Représentation multiple Un objet peut avoir plusieurs représentations Articles Alimentaire Habillement Hi-Fi Produit laitiers Viandes Fruits Légumes Un TE = classe d'objets du monde réel perçus comme similaires et ayant les mêmes caractéristiques. OR un même ensemble d'objets peut être perçu d'un certain point de vue comme une seule classe, mais en même temps perçu d'un autre point de vue comme plusieurs classes, différentes malgré l'existence de caractéristiques communes. => intérêt à séparer les articles en plusieurs classes (alimentation, habillement, Hi-Fi, hygiène, ...). Exs - la gestion des ventes promotionnelles diffère suivant la catégorie: - les articles d'alimentation sont retirés des rayons si la date limite de vente est dépassée. Chaque classe peut avoir des caractéristiques propres => attributs spécifiques - date limite de vente (alimentation), - taille et couleur (habillement) Raffinement par sous-typage… - Tous les produits laitiers sont des articles alimentaires - Les articles alimentaires sont des articles Plusieurs points de vues: un article un article alimentaire un produit laitier Cours Bases de données relationnelles

49 Lien de Généralisation / Spécialisation
Stefano Spaccapietra 30/03/2017 Lien de Généralisation / Spécialisation Article Article alimentaire Un article alimentaire Est un article Lien IS_A Article Hi-Fi Article habillement Produit laitier Fruits et legumes Viande => décrire, en plus du TE générique Article, des TE plus spécialisés, représentant les sous-classes "intéressantes" MAIS => situation atypique: les mêmes objets sont représentés par 2 TE (le TE générique et l'un des TE spécialisés), alors que normalement les populations de 2 TE représentent des classes d'objets disjointes. => dans les modèles de données récents, concept de généralisation/spécialisation: lien, orienté, d'un TE spécialisé (ou spécifique) vers un TE générique. A toute occurrence du TE spécifique correspond une occurrence du TE générique. Inversement, à toute occurrence du TE générique correspond 0 ou 1 occurrence par TE spécifique. Les liens appelés "est-un" (IS A); on dit que "Article alimentaire est-un Article". TE spécifique sous-type du TE générique, sur-type du TE spécifique. Convention: attributs communs sur TE générique. MAIS implicitement inclus dans les attributs des TE spécifiques: ils "héritent" des attributs du TE générique. DE PLUS: les TE spécifiques peuvent avoir des attributs propres. Raffinement de classification Cours Bases de données relationnelles

50 Hiérarchie de Généralisation/Spécialisation
Stefano Spaccapietra 30/03/2017 Hiérarchie de Généralisation/Spécialisation TE générique TE spécifiques Spécialisation Généralisation Article Lien IS_A Article alimentaire Article habillement Article Hi-Fi => décrire, en plus du TE générique Article, des TE plus spécialisés, représentant les sous-classes "intéressantes" MAIS => situation atypique: les mêmes objets sont représentés par 2 TE (le TE générique et l'un des TE spécialisés), alors que normalement les populations de 2 TE représentent des classes d'objets disjointes. => dans les modèles de données récents, concept de généralisation/spécialisation: lien, orienté, d'un TE spécialisé (ou spécifique) vers un TE générique. A toute occurrence du TE spécifique correspond une occurrence du TE générique. Inversement, à toute occurrence du TE générique correspond 0 ou 1 occurrence par TE spécifique. Les liens appelés "est-un" (IS A); on dit que "Article alimentaire est-un Article". TE spécifique sous-type du TE générique, sur-type du TE spécifique. Convention: attributs communs sur TE générique. MAIS implicitement inclus dans les attributs des TE spécifiques: ils "héritent" des attributs du TE générique. DE PLUS: les TE spécifiques peuvent avoir des attributs propres. X Est un Y X sous-type de Y Y sur-type de X Y Inclusion de populations: tout X est un Y X Cours Bases de données relationnelles

51 Contraintes d'intégrité sur Is-a
Stefano Spaccapietra 30/03/2017 Contraintes d'intégrité sur Is-a Article Lien IS_A Article alimentaire Article habillement Article Hi-Fi 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 => décrire, en plus du TE générique Article, des TE plus spécialisés, représentant les sous-classes "intéressantes" MAIS => situation atypique: les mêmes objets sont représentés par 2 TE (le TE générique et l'un des TE spécialisés), alors que normalement les populations de 2 TE représentent des classes d'objets disjointes. => dans les modèles de données récents, concept de généralisation/spécialisation: lien, orienté, d'un TE spécialisé (ou spécifique) vers un TE générique. A toute occurrence du TE spécifique correspond une occurrence du TE générique. Inversement, à toute occurrence du TE générique correspond 0 ou 1 occurrence par TE spécifique. Les liens appelés "est-un" (IS A); on dit que "Article alimentaire est-un Article". TE spécifique sous-type du TE générique, sur-type du TE spécifique. Convention: attributs communs sur TE générique. MAIS implicitement inclus dans les attributs des TE spécifiques: ils "héritent" des attributs du TE générique. DE PLUS: les TE spécifiques peuvent avoir des attributs propres. Cours Bases de données relationnelles

52 Clusters de spécialisation
Etudiant Et.garçon Et.fille Et.info Et.ssc Et.3ème Et.4ème critère: sexe critère: section critère: année

53 Généralisation multiple
Stefano Spaccapietra 30/03/2017 Généralisation multiple Doctorant Professeur Assistant Etudiant Enseignant ……. assistants doctorants assitants-doctorants généralisation multiple un TE est sous-type de plusieurs autres TE. C'est le cas dans l'exemple du campus universitaire pour Dans l’exemple: le TE Assistant-doctorant, qui regroupe la population des personnes qui sont à la fois Assistant et Doctorant. La généralisation multiple pose des problèmes liés à l'héritage: - éviter d'hériter deux fois d'un ancêtre commun (dans l'exemple, Assistant-doctorant doit hériter une seule fois de Personne, soit via Doctorant-Etudiant, soit via Assistant-Enseignant-Employé), - éviter d'avoir des conflits d'héritage (par exemple, lorsque deux attributs portant le même nom se trouvent dans deux TE génériques différents dont on hérite). Pour résoudre ces conflits d'héritage, soit le concepteur spécifie explicitement une préférence d'héritage, soit le système applique une règle implicite déterministe. Assistant-Doctorant Cours Bases de données relationnelles

54 Héritage Article alimentaire Hi-Fi habillement Vente Reparation
Stefano Spaccapietra 30/03/2017 Héritage Article alimentaire Hi-Fi 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 ...description et l'héritage des attributs s'applique AUSSI aux TA. Exemple: le TE "Article Hi-Fi", et autres TE spécifiques, est implicitement lié par les TA Vente et Livraison, hérités du TE Article. Peut, en plus, être lié par un TA Réparation à un TE Service après-vente : tel type d'articles Hi-Fi est réparé par tel Service après-vente (TA défini pour les articles Hi-Fi uniquement) Ensemble des TE spécifiques peut etre different du TE générique. exemple: les articles d'hygiène, de bricolage, ... uniquement représentés par le TE Article. les TE spécifiques d'un même TE générique ne représentent pas nécessairement des populations disjointes Ex: personnes travaillant ou étudiant dans un campus universitaire. un TE générique peut à son tour être sous-type d'un autre TE: hiérarchie de généralisations. Cours Bases de données relationnelles

55 Héritage et inclusion CI: a=b mauvais BD LPOO Carré Rectangle
Stefano Spaccapietra 30/03/2017 Héritage et inclusion Carré a Rectangle b BD LPOO mauvais Rectangle b Carré a Carré b Rectangle a CI: a=b ...description et l'héritage des attributs s'applique AUSSI aux TA. Exemple: le TE "Article Hi-Fi", et autres TE spécifiques, est implicitement lié par les TA Vente et Livraison, hérités du TE Article. Peut, en plus, être lié par un TA Réparation à un TE Service après-vente : tel type d'articles Hi-Fi est réparé par tel Service après-vente (TA défini pour les articles Hi-Fi uniquement) Ensemble des TE spécifiques peut etre different du TE générique. exemple: les articles d'hygiène, de bricolage, ... uniquement représentés par le TE Article. les TE spécifiques d'un même TE générique ne représentent pas nécessairement des populations disjointes Ex: personnes travaillant ou étudiant dans un campus universitaire. un TE générique peut à son tour être sous-type d'un autre TE: hiérarchie de généralisations. Cours Bases de données relationnelles

56 DESCRIPTION D’UN SCHÉMA EA
Stefano Spaccapietra 30/03/2017 DESCRIPTION D’UN SCHÉMA EA Types d’entités Types d’association Attributs Liens is-a Types d’identifiant Domaines d’attribut Contraintes d'intégrité schéma conceptuel EA = ( {TE}, {TA}, {CI} ) Cours Bases de données relationnelles

57 Description d'un TE nom du type d'entité;
Stefano Spaccapietra 30/03/2017 Description d'un TE nom du type d'entité; nom du (ou des) type(s) d'entité sur-type de ce type d'entité, s'il en existe; une définition libre (commentaire) précisant la sémantique du TE caractérisation exacte de la population du type d'entité description des attributs du TE composition des identifiants du TE, s'il en existe contraintes d'intégrité propres au TE Exemple: description du TE "Employé" de la base de données hypermarché: -nom : Employé; -sur-types: / ; -définition: "toute personne salariée par l'entreprise en ce moment"; -attributs: nom, salaire (avec leur description); -identifiants: nom. Remarques: - 2 TE différents ne peuvent avoir le même nom; - la définition libre est une partie très importante de la description d'un TE. permet de définir exactement, de façon non ambiguë, la population du TE. inclut notamment la spécification temporelle qui permet de savoir si le contexte modélisé couvre uniquement la situation actuelle ou aussi l'historique (situations antérieures) et/ou la prospective (situations à venir). Cours Bases de données relationnelles

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

59 Description d'un TA nom du type d'association
Stefano Spaccapietra 30/03/2017 Description d'un TA nom du type d'association une définition libre (commentaire) précisant la sémantique du TA noms des TE participant au TA, avec le nom du rôle les associant au TA pour chaque rôle, sa cardinalité description des attributs du TA , s'il en existe composition des identifiants du TA, s'il en existe contraintes d'intégrité propres au TA Cours Bases de données relationnelles

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

61 Exemple: TA "Affecté" (BD hypermarché)
Stefano Spaccapietra 30/03/2017 nom: Affecté définition: "lie un employé au rayon dans lequel cet employé travaille aujourd'hui” TE participants: <Employé, > , <Rayon, > cardinalités: Employé : min=0, max= Rayon : min=0, max=n attributs: / identifiant: Employé.nom contraintes d'intégrité: / Les cardinalités possibles pour un rôle (ici, E de Emploi) et leur signification sont les suivantes: min=0 :un employé peut ne travailler dans aucun rayon min=1:un employé doit travailler dans au moins un rayon max=1:un employé ne peut travailler dans plus d'un rayon max=n:un employé peut travailler dans plusieurs rayons Cours Bases de données relationnelles

62 Description d'un attribut
Stefano Spaccapietra 30/03/2017 Description d'un attribut nom de l'attribut définition libre de sa sémantique cardinalités si attribut simple: domaine de valeurs si attribut complexe: description des attributs composants Cours Bases de données relationnelles

63 Domaine de valeurs d’un attribut simple
Stefano Spaccapietra 30/03/2017 Domaine de valeurs d’un attribut simple Le domaine de valeurs d’un attribut définit l'ensemble des valeurs permises pour cet attribut. Le domaine d’un attribut simple peut être un domaine de base: entiers, réels, string, booléen, date, … un domaine de base avec restriction: Entier [>=1,<=12] pour l'attribut mois un domaine énuméré: {janvier, février, …, décembre} un domaine de type défini par l’utilisateur Cours Bases de données relationnelles

64 Contraintes d'intégrité (CI)
Stefano Spaccapietra 30/03/2017 Contraintes d'intégrité (CI) règles définissant les états (CI statiques) et les transitions d'état (CI dynamiques) possibles de la BD 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 une BD est cohérente si toutes les CI définies sont respectées par les valeurs de la BD. concepts d'entité, association, attribut et sous-type insuffisants pour décrire tout ce qui caractérise les données d'un schéma EA. Exemple: pour le TA Mariage, une règle connue mais non exprimée par ce diagramme est: si une Personne participe à l'association Mariage, alors son état civil doit être "marié". => CI: règles, définissant les états (ou transitions d'état) possibles de la BD et qui ne peuvent pas être décrites avec les concepts du modèle Si les valeurs de la BD ne satisfont pas ces contraintes, il y a une "erreur"; on dit que la BD est incohérente. En l'état actuel des SGBD, la plupart de ces règles ne peuvent être vérifiées que par des programmes ad hoc, établis lors de la programmation des applications. Cours Bases de données relationnelles

65 CI sur les attributs Restrictions de domaine fixes :
Stefano Spaccapietra 30/03/2017 CI sur les attributs Restrictions de domaine fixes : âge  [0 : 130 ] Restrictions selon le contexte : 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, <x,y>  Mariage => x.état-civil = "marié" & y.état-civil = "marié” " x  Personne, " y  Voiture, <x,y>  Conduit => x.âge >=18 " x  Personne, (x.sexe=F OR x.age<18) => x.statut_milit.=NUL Les CI les plus fréquentes limitent les valeurs possibles d'un attribut à certaines valeurs du domaine sous-jacent. ex: age entre [0,130]. = limitation définissant de façon fixe une même fourchette pour toutes les valeurs de l'attribut. disparaissent si le modèle permet une définition précise des domaines de valeurs, au lieu des définitions ne faisant appel qu'à des domaines généraux prédéfinis (entier, réel, chaîne de caractères, booléen, ...). Les limites peuvent être définies en fonction du contexte (valeur d'un autre attribut, participation à une association, ...). Exemples: - nombre de jours par mois variable selon le mois de l ’année - si une Personne participe à l'association Mariage, alors son état civil doit être "marié". - une personne peut conduire une voiture uniquement si elle a plus de 18 ans - le statut militaire est valable seulement pour les hommes de plus de 18 ans Cours Bases de données relationnelles

66 Attributs dérivés nombre d'enfants =
Stefano Spaccapietra 30/03/2017 Attributs dérivés Parent 2:2 Personne nom Enfant nom prénoms nombre d'enfants nom prénoms nombre d'enfants = nombre d'occurrences du TA “Parent” qui lient cette Personne D'autres types de CI limitent les cardinalités des TE, des TA, ou des valeurs des attributs. Exemple... Cours Bases de données relationnelles


Télécharger ppt "Bases de Données Relationnelles"

Présentations similaires


Annonces Google