View
217
Download
0
Category
Preview:
Citation preview
3.1
Introduction aux Bases de Données 2004/2005
Christian Wolfchristian.wolf@ensps.u-strasbg.fr
Ecole Nationale Supérieur de Physique de Strasbourg
Chapitre 3Objectifs et Architectures, Modélisation Conceptuelle
3.2
Modélisation conceptuelle
IntroductionLes anciensmodèles logiquesPlan
Film
numFilmTitrePays
Client
numClientNom
*
DateDeDateAMagasin
*
location
Client
Location
C-L F-L
Film
Le modèle relationnel
Le langage SQL
Normalisation
SELECT FROM WHERE
=
F.Titre
Fonction
GroupeEmploye
Stockage physique
Modélisation Le modèle conceptuel E/AArchitectures Solution SGF
FilmnumFilmTitrePaysAnneeNoteDureeLangue
ClientnumClientNomAdresseSolde
*
DateDeDateAMagasin
* location
3.3
La modélisation de données
Schéma de donnéesAnalyse
ModélisationAbstraction
Entreprise
Modèle de donnéesConcepts et règles permettant de décrire des données, c.à.d. de créer un schéma de donnéesSchéma de donnéesDescription d’un ensemble de données particulier (par exemple d’une entreprise particulier).
Modélisation Le modèle conceptuel E/AArchitectures Solution SGF
3.4
Quelques notions
BD Base de données: l’ensemble de données
SGBD Systèmes de Gestion de Base de Données:Le système (hardware/software) permettant de gérer la base de donnéesAngl. DBMS = « Database Management System »
SGBDR Systèmes de Gestion de Base de Données Relationnel:Le système (hardware/software) permettant de gérer une base de données relationnelle : le standard industrielAngl. RDBMS = « Relational Database Management System »
Modélisation Le modèle conceptuel E/AArchitectures Solution SGF
3.5
Objectives des SGBD• Indépendance physique des programmes aux données :
permet la modification des données sans changement des programmes (stockage, indexation etc.)
• Indépendance logique des programmes aux données : permet le changement d’une application sans changement des autres. Chaque application possède sa propre vision (vue) des données
• Manipulation par les non-spécialistes : exprimer le « quoi », sans savoir le « comment ».
• Intégration facile dans un logiciel informatique• Administration facile : définition et modification de la
description de données (schéma)
Modélisation Le modèle conceptuel E/AArchitectures Solution SGF
3.6
Objectifs des SGBD• Efficacité des accès: le temps d’attente et le débit doivent
répondre aux besoins des utilisateurs. La centralisation d’un SGBD est un problème. Solution : systèmes distribués.
• Redondance minimale de données : on cherche à éviter la duplication de données.
• L’intégrité des données doit être assurée, même à travers des modifications multiples et complexes. Cela nécessite :
- Un schéma optimal- La gestion de transactions.
• Partage des données par plusieurs utilisateurs, plusieurs applications, plusieurs systèmes productifs…
• Sécurité des données• Fiabilité du SGBD : après pannes (interrompant une
transaction), …Modélisation Le modèle conceptuel E/AArchitectures Solution SGF
3.7
Les rôles dans l’entreprise:Définition « brute »
L’administrateur de l’entreprise (AE)Responsable de la « conception de la structure de la BD »
L’administrateur de la BD (ABD)Implémentation et maintenance de la structure de la BD
L’administrateur de l’application (AA)Responsable du « point de vue de l’application »
Le programmeur de l’application (PA)Développer les logiciels répondant aux besoins des utilisateurs
Modélisation Le modèle conceptuel E/AArchitectures Solution SGF
3.8
La base de connaissance
Base de connaissance
Entreprise
Information peu structurée, collectionnée sans outil formel. Contient:
• Les informations sur les données• Les informations sur les contraintes entre les données• Les règles de gestion et de transformation de données
Analyse
Modélisation Le modèle conceptuel E/AArchitectures Solution SGF
3.9
Le schéma conceptuel
Base de connaissance
Analyse
Schéma conceptuel
Abstraction
Vérification
« quoi »Le schéma conceptuel est une abstraction des informations de la base de connaissance s’appuyant sur un modèle conceptuel (indépendant de la BD choisie).
Modélisation Le modèle conceptuel E/AArchitectures Solution SGF
3.10
Le schéma logique
Schéma conceptuel
Schéma logique (global)
Modèlelogique
Traduction
Indépendant de la BD
Dépend de la BD choisie
« quoi »Le schéma logique global est une traduction du schéma conceptuel selon le modèle logique utilisé par une BD choisie (modèle hiérarchique, modèle réseau, modèle relationnel).
Modélisation Le modèle conceptuel E/AArchitectures Solution SGF
3.11
Le schéma interne
Schéma logique global
Schéma interne
Transformation,Implémentation
« ou », « comment »Le schéma interne comprend les informations nécessaires pour accéder aux données (indexes, chemin, codage, …)
Modélisation Le modèle conceptuel E/AArchitectures Solution SGF
3.12
Les schémas externes
Schéma logique global
Schéma externe 1
Schéma externe 1
Schéma externe 1
Application 1/ Group 1
Application 1/ Group 1
Application 1/ Group 1
Les schémas externes sont des adaptations du schéma logique global au différents points de vue dans l’entreprise :
• Transformation de la structure de données• Contraintes supplémentaires
Modélisation Le modèle conceptuel E/AArchitectures Solution SGF
3.13
Les schémas externes: exemple
Film
Client
Artiste
Magasin
Employé
Distributeur
Planification de commande
Location
Facturation, Comptabilité
Espace client
Accès aux locations du client
Système de location
Accès à un magasin
La gestion des droits est transparente pour l’utilisateur d’un schéma externe (gestion des vues)
Modélisation Le modèle conceptuel E/AArchitectures Solution SGF
3.14
Le processus complet
Schéma logique global
Schéma externe 1
Schéma externe 1
Schéma externe 1
Application 1/ Group 1
Application 1/ Group 1
Application 1/ Group 1
Schéma interne
Base de connaissance
Analyse
AbstractionTransformation,Implémentation
Vérification
Schéma conceptuel Traduction
Modélisation Le modèle conceptuel E/AArchitectures Solution SGF
3.15
ANSI/SPARC : les rôles dans l’entreprise
L’administrateur de l’entreprise (AE)Définir la base de connaissance et le schéma conceptuel
L’administrateur de la BD (ABD)Définir et maintenir le schéma interne
L’administrateur de l’application (AA)Définir les schémas externes
Le programmeur de l’applicationDévelopper les logiciels basés sur les schémas externes
Modélisation Modèles conceptuelsArchitectures Modèles logiques
3.16
L’architecture centrée BD :le point de vue BD
• La modélisation est effectuée à l’aide d’outils extérieurs du SGBD (outils de conception UML etc.).
Contrôleur
Optimiseur
Exécuteur
Analyseur
Dictionnaire(Métabase)
Analyse syntaxiqueAnalyse sémantique
Modification de requêtes (traduction des vues)Contrôle d’intégrité/autorisation
OrdonnancementOptimisationElaboration d’un planExécution du planMéthodes d’accèsContrôle de concurrenceAtomicité des transactions
Modélisation Le modèle conceptuel E/AArchitectures Solution SGF
3.17
L’architecture centrée BD:le point de vue global
Interface (graphique)
Application
SGBD
Windows, OSF/Motif, KDE, GNOME, Web/CGI, Java
L3G, L4G: Delphi, Visual Basic, Access, Java, C, C++
SQL
Ou sont placées les 3 couches? Comment sont-elles combinées?
Modélisation Le modèle conceptuel E/AArchitectures Solution SGF
3.18
L’architecture Mainframe (1960)
• Tous les 3 couches sont implémentées sur la même machine: BD, application, interface
• Systèmes propriétaires, non standardisés
• Terminaux passifs
Interface
Application
SGBD
Mainframe
Modélisation Le modèle conceptuel E/AArchitectures Solution SGF
3.19
L’architecture Client/Serveur (CS)
SQL
SGBD
Interface
Application
SGBD Serveur BD
Client
Réseau local
Modélisation Le modèle conceptuel E/AArchitectures Solution SGF
3.20
L’architecture Client/Serveur (CS)Cette architecture a nécessité:
• L’émergence de serveurs puissants• La diffusion d’ordinateurs bureautiques en grande
échelle dans les entreprises• L’émergence des réseaux locaux rapides
Passage aux:• Technologies standardisées, ouvertes• Environnements hétérogènes• Indépendance du matériel, du système d’exploitation, du
protocole de réseaux
Modélisation Le modèle conceptuel E/AArchitectures Solution SGF
3.21
ODBC « Open Data Base Connectivity »
Application (+ code ODBC)
Driver Manager
Driver ODBC
• Interface de programmation standardisée pour les applications Windows (basé sur SQL)
• Adaptation à la BD par un driver fourni par le vendeur de la BD
Programmeur
Microsoft
Vendeur de BD
Modélisation Le modèle conceptuel E/AArchitectures Solution SGF
3.22
L’architecture Client/Serveur « Two-tiered »
Client: • Interface graphique• Une partie de l’application
Serveur:• Une partie de l’application• Les manipulations BD
Interface
Middleware
SGBD
Serveur
Client
Middleware
Application
Réseau local
Modélisation Le modèle conceptuel E/AArchitectures Solution SGF
3.23
L’architecture Client/Serveur « Three-tiered »
Internet
Interface
Middleware
SGBD
Serveur de donnéesMiddleware
Application
Réseau local
Serveur d’application
Client (Browser)
Client (brower, téléphone portable)• Interface graphique
Serveur d’application:• Une partie de l’application• Exemple: EJB (Enterprise Java
Beans), ASP (Active Server Pages), Apache+modules
Serveur BD:• Une partie de l’application• Les manipulations BD
Modélisation Le modèle conceptuel E/AArchitectures Solution SGF
3.24
Interface
Application
SGBD
PC
L’architecture BD personnelle
Modélisation Le modèle conceptuel E/AArchitectures Solution SGF
3.25
BD de décision : Data WarehouseFr. « Entrepôt de données »
Comptabilité Achat Marketing ImportationCaisses
Systèmes de production
• Données historiques• Données agrégées• Pas de manipulation
directe dans le DWH
Data Warehouse(Tera-Octet – Peta-Octet)
Chargement de donnés
Consultation,fouille de données
Modélisation Le modèle conceptuel E/AArchitectures Solution SGF
3.26
Data Warehouse : OLAPAnalyse multidimensionnelleAngl.: OLAP = « Online Analytical processing »Les données sont organisées et traitées en plusieurs dimensions hiérarchiques
Exemple: les articles dans un super marché• Groupes d’article (sous-groupe, group, domaine :
Alimentation/Non-Alimentation)• Temps d’achat (jour, mois, année; période marketing)• Géographique (Magasin, département, région, pays)
Nécessite:• Des performances exceptionnelles du SGBD• Des agrégations (redondance!)• Des outils de navigation puissants (« drilling »)• Des outils de visualisation puissants
Modélisation Le modèle conceptuel E/AArchitectures Solution SGF
3.27
BD à base de fichiers (SGF)Gestion de locations de films
• Recherche de locations d’après titre de film, nom, date: affichage de: titre, nom, date, adresse du client
• Ajout d’une location, suppression d’une location• Modification d’une location• Recherche/modification d’un client
Choix du format de stockage• Fichier indexé• Indexes arbre-B pour les champs titre, nom, date
SOLUTION 1SOLUTION 1
TitreFilm DateDe DateA NomClient Adresse
Création d’un enregistrement
Modélisation Le modèle conceptuel E/AArchitectures Solution SGF
3.28
SGF : solution 1TitreFilm DateDe DateA NomClient Adresse
Définition du fichier:• Redondance: de nombreuses informations sont stockées
plusieurs fois (nom du client, adresse du client).
1 Dances with Wolves 4.9.2004 6.9.2004 Jean Dupont 1, Dickenson Square2 Le Pére Noël est une Ordure 4.6.2004 4.6.2004 Jean Dupont 1, Dickenson Square3 Alien 13.7.2004 14.7.2004 Michael Blake 1, Dickenson Square4 Aliens 15.7.2004 15.7.2004 Michael Blake 1, Dickenson Square5 A Perfect World 2.8.2003 2.8.2003 Giovanni Turino 5, place umberto eco6 Blade Runner 2.8.2003 5.8.2003 Abdelhakim Jaoui 13, place de l'algebre7 Dead Man 2.1.2002 5.1.2002 José Cervantes 5, Cours Emile Zola8 Matrix 3.2.2002 5.2.2002 José Cervantes 5, Cours Emile Zola
Modélisation Le modèle conceptuel E/AArchitectures Solution SGF
3.29
Solution 1 : propriétésRecherche :
• Accès par clef facile (programmation?)
Insertion :• Anomalies : permet d’insérer des adresses différentes
pour le même client. Quelle adresse est la bonne?
Suppression :• Après la suppression de l’enregistrement no. 5, nous
avons perdu l’adresse d’un client
Modification :• La modification de l’adresse d’un client doit être effectuée
dans tous les enregistrements concernant ce client.
Modélisation Le modèle conceptuel E/AArchitectures Solution SGF
3.30
SGF : solution 2Création de deux fichiers basés sur deux enregistrements :
TitreFilm DateDe DateA NomClient
NomClient Adresse
Fichiers des locations :
Fichiers des clients :
1 Dances with Wolves 4.9.2004 6.9.2004 Jean Dupont2 Le Pére Noël est une Ordure 4.6.2004 4.6.2004 Jean Dupont3 Alien 13.7.2004 14.7.2004 Michael Blake4 Aliens 15.7.2004 15.7.2004 Michael Blake5 A Perfect World 2.8.2003 2.8.2003 Giovanni Turino6 Blade Runner 2.8.2003 5.8.2003 Abdelhakim Jaoui7 Dead Man 2.1.2002 5.1.2002 José Cervantes8 Matrix 3.2.2002 5.2.2002 José Cervantes
1 Jean Dupont 1, Dickenson Square2 Michael Blake 1, Dickenson Square3 Giovanni Turino 5, place umberto eco4 Abdelhakim Jaoui 13, place de l'algebre5 José Cervantes 5, Cours Emile Zola
• Pas de redondance• Pas d’anomalies• Programmation difficile!
(jointure des fichiers)
Modélisation Le modèle conceptuel E/AArchitectures Solution SGF
3.31
SGF : résumé• La modélisation de données demande une stratégie, si
nous voulons éviter les problèmes de traitement (anomalies, redondances, etc.)
• Il est désirable de séparer l’aspect implémentation de l’aspect modélisation
(Le « quoi » est plus important que le « comment »)
Modélisation Le modèle conceptuel E/AArchitectures Solution SGF
3.32
Modélisation conceptuelleObjectifs :• Puissance de représentation : prise en compte de la
signification des données et des contraintes entre les données
• Simplicité : facilité de compréhension et d’utilisation• Ajout de données simple : pas de remise en cause du
schéma• Fondation sur une base théorique formelle
Base de connaissance
AbstractionSchéma
conceptuel
ModèleEntité/Association
Modélisation Le modèle conceptuel E/AArchitectures Solution SGF
3.33
Notions de baseChamps (attribut)Ensemble de données de même type représentant des abstractions du monde réel (la plus petite abstraction pourvu d’une signification)EntitéAgrégat de données qui comprend une clef primaireClasse d’entitéEnsemble des entités de même typeClef primaireChamps ou combinaison de champs qui permettent d’identifier, de manière unique, une entité dans sa classeRelation (« association ») Lien qui existe entre entités/champs
Alien
Année
Film
Modélisation Le modèle conceptuel E/AArchitectures Solution SGF
3.34
Les liens fonctionnels: de N à 1
• Toute occurrence de A détermine 0 ou 1 occurrence de B• Toute occurrence de B correspond à plusieurs (0-N)
occurrences de A
Alien
Matrix
Blade Runner
Dead Man
SF Movies
Classique Film
Constance Film
Film Distributeur
Modélisation Le modèle conceptuel E/AArchitectures Solution SGF
3.35
La clef primaire
#Film TitreAnnée
Dracula1992
1958
1979
445
351
1222
La clef primaire est liée a toutes les autres données de l’entité par un lien fonctionnel
Modélisation Le modèle conceptuel E/AArchitectures Solution SGF
3.36
Les liens hiérarchiques : de 1 à N
• Une occurrence de A détermine 0 à N occurrences de B• Une occurrence de B correspond à 0 ou 1 occurrence de A
Place Kleber
Esplanade
Rte du Rhin
Jean Levevre
Jeanne Gavin
Arnaud Dupont
Magasin Employe
Thierry Jolion
Marie Brunie
Modélisation Le modèle conceptuel E/AArchitectures Solution SGF
3.37
Les Liens maillés: de N à MAucune limite dans le nombre d’occurrences
Aliens
Blade Runner
Terminator
The Fugitive
Michael Biehn
Arnold Schwarzenegger
Harrison Ford
FilmActeur
Linda Hamilton
Sigourney Weaver
Rutger Hauer
Modélisation Le modèle conceptuel E/AArchitectures Solution SGF
3.38
Attributs d’une association
Aliens
Blade Runner
Terminator
Christian Wolf
Jean Dupont
FilmClient
Michael Blake
13.9.2004-14.9.2004, Magasin 2
13.8.2003-14.8.2002, Magasin 1
4.3.2003-6.3.2003, Magasin 1
27.11.2003-30.11.2003, Magasin 3
2.5.2004-10.5.2004, Magasin 1
Modélisation Le modèle conceptuel E/AArchitectures Solution SGF
3.39
Création d’un schéma conceptuel E/A
• Identifier les objets pour lesquels on veut collecter des données
• Déterminer les entités ayant chacune une clef primaire. Si nécessaire, introduire un nouvel attribut (« surrogate key »)
• Donner la liste complète des attributs de chaque entité
• Indiquer les associations entre les entités - sans omettre de préciser la cardinalité de chaque lien
• Créer une représentation graphique
Modélisation Le modèle conceptuel E/AArchitectures Solution SGF
3.40
Représentation graphique du schéma E/AUML: « Unified Modeling Language »
Film Distributeur
Magasin Employe
Film Client
* 1
0..1 *
* *
1 Un seule
* Plusieurs (0 à N)
0..1 Optionnel
1..* Obligatoire
0..* {ord} Ordonné
3..5 Limité
Modélisation Le modèle conceptuel E/AArchitectures Solution SGF
Recommended