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   J-L Hainaut 2012 1 III. Méthodologie des bases de données [long] 1. Méthodologie des BD5. Conception physique 2. Le modèle Entité-association6.

Présentations similaires


Présentation au sujet: "Bases de données   J-L Hainaut 2012 1 III. Méthodologie des bases de données [long] 1. Méthodologie des BD5. Conception physique 2. Le modèle Entité-association6."— Transcription de la présentation:

1 Bases de données   J-L Hainaut III. Méthodologie des bases de données [long] 1. Méthodologie des BD5. Conception physique 2. Le modèle Entité-association6. Production du code 3. Analyse conceptuelle7. Rétro-ingénierie 4. Conception logique relationnelle 4. CONCEPTION LOGIQUE RELATIONNELLE 4.1 Introduction4.5 Les relations is-a 4.2 Le modèle logique relationnel4.6 Compléments 4.3 Les attributs complexes 4.7 Plan de transformation 4.4 Les types d'associations Support du chapitre 18, Conception logique d'une base de données relationnelle de l'ouvrage Bases de données, J-L Hainaut, Dunod Version 2 - Janvier 2012 modifié le 25 avril 2012

2 Bases de données   J-L Hainaut III. Méthodologie des bases de données [long] 1. Méthodologie des BD5. Conception physique 2. Le modèle Entité-association6. Production du code 3. Analyse conceptuelle7. Rétro-ingénierie 4. Conception logique relationnelle 4.1 Introduction 4.2 Le modèle logique relationnel 4.3 Traitement des attributs complexes 4.4 Traitement des types d'associations 4.5 Traitement des relations is-a 4.6 Compléments 4.7 Plan de transformation pour la conception logique 4.8 Exemple de conception logique 4.9 Outils pour la conception logique 4.10 Extensions du modèle SQL Quelques réflexions Contenu 4. CONCEPTION LOGIQUE RELATIONNELLE 4.1 Introduction4.5 Les relations is-a 4.2 Le modèle logique relationnel4.6 Compléments 4.3 Les attributs complexes 4.7 Plan de transformation 4.4 Les types d'associations4.8...

3 Bases de données   J-L Hainaut III. Méthodologie des bases de données [long] 1. Méthodologie des BD5. Conception physique 2. Le modèle Entité-association6. Production du code 3. Analyse conceptuelle7. Rétro-ingénierie 4. Conception logique relationnelle a) Objectifs de la conception logique b) Un exemple élémentaire c) Principes de la conception logique Contenu 4.1 INTRODUCTION 4.1 Introduction4.5 Les relations is-a 4.2 Le modèle logique relationnel4.6 Compléments 4.3 Les attributs complexes 4.7 Plan de transformation 4.4 Les types d'associations4.8...

4 Bases de données   J-L Hainaut III. Méthodologie des bases de données [long] 1. Méthodologie des BD5. Conception physique 2. Le modèle Entité-association6. Production du code 3. Analyse conceptuelle7. Rétro-ingénierie 4. Conception logique relationnelle 4.1 Introduction - Objectifs de la conception logique 4.1 Introduction4.5 Les relations is-a 4.2 Le modèle logique relationnel4.6 Compléments 4.3 Les attributs complexes 4.7 Plan de transformation 4.4 Les types d'associations La conception logique consiste à produire un schéma SQL2 équivalent à un schéma Entité-association. On introduira ensuite les constructions SQL3. En (très) bref :

5 Bases de données   J-L Hainaut III. Méthodologie des bases de données [long] 1. Méthodologie des BD5. Conception physique 2. Le modèle Entité-association6. Production du code 3. Analyse conceptuelle7. Rétro-ingénierie 4. Conception logique relationnelle 4.1 Introduction - Objectifs de la conception logique 4.1 Introduction4.5 Les relations is-a 4.2 Le modèle logique relationnel4.6 Compléments 4.3 Les attributs complexes 4.7 Plan de transformation 4.4 Les types d'associations Soit M log un modèle logique (SQL2, SQL3, XML, fichiers, CODASYL, IMS, etc.) La conception logique selon le modèle M log d'une base de données de schéma conceptuel S conc consiste à produire un schéma S log tel que : 1.S log est conforme à M log : il ne comporte que des constructions offertes par M log 2.S log est équivalent à S conc : S log et S conc expriment la même sémantique (externe) Conception logique Schéma conceptuel S conc Schéma logique S log Conformité au modèle M log Sémantique préservée Plus généralement :

6 Bases de données   J-L Hainaut III. Méthodologie des bases de données [long] 1. Méthodologie des BD5. Conception physique 2. Le modèle Entité-association6. Production du code 3. Analyse conceptuelle7. Rétro-ingénierie 4. Conception logique relationnelle 4.1 Introduction - Objectifs de la conception logique SQL2 4.1 Introduction4.5 Les relations is-a 4.2 Le modèle logique relationnel4.6 Compléments 4.3 Les attributs complexes 4.7 Plan de transformation 4.4 Les types d'associations La conception logique selon le modèle logique SQL2 d'une base de données de schéma conceptuel S EA consiste à produire un schéma S sql2 tel que : 1.S sql2 est conforme à SQL2 : il ne comporte que des constructions offertes par SQL2 (tables, colonnes, identifiants, clés étrangères, etc.) 2.S sql2 est équivalent à S EA : S sql2 et S EA décrivent le même domaine d'application, ils ont la même sémantique externe Conception logique Schéma conceptuel S EA Schéma logique S sql2 Conformité au modèle SQL2 Sémantique préservée Soit, ici :

7 Bases de données   J-L Hainaut III. Méthodologie des bases de données [long] 1. Méthodologie des BD5. Conception physique 2. Le modèle Entité-association6. Production du code 3. Analyse conceptuelle7. Rétro-ingénierie 4. Conception logique relationnelle 4.1 Introduction - Objectifs de la conception logique SQL2 4.1 Introduction4.5 Les relations is-a 4.2 Le modèle logique relationnel4.6 Compléments 4.3 Les attributs complexes 4.7 Plan de transformation 4.4 Les types d'associations Pourquoi SQL2 ? la plupart des BD en développement sont en SQL2; la conception logique strictement SQL3 (relationnel objet) pose des problèmes complexes (voir annexe G); la conception logique SQL3 est une extension de la conception logique SQL2 ces extensions sont traitées dans la section 4.10.

8 Bases de données   J-L Hainaut III. Méthodologie des bases de données [long] 1. Méthodologie des BD5. Conception physique 2. Le modèle Entité-association6. Production du code 3. Analyse conceptuelle7. Rétro-ingénierie 4. Conception logique relationnelle 4.1 Introduction - Un exemple élémentaire 4.1 Introduction4.5 Les relations is-a 4.2 Le modèle logique relationnel4.6 Compléments 4.3 Les attributs complexes 4.7 Plan de transformation 4.4 Les types d'associations  EASQL2 Note :  ou  ?

9 Bases de données   J-L Hainaut III. Méthodologie des bases de données [long] 1. Méthodologie des BD5. Conception physique 2. Le modèle Entité-association6. Production du code 3. Analyse conceptuelle7. Rétro-ingénierie 4. Conception logique relationnelle 4.1 Introduction - Principe de la conception logique 4.1 Introduction4.5 Les relations is-a 4.2 Le modèle logique relationnel4.6 Compléments 4.3 Les attributs complexes 4.7 Plan de transformation 4.4 Les types d'associations On observe qu'un schéma EA contient des constructions directement exprimables en SQL2 : type d'entités  table attribut simple  colonne identifiant primaire formé d'attributs  primary key identifiant secondaire formé d'attributs  prédicat unique() En revanche, les autres constructions demandent une conversion plus élaborée : type d'associations  ? attribut composé  ? attribut multivalué  ? identifiant comportant un rôle  ? relations is-a  ? etc. = constructions "conformes" = constructions "non conformes"

10 Bases de données   J-L Hainaut III. Méthodologie des bases de données [long] 1. Méthodologie des BD5. Conception physique 2. Le modèle Entité-association6. Production du code 3. Analyse conceptuelle7. Rétro-ingénierie 4. Conception logique relationnelle 4.1 Introduction - Principe de la conception logique 4.1 Introduction4.5 Les relations is-a 4.2 Le modèle logique relationnel4.6 Compléments 4.3 Les attributs complexes 4.7 Plan de transformation 4.4 Les types d'associations Développement d'une stratégie de conception logique pour SQL2 : identifier les constructions non conformes à SQL2 pour chacune d'elles, répertorier les techniques de transformation de mise en conformité pour chaque construction non conforme, sélectionner une technique de transformation ordonnancer l'application de ces techniques pour constituer une procédure générale traduire cette procédure sous la forme d'un guide ou d'un logiciel.

