Vous êtes sur la page 1sur 34

Master 1 2020/2021

Bibliographie
 G. Gardarin, Bases de Données – objet/relationnel, Eyrolles, 1999.

 R. Ramakrishnan et J. Gehrke, Database Management Systems,


Second Edition, McGraw-Hill, 2000.

 T. Connoly, C. Begg et A. Strachan, Database Systems Apractical


Approach to Design, Implementation and Management, 1998.

 A. Silberschatz, H.F. Korth et S. Sudarshan, Database System


Concepts, McGraw-Hill, 1996.

 J.D. Ullman et J. Widom, A first Course in Database Systems,


Prentice Hall, 1997.

2
Introduction
 Les organisations gèrent des volumes de données très grands
 Giga, Tera, Peta –octets
 Numériques, Textuelles, Multimédia (images, vidéos,...)
 Il faut pouvoir facilement
 Archiver les données sur mémoires secondaires permanente
 Retrouver les données pertinentes à un traitement
 Mettre à jour les données variant dans le temps
 Les données sont structurées et identifiées
 Données élémentaires ex: Votre nom, Votre note en BD
 Données composées ex: Votre CV, vos résultats de l'année
 Identifiant humain ex: numéro d’étudiant, numéro d’immatriculation de
véhicule
 Qu'est-ce qu'une base de données ?
 Collection de données structurées
 Interrogeable et modifiable par des langages de haut niveau (proches du langage
naturel)
 Partagée par plusieurs applications/utilisateurs

3
Historique
Années 60:
Fichiers séquentiels
Accès séquentiel aux données puis sur clé.
Années 70:
Bases de données hiérarchiques puis réseaux
Données stockées dans des fichiers et reliées par des pointeurs.
Interrogation par navigation
Années 80:
Bases de données relationnelles
Relation entre ensembles de données
Interrogation par un langage proche du langage naturel
Années 90 et 2000:
Bases de données objets, XML …

4
Gestion des données (1)
La gestion de données par l’utilisation de fichiers
présente de nombreux inconvénients:
1. Absence de standardisation
plusieurs formats de stockage, plusieurs langages
2. Redondance des données (duplication)
Problèmes de mise à jour, incohérence des données
3. Interrogation par langage de programmation
Difficulté de maintenance
Coût élevé

5
Gestion des données (2)
4. Pannes (arrêt brutal, panne de disque …)
pas de solution standardisée
5. Partage de données
pas de solution standardisée
6. Confidentialité
Pas de solution standardisée

Pas de solution standardisée => une solution doit être


conçue et implémentée pour chaque application.

6
L’approche "bases de données"
Modélisation des données
 Éliminer la redondance de données
 Centraliser et organiser correctement les données
 Plusieurs niveaux de modélisation
 Outils de conception

Logiciel de Système de Gestion de Bases de Données (SGBD)


 Factorisation des modules de contrôle des applications:
interrogation, pannes, confidentialité, partage …
 Administration facilitée des données

7
Objectifs des SGBD
1. Indépendance physique des données
2. Indépendance logique des données
3. Langage simple
4. Gestion des vues
5. Optimisation des questions
6. Gestion de la cohérence
7. Gestion des pannes
8. Concurrence d’accès
9. Gestion de la confidentialité
10. Standards
8
SGBD relationnels (SGBDR)
Logiciels commerciaux/payants:
 Oracle (plus de 60% du marché mondial des SGBDR)
 Microsoft SQL server
 IBM DB2
 Sybase Anywhere
 …

Logiciels libres/gratuits:
 MySQL
 PostrgreSQL
 mSQL
 …

9
Objectifs des SGBD
1. Indépendance physique des données
2. Indépendance logique des données
3. Manipulation simple
4. Gestion des vues
5. Optimisation des questions
6. Gestion de la cohérence
7. Gestion des pannes
8. Concurrence d’accès
9. Gestion de la confidentialité
10. Standards
10
Architecture à 3 niveaux
Vue 1 Vue 2 Vue 3 Schémas externes
(vues)

