Révision Générale

publicité
Révision Générale
–  L’approche bases de données
–  Définitions
–  Objectifs et fonctions
–  Architecture
–  Modèle Relationnel
–  SQL
–  Mis-à-jour, contraintes et triggers
–  Gestion de Vues
–  Gestion de transactions et concurrence
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 conceptuelle
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 (tunning)
–  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"
Index"
"
Répertoire"
"
système"
Fichiers"
Gérant de pannes"
SGBD"
Compilateur "
DDL"
Téléchargement