11 Bases de données   J-L Hainaut III. Méthodologie des bases de données [long] 1. Méthodologie des BD5. Conception physique 2. Le modèle Entité-association6. Production du code 3. Analyse conceptuelle7. Rétro-ingénierie 4. Conception logique relationnelle a) Avant toute chose... b) Le modèle SQL2 de base c) Le modèle SQL2 enrichi d) Les constructions non conformes à SQL2 Contenu 4.2 LE MODELE LOGIQUE RELATIONNEL 4.1 Introduction4.5 Les relations is-a 4.2 Le modèle logique relationnel4.6 Compléments 4.3 Les attributs complexes 4.7 Plan de transformation 4.4 Les types d'associations4.8...

12 Bases de données   J-L Hainaut III. Méthodologie des bases de données [long] 1. Méthodologie des BD5. Conception physique 2. Le modèle Entité-association6. Production du code 3. Analyse conceptuelle7. Rétro-ingénierie 4. Conception logique relationnelle 4.2 Avant toutes choses Introduction4.5 Les relations is-a 4.2 Le modèle logique relationnel4.6 Compléments 4.3 Les attributs complexes 4.7 Plan de transformation 4.4 Les types d'associations Avant toute chose : identifier les constructions EA conformes à SQL2 par complémentarité, on en déduit les constructions EA non conformes à SQL2 Constructions EA conformes : modèle SQL2 de base (comprend les constructions EA strictement conformes) modèle SQL2 enrichi (un peu plus laxiste, par facilité) On considère un modèle EA étendu, comportant notamment des attributs non ensemblistes (multi-ensembles, listes, tableaux) et des attributs de référence (= clés étrangères).

13 Bases de données   J-L Hainaut III. Méthodologie des bases de données [long] 1. Méthodologie des BD5. Conception physique 2. Le modèle Entité-association6. Production du code 3. Analyse conceptuelle7. Rétro-ingénierie 4. Conception logique relationnelle 4.2 Le modèle SQL2 de base 4.1 Introduction4.5 Les relations is-a 4.2 Le modèle logique relationnel4.6 Compléments 4.3 Les attributs complexes 4.7 Plan de transformation 4.4 Les types d'associations Modèle SQL2 de base le schéma comporte des types d’entités (correspondant à des tables), tout type d’entités possède un ou plusieurs attributs (correspondant à des colonnes), un attribut est mono-valué et atomique; il est obligatoire ou facultatif, les seules contraintes sont celles qui sont induites par les identifiants et les attributs de référence (appelés clés étrangères), le schéma relationnel ne contient pas d’autres constructions, les noms des objets respectent la syntaxe SQL.

14 Bases de données   J-L Hainaut III. Méthodologie des bases de données [long] 1. Méthodologie des BD5. Conception physique 2. Le modèle Entité-association6. Production du code 3. Analyse conceptuelle7. Rétro-ingénierie 4. Conception logique relationnelle 4.2 Le modèle SQL2 enrichi 4.1 Introduction4.5 Les relations is-a 4.2 Le modèle logique relationnel4.6 Compléments 4.3 Les attributs complexes 4.7 Plan de transformation 4.4 Les types d'associations Modèle SQL2 enrichi le schéma comporte des types d’entités (correspondant à des tables), tout type d’entités possède un ou plusieurs attributs (correspondant à des colonnes), un attribut est mono-valué et atomique; il est obligatoire ou facultatif, les seules contraintes sont celles qui sont induites par les identifiants, les clés étrangères et les clés étrangères totales (equ) ainsi que les contraintes d’existence (coex, excl, at-least-1, exact-1, if), le schéma relationnel ne contient pas d’autres constructions, les noms des objets respectent la syntaxe SQL.

15 Bases de données   J-L Hainaut III. Méthodologie des bases de données [long] 1. Méthodologie des BD5. Conception physique 2. Le modèle Entité-association6. Production du code 3. Analyse conceptuelle7. Rétro-ingénierie 4. Conception logique relationnelle 4.2 Les constructions non conformes à SQL2 4.1 Introduction4.5 Les relations is-a 4.2 Le modèle logique relationnel4.6 Compléments 4.3 Les attributs complexes 4.7 Plan de transformation 4.4 Les types d'associations Les constructions EA non conformes ou invalides les attributs multivalués, les attributs composés, les types d’associations, les relations is-a, les types d’entités sans attribut, les contraintes autres que celles des identifiants, des clés étrangères (éventuellement equ) et d’existence, les noms d’objets non conformes à la syntaxe SQL. On en déduit :

16 Bases de données   J-L Hainaut III. Méthodologie des bases de données [long] 1. Méthodologie des BD5. Conception physique 2. Le modèle Entité-association6. Production du code 3. Analyse conceptuelle7. Rétro-ingénierie 4. Conception logique relationnelle 4.2 La suite Introduction4.5 Les relations is-a 4.2 Le modèle logique relationnel4.6 Compléments 4.3 Les attributs complexes 4.7 Plan de transformation 4.4 Les types d'associations Nous étudierons donc les techniques de transformation : d'un attribut complexe composé multivalué composé multivalué d'un type d’associations fonctionnel complexe cyclique etc. de relations is-a, etc.

17 Bases de données   J-L Hainaut III. Méthodologie des bases de données [long] 1. Méthodologie des BD5. Conception physique 2. Le modèle Entité-association6. Production du code 3. Analyse conceptuelle7. Rétro-ingénierie 4. Conception logique relationnelle a) Attribut composé b) Attribut multivalué c) Attribut composé multivalué Contenu 4.3 TRANSFORMATION D'UN ATTRIBUT COMPLEXE 4.1 Introduction4.5 Les relations is-a 4.2 Le modèle logique relationnel4.6 Compléments 4.3 Les attributs complexes 4.7 Plan de transformation 4.4 Les types d'associations4.8...

18 Bases de données   J-L Hainaut III. Méthodologie des bases de données [long] 1. Méthodologie des BD5. Conception physique 2. Le modèle Entité-association6. Production du code 3. Analyse conceptuelle7. Rétro-ingénierie 4. Conception logique relationnelle 4.1 Introduction4.5 Les relations is-a 4.2 Le modèle logique relationnel4.6 Compléments 4.3 Les attributs complexes 4.7 Plan de transformation 4.4 Les types d'associations Transformation d'un attribut composé EMPRUNTEUR NumPers Nom Adresse Rue Ville id:NumPers a) Désagrégation (attribut remplacé par ses composants) b) Transformation en type d'entités (représentation des instances) c) Transformation en type d'entités (représentation des valeurs) d) Représentation déconseillée Transformation d'un attribut composé

19 Bases de données   J-L Hainaut III. Méthodologie des bases de données [long] 1. Méthodologie des BD5. Conception physique 2. Le modèle Entité-association6. Production du code 3. Analyse conceptuelle7. Rétro-ingénierie 4. Conception logique relationnelle 4.3 Transformation d'un attribut composé (obligatoire)  a) b) c)   EMPRUNTEUR NumPers Nom Adresse Rue Ville id:NumPers EMPRUNTEUR NumPers Nom Adresse Rue Ville id:NumPers EMPRUNTEUR NumPers Nom Adresse Rue Ville id:NumPers   4.1 Introduction4.5 Les relations is-a 4.2 Le modèle logique relationnel4.6 Compléments 4.3 Les attributs complexes 4.7 Plan de transformation 4.4 Les types d'associations  

20 Bases de données   J-L Hainaut III. Méthodologie des bases de données [long] 1. Méthodologie des BD5. Conception physique 2. Le modèle Entité-association6. Production du code 3. Analyse conceptuelle7. Rétro-ingénierie 4. Conception logique relationnelle 4.3 Transformation d'un attribut composé (facultatif) a) b) c) EMPRUNTEUR NumPers Nom Adresse[0-1] Rue Ville id:NumPers EMPRUNTEUR NumPers Nom Adresse[0-1] Rue Ville id:NumPers EMPRUNTEUR NumPers Nom Adresse[0-1] Rue Ville id:NumPers  de EMPRUNTEUR NumPers Nom id:NumPers ADRESSE_D_EMP Rue Ville  EMPRUNTEUR NumPers Nom id:NumPers ADRESSE_D_EMP NumPers Rue Ville id:NumPers ref  4.1 Introduction4.5 Les relations is-a 4.2 Le modèle logique relationnel4.6 Compléments 4.3 Les attributs complexes 4.7 Plan de transformation 4.4 Les types d'associations  1-N0-1 de EMPRUNTEUR NumPers Nom id:NumPers ADRESSE Rue Ville id:Rue Ville   

