Conception d’une BD.

Slides:



Advertisements
Présentations similaires
1 Bases de donn é es relationnelles. 2 Introduction au mod è le relationnel les donn é es sont repr é sent é es par des tables, sans pr é juger de la.
Advertisements


Séance /10/2004 SGBD - Approches & Principes.
Modèle Entité-Relation. Les SGBD relationnels ● Élaboré en 1969 ● E. F. Codd ● IBM ● Interface de programmation ● Langages L3G : C, Cobol,... ● Langages.
1- Régles de normalisation 2ème partie : normalisation Modèle Conceptuel des Données 2- Les Formes Normales 3- Dépendances Fonctionnelles 4- Recap - Méthodologie.
Initiation à la conception des systèmes d'informations. Cours N°4 : Modèle Logique de Données (MLD) Initiation à la conception des systèmes d'informations.
1- Introduction Sommaire Modèle Logique des Données 2- Structure 3- Traduction du MCD en MLD 4- Recap - Méthodologie.
Plan Présentation de 2TUP 2TUP, un processus UP 2TUP et UML Les apports de 2TUP 2TUP en détail 2TUP dans la pratique.
DIAGRAMME DE DEPLOIEMENT Exposé de: MBALLA MEKONGO Michèle MBOUNA FEUZE William SIEYADJEU Alex Lionel CHOPGWE Leonard NDUMATE Landry TIDJON Lionel.
Introduction aux bases de données
Les Bases de données Définition Architecture d’un SGBD
Cours Initiation aux Bases De Données
Présenté par M. Anis DIALLO
E-Prelude.com Importation de nomenclatures issues de divers logiciels de CAO… … via un fichier « neutre » de type EXCEL.
4 Modèle conceptuel de données MCD
ملخص Initiation à la sgbdr
E. Malengreau, Assistante pédagogique QAP-Polytech
Le Cycle de vie d’un logiciel
Les Bases de données Définition Architecture d’un SGBD
Algorithmique demander jeu du pendu.
MOT Éditeur de modèles de connaissances par objets typés
Initiation aux bases de données et à la programmation événementielle
Généralité sur les bases de données
Activités algorithmiques
Master Réseaux et Systèmes Distribués (RSD) Algorithmique des systèmes
Gestion des notes des étudiants
JMerise.
Notion De Gestion De Bases De Données
Création Et Modification De La Structure De La Base De Données
PROGRAMMATION INFORMATIQUE D’INGÉNIERIE II
LES IDE DE CONCEPTION Myriam BAKAYOKO Manon RAJAONARIVELO Jeremy MICHEL André NOEL Guillaume GEBAVI Arthur AGERON Fabien SIMON - G6S2.
Structure D’une Base De Données Relationnelle
1 ANGAMAN LUDOVIC UTT-LOKO-ITER. Organisation  10 séances de 3h  Présentation des bases de données  TP/TD.
Comment faire une recherche info-documentaire ?
Plan du chapitre Diagramme de classes Les extensions syntaxiques
SQL Structured Query Language
Structuration du contenu
Deuxième partie LE DOSSIER TECHNIQUE DU MARINGOUIN.
Formation sur les bases de données relationnelles.
6. PRODUCTION DU CODE DE LA BASE DE DONNEES
Diagrammes UML 420-KE2-LG.
EDITEUR:HIGH SYSTEM INFO
Chapitre 3 : Caractéristiques de tendance centrale
L1 Technique informatique
5 Analyse avec Designer d'Oracle
A l’aide du triangle pédagogique de Jean Houssaye
2. Le modèle Entité-association étendu
Modélisation objet avec UML
Épreuve écrite E4.1 BTS CG Session /02/2017.
Introduction aux Bases de Données Relationnelles
5 Introduction au modèle relationnel 5.1 Concepts de base
Semaine 3 Retour sur la semaine 2 Plan de séance
Langages de programmation TP11
CAS AFPA Sprint n°1.
Présenté par M. Anis DIALLO
Catherine Cyrot - bibliothèques numériques - Cours 5
20 Données semi-structurées et XML
EPITECH 2009 UML EPITECH 2009
Un Mécanisme d‘Adaptation Guidé par le Contexte en Utilisant une Représentation par Objets Manuele Kirsch Pinheiro Laboratoire LSR – IMAG, Équipe SIGMA.
Chapitre V La Procédure Comptable
PRESENTATION ACCESS Editeur : Microsoft Environnement Windows (SE)
Elles contiennent des informations autre que géométriques
TP1 - DBMAIN BFSH Lausanne - Switzerland - Tel Université de Lausanne.
62 Modèle relationnel et algèbre relationnelle INT Management.
Design, innovation et créativité
Modélisation des SI et de la connaissance
1 Semestre stic Sébastien PARFAIT – Faculté de Médecine – Bureau 145.
© Robert Godin. Tous droits réservés.
MOT Éditeur de modèles de connaissances par objets typés
Séquence 1:Analyse du système d’information comptable
Transcription de la présentation:

