Modélisation Conceptuelle des Données nalyse Monde réel Spécification de la D Conception conceptuel Transformation en modèle logique Indépendant d'un SGD logique Implémentation Spécifique à un SGD physique + Programmes Trouver/Définir le schéma de la base Identifier et répondre aux besoins en information en traitements Petit problème : pas besoin de méthode? Gros problème : bstractions successives Modélisation Conceptuelle des Données modèle de représentation de données bstraction : indépendance % implantation ésultat : Modèle/ Conceptuel des Données (MCD/SCD) Validation % Traitements Modélisation Conceptuelle des Données Concepts formels : Ensembles de n-uplets Liens typés entre ensembles Fonctions et fonctions inverses Partielles/Totales Mono/Multivaluées eprésentation graphique Description lexicale
Modélisation des données : Concepts Modèle entité-association (Chen, 1975) Ensembles de n-uplets Projections (champs) Liens entre ensembles Fonctions (et inverses) Types de fonctions Partielle/Totale Mono/multivaluée Types Types Types Fonctions rôles Cardinalités Minimum = 0 / 1 Maximum = 1 / n Type : descripteur Entité ou ssociation valeur dans un domaine (atomique) Formellement : Fonction de projection Type Domaine de Type Domaine de Description lexicale : Nom, Domaine, Contraintes Modèle entité-assocation Modèle E/ : eprésentation graphique identifiables ayant la même liste Occurrence : ensemble de n-uplets (entity set) Entité Faible/dépendante (Weak entity) Identification et durée de vie liées à un autre type Modèle E/ : Description lexicale : Nom, type, contraintes éventuelles, Signification Nom Signification Liste de ses attributs Identifiant(s) : vec ou sans attributs un rôle une cardinalité Occurrence : sous-ensemble du produit attributs propres
Des personnes possèdent des voitures ôles : : Personne, Voiture : Possession Personne : Possesseur Voiture : Possédée par (inverse de Possesseur) Cardinalités : couple (min, max) Toute personne possède des voitures : (1, n) Des personnes possèdent pas : (0, n) Toute voiture a un seul propriétaire : (1, 1) Des voitures ont pas : (0, 1) Si plusieurs propriétaires : (0 1, n) Formalisation avec les fonctions rôles Max = 1 : Possesseur : Personne Voiture Max = n : Possesseur : Personne Voiture n Min = 1 : p p Personne v v Voiture Possesseur(p) = v Min = 0 : p p Personne v v Voiture Possesseur(p) = v Occurrence : {(p, v) Possesseur(p) = v} Possession depuis une date PossèdeDepuis : ttribut Personne x Voiture Date Occurrence avec attribut propre : {(p, v, d) Possesseur(p) = v PossèdeDepuis(p, v) = d } Type d 1-1 : 1 a: (b: ) lié à un seul b: (a: ) 1 1-N : N 1 b: lié à au plus N a: et a: lié à un b: N-M : M N a : lié à N b :, au plus; b : lié à M a:
Type d Type d 1 1 N 1 M Chen N - x {0, 1}; y {0, 1} Modèle Individuel x, 1 y, 1 y, 1 x, N y, N x,m Nom Signification en clair ttributs éventuels Collection : Types d Cardinalités de chaque type d ôle (si risque d Personne Homme Femme 0, 1 Couple 0, 1 Démarches de conception d Démarche par intégration Domaine Externe 1... Intégration Externe n Modèle Conceptuel Global Modèle Conceptuel Global Externe 1 Domaine Dérivation... Externe n Pour chaque application : Identifier données, résultats, règles de gestion Constituer une liste de types d'attributs Nommer les attributs Faire un schéma entité-association : rattacher, de façon exclusive, chaque attribut à un type d'entité ou d'association (schéma externe) Intégrer les schémas : schéma global Démarche par dérivation Pour chaque application : Identifier données, résultats, règles de gestion Constituer une liste unique d'attributs Nommer les attributs Eliminer synonymies et homonymies attacher les attributs (schéma global) Dériver les schémas externes Modélisation des données : Processus «Découvrir» les entités et les associations Exemple : «Jean programme en Java et en SQL depuis 1996» Généralisation : Jean Java, SQL 1996 Nom de Personne Noms de Langages
Modélisation des données : Processus Phrase : Sujet-Verbe-Complément(s) ssociation : Verbe Entité : Sujets + Compléments ttributs d : Compléments Personne NomPers 0, n 0, n Pratique DébutPratique : Langage NomLge Modélisation des données : Préceptes Noms des types d'attributs, d'entité et d'association : distincts Type d'attribut : Un nom et un domaine Domaines : atomiques i.e. pas d type ensemble, liste, etc. attaché de façon exclusive à un type d'entité ou à un type d'association Modélisation des données : Préceptes Type d'entité : u moins un identifiant (un attribut ou une liste) Ses types d'attributs : un «sens» pour chaque occurrence du type d'entité (1NF renforcée) Exemple : Taux_horaire et Employé «vacataire» Considérable indépendamment ou types Modélisation des données : Préceptes Type d'association : Identifiant : généralement, produit cartésien des identifiants des types d'entités reliés Occurrence : une occurrence de chaque type d'entité relié et une valeur pour chaque type d'attribut propre à l'association, s'il en existe On ne peut pas «en parler» sans considérer les Modélisation Conceptuelle : Conclusion : démarche «académique» pour En pratique : entrelacement Données + Traitements affinements successifs des schémas P entre données et traitements Mais «allers-retours» entre données et traitements