21 Bases de données   J-L Hainaut III. Méthodologie des bases de données [long] 1. Méthodologie des BD5. Conception physique 2. Le modèle Entité-association6. Production du code 3. Analyse conceptuelle7. Rétro-ingénierie 4. Conception logique relationnelle 4.3 Transformation d'un attribut composé (facultatif à composants facultatifs) a) b) ETUDIANT NumInscription Nom Téléphone[0-1] CodePays[0-1] PréfixeRégional Numéro id:NumInscription  ETUDIANT NumInscription Nom Téléphone[0-1] CodePays[0-1] PréfixeRégional Numéro id:NumInscription 4.1 Introduction4.5 Les relations is-a 4.2 Le modèle logique relationnel4.6 Compléments 4.3 Les attributs complexes 4.7 Plan de transformation 4.4 Les types d'associations  pourquoi pas par " représentation des valeurs" ?

22 Bases de données   J-L Hainaut III. Méthodologie des bases de données [long] 1. Méthodologie des BD5. Conception physique 2. Le modèle Entité-association6. Production du code 3. Analyse conceptuelle7. Rétro-ingénierie 4. Conception logique relationnelle 4.3 Transformation d'un attribut composé (déconseillée)  EMPRUNTEUR NumPers Nom Adresse Rue Ville id:NumPers c) concaténation : 4.1 Introduction4.5 Les relations is-a 4.2 Le modèle logique relationnel4.6 Compléments 4.3 Les attributs complexes 4.7 Plan de transformation 4.4 Les types d'associations4.8...

23 Bases de données   J-L Hainaut III. Méthodologie des bases de données [long] 1. Méthodologie des BD5. Conception physique 2. Le modèle Entité-association6. Production du code 3. Analyse conceptuelle7. Rétro-ingénierie 4. Conception logique relationnelle 4.3 Transformation d'un attribut multivalué a) Transformation en type d'entités (représentation des instances) b) Transformation en type d'entités (représentation des valeurs) c) Représentations déconseillées Transformation d'un attribut multivalué DOCUMENT ID-Doc Titre MotClé[0-10] id:ID-Doc 4.1 Introduction4.5 Les relations is-a 4.2 Le modèle logique relationnel4.6 Compléments 4.3 Les attributs complexes 4.7 Plan de transformation 4.4 Les types d'associations4.8...

24 Bases de données   J-L Hainaut III. Méthodologie des bases de données [long] 1. Méthodologie des BD5. Conception physique 2. Le modèle Entité-association6. Production du code 3. Analyse conceptuelle7. Rétro-ingénierie 4. Conception logique relationnelle 4.3 Transformation d'un attribut multivalué  DOCUMENT ID-Doc Titre MotClé[0-10] id:ID-Doc a) b)  DOCUMENT ID-Doc Titre MotClé[0-10] id:ID-Doc   4.1 Introduction4.5 Les relations is-a 4.2 Le modèle logique relationnel4.6 Compléments 4.3 Les attributs complexes 4.7 Plan de transformation 4.4 Les types d'associations Etrange : le schéma (a) est un sous-ensemble du schéma (b) ! Qu'en penser ?

25 Bases de données   J-L Hainaut III. Méthodologie des bases de données [long] 1. Méthodologie des BD5. Conception physique 2. Le modèle Entité-association6. Production du code 3. Analyse conceptuelle7. Rétro-ingénierie 4. Conception logique relationnelle 4.3 Transformation d'un attribut multivalué (représentations déconseillées)  instanciation : DOCUMENT ID-Doc Titre MotClé[0-10] id:ID-Doc 4.1 Introduction4.5 Les relations is-a 4.2 Le modèle logique relationnel4.6 Compléments 4.3 Les attributs complexes 4.7 Plan de transformation 4.4 Les types d'associations  DOCUMENT ID-Doc Titre MotClé[0-10] id:ID-Doc c1) concaténation : c2) pourquoi " déconseillées" ?

26 Bases de données   J-L Hainaut III. Méthodologie des bases de données [long] 1. Méthodologie des BD5. Conception physique 2. Le modèle Entité-association6. Production du code 3. Analyse conceptuelle7. Rétro-ingénierie 4. Conception logique relationnelle 4.3 Transformation d'un attribut composé multivalué  4.1 Introduction4.5 Les relations is-a 4.2 Le modèle logique relationnel4.6 Compléments 4.3 Les attributs complexes 4.7 Plan de transformation 4.4 Les types d'associations4.8...

27 Bases de données   J-L Hainaut III. Méthodologie des bases de données [long] 1. Méthodologie des BD5. Conception physique 2. Le modèle Entité-association6. Production du code 3. Analyse conceptuelle7. Rétro-ingénierie 4. Conception logique relationnelle 4.1 Introduction4.5 Les relations is-a 4.2 Le modèle logique relationnel4.6 Compléments 4.3 Les attributs complexes 4.7 Plan de transformation 4.4 Les types d'associations a) Type d'associations fonctionnel b) Type d'associations complexe c) Type d'associations cyclique d) Type d'associations à rôle multitype (polymorphique) Contenu 4.4 TRANSFORMATION D'UN TYPE D'ASSOCIATIONS

28 Bases de données   J-L Hainaut III. Méthodologie des bases de données [long] 1. Méthodologie des BD5. Conception physique 2. Le modèle Entité-association6. Production du code 3. Analyse conceptuelle7. Rétro-ingénierie 4. Conception logique relationnelle 4.4 Transformation d'un type d'associations fonctionnel (N:1) 4.1 Introduction4.5 Les relations is-a 4.2 Le modèle logique relationnel4.6 Compléments 4.3 Les attributs complexes 4.7 Plan de transformation 4.4 Les types d'associations   !

29 Bases de données   J-L Hainaut III. Méthodologie des bases de données [long] 1. Méthodologie des BD5. Conception physique 2. Le modèle Entité-association6. Production du code 3. Analyse conceptuelle7. Rétro-ingénierie 4. Conception logique relationnelle 4.4 Transformation d'un type d'associations fonctionnel (1:1) 4.1 Introduction4.5 Les relations is-a 4.2 Le modèle logique relationnel4.6 Compléments 4.3 Les attributs complexes 4.7 Plan de transformation 4.4 Les types d'associations  asymétrique  ou symétrique

30 Bases de données   J-L Hainaut III. Méthodologie des bases de données [long] 1. Méthodologie des BD5. Conception physique 2. Le modèle Entité-association6. Production du code 3. Analyse conceptuelle7. Rétro-ingénierie 4. Conception logique relationnelle 4.4 Transformation d'un type d'associations fonctionnel (1:1, bi-obligatoire) 4.1 Introduction4.5 Les relations is-a 4.2 Le modèle logique relationnel4.6 Compléments 4.3 Les attributs complexes 4.7 Plan de transformation 4.4 Les types d'associations  ou... ou symétrique

31 Bases de données   J-L Hainaut III. Méthodologie des bases de données [long] 1. Méthodologie des BD5. Conception physique 2. Le modèle Entité-association6. Production du code 3. Analyse conceptuelle7. Rétro-ingénierie 4. Conception logique relationnelle 4.4 Transformation d'un type d'associations fonctionnel (! identifiants hybrides) 4.1 Introduction4.5 Les relations is-a 4.2 Le modèle logique relationnel4.6 Compléments 4.3 Les attributs complexes 4.7 Plan de transformation 4.4 Les types d'associations Un TA fonctionnel ne peut être transformé que si : 1. le TE "cible" possède un identifiant 2. cet identifiant n'est constitué que d'attributs;  les TA doivent être transformés dans un certain ordre imposé par les identifiants hybrides. 1 2  2 1  1 2