Conception d’une BD

Pratique d’un SGBD : postgreSQL Où en sommes nous ? Objectifs des bases de données Modèle relationnel Algèbre relationnelle SQL Conception et rétro-conception Pratique d’un SGBD : postgreSQL Protection de l’information Web/BD

Plan du document Introduction slide 133 Qu’est-ce qu’un modèle ? Processus de conception d’une Base de Données Principe de conception Situations de conception Modèles de conception slide 139 Modèles de données slide 149 Traduction E/A  relationnel slide 154 Rétro-conception slide 168 Et moi que dois-je faire ? slide 173

Qu’est-ce qu’un modèle de données ? Introduction Qu’est-ce qu’un modèle de données ? Modèle de données Ensemble de concepts pour décrire Les données Les liens entre les données La sémantique des données En général, un ensemble d’opérations est associé pour manipuler les données Formalisme de description Textuel Graphique Mathématique Exemples de modèles Entité/association Diagramme de classe UML Hiérarchique/réseau Relationnel Objet, relationnel-objet

Processus de conception d’une BD Introduction Processus de conception d’une BD Monde réel Indépendant du SGBD Recueil des besoins et analyse Besoin de la BD Contrat Prise en compte des particularités du SGBD Conception logique Schéma conceptuel (haut niveau) E/A UML Transformation du modèle Spécifique à un SGBD Relationnel Réseau Hiérarchique Schéma conceptuel (spécifique SGBD) Conception physique Placement Disque Optimisation Schéma physique (spécifique SGBD)

Principe de conception Introduction Principe de conception Conception indépendante d’un modèle de données Réalité Schéma conceptuel transformation Schéma relationnel réseau Fichiers ….

Situation de conception 1 Conception centralisée Introduction Situation de conception 1 Conception centralisée Schéma conceptuel global Schéma local Schéma local Schéma local …. Utilisateur Programme …

Introduction Situation de conception 2 Conception décentralisée (à partir d’un existant) Schéma global intégration HétérogénéitéS Schéma local

Plan du document Introduction Modèles de conception Modèle Entité/Association Diagramme de classe UML Modèles de données Traduction E/A -> relationnel Rétro-conception Et moi que dois-je faire ?

Modèle Entité/Association Modèles de conception Modèle Entité/Association Proposé en 1976 (Chen) Nombreuses extensions depuis Avantages : Utilisé dans la plupart des méthodes de conception (MCD Merise, …) Simple Graphique Facilite le dialogue avec les utilisateurs

Concepts du modèle E/A (1) Modèles de conception Concepts du modèle E/A (1) Graphisme 2 Graphisme 1 Contraintes de cardinalité Rôle Type d’association Clé d’un type d’entité Attribut multivalué Attribut composite Attribut Type d'entité Nom Type Entité T A A Ass Ass Rôle Rôle 1,n 0,n

Concepts du modèle E/A (2) Modèles de conception Concepts du modèle E/A (2) Graphisme 2 Graphisme 1 Attribut calculé Type d’association identifiante Type d’entité faible Ass (1,1)

