Vous êtes sur la page 1sur 39

Bases de données

Introduction et
Objectifs
1. Introduction
• Les entreprises gèrent des volumes de données très grands
– Giga, Terra, Péta –octets
– Numériques, Textuelles, Multi-média (images, films,...)
• 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 salaire, Votre note en BD
– Données composées ex: Votre CV, vos résultats de l'année
– Identifiant humain ex: NSS ou machine: P26215
• Qu'est-ce qu'une BD ?
– Collection de données structurées reliées par des relations
– Interrogeable et modifiable par des langages de haut niveau

2
La hiérarchie des mémoires
Capacité Mémoire
vs terciaire
Coût & • Un accès disque est environ
Vitesse 100,000 fois plus lent qu’un
accès mémoire!
5-10 ms Mémoire
• 
secondaire
– Eviter les accès disques
• grande mémoire principale

80-200 ns Mémoire principale – Amortir les accès disques


(RAM) • placement des données
– Minimiser le nombre d’accès disques
3-10 ns Cache (SRAM) • méthodes d’accès

2-5 ns Registres
3
Un peu d'histoire
• Années 60:
– Récipients logique de données  fichiers sur dique
– Accès séquentiel puis sur clé
• Lire (Nomf, Article), Ecrire (Nomf, Article)
• Lire (Nomf, Article, Clé), Ecrire (Nomf, article, Clé)
• Années 70:
– Avènement des Bases de Données Réseaux (BD)
– Ensemble de fichiers reliés par des pointeurs
– Langage d'interrogation par navigation
• Années 80:
– Avènement des Bases de Données Relationnelles (BDR)
– Relations entre ensemble de données
– Langage d'interrogation par assertion logique

4
Systèmes de fichiers
Caractéristiques

Comptabilité Chirurgie

Problèmes
Consultations Psychiatrie

5
Format des fichiers Caractéristiques
Plusieurs applications
 plusieurs formats
Talla Dika  plusieurs langages
Turlututusqjsk
Turlututusqjsk
Symptomes
Symptomes :: yy Symptom:
Symptom: yyyy
yyyy
Turlututu
Turlututu :: sqj Analyses
sqj Analyses xxxx
xxxx
Symptomes :: yy
Symptomes
Turlututu :: sdd
Turlututu sdd Turlututudhjsd
Turlututudhjsd
Analyses :: xxx
xxx Analyses
Analyses Analyses :xx
:xx

Problèmes
 Difficultés de gestion

Achu Dongo
Turlututu
Turlututu :: sq
sq
Symptomes
Symptomes :: yyyy Symptomyyyy
Symptomyyyy
Analyses
Analyses :: xxxx
xxxx Analysesxxxx
Analysesxxxx
Symptomes
Symptomes :: yy
yy Turlututudhjsd
Turlututudhjsd

6
Redondance (données) Caractéristiques
Plusieurs applications
 plusieurs formats
Talla Dika  plusieurs langages
Turlututusqjsk
Turlututusqjsk
Symptom:
Symptom: yyyy
yyyy
Redondance de données
Symptomes
Symptomes :: yy Analyses
Analyses xxxx
xxxx
Turlututu
Turlututu :: sqj
sqj
Symptomes
Symptomes :: yy Turlututudhjsd
Turlututudhjsd
Turlututu : sdd
Turlututu : sdd Analyses
Analyses :xx
:xx
Analyses
Analyses :: xxx
xxx

Problèmes
 Difficultés de gestion
 Incohérence des données

Achu Dongo
Turlututu
Turlututu :: sq
sq

Symptomes
Symptomes :: yyyy Symptomyyyy
Symptomyyyy
Analyses :: xxxx
Analyses xxxx Analysesxxxx
Analysesxxxx

Symptomes
Symptomes :: yy
yy Turlututudhjsd
Turlututudhjsd

7
Interrogations Caractéristiques
Plusieurs applications
 plusieurs formats
Dika  plusieurs langages
ComptaSoft
ComptaSoft
Talla