32 Bases de données   J-L Hainaut III. Méthodologie des bases de données [long] 1. Méthodologie des BD5. Conception physique 2. Le modèle Entité-association6. Production du code 3. Analyse conceptuelle7. Rétro-ingénierie 4. Conception logique relationnelle 4.4 Transformation d'un type d'associations fonctionnel (en type d'entités) 4.1 Introduction4.5 Les relations is-a 4.2 Le modèle logique relationnel4.6 Compléments 4.3 Les attributs complexes 4.7 Plan de transformation 4.4 Les types d'associations   quel intérêt ?

33 Bases de données   J-L Hainaut III. Méthodologie des bases de données [long] 1. Méthodologie des BD5. Conception physique 2. Le modèle Entité-association6. Production du code 3. Analyse conceptuelle7. Rétro-ingénierie 4. Conception logique relationnelle III. Méthodologie des bases de données 4.4 Transformation d'un type d'associations complexe 4.1 Introduction4.5 Les relations is-a 4.2 Le modèle logique relationnel4.6 Compléments 4.3 Les attributs complexes 4.7 Plan de transformation 4.4 Les types d'associations Type d'associations complexe = 1. N:N 2. n-aire 3. doté d'attributs Représentation d'un type d'associations complexe R : 1. transformation de R en 1 TE R' + n TA fonctionnels R1, R2,.., Rn 2. transformation des TA fonctionnels R1, R 2,.., Rn

34 Bases de données   J-L Hainaut III. Méthodologie des bases de données [long] 1. Méthodologie des BD5. Conception physique 2. Le modèle Entité-association6. Production du code 3. Analyse conceptuelle7. Rétro-ingénierie 4. Conception logique relationnelle 4.4 Transformation d'un type d'associations complexe (binaire) 4.1 Introduction4.5 Les relations is-a 4.2 Le modèle logique relationnel4.6 Compléments 4.3 Les attributs complexes 4.7 Plan de transformation 4.4 Les types d'associations  

35 Bases de données   J-L Hainaut III. Méthodologie des bases de données [long] 1. Méthodologie des BD5. Conception physique 2. Le modèle Entité-association6. Production du code 3. Analyse conceptuelle7. Rétro-ingénierie 4. Conception logique relationnelle 4.4 Transformation d'un type d'associations complexe (n-aire) 4.1 Introduction4.5 Les relations is-a 4.2 Le modèle logique relationnel4.6 Compléments 4.3 Les attributs complexes 4.7 Plan de transformation 4.4 Les types d'associations  

36 Bases de données   J-L Hainaut III. Méthodologie des bases de données [long] 1. Méthodologie des BD5. Conception physique 2. Le modèle Entité-association6. Production du code 3. Analyse conceptuelle7. Rétro-ingénierie 4. Conception logique relationnelle 4.4 Transformation d'un type d'associations cyclique 4.1 Introduction4.5 Les relations is-a 4.2 Le modèle logique relationnel4.6 Compléments 4.3 Les attributs complexes 4.7 Plan de transformation 4.4 Les types d'associations  0-N responsable 0-1 subordonné PERSONNE Matricule Nom id:Matricule supervise 0-N composé 0-N composant PRODUIT NPro Libellé Prix U[0-1] Poids U[0-1] id:NPro composition 

37 Bases de données   J-L Hainaut III. Méthodologie des bases de données [long] 1. Méthodologie des BD5. Conception physique 2. Le modèle Entité-association6. Production du code 3. Analyse conceptuelle7. Rétro-ingénierie 4. Conception logique relationnelle 4.4 Transformation d'un type d'associations à rôle multitype 4.1 Introduction4.5 Les relations is-a 4.2 Le modèle logique relationnel4.6 Compléments 4.3 Les attributs complexes 4.7 Plan de transformation 4.4 Les types d'associations  

38 Bases de données   J-L Hainaut III. Méthodologie des bases de données [long] 1. Méthodologie des BD5. Conception physique 2. Le modèle Entité-association6. Production du code 3. Analyse conceptuelle7. Rétro-ingénierie 4. Conception logique relationnelle 4.5 TRANSFORMATION DE RELATIONS is-a 4.1 Introduction4.5 Les relations is-a 4.2 Le modèle logique relationnel4.6 Compléments 4.3 Les attributs complexes 4.7 Plan de transformation 4.4 Les types d'associations4.8...

39 Bases de données   J-L Hainaut III. Méthodologie des bases de données [long] 1. Méthodologie des BD5. Conception physique 2. Le modèle Entité-association6. Production du code 3. Analyse conceptuelle7. Rétro-ingénierie 4. Conception logique relationnelle 4.5 Les relations is-a 4.1 Introduction4.5 Les relations is-a 4.2 Le modèle logique relationnel4.6 Compléments 4.3 Les attributs complexes 4.7 Plan de transformation 4.4 Les types d'associations Trois familles de techniques : a) Matérialisation des relations is-a b) Héritage descendant c) Héritage ascendant Transformation d'une relation is-a

40 Bases de données   J-L Hainaut III. Méthodologie des bases de données [long] 1. Méthodologie des BD5. Conception physique 2. Le modèle Entité-association6. Production du code 3. Analyse conceptuelle7. Rétro-ingénierie 4. Conception logique relationnelle 4.5 Les relations is-a 4.1 Introduction4.5 Les relations is-a 4.2 Le modèle logique relationnel4.6 Compléments 4.3 Les attributs complexes 4.7 Plan de transformation 4.4 Les types d'associations  matérialisation ou une table par TE héritage descendant ou une table par sous-type  héritage ascendant ou une table par surtype 

41 Bases de données   J-L Hainaut III. Méthodologie des bases de données [long] 1. Méthodologie des BD5. Conception physique 2. Le modèle Entité-association6. Production du code 3. Analyse conceptuelle7. Rétro-ingénierie 4. Conception logique relationnelle 4.5 Les relations is-a - Matérialisation 4.1 Introduction4.5 Les relations is-a 4.2 Le modèle logique relationnel4.6 Compléments 4.3 Les attributs complexes 4.7 Plan de transformation 4.4 Les types d'associations  

42 Bases de données   J-L Hainaut III. Méthodologie des bases de données [long] 1. Méthodologie des BD5. Conception physique 2. Le modèle Entité-association6. Production du code 3. Analyse conceptuelle7. Rétro-ingénierie 4. Conception logique relationnelle 4.5 Les relations is-a - Matérialisation et transformation des TA 1:1 4.1 Introduction4.5 Les relations is-a 4.2 Le modèle logique relationnel4.6 Compléments 4.3 Les attributs complexes 4.7 Plan de transformation 4.4 Les types d'associations   Conditions : 1. le surtype possède un identifiant (primaire) 2. le surtype possède des indicateurs de sous-type Exemple de la disjonction + contrainte similaire pour OUVRAGE

43 Bases de données   J-L Hainaut III. Méthodologie des bases de données [long] 1. Méthodologie des BD5. Conception physique 2. Le modèle Entité-association6. Production du code 3. Analyse conceptuelle7. Rétro-ingénierie 4. Conception logique relationnelle 4.5 Les relations is-a - Matérialisation d'une hiérarchie multiple 4.1 Introduction4.5 Les relations is-a 4.2 Le modèle logique relationnel4.6 Compléments 4.3 Les attributs complexes 4.7 Plan de transformation 4.4 Les types d'associations Attention aux clés étrangères de même valeur  (om*mp)[OFFICIER,PERSONNE] = (od*dp)[OFFICIER,PERSONNE]  Un seul attribut NumNat !

44 Bases de données   J-L Hainaut III. Méthodologie des bases de données [long] 1. Méthodologie des BD5. Conception physique 2. Le modèle Entité-association6. Production du code 3. Analyse conceptuelle7. Rétro-ingénierie 4. Conception logique relationnelle 4.5 Les relations is-a - Héritage descendant 4.1 Introduction4.5 Les relations is-a 4.2 Le modèle logique relationnel4.6 Compléments 4.3 Les attributs complexes 4.7 Plan de transformation 4.4 Les types d'associations A éviter en cas de non-disjonction   + contrainte similaire pour OUVRAGE + contrainte similaire pour DOC_SEUL

45 Bases de données   J-L Hainaut III. Méthodologie des bases de données [long] 1. Méthodologie des BD5. Conception physique 2. Le modèle Entité-association6. Production du code 3. Analyse conceptuelle7. Rétro-ingénierie 4. Conception logique relationnelle 4.5 Les relations is-a - Héritage ascendant 4.1 Introduction4.5 Les relations is-a 4.2 Le modèle logique relationnel4.6 Compléments 4.3 Les attributs complexes 4.7 Plan de transformation 4.4 Les types d'associations  

46 Bases de données   J-L Hainaut III. Méthodologie des bases de données [long] 1. Méthodologie des BD5. Conception physique 2. Le modèle Entité-association6. Production du code 3. Analyse conceptuelle7. Rétro-ingénierie 4. Conception logique relationnelle 4.1 Introduction4.5 Les relations is-a 4.2 Le modèle logique relationnel4.6 Compléments 4.3 Les attributs complexes 4.7 Plan de transformation 4.4 Les types d'associations a) Identifiants facultatifs b) Identifiants primaires complexes c) Noms des objets du schéma d) Rôles de cardinalité [1-N] e) Traduction des vues conceptuelles Contenu 4.6 COMPLEMENTS

47 Bases de données   J-L Hainaut III. Méthodologie des bases de données [long] 1. Méthodologie des BD5. Conception physique 2. Le modèle Entité-association6. Production du code 3. Analyse conceptuelle7. Rétro-ingénierie 4. Conception logique relationnelle 4.6 Compléments - Identifiants facultatifs 4.1 Introduction4.5 Les relations is-a 4.2 Le modèle logique relationnel4.6 Compléments 4.3 Les attributs complexes 4.7 Plan de transformation 4.4 Les types d'associations Identifiants facultatifs à conserver ou à transformer selon idéologie locale et capacité du SGBD Un pattern complexe à simplifier :   

48 Bases de données   J-L Hainaut III. Méthodologie des bases de données [long] 1. Méthodologie des BD5. Conception physique 2. Le modèle Entité-association6. Production du code 3. Analyse conceptuelle7. Rétro-ingénierie 4. Conception logique relationnelle 4.6 Compléments - Identifiants primaires complexes 4.1 Introduction4.5 Les relations is-a 4.2 Le modèle logique relationnel4.6 Compléments 4.3 Les attributs complexes 4.7 Plan de transformation 4.4 Les types d'associations Un identifiant primaire multicomposants peut être remplacé par un identifiant technique 

49 Bases de données   J-L Hainaut III. Méthodologie des bases de données [long] 1. Méthodologie des BD5. Conception physique 2. Le modèle Entité-association6. Production du code 3. Analyse conceptuelle7. Rétro-ingénierie 4. Conception logique relationnelle 4.6 Compléments - Noms des objets du schéma 4.1 Introduction4.5 Les relations is-a 4.2 Le modèle logique relationnel4.6 Compléments 4.3 Les attributs complexes 4.7 Plan de transformation 4.4 Les types d'associations  Les noms doivent respecter la syntaxe SQL - Choisir des règles systématiques

50 Bases de données   J-L Hainaut III. Méthodologie des bases de données [long] 1. Méthodologie des BD5. Conception physique 2. Le modèle Entité-association6. Production du code 3. Analyse conceptuelle7. Rétro-ingénierie 4. Conception logique relationnelle 4.6 Compléments - Rôles de cardinalité [1-N] 4.1 Introduction4.5 Les relations is-a 4.2 Le modèle logique relationnel4.6 Compléments 4.3 Les attributs complexes 4.7 Plan de transformation 4.4 Les types d'associations  Utiles mais complexes à gérer : dynamique de modification des données problématique (IMPLICATION et/ou ACCIDENT) impossibles à traduire par des checks ou des triggers Approches : transactions procédures SQL (stored procedures): créer un accident et ses implications méthodes de table typée (SQL3): créer un accident et ses implications

51 Bases de données   J-L Hainaut III. Méthodologie des bases de données [long] 1. Méthodologie des BD5. Conception physique 2. Le modèle Entité-association6. Production du code 3. Analyse conceptuelle7. Rétro-ingénierie 4. Conception logique relationnelle 4.6 Compléments - Traduction des vues conceptuelles 4.1 Introduction4.5 Les relations is-a 4.2 Le modèle logique relationnel4.6 Compléments 4.3 Les attributs complexes 4.7 Plan de transformation 4.4 Les types d'associations Sous-schéma 3 0-N acheté Date-Achat Quantité id:OUVRAGE SERVICE Date-Achat SERVICE Nom Localisation id:Nom OUVRAGE NumEnreg ISBN Titre Auteur[0-N] Editeur Prix id:NumEnreg id':ISBN Dans la leçon 3 : le Sous-schéma 3 a servi à construire le schéma conceptuel global. Inversement, il est ensuite considéré comme une vue sur celui-ci.

52 Bases de données   J-L Hainaut III. Méthodologie des bases de données [long] 1. Méthodologie des BD5. Conception physique 2. Le modèle Entité-association6. Production du code 3. Analyse conceptuelle7. Rétro-ingénierie 4. Conception logique relationnelle 4.6 Compléments - Traduction des vues conceptuelles 4.1 Introduction4.5 Les relations is-a 4.2 Le modèle logique relationnel4.6 Compléments 4.3 Les attributs complexes 4.7 Plan de transformation 4.4 Les types d'associations Sous-schéma 3 0-N acheté Date-Achat Quantité id:OUVRAGE SERVICE Date-Achat SERVICE Nom Localisation id:Nom OUVRAGE NumEnreg ISBN Titre Auteur[0-N] Editeur Prix id:NumEnreg id':ISBN Une vue conceptuelle se convertit comme le schéma conceptuel complet 

53 Bases de données   J-L Hainaut III. Méthodologie des bases de données [long] 1. Méthodologie des BD5. Conception physique 2. Le modèle Entité-association6. Production du code 3. Analyse conceptuelle7. Rétro-ingénierie 4. Conception logique relationnelle a) Principes b) Choix des techniques de transformation c) Plan de transformation pour SQL2 Contenu 4.7 PLAN DE TRANSFORMATION POUR LA CONCEPTION LOGIQUE RELATIONNELLE Exemple 4.5 Les relations is-a 4.9 Les outils 4.6 Compléments 4.10 Extensions SQL3 4.7 Plan de transformation 4.11 Quelques réflexions