Exemple de modèle E/A : école Graphisme 1 Modèles de conception Exemple de modèle E/A : école Graphisme 1 codeUV nbH coord UV 1,n num note S’inscrire 3,n nom Étudiant age 0,n 0,1 adresse datePrêt Emprunter Louer côte 0,1 0,1 no Livre Chambre titre prix

Exemple de modèle E/A : entreprise Graphisme 1 Modèles de conception Exemple de modèle E/A : entreprise Graphisme 1 nom adresse NoSS nomf prenom No_dept libelle localisations Nb_emp Travailler pour Est supervisé 1,1 1,1 Employé 0,n Département date 0,1 Supervise 0,n diriger 1,1 0,n superviser 0,n 1,n Avoir à charge gérer Travailler sur 1,1 Nb_heures 1,1 1,n Personne-à-charge Projet Parente prénom DateNaissance Numéro Description

Exemple de modèle E/A : école Graphisme 2 Modèles de conception Exemple de modèle E/A : école Graphisme 2 1,1 0,1 0,n 3,n 1,n UV codeUV nbH coord Etudiant num nom age adresse Livre cote titre Chambre no prix S’inscrire note Emprunter datePret Louer

Exemple de modèle E/A : Entreprise Graphisme 2 Modèles de conception Exemple de modèle E/A : Entreprise Graphisme 2 0,n supervise Employe TravaillerPour Département 1,1 NoSS 1,n Superviser No_dept Est supervisé Adresse libelle Nomf 1,1 Nb_Emp Prenom 0,1 1,1 localisations Diriger Date 0,n 1,n 1,n Avoir a charge Gérer TravaillerSur Nb_heures (1,1) PersonneACharge prénom 1,n 1,1 DateNaissance Projet Parenté Numéro Description

Critique du modèle Entité/Association Modèles de conception Critique du modèle Entité/Association Inconvénients Uniquement un modèle de description de données Pas de langage de manipulation associé Pas de SGBD E/A  Pas un modèle d’implantation de BD Avantages Sémantique riche Extension aux concepts objets (héritage, ...) Aspect visuel  lisible  modèle pivot entre clients/experts  Modèle de conception de BD

Exemple de diagramme de classe UML : Entreprise Modèles de conception Exemple de diagramme de classe UML : Entreprise CSC 4002

Plan du document Introduction Modèles de conception Modèles de données Modèles existants Modèle relationnel Traduction E/A -> relationnel Rétro-conception Et moi que dois-je faire ?

Modèles existants Modèle hiérarchique Modèle réseau Modèle relationnel Modèle objet NoSQL – non structuré

Modèles SGBD Modèle relationnel [CODD 70] « A Relational Model for Large Shared Data Banks » Exemple Étudiant(num, nom, adresse, age) UV(codeUV, nbH, coord) Inscrit(numÉtudiant, codeUV, note) Livre(côte, titre, numÉtudiant, datePrêt) Chambre(no, prix, numÉtudiant) ETUDIANT

Modèle relationnel (2) Schéma BD Structure de relation BD Modèles SGBD Modèle relationnel (2) Schéma BD Structure de relation BD Ensemble d’enregistrements reliés par des valeurs Langage de manipulation Ensembliste Déclaratif Standard international [SQL 86, 89, 92 ou SQL2, SQL3] Prototypes de recherche System/R chez IBM (1976), Ingres à Berkeley (1976) Systèmes commerciaux SQL/DS et DB2 d’IBM (1982), Oracle (1983), Ingres (1983), Informix (1981), Sybase (1984), SqlServer (1998) PostgreSQL (1985), MySQL (1995) Access

Modèle relationnel (3) Avantages Indépendance logique/physique Modèles SGBD Modèle relationnel (3) Avantages Indépendance logique/physique Langage de manipulation simple Basé sur une théorie mathématique solide Standard

Plan du document Introduction Modèles de conception Modèles des SGBD Traduction E/A -> relationnel Principes de traduction Modèle E/A à traduire Étapes de traduction Rétro-conception Et moi que dois-je faire ?

