Upload
others
View
6
Download
0
Embed Size (px)
Citation preview
1
Réda DEHAK [email protected]
Réda DEHAK 2
Organisation du cours
• Horaires :– Cours : 42 heures en T3 (jeudi + vendredi).– TD : 4 heures (mercredi)
• Projet :– Conception et utilisation d’une base de données sous
Postgresql.• Pré-requis :
– Théorie des ensembles– Algorithmes et structures de données.
Réda DEHAK 3
Plan du cours BDD
1. Conception d’une BD :• Comment construire une BD?• Quelles sont les informations à rajouter dans la BD?• Comment structurer une BD?• Trouver la meilleure représentation• …
2. Utilisation d’une BD :• Comment accéder aux informations contenues dans la BD?• Comment utiliser les capacités du SGBD?• …
3. Implémentation des SGBD (DBMS) :• Comment implémenter un SGBD : traitement des requêtes, gestionnaire des
transactions, organisation du support physique … ?
Réda DEHAK 4
Conception d’une base de données
1. Le modèle Entité Association.
2. Le modèle Relationnel.
3. Conception et optimisation du schéma relationnel (Formes normales).
4. Conception et optimisation du schéma physique.
Réda DEHAK 5
Utilisation d’une BD
1. Rappel de logique.2. Algèbre relationnel & Calcul
relationnel.3. Le langage SQL :
• Introduction.• Définition du schéma.• Requêtes sur une table.• Requêtes sur plusieurs tables.• Insertion, Suppression et MAJ.• Contrainte, Vue et Trigger.• PL/SQL
Réda DEHAK 6
Implémentation des SGBD
1. Stockage des données.2. Les indexes.3. Évaluation des requêtes.4. Optimisation des requêtes.5. Gestion de la concurrence
des transactions.6. Recouvrement et gestion des
logs.
2
Réda DEHAK 7
Bibliographie
1. R. Ramakrishnan, J. Gehrke, « Database
Management Systems », 3e édition, 2003.
2. J.D. Ullman, H.G. Molina, J. Widom,
« Database Systems : The Complete Book »,
2001.
3. R. Elmasri, S.B. Navathe, « Fundamentals of
Database Systems », 2003.Réda DEHAK 8
Bibliographie
4. F. Brouard, « SQL », 2001.
http://sqlpro.developpez.com
5. J. Celko, « SQL avancé : programmation et
techniques avancées », 2000.
6. P. Gulutzan, T. Pelzer, « SQL-99 Complete,
Really: An Example-Based Manual of the
New Standards », 1999.
Réda DEHAK 9
Bibliographie
7. G.C. Simsion, « Data ModelingEssentials: Analyse, Design andInnovation », 2000.
8. D. Kroenke, « Database Processing:Fundamentals, Design & Implementation», 2003.
Réda DEHAK 10
Plan du cours
1. Définitions.
2. Objectifs et fonctions d’un SGBD.
3. Architecture d’un SGBD.
4. Organisation d’une BD.
5. Histoire des SGBD.
Réda DEHAK 11
Base de données (Database)
• Base de données (BD) :
– Une collection de données modélisant les objets d’une partie du monde réel et servant de support à une application.
– Exemple : La scolarité des étudiants à EPITA…
Réda DEHAK 12
Système de Gestion de Base des Données (SGBD)
DataBase Management System (DBMS)
• Système de Gestion de Base de Données (SGBD)– Système logiciel gérant une BD
• Peut avoir des composantes matériel
– Mono ou multi-ordinateur– En général, peut gérer plusieurs BDs– Peux aussi accéder aux BDs d’autres
SGBDs
3
Réda DEHAK 13
Banque de données
• Banque de données :– Une base de données (BD).– Un système de gestion de base de données (SGBD).– Services …
+ +
Réda DEHAK 14
Plan du cours
1. Définitions.
2. Objectifs et fonctions d’un SGBD.
3. Architecture d’un SGBD.
4. Organisation d’une BD.
5. Histoire des SGBD.
Réda DEHAK 15
Fichiers vs. SGBD?
Fiches de paye
Production en temps réel
Commandes
Clients
PiècesGestion d’une entreprise
Réda DEHAK 16
Fichiers vs SGBD?
Programme 1
Données
Fichiers
Programme 2
Données
Fichiers
Programme 3
Données
Fichiers
Programme 4
Données
Fichiers
Relations ?
Réda DEHAK 17
Problèmes avec les fichiers
• Redondance des données.– Partage limité au niveau du fichier.– Problèmes de cohérence globale des données.
• Mauvaise structuration des données.• Dépendance entre les programmes et les données
(fichiers).– Modification des fichiers modification des
programmes.– Difficulté pour le développement de nouvelles
applications.Réda DEHAK 18
Fichiers vs. SGBD?
Fiches de paye
Production en temps réel
Commandes
Clients
PiècesGestion d’une entreprise
4
Réda DEHAK 19
SGBD
Fiches de paye
Production en temps réel
Commande
Clients
Pièces
Base de données
Réda DEHAK 20
Base de données
Programme 1 Programme 2 Programme 3 Programme 4
SGBD : Requêtes, transactions
Base de données
Réda DEHAK 21
Objectifs d’un SGBD
1. Indépendance des programmes aux données :─ Dépendance physique.─ Dépendance logique.
2. Simplicité des Manipulations des données :─ Langage non procédural : quoi et non comment.─ Recherche, Insertion et Mise à jour.
3. Efficacité des accès aux données :─ Temps de réponse.─ Débit global.
Réda DEHAK 22
Objectif d’un SGBD
4. Partage et sécurité des données :─ Simultanéité lecture/écriture.─ Confidentialité (authentification, droits d'accès, …).─ Gestion de la concurrence des transactions.─ Restauration après pannes (journal des transactions, sauvegarde).
5. Redondance contrôlée des données :─ Sauvegarde des données.
6. Conception facilité des applications :– Conception visuelle des BD (diagrammes E/R, E/A, objets).– Conception des traitements (diagrammes de flux entre modules).– Dictionnaire de données (objets BD, graphiques, applicatifs).
Réda DEHAK 23
Objectifs des SGBD
7. Facilité de l’administration système de la BD :– Outils d'audit & de tunning.– Visualisation des plans d ’accès.– Élaboration de statistiques.
Réda DEHAK 24
Langage des SGBD
• Langage de définition des données (LDD) :– Définition des schémas conceptuel, externe et
interne.– Ces définitions sont stockées dans le répertoire
système.• Langage de manipulation de données (LMD) :
– Langage de requêtes déclaratif pour lire et mettre àjour les données.
– Peut être autonome (ex. SQL) ou intégré dans un langage de programmation (C, java, …).
5
Réda DEHAK 25
Utilisateurs d’un SGBD
• Utilisateur final (ad-hoc) :– Recherche d’informations sans connaître la BD.– Accède à la BD par des interfaces applicatives, Web…– Utilisation de langage simple (ex: QBE).
• Programmeur d’applications :– Conçoit et implémente des applications qui accèdent à la BD
pour les utilisateurs finaux.– Spécialiste de SQL.
• Administrateur de la BD :– 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 reformate la BD.– Gère la sécurité et la fiabilité.
Réda DEHAK 26
Plan du cours
1. Définitions.
2. Objectifs et fonctions d’un SGBD.
3. Architecture d’un SGBD.
4. Organisation d’une BD.
5. Histoire des SGBD.
Réda DEHAK 27
SGBDM.S.
Gestionnaire de fichiers
SGBD
Programmes d’application
Programmes d’application
Programmes d’application
Programmes d’application
SGBD externe
SGBD interne
Réda DEHAK 28
Architecture d’un SGBD
Gestionnaire de l’espace disque
Gestionnaire du tampon
Méthodes d’accès et fichiersGestionnaire des transactions
Gestionnaire des verrous
Récupération
Plan d’exécution Parser
OptimisationÉvaluation des opérateurs
Index, donnéesBase de donnéesSGBD
Évaluation des
requêtes
Gestion de la concurrence
Réda DEHAK 29
Décomposition d’un SGBD
Data
Metadata
Storage Manager
Query Processor
Transaction Manager
Schema Modification Query Modification
Réda DEHAK 30
Storage manager
Il est composé de deux parties :
1. Le file manager : permet de localiser les fichiers sur le disque et ainsi pouvoir récupérer les blocs du disque pour le buffer manager.
2. Le buffer manager : extraire un bloc de données du disque via le file manager et de le ranger en mémoire vive. Il gère la synchronisation entre le disque et la mémoire vive.
6
Réda DEHAK 31
Transaction
• Transaction : Une séquence considérée atomique d’actions (reads/writes) sur la base de données.
• Chaque transaction, qui s’exécute complètement, doit laisser la BD dans un état cohérent (consistent state) si la BD était dans un état cohérent avant le début de la transaction.
– Les utilisateurs peuvent spécifier des contraintes d’intégrités sur les données. Le SGBD doit forcer la satisfaction de ces contraintes.
– Le SGBD n’a aucune informations sur la sémantique des informations stockées dans la BD.
Réda DEHAK 32
Objectifs du Transaction Manager
• Préserver les propriétés ACID des transactions.– Atomicité : tout ou rien.– Cohérence de la base.– Isolation : Exécution indépendante.– Durabilité : préserver les modifications après un
commit même en cas de panne.
• Gestion des verrous.• Gestion du journal de la BD (les logs).
Réda DEHAK 33
Plan du cours
1. Définitions.
2. Objectifs et fonctions d’un SGBD.
3. Architecture d’un SGBD.
4. Organisation d’une BD.
5. Histoire des SGBD.
Réda DEHAK 34
Organisation d’une BD
Base de données physique
Schéma physique
Schéma conceptuel
Schéma externe 1
Schéma externe 2
Schéma externe n
Niveau interneNiveau conceptuelNiveau externe
User 1
User 2
User n Modélisation du Monde réel
Réda DEHAK 35
Exemple
• Conceptuel – description du monde réel
• Interne– implémentation dans les
fichiers
• Externe (vues)– description vues par un
utilisateur (ou un groupe d’utilisateurs)
Client Commande Produit
02345425Alex11097
04567689Durant12345
014586789Dupont12456
TelNomN°
Client
Index
13ScieAlex
4567ClouDupont
1234marteauDupontQteProduitNom
Commande
Réda DEHAK 36
SGBD
Fiches de paye
Production en temps réel
Commande
Clients
Pièces
Base de données
7
Réda DEHAK 37
Plan du cours
1. Définitions.
2. Objectifs et fonctions d’un SGBD.
3. Architecture d’un SGBD.
4. Organisation d’une BD.
5. Histoire des SGBD.
Réda DEHAK 38
Histoire des bases de données (1)
• Années 1960 :– Début 1960 : Charles Bachman développe le premier
SGBD, IDS, chez Honeywell.• Modèle réseau : Les associations entre les données sont
représentées par un graphe.
– Fin 1960 : IBM lance le SGBD IMS• Modèle hiérarchique : les associations entre les données
sont représentées par un arbre.
– Fin 1960 : Standardisation du modèle réseau, Committee On DAta SYsteme Languages (CODASYL).
Réda DEHAK 39
Histoire des bases de données (2)
• Années 1970 :– 1970 : Ted Codd définit le modèle relationnel au IBM San Jose
Laboratory (aujourd’hui IBM Almadem)– 2 projets de recherche majeurs
• INGRES : University of California, BerkleyDevint le produit INGRES suivi par POSTGRES, logiciel libre, quidevint le produit ILLUSTRA racheté par INFORMIX.
• Système R. IBM San Jose LaboratoryDevint DB2, inspira ORACLE
– 1976 : Peter Chen définit le modèle entité association– 1978 : Naissance de Relational Software Inc (ORACLE)
(version 1.0).
Réda DEHAK 40
Histoire des bases de données (3)
• Années 1980 :– Maturation de la technique relationnelle.– 1989 : Standardisation de SQL (SQL89).
• Années 1990 :– 1992 : Norme SQL2 (SQL92)– Amélioration constante de la technologie relationnelle.– Support de la distribution et du parallélisme.– Modèle Objet (ODMG).– 1999 : Le relationnel-objet SQL3 (SQL99)– Nouveaux domaines d’application : entrepôts de données et
décisionnel, Web, Multimédia, Mobiles, etc.
Réda DEHAK 41
Histoire des bases de données (4)
• Recherches actuelles :– Internet et Web.– Base de données multimédia.– Aide à la prise de décisions et extraction de
connaissance (DATA MINING)– Interrogation par le contenu des objets multimédia
distribués.– Systèmes d’Informations Géographiques (SIG)– …
Réda DEHAK 42
Types de SGBD : Par modèle de données
• 1ère génération 1950 – 65– SGF, SGF généralisés avec les langages booléens de manip.
• 2ème génération 1965 - 70– SGBD navigationnel
• Hierarchique (IMS), Réseau (Codasyl), Pseudo-relationnel
• 3ème génération 1969 - …– SGBD relationnel (DB2, Oracle, Informix, MsAcess…
• SGBD OO 1990 - 1999– En pratique : une impasse (O2, Objectstore, Objectivity..)
• SGBD relationnel – objet (RO) 1993 - …– Évolution de tout SGBD relationnel