54 Bases de données   J-L Hainaut III. Méthodologie des bases de données [long] 1. Méthodologie des BD5. Conception physique 2. Le modèle Entité-association6. Production du code 3. Analyse conceptuelle7. Rétro-ingénierie 4. Conception logique relationnelle 4.7 Principes Conception logique Schéma conceptuel EA Schéma logique SQL2 Conformité au modèle SQL2 Sémantique préservée Plan de transformation : ordonnancement des transformations des constructions EA non conformes au modèle SQL Exemple 4.5 Les relations is-a 4.9 Les outils 4.6 Compléments 4.10 Extensions SQL3 4.7 Plan de transformation 4.11 Quelques réflexions

55 Bases de données   J-L Hainaut III. Méthodologie des bases de données [long] 1. Méthodologie des BD5. Conception physique 2. Le modèle Entité-association6. Production du code 3. Analyse conceptuelle7. Rétro-ingénierie 4. Conception logique relationnelle 4.7 Principes Les constructions invalides (rappel) ou à éviter : les relations is-a, les attributs composés, les attributs multivalués, les types d’associations fonctionnels, les types d’associations N:N ou complexes, les contraintes non conformes, les noms d’objets non conformes à la syntaxe SQL, les identifiants facultatifs (si nécessaire), les identifiants primaires complexes (si nécessaire). Pour chacune : on sélectionne une (chaîne de) transformation(s) de mise en conformité, Exemple 4.5 Les relations is-a 4.9 Les outils 4.6 Compléments 4.10 Extensions SQL3 4.7 Plan de transformation 4.11 Quelques réflexions

56 Bases de données   J-L Hainaut III. Méthodologie des bases de données [long] 1. Méthodologie des BD5. Conception physique 2. Le modèle Entité-association6. Production du code 3. Analyse conceptuelle7. Rétro-ingénierie 4. Conception logique relationnelle 4.7 Choix des techniques de transformation Traitement des relations is-a transformation par matérialisation, transformation des TA 1:1 en clés étrangères, ajout d'identifiants techniques si nécessaire. Traitement des attributs composés, les attributs composés de niveau 1 sont désagrégés, + contrainte de coexistence si nécessaire. Traitement des attributs multivalués, transformation des attributs multivalués de niveau 1 en types d'entités par représentation des instances, transformation des TA fonctionnels en clés étrangères, ajout d'identifiants techniques si nécessaire Exemple 4.5 Les relations is-a 4.9 Les outils 4.6 Compléments 4.10 Extensions SQL3 4.7 Plan de transformation 4.11 Quelques réflexions

57 Bases de données   J-L Hainaut III. Méthodologie des bases de données [long] 1. Méthodologie des BD5. Conception physique 2. Le modèle Entité-association6. Production du code 3. Analyse conceptuelle7. Rétro-ingénierie 4. Conception logique relationnelle 4.7 Choix des techniques de transformation Traitement des types d’associations fonctionnels, transformation en clés étrangères, possible si le TE "cible" possède un identifiant primaire formé d'attributs, ajout d'identifiants techniques si nécessaire. Traitement des types d’associations N:N ou complexes, transformation en types d'entités, transformation des TA fonctionnels en clés étrangères, possible si le TE "cible" possède un identifiant primaire formé d'attributs, ajout d'identifiants techniques si nécessaire Exemple 4.5 Les relations is-a 4.9 Les outils 4.6 Compléments 4.10 Extensions SQL3 4.7 Plan de transformation 4.11 Quelques réflexions

58 Bases de données   J-L Hainaut III. Méthodologie des bases de données [long] 1. Méthodologie des BD5. Conception physique 2. Le modèle Entité-association6. Production du code 3. Analyse conceptuelle7. Rétro-ingénierie 4. Conception logique relationnelle 4.7 Choix des techniques de transformation Traitement des contraintes non conformes, sous forme d'annotations. Traitement des noms d’objets non conformes à la syntaxe SQL, suppression des accents et autres signes diacritiques, remplacement des espaces et autres séparateurs par "_", remplacement des mots réservés SQL Exemple 4.5 Les relations is-a 4.9 Les outils 4.6 Compléments 4.10 Extensions SQL3 4.7 Plan de transformation 4.11 Quelques réflexions

