Module IUP3 Bases de Données Avancées

publicité
Module IUP3
Bases de Données Avancées
Esther Pacitti
Objectifs générales du Module
• Réviser les principales concepts de BD relationnelle et
la langage algébrique et SQL (interrogation et màj)
• Comprendre les composants d’un SGBD et la gestion
de transactions
• Comprendre PL/SQL et la gestion de triggers
• Comprendre le modèle Relationnelle Objet
• Comprendre les aspects d’optimisation des requêtes
• Comprendre le besoin des Entrepôts de Données, les
architectures, les Data Marts, etc.
Bibliographie
• Supports (à photocopier) et notes de Cours
• G. Gardarin. Bases de Données –objet et relationelle.
Eyrolles, 1999
• G. Gardarin. Maîtriser les Bases de Doonées.
• Eyrolles, 1993
• G. Gardarin, Data Web, Data Media, Data Warehouse Data
Mining. Eyrolles, 1999
• M.T. Ozsu, P. Valduriez, Principles of Distributed
Databases Systems, 2nd edition, Prentice Hall, 1999.
• R. Ramakrishnan and J. Gehrke, Database Management
Systems, 2nd edition, McGraw Hill, 2000.
Plan du Cours
• Révision (en TD et TP)
– Modèle Relationnel, algèbre rel.
– SQL
– Mis-à-jour, contraintes, etc
• Principes d’optimisation de requêtes
• PL/SQL et Triggers
• Les bases de données réparties, les architectures
client/serveurs et l’utilisation de Java/JDBC
• Langage Relationnelle Objet d’Oracle
• Composants d’un SGDB et la Gestion de
Transactions et Concurrence
Calendrier
•
•
•
•
TD: semaine 38 à 50
TP: semaine 41 à 45
Cours : semaine 38 à 44
Contrôle Continu
– semaine 46
Révision Générale
–
–
–
–
L’approche bases de données
Définitions
Objectifs et fonctions
Architecture
Gestion de fichiers
• Les données sont stockées dans des fichiers
– différentes méthodes d’accès (séquentiel, indexé, haché,
etc.)
– un fichiers peut être utilisé par plusieurs programmes
PROGRAM 1
Données
Fichier 1
PROGRAM 2
Données
PROGRAM 3
Données
Système
de fichiers
Fichier 2
Problémes avec les fichiers
• Redondance des données
– partage limité, au niveau du fichier
• Faible structuration des données
– fichiers plats (exception: COBOL)
• Dépendance entre programmes et fichiers
– modif. de fichier => modif. de programmes
– coût élevé de maintenance des applications
• Pas de cohérence globale des données
• Difficile de développer de nouvelles applications
Approche Base de Données
PROGRAM 1
SGBD
Requêtes
PROGRAM 1
Transactions
…
PROGRAM 2
Base de
données
Définitions
• Une base de données (BD) est une collection
structurée de données sur des entités qui existent
dans le contexte modélisé
• La structure d’une base de données est déterminée
par le modèle de données qui est utilisé
• Un système de gestion de base de données (SGBD)
est un logiciel qui facilite la gestion et l’accès à la
BD
• Une banque de données inclut une BD, un SGBD et
des services pour un domaine particulier (par ex.
banque du génome)
Modèle de données
• Formalisme qui définit la structure et la
sémantique des données
• Modèle de données conceptuel
– pour la conception d’application, supporté par un outil
(CASE tool)
– modèles entité-association, objet (UML)
• Modèle de données logique
– pour la conception de BD, supporté par un SGBD
– modèles hiérarchique, réseau, relationnel, objet
• La structure est appelée le schéma
– un schéma peut avoir plusieurs instances
Exemple d’instances de relations
EMP
WORKS
ENO
ENAME
TITLE
E1
E2
E3
E4
E5
E6
E7
E8
J. Doe
M. Smith
A. Lee
J. Miller
B. Casey
L. Chu
R. Davis
J. Jones
Elect. Eng.
Syst. Anal.
Mech. Eng.
Programmer
Syst. Anal.
Elect. Eng.
Mech. Eng.
Syst. Anal.
PROJ
PNO
PNAME
BUDGET
P1
P2
P3
P4
P5
Instrumentation
Database Develop.
CAD/CAM
Maintenance
CAD/CAM
150000
135000
250000
310000
500000
ENO PNO
E1
E2
E2
E3
E3
E4
E5
E6
E7
E7
E8
P1
P1
P2
P3
P4
P2
P2
P4
P3
P5
P3
RESP
Manager
Analyst
Analyst
Consultant
Engineer
Programmer
Manager
Manager
Engineer
Engineer
Manager
DUR
12
24
6
10
48
18
24
48
36
23
40
Objectifs des SGBD
• Contrôle intégré des données
–
–
–
–
cohérence et intégrité
partage
performances d’accès
sécurité
• Indépendance des données
– logique : cache les détails de l’organisation logique des
données
– physique : cache les détails du stockage physique des
données
Architecture ANSI/SPARC
ASSIGNMENT(ENO,PNO,ENAME,PNAME)
Schéma
externe
Schéma
conceptuel
Schéma
interne
Vue
externe
Vue
externe
Vue
externe
EMP(ENO: string, ENAME: string, TITLE: string)
Vue
PROJ(PNO: string, PNAME: string, BUDGET: integer)
conceptuelle
WORKS(ENO: string, PNO: string, RESP: string,
DUR: integer)
Vue
interne
SGBD
Stocke les relations dans des fichiers, avec
des index sur certains attributs.
Fonctions des SGBD
• Schéma intégré
– vue uniforme des données, par ex. sous formes de
relations (ou tables)
• Intégrité déclarative et cohérence
– 24000 ≤ Salaire ≤ 250000
– l’utilisateur spécifie et le SGBD valide
• Vues
– réorganisation de relations pour certaines classes
d’utilisateurs
• Accès déclaratif
– avec un langage de requête (SQL), l’utilisateur spécifie
quoi et non comment
Fonctions des SGBD
• Traitement et optimisation de requêtes
– performances obtenues automatiquement
• Transactions
– exécution des requêtes par des unités atomiques
– indépendance à la concurrence multi-utilisateur et aux
pannes
• Conception d’applications BD
– conception visuelle des schémas de BD
– conception des traitements et des interfaces graphiques
• Administration système
– outils d’audit et de réglage (tuning)
– visualisation des plans d’accès
Langages des SGBD
• Langage de définition de données (DDL)
– pour définir les schémas conceptuel, externel et interne
– les définitions sont stockées dans le répertoire système
• Langage de manipulation de données (DML)
– langage de requêtes déclaratif pour lire et mettre à jour
les données
– peut être autonome (par ex. SQL seul) ou intégré dans
un langage de programmation (par ex. Java/SQL)
Utilisateurs d’un SGBD
• Utilisateur final (end user)
– accède la BD par des formes d’écran, des interfaces applicatives
ou, pour les plus experts, des requêtes ad hoc en DML
• Programmeur d’application
– conçoit et implémente des applications qui accèdent la BD
• Administrateur de BD (DBA)
–
–
–
–
définit et gère le schéma conceptuel et les vues
gère le schéma interne et règle les performances
charge et reformatte la BD
gère la sécurité et la fiabilité
Architecture système
Utilisateurs finals
Formes
Applications
Programmeurs
d’application
Interface DML
CLI
Administrateur
de BD
DDL
Commandes SQL
Processeur de requêtes
Gérant de fichiers
Gérant
de
transactions
Gérant de tampons
Gérant du disque
Répertoire
système
Index
Fichiers
Gérant de pannes
SGBD
Compilateur
DDL
Téléchargement