ChiruSoft
ChiruSoft
Turlututusqjsk
Turlututusqjsk
Symptomes Symptom:
Symptom: yyyy
yyyy
Symptomes :: yy
Turlututu :: sqj
Turlututu
Symptomes
sqj
Symptomes :: yy
Turlututu : sdd
Turlututu : sdd
Analyses
Analyses xxxx
xxxx

Turlututudhjsd
Turlututudhjsd
Redondance de données
Analyses Analyses
Analyses :xx
:xx
Analyses :: xxx
xxx

Pas de facilité d’interrogation


 Question développement

Problèmes
 Difficultés de gestion
 Incohérence des données
 Coûts élevés
ConsultSoft
ConsultSoft

PsychiaSoft
PsychiaSoft

Achu Dongo
Turlututu
Turlututu :: sq
sq
Symptomes
Symptomes :: yy
Analyses
yy
Analyses :: xxxx
xxxx
Symptomyyyy
Symptomyyyy
Analysesxxxx
Analysesxxxx
 Maintenance difficile
Symptomes
Symptomes :: yy
yy Turlututudhjsd
Turlututudhjsd

8
Pannes ??? Caractéristiques
Plusieurs applications
 plusieurs formats
Dika

ComptaSoft
 plusieurs langages
ComptaSoft
Talla

ChiruSoft
ChiruSoft
Turlututusqjsk
Turlututusqjsk
Symptomes Symptom: yyyy
Symptom: yyyy
Symptomes :: yy
Analyses
Analyses xxxx
Turlututu
Turlututu :: sqj
Symptomes
sqj
Symptomes :: yy
Turlututu
Turlututu :: sdd
sdd
xxxx

Turlututudhjsd
Turlututudhjsd
Redondance de données
Analyses Analyses :xx
Analyses :xx
Analyses :: xxx
xxx

Pas de facilité d’interrogation


 Question développement
Redondance de code

Problèmes
 Difficultés de gestion
 Incohérence des données
PsychiaSoft

Coûts élevés
ConsultSoft


PsychiaSoft
ConsultSoft

Achu Dongo
Turlututu
Turlututu :: sq
sq

 Maintenance difficile
Symptomes Symptomyyyy
Symptomyyyy
Symptomes :: yyyy
Analyses :: xxxx
xxxx Analysesxxxx
Analysesxxxx
Analyses

Symptomes Turlututudhjsd
Turlututudhjsd
Symptomes :: yy
yy
 Gestion de pannes ???

9
Partage de données Caractéristiques
Plusieurs applications
 plusieurs formats
 plusieurs langages
ComptaSoft
ComptaSoft Talla Dika

ChiruSoft
ChiruSoft
Turlututusqjsk
Symptomes
Symptomes :: yy
Turlututu
Turlututu :: sqj
sqj
Turlututusqjsk
Symptom:
Symptom: yyyy
yyyy
Analyses xxxx
Analyses xxxx Redondance de données
Symptomes
Symptomes :: yy
Turlututudhjsd
Turlututu : sdd
Turlututu : sdd
Analyses :: xxx
Analyses xxx
Turlututudhjsd
Analyses
Analyses :xx
:xx Pas de facilité d’interrogation
 Question développement
Redondance de code

Problèmes
 Difficultés de gestion
 Incohérence des données
ConsultSoft

Coûts élevés
ConsultSoft

Achu 
PsychiaSoft
PsychiaSoft

Dongo
Turlututu
Turlututu :: sq
sq
Symptomes
Symptomes :: yyyy
Analyses :: xxxx
Analyses xxxx Symptomyyyy
Symptomyyyy
Analysesxxxx
Analysesxxxx
 Maintenance difficile
Symptomes
Symptomes :: yy
yy

 Gestion de pannes ???


Turlututudhjsd
Turlututudhjsd

 Partage des données ???


10
Confidentialité Caractéristiques
Plusieurs applications
 plusieurs formats

ComptaSoft
 plusieurs langages
ComptaSoft
Talla Dika

ChiruSoft
ChiruSoft
Turlututusqjsk
Turlututusqjsk
Symptomes
Symptomes :: yy Symptom:
Symptom: yyyy
yyyy
Turlututu
Turlututu :: sqj
Symptomes
sqj
Symptomes :: yy
Turlututu
Turlututu :: sdd
sdd
Analyses
Analyses xxxx
xxxx