Principes de traduction La sémantique n’est pas complètement préservée (il faut ajouter des contraintes d’intégrité) Règles automatisables (de nombreux outils existent sur le marché, AMCDesignor par exemple) Transformation en 7 étapes Comparaison des concepts des deux modèles  À faire par l’étudiant

Modèle E/A à traduire : Entreprise Graphisme 2 Traduction Modèle E/A à traduire : Entreprise Graphisme 2 0,n supervise Employe 1,1 TravaillerPour Département 1,n Superviser NoSS No_dept Est supervisé Adresse libelle Nomf 1,1 Nb_Emp Prenom 0,1 1,1 localisations Diriger Date 0,n 1,n 1,n Avoir a charge Gérer TravaillerSur Nb_heures (1,1) PersonneACharge prénom 1,n 1,1 DateNaissance Projet Parenté Numéro Description

Étape 1 : transformation des entités non faibles Traduction Étape 1 : transformation des entités non faibles Type d'entité  relation Attribut atomique  constituant (attribut) Attributs composites  n constituants Attribut(s) clé(s)  clé candidate E C A E(C, A)

Résultat d’étape 1 sur le modèle Entreprise Traduction Résultat d’étape 1 sur le modèle Entreprise Projet(numéro, description) Attributs atomiques Projet nb_emp Attributs calculés  étape 7 localisations Attributs multivalués  étape 6 Département(no_dept, libelle, date) Département Aplatissement de la structure (suite d’attributs atomiques)  perte de la sémantique Employé(noss, adresse, nomf, prénom) Attributs composites Employé(noss, adresse) Employé

Étape 2 : transformation des entités faibles Traduction Étape 2 : transformation des entités faibles Type d'entité faible  relation Attribut atomique  constituant (attribut) Attributs composites  n constituants Attribut(s) clé(s)  partie de clé candidate Attributs clés de l’entité identifiante  partie de clé E C A E2 C2 A2 (1,1) E2(C, C2, A2)

Résultat d’étape 2 sur le modèle Entreprise Traduction Résultat d’étape 2 sur le modèle Entreprise Noss : clé étrangère sur Employé + Partie de la clé de PersonneACharge PersonneACharge(prénom, DateNaissance, parenté, noss) Clé de l’entité identifiante PersonneACharge(prénom, DateNaissance, parenté) Attributs atomiques Entité PersonneACharge

Étape 3 : transformation des associations binaires monovaluées Traduction Étape 3 : transformation des associations binaires monovaluées Clé associée à E1  attribut de E2 Attributs de Ass  attributs de E2 E1 C1 A1 ?,1 E2 C2 A2 ?,? Ass A3 E2(C2, A2, C1, A3) Clé étrangère, non clé dans E2

Résultat d’étape 3 sur le modèle Entreprise Traduction Résultat d’étape 3 sur le modèle Entreprise Cf. étape 2 AvoirACharge Employé(noss, adresse, nomf, prénom, nodept, noSSSuperviseur) noSSSuperrviseur clé étrangère de Employé sur elle-même Supervision Dirige monovaluée dans les 2 sens  on aurait pu créer Employé(noss, adresse, nomf, prénom, nodept, nodeptDirigé) Cardinalités (0,1), association partielle  valeurs nulles Projet(numéro, description, numdept) Controle Département(no_dept, libelle, date, nosschef) Dirige Employé(noss, adresse, nomf, prénom, no_dept) TravaillePour

Traduction Étape 4 : transformation des associations binaires multivaluées dans les 2 sens Création d'une nouvelle relation Ass Clé de E1 + Clé de E2  clé de Ass Attributs de Ass  Attributs de Ass E1 C1 A1 E2 C2 A2 ?,n Ass A3 ?,n Ass(C1, C2, A3) TravailleSur(noss, numeroProjet, nb_heures) TravailleDans

