organisation du cours - free

7
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.

Upload: others

Post on 18-Oct-2021

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Organisation du cours - Free

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.

Page 2: Organisation du cours - Free

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

Page 3: Organisation du cours - Free

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

Page 4: Organisation du cours - Free

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, …).

Page 5: Organisation du cours - Free

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.

Page 6: Organisation du cours - Free

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

Page 7: Organisation du cours - Free

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