Turlututudhjsd
Turlututudhjsd
Redondance de données
Analyses
Analyses :: xxx
xxx Analyses
Analyses :xx
:xx

Pas de facilité d’interrogation


 Question développement
Redondance de code

Problèmes
 Difficultés de gestion
 Incohérence des données
 Coûts élevés
PsychiaSoft
ConsultSoft

PsychiaSoft
ConsultSoft

Achu Dongo
Turlututu
Turlututu :: sq

Symptomyyyy
Symptomyyyy
sq  Maintenance difficile
Symptomes
Symptomes :: yyyy Analysesxxxx
 Gestion de pannes ???
Analyses
Analyses :: xxxx
xxxx Analysesxxxx

Symptomes Turlututudhjsd
Turlututudhjsd
Symptomes :: yy
yy

 Partage des données ???


11
 Confidentialité ???
L’approche ‘‘Bases de données’’
• Modélisation des données
 Eliminer la redondance de données
 Centraliser et organiser correctement les données
 Plusieurs niveaux de modélisation
 Outils de conception

• Logiciel «Système de Gestion de Bases de Données»


Factorisation des modules de contrôle des applications
- Interrogation, cohérence, partage, gestion de pannes, etc…
Administration facilitées des données 12
Modélisation du réel

Réel

• Indépendant du
Modèle modèle de données

conceptuel • Indépendant du
SGBD Médecin effectue Visite

• Dépendant du
Modèle modèle de données
Codasyl Relationnel Objet XML
logique • Indépendant du
SGBD

• Organisation physique des données


Modèle • Dépendant du
modèle de données • Structures de stockage des données
Physique • Dépendant du SGBD • Structures accélératrices (index)
13
Modélisation Relationnelle (1)
Champs, attributs,
Relation ou table colonnes

Id-D Nom Prénom


1 Talla Pierre
2 Bouba Paul
3 Kamga Jean
…. …….. ……

Tuples, lignes ou n-
uplets
14
Modélisation Relationnelle (2)
Docteurs Prescriptions
Id-D Nom Prénom Id-V Ligne Id-M Posologie
1 Talla Pierre
Visites 1 1 12 1 par jour
2 Bouba Paul 1 2 5 10 gouttes
Id-D Id-P Id-V Date Prix
3 Kamga Jean 2 1 8 2 par jour
1 2 1 15 juin 250
…. …….. …… 2 2 12 1 par jour
1 1 2 12 août 180
2 2 3 13 juillet 350 2 3 3 2 gouttes

2 3 4 1 mars 250 …. …. …. …………

Patients
Id-P Nom Prénom Ville Médicaments
1 Abena Jacques Paris Id-M Nom Description
2 Niba Zoe Evry 1 Aspegic 1000 ……………………………..
3 Kana John Paris 2 Fluisédal ……………………………..
4 Haman Paule Valenton 3 Mucomyst ……………………………..
…. ……. ……. ……. …. …….. ……………………………..
15
2. Objectifs des SGBD

I- Indépendance
Physique

X - Standards II- Indépendance


Logique

IX - Gestion de la III – Langage de


confidentialité manipulation

VIII - Concurrence
d’accès
BD IV - Gestion des
vues

VII - Gestion des V - Optimisation des


pannes questions

VI - Gestion de la
cohérence

16
I - 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.
17
II - Indépendance Logique
Les applications peuvent définir des vues logiques de la BD
Gestion des médicaments Cabinet du Dr. Kamga
Nombre_Médicaments Prescription
Prescription
Id - V Ligne Id - M Posologie
Id-M Nom Description Nombre Visites
11 11 1212 1 par
1 par
jourjour
Id - D Id - P Id - V Date Prix
11 22 55 10 10
gouttes
gouttes
1 Aspegic 1000 …………………………….. 30 11 22 11 1515
juin
juin 250
250
….
…. ….
…. ….
…. …………
…………
22 33 44 1 mars
1 mars 250
250
2 Fluisédal …………………………….. 20
Patients
Patients
3 Mucomyst …………………………….. 230 Id - P Nom Prénom Médicament
Médicament
11 Abena Jacques
Jacques Id - M Nom Description
…. …….. …………………………….. ….. 1 Aspegic
Aspegic 1000
1000 ……………………………..
……………………………..
22 Niba Zoe
Zoe
….
…. …….
……. …….
……. 2 Fluisédal
Fluisédal ……………………………..
……………………………..
3 Mucomyst
Mucomyst ……………………………..
……………………………..
…. ……..
…….. ……………………………..
……………………………..