59 Bases de données   J-L Hainaut III. Méthodologie des bases de données [long] 1. Méthodologie des BD5. Conception physique 2. Le modèle Entité-association6. Production du code 3. Analyse conceptuelle7. Rétro-ingénierie 4. Conception logique relationnelle 4.7 Choix des techniques de transformation Traitement des identifiants facultatifs (si nécessaire), transformation des composants en un type d'entités par représentation des instances, transformation des TA fonctionnels en clés étrangères, possible si le TE "cible" possède un identifiant primaire formé d'attributs, ajout d'identifiants techniques si nécessaire. Traitement des identifiants primaires complexes (si nécessaire). statut secondaire ajout d'un attribut technique constituant l'identifiant primaire Exemple 4.5 Les relations is-a 4.9 Les outils 4.6 Compléments 4.10 Extensions SQL3 4.7 Plan de transformation 4.11 Quelques réflexions

60 Bases de données   J-L Hainaut III. Méthodologie des bases de données [long] 1. Méthodologie des BD5. Conception physique 2. Le modèle Entité-association6. Production du code 3. Analyse conceptuelle7. Rétro-ingénierie 4. Conception logique relationnelle 4.7 Plan de transformation pour SQL2... par ordonnancement des transformations élémentaires, regrouper les opérations similaires, retarder une opération de manière à ne l'exécuter qu'une seule fois (si possible), définir les itérations pour les constructions définies récursivement (attribut complexes, TA intervenant dans un identifiant hybride par exemple). On en déduit un plan de transformation Exemple 4.5 Les relations is-a 4.9 Les outils 4.6 Compléments 4.10 Extensions SQL3 4.7 Plan de transformation 4.11 Quelques réflexions

61 Bases de données   J-L Hainaut III. Méthodologie des bases de données [long] 1. Méthodologie des BD5. Conception physique 2. Le modèle Entité-association6. Production du code 3. Analyse conceptuelle7. Rétro-ingénierie 4. Conception logique relationnelle 4.7 Plan de transformation pour SQL2 traiter les relations is-a traiter les attributs multivalués de niveau 1 traiter les TA N:N et complexes traiter les attributs composés de niveau 1 traiter les TA fonctionnels ajouter des id. techniques nécessaires convertir les noms en SQL traiter les identifiants facultatifs existe-t-il encore des attributs complexes ? reste-t-il des TA fonctionnels ? existe-t-il des identifiants facultatifs ? oui non oui non Exemple 4.5 Les relations is-a 4.9 Les outils 4.6 Compléments 4.10 Extensions SQL3 4.7 Plan de transformation 4.11 Quelques réflexions

62 Bases de données   J-L Hainaut III. Méthodologie des bases de données [long] 1. Méthodologie des BD5. Conception physique 2. Le modèle Entité-association6. Production du code 3. Analyse conceptuelle7. Rétro-ingénierie 4. Conception logique relationnelle 4.8 EXEMPLE DE CONCEPTION LOGIQUE Exemple 4.5 Les relations is-a 4.9 Les outils 4.6 Compléments 4.10 Extensions SQL3 4.7 Plan de transformation 4.11 Quelques réflexions

63 Bases de données   J-L Hainaut III. Méthodologie des bases de données [long] 1. Méthodologie des BD5. Conception physique 2. Le modèle Entité-association6. Production du code 3. Analyse conceptuelle7. Rétro-ingénierie 4. Conception logique relationnelle 4.8 Exemple de conception logique - Le schéma conceptuel Exemple 4.5 Les relations is-a 4.9 Les outils 4.6 Compléments 4.10 Extensions SQL3 4.7 Plan de transformation 4.11 Quelques réflexions

64 Bases de données   J-L Hainaut III. Méthodologie des bases de données [long] 1. Méthodologie des BD5. Conception physique 2. Le modèle Entité-association6. Production du code 3. Analyse conceptuelle7. Rétro-ingénierie 4. Conception logique relationnelle 4.8 Exemple de conception logique - Les constructions invalides Exemple 4.5 Les relations is-a 4.9 Les outils 4.6 Compléments 4.10 Extensions SQL3 4.7 Plan de transformation 4.11 Quelques réflexions

65 Bases de données   J-L Hainaut III. Méthodologie des bases de données [long] 1. Méthodologie des BD5. Conception physique 2. Le modèle Entité-association6. Production du code 3. Analyse conceptuelle7. Rétro-ingénierie 4. Conception logique relationnelle 4.8 Exemple de conception logique - Traitement des relations is-a Exemple 4.5 Les relations is-a 4.9 Les outils 4.6 Compléments 4.10 Extensions SQL3 4.7 Plan de transformation 4.11 Quelques réflexions

66 Bases de données   J-L Hainaut III. Méthodologie des bases de données [long] 1. Méthodologie des BD5. Conception physique 2. Le modèle Entité-association6. Production du code 3. Analyse conceptuelle7. Rétro-ingénierie 4. Conception logique relationnelle 4.8 Exemple de conception logique - Traitement des TA complexes Exemple 4.5 Les relations is-a 4.9 Les outils 4.6 Compléments 4.10 Extensions SQL3 4.7 Plan de transformation 4.11 Quelques réflexions

67 Bases de données   J-L Hainaut III. Méthodologie des bases de données [long] 1. Méthodologie des BD5. Conception physique 2. Le modèle Entité-association6. Production du code 3. Analyse conceptuelle7. Rétro-ingénierie 4. Conception logique relationnelle 4.8 Exemple de conception logique - Traitement des attributs complexes Exemple 4.5 Les relations is-a 4.9 Les outils 4.6 Compléments 4.10 Extensions SQL3 4.7 Plan de transformation 4.11 Quelques réflexions

68 Bases de données   J-L Hainaut III. Méthodologie des bases de données [long] 1. Méthodologie des BD5. Conception physique 2. Le modèle Entité-association6. Production du code 3. Analyse conceptuelle7. Rétro-ingénierie 4. Conception logique relationnelle 4.8 Exemple de conception logique - Traitement des TA fonctionnels (1) Exemple 4.5 Les relations is-a 4.9 Les outils 4.6 Compléments 4.10 Extensions SQL3 4.7 Plan de transformation 4.11 Quelques réflexions

69 Bases de données   J-L Hainaut III. Méthodologie des bases de données [long] 1. Méthodologie des BD5. Conception physique 2. Le modèle Entité-association6. Production du code 3. Analyse conceptuelle7. Rétro-ingénierie 4. Conception logique relationnelle 4.8 Exemple de conception logique - Traitement des TA fonctionnels (2) Exemple 4.5 Les relations is-a 4.9 Les outils 4.6 Compléments 4.10 Extensions SQL3 4.7 Plan de transformation 4.11 Quelques réflexions

70 Bases de données   J-L Hainaut III. Méthodologie des bases de données [long] 1. Méthodologie des BD5. Conception physique 2. Le modèle Entité-association6. Production du code 3. Analyse conceptuelle7. Rétro-ingénierie 4. Conception logique relationnelle 4.8 Exemple de conception logique - Traitement id. facultatifs Exemple 4.5 Les relations is-a 4.9 Les outils 4.6 Compléments 4.10 Extensions SQL3 4.7 Plan de transformation 4.11 Quelques réflexions

71 Bases de données   J-L Hainaut III. Méthodologie des bases de données [long] 1. Méthodologie des BD5. Conception physique 2. Le modèle Entité-association6. Production du code 3. Analyse conceptuelle7. Rétro-ingénierie 4. Conception logique relationnelle 4.8 Exemple de conception logique - Traitement des noms + contraintes Exemple 4.5 Les relations is-a 4.9 Les outils 4.6 Compléments 4.10 Extensions SQL3 4.7 Plan de transformation 4.11 Quelques réflexions

72 Bases de données   J-L Hainaut III. Méthodologie des bases de données [long] 1. Méthodologie des BD5. Conception physique 2. Le modèle Entité-association6. Production du code 3. Analyse conceptuelle7. Rétro-ingénierie 4. Conception logique relationnelle a) Transformations b) Assistants de transformation c) Assistant d'analyse Contenu 4.9 OUTILS POUR LA CONCEPTION LOGIQUE Exemple 4.5 Les relations is-a 4.9 Les outils 4.6 Compléments 4.10 Extensions SQL3 4.7 Plan de transformation 4.11 Quelques réflexions

