introduction aux bases de données 2004/2005 -...

41
3.1 Introduction aux Bases de Données 2004/2005 Christian Wolf [email protected] Ecole Nationale Supérieur de Physique de Strasbourg Chapitre 3 Objectifs et Architectures, Modélisation Conceptuelle

Upload: hoangquynh

Post on 06-Feb-2018

217 views

Category:

Documents


0 download

TRANSCRIPT

3.1

Introduction aux Bases de Données 2004/2005

Christian [email protected]

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

3.41

Représentation graphique du schéma E/A

FilmnumFilmTitrePaysAnneeNoteDureeLangue

Magasinadresse

*

copies

* stock

Représentation• des attributs d’entités• des propriétés d’associations

Modélisation Le modèle conceptuel E/AArchitectures Solution SGF