Étape 5 : transformation des associations n-aires (n > 2) Traduction Étape 5 : transformation des associations n-aires (n > 2) Généralisation de l’étape 4 Création d'une nouvelle relation Ass Clé de E1 + Clé de E2 + … clé de En  clé de Ass Attributs de Ass  Attributs de Ass E1 C1 A1 E2 C2 A2 Ass A4 Ass(C1, C2, C3, A4) E3 C3 A3

Étape 6 : transformation des attributs multivalués Traduction Étape 6 : transformation des attributs multivalués Création d'une nouvelle relation R Attribut multivalué  constituant Clé du type d'entité associé  constituant Clé de la relation : tout le schéma A Entité C R(A, C) Entité C As LocalisationDept(localisation, num_dept) Localisations dans Département

Étape 7 : transformation des attributs calculés Traduction Étape 7 : transformation des attributs calculés Attribut calculé Requête associée Département(no_dept, libelle, nosschef, dateDebut) SELECT no_dept, COUNT(*) FROM Employe GROUP BY no_dept Couples no département – effectif du département Requête associée à une vue relationnelle Nb_emp dans Département

Récapitulatif de l’exemple Traduction Récapitulatif de l’exemple Employé(noss, adresse, nomf, prénom, nodept, noSSSuperviseur) Département(no_dept, libelle, date, nosschef) Projet(numero, description, numdept) PersonneACharge(prénom, noss, DateNaissance, parenté) TravailleSur(noss, numeroProjet, nb_heures) LocalisationDept(localisation, num_dept) SELECT no_dept, COUNT(*) as nbemp FROM Employe GROUP BY no_dept ;

Plan du document Introduction Modèles de conception Modèles de données Traduction E/A  relationnel Rétro-conception Pourquoi de la rétro-conception ? Principes de la rétro-conception Base de données à rétro-concevoir : les vins Et moi que dois-je faire ?

Pourquoi de la rétro-conception But Passer d’un schéma relationnel à un schéma Entité-Association équivalent Pourquoi ? Analyse n’a pas été faite ou a été perdue Comment ? Appliquer les étapes de transformation « à l’envers » Remarque  Ne fournit pas une solution unique (perte d’information sur le schéma relationnel par rapport au schéma E/A)

Principes de rétro-conception Appliquer à l’envers (f-1) les 7 étapes de traduction (étape 1)-1 : relation ne possédant pas de clé étrangère au sein de sa clé  type d'entité (étape 2)-1 : Relation dont la clé comprend une clé étrangère et une clé "locale" : ensemble d'entité faible par rapport à l'ensemble d'entité correspondant à la clé étrangère (étape 3)-1 : relation possédant une clé étrangère à l'extérieur de sa clé  type d'entité plus association monovaluée vers le type d'entité correspondant à la clé étrangère (étape 4ou5)-1 : relation dont la clé est intégralement composée de clés étrangères : association multivaluée entre les ensembles d'entités correspondant aux clés étrangères Étapes 6 et 7 étaient dûes à des utilisations particulières du modèle E/A

Base de données à rétro-concevoir : les vins 02/10/07 Rétro-conception Base de données à rétro-concevoir : les vins Vins(num, cru, annee, degre) Recoltes(nvin, nprod, quantite) Producteurs(num, nom, prenom, region) Clients(num, nom, prenom, ville) Commandes(ncde, date, ncl, nvin, qte) Livraisons(ncde, no_ordre, qteLivree) 171

Rétro-conception de la BD des vins

Plan du document Introduction Modèles de conception Modèles de données Traduction E/A -> relationnel Rétro-conception Et moi que dois-je faire ?

Et moi que dois-je faire ? Relire les transparents Lire la documentation complémentaire : Notre cours rédigé : http://www-inf.it-sudparis.eu/COURS/bd/index.php?idr=38 Faire le QCM lié à ce cours sur moodle Pratiquer et pratiquer encore  faire les exercices de conception en ligne  faire les questions de rétro-conception dans les annales Préparer la rétro-conception pour le TP3-4 sur papier Comparer cette approche et celle présentée en CSC4002 (diagramme de classe) …