Schéma conceptuel

Schéma interne (stockage)

11
Indépendance Physique
 Indépendance des programmes
d'applications vis à vis du modèle
physique :
 Possibilité de modifier les structures de
stockage (fichiers, index, chemins d'accès, …)
sans modifier les programmes;
 Ecriture des applications par des non-
spécialistes des fichiers et des structures de
stockage;
 Meilleure portabilité des applications et
indépendance vis à vis du matériel.
12
Indépendance logique
 Les applications peuvent définir des vues logiques de la
BD
 Possibilité pour chaque application d'ignorer les besoins
des autres (bien que partageant la même BD).
 Possibilité d'évolution de la base de données sans
réécriture des applications :
 ajout de champs, ajout de relation, re-nommage de champs.

 Possibilité d'intégrer des applications existantes sans


modifier les autres.
 Possibilité de limiter les conséquences du partage :
Données confidentielles.
13
Langage simple
 La manipulation se fait via un langage déclaratif
 La question déclare l’objectif sans décrire la méthode
 Le langage suit une norme commune à tous les
SGBD
 SQL : Structured Query Langage

 Sémantique
 Logique du 1er ordre
 Syntaxe (aperçu !)
SELECT <structure des résultats>
FROM <relations>
WHERE <conditions>
14
Des vues multiples des données
 Les vues permettent d’implémenter l’indépendance logique
en permettant de créer des relations virtuelles
 Vue = Question stockée
 Le SGBD stocke la définition et non le résultat
 Exemple :
 la vue des patients sétifiens
 la vue des projets de chaque service (chaque employer ne peut
voir que les projets de son service)
 La vue des services statistiques
 ...

15
Exécution et Optimisation
 Traduction automatique des questions déclaratives en
programmes procéduraux :
 Utilisation de l’algèbre relationnelle

 Optimisation automatique des questions


 Utilisation de l’aspect déclaratif de SQL
 Gestion centralisée des chemins d'accès (index, hachages,
…)
 Techniques d’optimisation poussées

 Economie de l'astuce des programmeurs


 milliers d'heures d'écriture et de maintenance de logiciels.

16
Intégrité Logique
 Objectif : Détecter les mises à jour erronées

 Contrôle sur les données élémentaires


 Contrôle de types: ex: Nom alphabétique
 Contrôle de valeurs: ex: Salaire mensuel entre 15000 et
500000

 Contrôle sur les relations entre les données


 Relations entre données élémentaires:
 Prix de vente > Prix d'achat
 Relations entre objets:
 Un employer ne doit être rattaché qu'à un seul service.

17
Contraintes d’intégrité
 Avantages :
 simplification du code des applications
 sécurité renforcée par l'automatisation
 mise en commun des contraintes

 Nécessite :
 un langage de définition de contraintes d'intégrité
 la vérification automatique de ces contraintes

18
Intégrité Physique
 Motivations : Tolérance aux fautes
 Transaction Failure : Contraintes d'intégrité, Annulation
 System Failure : Panne de courant, Crash serveur ...
 Media Failure : Perte du disque
 Communication Failure : Défaillance du réseau

 Objectifs :
 Assurer l'atomicité des transactions
 Garantir la durabilité des effets des transactions commises

 Moyens :
 Journalisation : Mémorisation des états successifs des
données
 Mécanismes de reprise

19
Transaction
Incohérence possible...
Etat cohérent Etat cohérent

Begin Commit
Transaction

Begin
Compte1 = Compte1 - 3000
Compte2 = Compte2 + 3000
Commit T1
20
Atomicité et Durabilité
ATOMICITE Panne
DURABILITE

Begin Begin
Compte1 = Compte1 - 3000 Compte1 = Compte1 - 3000
Compte2 = Compte2 + 3000 Compte2 = Compte2 + 3000
Commit T1 Commit T1 Crash disque

 Restaurer les
 Annuler le débit !!
données telles qu'elles
étaient avant la
transaction 21
Partage des données

BD

• Accès concurrent aux mêmes données