Docteur Prescription
Id-D Nom Prénom Id-V Ligne Id-M Posologie
1 Dupont Pierre
Visites 1 1 12 1 par jour
2 Durand Paul 1 2 5 10 gouttes
Id-D Id-P Id-V Date Prix
3 Masse Jean 2 1 8 2 par jour
1 2 1 15 juin 250
…. …….. …… 2 2 12 1 par jour
1 1 2 12 août 180
2 2 3 13 juillet 350 2 3 3 2 gouttes

2 3 4 1 mars 250 …. …. …. …………

18
Patients
Id-P Nom Prénom Médicament
1 Lebeau Jacques Id-M Nom Description
2 Troger Zoe 1 Aspegic 1000 ……………………………..
3 Doe John 2 Fluisédal ……………………………..
4 Perry Paule 3 Mucomyst ……………………………..
…. ……. ……. …. …….. ……………………………..
Avantages de l’indépendance logique
• 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, renommage de champs.
• Possibilité d'intégrer des applications existantes sans
modifier les autres.
• Possibilité de limiter les conséquences du partage :
Données confidentielles.

19
III - Manipulation aisée
• 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>
20
IV – 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 parisiens
– la vue des docteurs avec leurs patients
– La vue des services statistiques
– ...

21
V –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.

22
VI - 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 5 et 50kf
• 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 électeur doit être inscrit sur une seule liste électorale
23
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

24
VII - 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
25
Transaction
Incohérence possible...
Etat cohérent Etat cohérent

Begin Commit
Transaction

Begin
CEpargne = CEpargne - 3000
CCourant = CCourant + 3000
Commit T1
26
Atomicité et Durabilité

ATOMICITE DURABILITE
Panne
Begin Begin
CEpargne = CEpargne - 3000 CEpargne = CEpargne - 3000
CCourant = CCourant + 3000 CCourant = CCourant + 3000
Commit T1 Commit T1
Crash disque

 Annuler le débit !!  S’assurer que le


virement a été fait !
27
VIII - Partage des données

BD

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


Conflits d’accès !!
28
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 maj conflictuelles)
29
IX – Confidentialité
• Objectif : Protéger les données de la BD contre des
accès non autorisés
• Deux niveaux :
– Connexion restreinte aux usagers répertoriés (mot de
passe)
– Privilèges d'accès aux objets de la base

• Usagers : Usager ou groupe d’usagers


• Objets : Relation, Vue, autres objets (procédures,
etc.)
30
X - 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…
31
3. 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é
Architecture centralisée

Terminaux passifs

réseau

Mainframe
Appli 1 Appli 2 Appli n

SGBD

données

33
Architecture client-serveur
Clients intelligents

Appli 1
Appli 2
Appli n réseau

serveur

SGBD

code données
Architecture Client-Multiserveurs

Appli 1
SQL SQL

ODBC ODBC

SQL
SQL

SGBD 1 SGBD 2

code données code données


35
Architecture répartie

Appli 1
Appli 2
Appli n

SGBD 1 SGBD 2

code données code données


Architecture mobile
Clients intelligents
mobiles

Données répliquées
et/ou personnelles Réseau sans fil

serveur

SGBD

code données
4. 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 …
– Faible nombre de transactions
38
– Transactions très complexes
Evolution des BD

BD BD BD ‘light’ PicoDBMS
d’entreprise personnelles (PDA / Tél.) carte à puce

Capacité

Prix

Nombre

39

Vous aimerez peut-être aussi