73 Bases de données   J-L Hainaut III. Méthodologie des bases de données [long] 1. Méthodologie des BD5. Conception physique 2. Le modèle Entité-association6. Production du code 3. Analyse conceptuelle7. Rétro-ingénierie 4. Conception logique relationnelle 4.9 Outils pour la conception logique - Transformations Quatre niveaux de transformation sont nécessaires transformations élémentaires T(O); la transformation T est appliquée à l'objet O du schéma S; transformations composées T(O), T = T3 o T2 o T1; la transformation T est construite par composition de transformations plus élémentaires; transformations à base de prédicat (predicate-driven transformation) T( p ) : la transformation T est appliquée à tous les objets du schéma courant qui vérifient le prédicat p; transformation à base de modèle (model-driven transformation) T m1.m2 (S1) : la transformation T m1.m2 est appliquée au schéma S1 conforme au modèle M1 et produit un schéma S2 conforme au modèle M2; T m1.m2 est définie par un plan de transformation constitué de transformations à base de prédicats. = transformation inter-modèles Exemple 4.5 Les relations is-a 4.9 Les outils 4.6 Compléments 4.10 Extensions SQL3 4.7 Plan de transformation 4.11 Quelques réflexions

74 Bases de données   J-L Hainaut III. Méthodologie des bases de données [long] 1. Méthodologie des BD5. Conception physique 2. Le modèle Entité-association6. Production du code 3. Analyse conceptuelle7. Rétro-ingénierie 4. Conception logique relationnelle 4.9 Outils pour la conception logique - Assistant de transformation 1. sélectionner un pattern = prédicat (p) 2. sélectionner une action (T) 3. exécuter T(p) Exemple 4.5 Les relations is-a 4.9 Les outils 4.6 Compléments 4.10 Extensions SQL3 4.7 Plan de transformation 4.11 Quelques réflexions

75 Bases de données   J-L Hainaut III. Méthodologie des bases de données [long] 1. Méthodologie des BD5. Conception physique 2. Le modèle Entité-association6. Production du code 3. Analyse conceptuelle7. Rétro-ingénierie 4. Conception logique relationnelle 4.9 Outils pour la conception logique - Assistant de transformation Exemple 4.5 Les relations is-a 4.9 Les outils 4.6 Compléments 4.10 Extensions SQL3 4.7 Plan de transformation 4.11 Quelques réflexions

76 Bases de données   J-L Hainaut III. Méthodologie des bases de données [long] 1. Méthodologie des BD5. Conception physique 2. Le modèle Entité-association6. Production du code 3. Analyse conceptuelle7. Rétro-ingénierie 4. Conception logique relationnelle 4.9 Outils pour la conception logique - Assistant de transformation sélection d'un pattern (= prédicat) action à exécuter sur chaque instance du pattern création et gestion de scripts demander confirmation avant toute transformation exécuter la transformation ou, s'il est visible, le script transformations à base de prédicat transformations à base de modèle Exemple 4.5 Les relations is-a 4.9 Les outils 4.6 Compléments 4.10 Extensions SQL3 4.7 Plan de transformation 4.11 Quelques réflexions

77 Bases de données   J-L Hainaut III. Méthodologie des bases de données [long] 1. Méthodologie des BD5. Conception physique 2. Le modèle Entité-association6. Production du code 3. Analyse conceptuelle7. Rétro-ingénierie 4. Conception logique relationnelle 4.9 Outils pour la conception logique - Assistant de transformation avancé Exemple 4.5 Les relations is-a 4.9 Les outils 4.6 Compléments 4.10 Extensions SQL3 4.7 Plan de transformation 4.11 Quelques réflexions

78 Bases de données   J-L Hainaut III. Méthodologie des bases de données [long] 1. Méthodologie des BD5. Conception physique 2. Le modèle Entité-association6. Production du code 3. Analyse conceptuelle7. Rétro-ingénierie 4. Conception logique relationnelle 4.9 Outils pour la conception logique - Assistant de transformation avancé sélection d'une opération T et du prédicat p structure de boucle bibliothèque d'opérations T(p) création et gestion de scripts Exemple 4.5 Les relations is-a 4.9 Les outils 4.6 Compléments 4.10 Extensions SQL3 4.7 Plan de transformation 4.11 Quelques réflexions

79 Bases de données   J-L Hainaut III. Méthodologie des bases de données [long] 1. Méthodologie des BD5. Conception physique 2. Le modèle Entité-association6. Production du code 3. Analyse conceptuelle7. Rétro-ingénierie 4. Conception logique relationnelle 4.9 Outils pour la conception logique - Assistant de transformation avancé 1. sélectionner une opération T 2. définir le prédicat p 3. fixer les paramètres du prédicat Exemple 4.5 Les relations is-a 4.9 Les outils 4.6 Compléments 4.10 Extensions SQL3 4.7 Plan de transformation 4.11 Quelques réflexions

80 Bases de données   J-L Hainaut III. Méthodologie des bases de données [long] 1. Méthodologie des BD5. Conception physique 2. Le modèle Entité-association6. Production du code 3. Analyse conceptuelle7. Rétro-ingénierie 4. Conception logique relationnelle 4.9 Outils pour la conception logique - Assistant d'analyse L'assistant de transformation peut servir d'analyseur : on marque les objets sélectionnés au lieu de les transformer Exemple 4.5 Les relations is-a 4.9 Les outils 4.6 Compléments 4.10 Extensions SQL3 4.7 Plan de transformation 4.11 Quelques réflexions

81 Bases de données   J-L Hainaut III. Méthodologie des bases de données [long] 1. Méthodologie des BD5. Conception physique 2. Le modèle Entité-association6. Production du code 3. Analyse conceptuelle7. Rétro-ingénierie 4. Conception logique relationnelle 4.9 Outils pour la conception logique - Assistant d'analyse Search : recherche les éléments qui satisfont une des règles Validate : recherche les éléments qui violent une des règles Exemple 4.5 Les relations is-a 4.9 Les outils 4.6 Compléments 4.10 Extensions SQL3 4.7 Plan de transformation 4.11 Quelques réflexions

82 Bases de données   J-L Hainaut III. Méthodologie des bases de données [long] 1. Méthodologie des BD5. Conception physique 2. Le modèle Entité-association6. Production du code 3. Analyse conceptuelle7. Rétro-ingénierie 4. Conception logique relationnelle a) Les attributs complexes b) Les relations is-a Contenu 4.10 Extensions du modèle SQL Exemple 4.5 Les relations is-a 4.9 Les outils 4.6 Compléments 4.10 Extensions SQL3 4.7 Plan de transformation 4.11 Quelques réflexions

83 Bases de données   J-L Hainaut III. Méthodologie des bases de données [long] 1. Méthodologie des BD5. Conception physique 2. Le modèle Entité-association6. Production du code 3. Analyse conceptuelle7. Rétro-ingénierie 4. Conception logique relationnelle 4.10 Extensions du modèle SQL Exemple 4.5 Les relations is-a 4.9 Les outils 4.6 Compléments 4.10 Extensions SQL3 4.7 Plan de transformation 4.11 Quelques réflexions On observe qu'un schéma EA contient des constructions directement exprimables en SQL3 : type d'entités  table hiérarchies is-a simples (disjonction, supertype unique, distribution unique) attribut simple  colonne attribut composé  constructeur row attribut multivalué  constructeur array identifiant primaire formé d'attributs  primary key identifiant secondaire formé d'attributs  prédicat unique() En revanche, les autres constructions demandent une conversion plus élaborée : type d'associations  ? identifiant comportant un rôle  ? hiérarchies is-a complexes ? etc. = constructions "conformes" = constructions "non conformes"

84 Bases de données   J-L Hainaut III. Méthodologie des bases de données [long] 1. Méthodologie des BD5. Conception physique 2. Le modèle Entité-association6. Production du code 3. Analyse conceptuelle7. Rétro-ingénierie 4. Conception logique relationnelle 4.10 Extensions du modèle SQL Exemple 4.5 Les relations is-a 4.9 Les outils 4.6 Compléments 4.10 Extensions SQL3 4.7 Plan de transformation 4.11 Quelques réflexions Apport de SQL3 représentation directe des attributs complexes; représentation directes des relations is-a simples; autres possibilités mais ignorées ici. Tout schéma SQL2 est un schéma SQL3 toutes les règles précédentes sont d’application mais on peut vouloir profiter de la plus grande puissance du modèle SQL3

85 Bases de données   J-L Hainaut III. Méthodologie des bases de données [long] 1. Méthodologie des BD5. Conception physique 2. Le modèle Entité-association6. Production du code 3. Analyse conceptuelle7. Rétro-ingénierie 4. Conception logique relationnelle 4.10 Extensions du modèle SQL Exemple 4.5 Les relations is-a 4.9 Les outils 4.6 Compléments 4.10 Extensions SQL3 4.7 Plan de transformation 4.11 Quelques réflexions Attribut composé peut être représenté par une colonne de type row; Les attributs complexes Attribut multivalué peut être représenté par une colonne de type array; mais : constructeur non ensembliste !  taille limitée valeurs ordonnées unicité non gérée valeurs manquantes possibles voir si on peut vivre avec ces caractéristiques et ces lacunes indésirables ! Par exemple les ignorer ou les gérer par des contraintes ou des triggers sinon, procéder comme en SQL2