Conflits d’accès !!
22
Isolation et Cohérence

BD

• Le SGBD gère les accès concurrents


 Chacun à l’impression d’être seul (Isolation)
 Cohérence conservée (Pas de mises à jour
conflictuelles)
23
Confidentialité
 Objectif : Protéger les données de la BD contre
des accès non autorisés
 Deux niveaux :
 Connexion restreinte aux utilisateurs répertoriés (mot
de passe)
 Privilèges d'accès aux objets de la base

 Objets : Relation, Vue, autres objets (procédures, etc.)

24
Standardisation
 L’approche bases de données est basée sur plusieurs
standards
 Langage SQL (SQL1, SQL2, SQL3)
 Communication SQL CLI (ODBC / JDBC)
 Transactions (X/Open DTP, OSI-TP)

 Force des standards


 Portabilité
 Interopérabilté
 Applications multisources…

25
Architecture des SGBD
 Les architectures physiques de SGBD sont très liées au mode
de répartition.
— BD centralisée
— BD client/serveur
— BD client/multi-serveurs
— BD répartie
— BD hétérogène
— BD mobile
 Le challenge se déplace des Péta-bases aux Pico-bases.
— Péta-bases => parallélisme et grandes mémoires
— Pico-bases => faible empreinte et forte sécurité

26
Applications traditionnelles des SGBD
 OLTP (On Line Transaction Processing)
 Cible des SGBD depuis leur existence
 Banques, réservation en ligne ...
 Très grand nombre de transactions en parallèle
 Transactions simples

 OLAP (On Line Analytical Processing)


 Entrepôts de données, DataCube, Data Mining …
 Analyse des données, extraction de connaissances,
prévisions …
 Faible nombre de transactions
 Transactions très complexes

27
Langage simple
Langage de manipulation de données (Data manipulation
Language DML):
 Ajouter des données
 Modifier des données
 Supprimer des données
 Interroger les données
Langage de définition de données (Data Definition Language
DDL):
 Créer un schéma
 Modifier un schéma
 Supprimer un schéma
28
Gestion des vues
Les vues permettent de définir le schéma externe propre
à chaque utilisateur/catégorie d’utilisateurs.

Elles permettent également de définir une politique de


confidentialité des données en permettant ou non
l’accès aux utilisateurs/catégories d’utilisateurs à des
objets de la base de données.

29
Optimisation des questions
Le SGBD doit mettre en place au niveau du schéma
interne des structures accélératrices et méthodes de
stockage de manière à rendre plus rapide la réponse
aux questions des utilisateurs.

Différents types d’index et d’algorithme de hachage et


techniques de clustering (regroupement de données)
permettent d’accélérer les temps de réponse.

30
Gestion de la cohérence
Le SGBD doit garantir la cohérence des données par
rapport aux contraintes d’intégrité définies au niveau
du schéma relationnel.
Exemple:
Le salaire d’un employé ne doit mas être inférieur à celui
de son supérieur direct.
Un client ne peut passer de nouvelles commandes s’il n’a
pas payer toutes ses factures des commandes
précédentes.

31
Gestion des pannes
Le SGBD doit garantir la reprise sur panne sans perte de
données en cas d’arrêt brutal du serveur (coupure de
courant…) ainsi qu’en cas de panne matérielle (CPU,
RAM, disque).

Une technique de redondance doit être utilisée pour


restaurer la base de données si une panne de disque
rend la récupération des données sur ce dernier
impossible.

32
Concurrence d’accès
Le SGBD doit permettre à plusieurs utilisateurs de
manipuler la base de données en même temps sans
générer de conflits d'accès.

Cela ne doit pas conduire à la perte de mises à jour.

33
Gestion de la confidentialité
Chaque utilisateur/catégorie d’utilisateurs dispose de
droits d’accès définis par l’administrateur de la base de
données. L’ensemble de ces droits d’accès constituent
la politique de confidentialité de la base de données.

Le SGBD doit garantir que cette politique de de


confidentialité soit respectée.

34

Vous aimerez peut-être aussi