86 Bases de données   J-L Hainaut III. Méthodologie des bases de données [long] 1. Méthodologie des BD5. Conception physique 2. Le modèle Entité-association6. Production du code 3. Analyse conceptuelle7. Rétro-ingénierie 4. Conception logique relationnelle 4.10 Extensions du modèle SQL Exemple 4.5 Les relations is-a 4.9 Les outils 4.6 Compléments 4.10 Extensions SQL3 4.7 Plan de transformation 4.11 Quelques réflexions Relations is-a simples disjonction (D) ou partition (P) - donc pas de recouvrement hiérarchie simple (surtype unique) - donc pas de surtypes multiples répartition simple (surtype unique) - donc pas de répartitions multiples Les relations is-a simples  traduction directe (sans transformation) en hiérarchies de TDU hiérarchie de tables

87 Bases de données   J-L Hainaut III. Méthodologie des bases de données [long] 1. Méthodologie des BD5. Conception physique 2. Le modèle Entité-association6. Production du code 3. Analyse conceptuelle7. Rétro-ingénierie 4. Conception logique relationnelle 4.10 Extensions du modèle SQL Exemple 4.5 Les relations is-a 4.9 Les outils 4.6 Compléments 4.10 Extensions SQL3 4.7 Plan de transformation 4.11 Quelques réflexions Les relations is-a complexes Relations is-a complexes recouvrement (libre ou T) - transformer (voir annexes E et G) surtypes multiples - transformer (voir annexes E et G) répartitions multiples - transformer (voir annexes E et G) Mais … le schéma logique devient irrégulier, complexe, illisible...

88 Bases de données   J-L Hainaut III. Méthodologie des bases de données [long] 1. Méthodologie des BD5. Conception physique 2. Le modèle Entité-association6. Production du code 3. Analyse conceptuelle7. Rétro-ingénierie 4. Conception logique relationnelle 4.10 Extensions du modèle SQL Exemple 4.5 Les relations is-a 4.9 Les outils 4.6 Compléments 4.10 Extensions SQL3 4.7 Plan de transformation 4.11 Quelques réflexions Règle pratique : si toutes les relations is-a sont naturellement simples (sans tricher !) et si cette propriété est garantie à long terme, alors on utilise les constructions SQL3 (hiérarchies de TDU et de tables typées) sinon on procède comme en SQL2 Les relations is-a complexes

89 Bases de données   J-L Hainaut III. Méthodologie des bases de données [long] 1. Méthodologie des BD5. Conception physique 2. Le modèle Entité-association6. Production du code 3. Analyse conceptuelle7. Rétro-ingénierie 4. Conception logique relationnelle a) Qualités d'un plan de transformation b) Unicité des plans de transformation c) Conception logique et conversion inter-modèles d) Equivalence de schémas Contenu 4.11 Quelques réflexions sur les plans de transformation Exemple 4.5 Les relations is-a 4.9 Les outils 4.6 Compléments 4.10 Extensions SQL3 4.7 Plan de transformation 4.11 Quelques réflexions

90 Bases de données   J-L Hainaut III. Méthodologie des bases de données [long] 1. Méthodologie des BD5. Conception physique 2. Le modèle Entité-association6. Production du code 3. Analyse conceptuelle7. Rétro-ingénierie 4. Conception logique relationnelle 4.11 Qualités d'un plan de transformation Quelles sont les qualités d'un bon plan de transformation ? terminaison : quel que soit le schéma source S1, la procédure se termine conformité : quel que soit le schéma source S1, le schéma résultant S2 est conforme au modèle M2 équivalence : quel que soit le schéma source S1, les schémas S1 et S2 sont équivalents idempotence : P(P(S)) = P(S) (pour autant que S1 satisfasse les préconditions du plan) Exemple 4.5 Les relations is-a 4.9 Les outils 4.6 Compléments 4.10 Extensions SQL3 4.7 Plan de transformation 4.11 Quelques réflexions

91 Bases de données   J-L Hainaut III. Méthodologie des bases de données [long] 1. Méthodologie des BD5. Conception physique 2. Le modèle Entité-association6. Production du code 3. Analyse conceptuelle7. Rétro-ingénierie 4. Conception logique relationnelle 4.11 Unicité des plans de transformation Le plan de transformation SQL2 est-il unique ? dépend du modèle logique (quelle variante de SQL2 ?), dépend du traitement choisi pour chaque construction invalide, dépend du degré de complétude des traitements (Ciel ! on a oublié les rôles multitypes, les identifiants cycliques, les TDU et les delete/update modes des clés étrangères !), dépend des préconditions ad hoc sur les schémas sources (pas plus de 3 niveaux dans un attribut complexe), dépend du degré de précision (constructions laissées à l'initiative du concepteur).  nombreux plans de transformation SQL2 possibles Exemple 4.5 Les relations is-a 4.9 Les outils 4.6 Compléments 4.10 Extensions SQL3 4.7 Plan de transformation 4.11 Quelques réflexions

92 Bases de données   J-L Hainaut III. Méthodologie des bases de données [long] 1. Méthodologie des BD5. Conception physique 2. Le modèle Entité-association6. Production du code 3. Analyse conceptuelle7. Rétro-ingénierie 4. Conception logique relationnelle 4.11 Conception logique et transformations inter-modèles Conversion S1 dans modèle M1 S2 dans modèle M2 M2 Sémantique préservée La conception logique est un cas d'application du processus général de transformation inter-modèles (M1  M2) : conversion d'un schéma S1 exprimé dans le modèle M1 en un schéma équivalent S2 exprimé selon le modèle M Exemple 4.5 Les relations is-a 4.9 Les outils 4.6 Compléments 4.10 Extensions SQL3 4.7 Plan de transformation 4.11 Quelques réflexions

93 Bases de données   J-L Hainaut III. Méthodologie des bases de données [long] 1. Méthodologie des BD5. Conception physique 2. Le modèle Entité-association6. Production du code 3. Analyse conceptuelle7. Rétro-ingénierie 4. Conception logique relationnelle 4.11 Equivalence de schémas S1 et S2 ont la même sémantique (vague) S2 et S2 décrivent le même domaine d'application (mieux mais invérifiable) on suppose qu'aux schémas S1 et S2 correspondent des instances; pour toute requête Q1 appliquée à S1, il existe une requête Q2 appliquée à S2 qui produit le même résultat, et inversement; (excellent mais difficile à vérifier) il existe une chaîne de transformations C1 qui, appliquée à S1, produit S2, et il existe une autre chaîne C2 qui, appliquée à S2, produit S1, telles que : S1 = C2(C1(S1)) (mieux mais insuffisant; il existe des contre-exemples) à la chaîne C1 correspond une transformation de données c1 qui, appliquée à une instance s1 de S1, produit une instance s2 de S2, et il existe une autre chaîne c2 qui, appliquée à une instance s2 de S2, produit une instance de S1, telles que : s1 = c2(c1(s1)) (beaucoup mieux ! Mais encore insuffisant) C1, C2, c1, c2 sont telles que : S2 = C1(S1); S1 = C2(S2); s2 = c1(s1); s1 = c2(s2); (parfait : vérifiable et opérationnel) Qu'est-ce que l'équivalence de deux schémas S1 et S2 ? Méthode : utiliser des transformations à sémantique constante ou réversibles Exemple 4.5 Les relations is-a 4.9 Les outils 4.6 Compléments 4.10 Extensions SQL3 4.7 Plan de transformation 4.11 Quelques réflexions

94 Bases de données   J-L Hainaut III. Méthodologie des bases de données [long] 1. Méthodologie des BD5. Conception physique 2. Le modèle Entité-association6. Production du code 3. Analyse conceptuelle7. Rétro-ingénierie 4. Conception logique relationnelle Fin du module 4 Module suivant : 5. Conception physique relationnelle

95 Bases de données   J-L Hainaut III. Méthodologie des bases de données [long] 1. Méthodologie des BD5. Conception physique 2. Le modèle Entité-association6. Production du code 3. Analyse conceptuelle7. Rétro-ingénierie 4. Conception logique relationnelle


Télécharger ppt "Bases de données   J-L Hainaut 2012 1 III. Méthodologie des bases de données [long] 1. Méthodologie des BD5. Conception physique 2. Le modèle Entité-association6."

Présentations similaires


Annonces Google