introduction aux bases de données
DESCRIPTION
TRANSCRIPT
![Page 1: Introduction aux bases de données](https://reader031.vdocuments.site/reader031/viewer/2022022404/5462c802af79594d4d8b6503/html5/thumbnails/1.jpg)
Bases de données :
Introduction et Objectifs
![Page 2: Introduction aux bases de données](https://reader031.vdocuments.site/reader031/viewer/2022022404/5462c802af79594d4d8b6503/html5/thumbnails/2.jpg)
2
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
![Page 3: Introduction aux bases de données](https://reader031.vdocuments.site/reader031/viewer/2022022404/5462c802af79594d4d8b6503/html5/thumbnails/3.jpg)
3
La hiérarchie des mémoires
Cache (SRAM)
Mémoire principale(RAM)
Mémoiresecondaire
Mémoireterciaire
Capacitévs
Coût & Vitesse
Registres2-5 ns
3-10 ns
80-200 ns
5-10 ms
• Un accès disque est environ 100,000 fois plus lent qu’un accès mémoire!
• – Eviter les accès disques
• grande mémoire principale
– Amortir les accès disques• placement des données
– Minimiser le nombre d’accès disques• méthodes d’accès
![Page 4: Introduction aux bases de données](https://reader031.vdocuments.site/reader031/viewer/2022022404/5462c802af79594d4d8b6503/html5/thumbnails/4.jpg)
4
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
![Page 5: Introduction aux bases de données](https://reader031.vdocuments.site/reader031/viewer/2022022404/5462c802af79594d4d8b6503/html5/thumbnails/5.jpg)
5
Chirurgie
Psychiatrie
Systèmes de fichiers Caractéristiques
Comptabilité
Consultations
Problèmes
![Page 6: Introduction aux bases de données](https://reader031.vdocuments.site/reader031/viewer/2022022404/5462c802af79594d4d8b6503/html5/thumbnails/6.jpg)
6Format des fichiers CaractéristiquesPlusieurs applications plusieurs formats
plusieurs langages
Problèmes Difficultés de gestion
DupontSymptomes : yTurlututu : sqjSymptomes : yTurlututu : sddAnalyses : xxx
DupondTurlututusqjskSymptom: yyyy Analyses xxxx
TurlututudhjsdAnalyses :xx
DuipontTurlututu : sq
Symptomyyyy Analysesxxxx
Turlututudhjsd
Duhpon
Symptomes : yy Analyses : xxxx
Symptomes : yy
![Page 7: Introduction aux bases de données](https://reader031.vdocuments.site/reader031/viewer/2022022404/5462c802af79594d4d8b6503/html5/thumbnails/7.jpg)
7Redondance (données) CaractéristiquesPlusieurs applications plusieurs formats
plusieurs langages
Redondance de données
Problèmes Difficultés de gestion Incohérence des données
DupontSymptomes : yTurlututu : sqjSymptomes : yTurlututu : sddAnalyses : xxx
DupondTurlututusqjskSymptom: yyyy Analyses xxxx
TurlututudhjsdAnalyses :xx
DuipontTurlututu : sq
Symptomyyyy Analysesxxxx
Turlututudhjsd
Duhpon
Symptomes : yy Analyses : xxxx
Symptomes : yy
![Page 8: Introduction aux bases de données](https://reader031.vdocuments.site/reader031/viewer/2022022404/5462c802af79594d4d8b6503/html5/thumbnails/8.jpg)
8Interrogations CaractéristiquesPlusieurs applications plusieurs formats
plusieurs langages
Redondance de données
Pas de facilité d’interrogation Question développement
Problèmes Difficultés de gestion Incohérence des données Coûts élevés Maintenance difficile
DupontSymptomes : yTurlututu : sqjSymptomes : yTurlututu : sddAnalyses : xxx
DupondTurlututusqjskSymptom: yyyy Analyses xxxx
TurlututudhjsdAnalyses :xx
DuipontTurlututu : sq
Symptomyyyy Analysesxxxx
Turlututudhjsd
Duhpon
Symptomes : yy Analyses : xxxx
Symptomes : yy
Ch
iru
Sof
t
Con
sultS
oft Psy
chia
Sof
t
Com
ptaS
oft
![Page 9: Introduction aux bases de données](https://reader031.vdocuments.site/reader031/viewer/2022022404/5462c802af79594d4d8b6503/html5/thumbnails/9.jpg)
9Pannes ??? CaractéristiquesPlusieurs applications plusieurs formats
plusieurs langages
Redondance de données
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 Maintenance difficile Gestion de pannes ???
DupontSymptomes : yTurlututu : sqjSymptomes : yTurlututu : sddAnalyses : xxx
DupondTurlututusqjskSymptom: yyyy Analyses xxxx
TurlututudhjsdAnalyses :xx
DuipontTurlututu : sq
Symptomyyyy Analysesxxxx
Turlututudhjsd
Duhpon
Symptomes : yy Analyses : xxxx
Symptomes : yy
Ch
iru
Sof
t
Con
sultS
oft Psy
chia
Sof
t
Com
ptaS
oft
![Page 10: Introduction aux bases de données](https://reader031.vdocuments.site/reader031/viewer/2022022404/5462c802af79594d4d8b6503/html5/thumbnails/10.jpg)
10Partage de données CaractéristiquesPlusieurs applications plusieurs formats
plusieurs langages
Redondance de données
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 Maintenance difficile Gestion de pannes ??? Partage des données ???
DupontSymptomes : yTurlututu : sqjSymptomes : yTurlututu : sddAnalyses : xxx
DupondTurlututusqjskSymptom: yyyy Analyses xxxx
TurlututudhjsdAnalyses :xx
DuipontTurlututu : sq
Symptomyyyy Analysesxxxx
Turlututudhjsd
Duhpon
Symptomes : yy Analyses : xxxx
Symptomes : yy
Ch
iru
Sof
t
Con
sultS
oft Psy
chia
Sof
t
Com
ptaS
oft
![Page 11: Introduction aux bases de données](https://reader031.vdocuments.site/reader031/viewer/2022022404/5462c802af79594d4d8b6503/html5/thumbnails/11.jpg)
11Confidentialité CaractéristiquesPlusieurs applications plusieurs formats
plusieurs langages
Redondance de données
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 Maintenance difficile Gestion de pannes ??? Partage des données ??? Confidentialité ???
DupontSymptomes : yTurlututu : sqjSymptomes : yTurlututu : sddAnalyses : xxx
DupondTurlututusqjskSymptom: yyyy Analyses xxxx
TurlututudhjsdAnalyses :xx
DuipontTurlututu : sq
Symptomyyyy Analysesxxxx
Turlututudhjsd
Duhpon
Symptomes : yy Analyses : xxxx
Symptomes : yy
Ch
iru
Sof
t
Con
sultS
oft Psy
chia
Sof
t
Com
ptaS
oft
![Page 12: Introduction aux bases de données](https://reader031.vdocuments.site/reader031/viewer/2022022404/5462c802af79594d4d8b6503/html5/thumbnails/12.jpg)
12
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
![Page 13: Introduction aux bases de données](https://reader031.vdocuments.site/reader031/viewer/2022022404/5462c802af79594d4d8b6503/html5/thumbnails/13.jpg)
13
Réel
Modèle conceptuel
• Indépendant du modèle de données
• Indépendant du SGBD
Modèle logique
• Dépendant du modèle de données
• Indépendant du SGBD
Codasyl Relationnel Objet XML
Modèle Physique
• Dépendant du modèle de données
• Dépendant du SGBD
• Organisation physique des données
• Structures de stockage des données
• Structures accélératrices (index)
Modélisation du réel
Médecin effectue Visite
![Page 14: Introduction aux bases de données](https://reader031.vdocuments.site/reader031/viewer/2022022404/5462c802af79594d4d8b6503/html5/thumbnails/14.jpg)
14
Champs, attributs, colonnes
Champs, attributs, colonnes
Champs, attributs, colonnes
Modélisation Relationnelle (1)
Id-D Nom Prénom
1 Dupont Pierre
2 Durand Paul
3 Masse Jean
…. …….. ……
Relation ou table
Tuples, lignes ou n-uplets
Tuples, lignes ou n-uplets
Tuples, lignes ou n-uplets
Tuples, lignes ou n-uplets
![Page 15: Introduction aux bases de données](https://reader031.vdocuments.site/reader031/viewer/2022022404/5462c802af79594d4d8b6503/html5/thumbnails/15.jpg)
15
Modélisation Relationnelle (2)
DocteursId-D Nom Prénom
1 Dupont Pierre
2 Durand Paul
3 Masse Jean
…. …….. ……
VisitesId-D Id-P Id-V Date Prix
1 2 1 15 juin 250
1 1 2 12 août 180
2 2 3 13 juillet 350
2 3 4 1 mars 250
PatientsId-P Nom Prénom Ville
1 Lebeau Jacques Paris
2 Troger Zoe Evry
3 Doe John Paris
4 Perry Paule Valenton
…. ……. ……. …….
PrescriptionsId-V Ligne Id-M Posologie
1 1 12 1 par jour
1 2 5 10 gouttes
2 1 8 2 par jour
2 2 12 1 par jour
2 3 3 2 gouttes
…. …. …. …………
MédicamentsId-M Nom Description
1 Aspegic 1000 ……………………………..
2 Fluisédal ……………………………..
3 Mucomyst ……………………………..
…. …….. ……………………………..
![Page 16: Introduction aux bases de données](https://reader031.vdocuments.site/reader031/viewer/2022022404/5462c802af79594d4d8b6503/html5/thumbnails/16.jpg)
162. Objectifs des SGBD
BDVIII - Concurrence d’accès
VII - Gestion des pannes
I- Indépendance Physique
IX - Gestion de la confidentialité
II- Indépendance Logique
VI - Gestion de la cohérence
X - Standards
V - Optimisation des questions
III – Langage de manipulation
IV - Gestion des vues
![Page 17: Introduction aux bases de données](https://reader031.vdocuments.site/reader031/viewer/2022022404/5462c802af79594d4d8b6503/html5/thumbnails/17.jpg)
17
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.
![Page 18: Introduction aux bases de données](https://reader031.vdocuments.site/reader031/viewer/2022022404/5462c802af79594d4d8b6503/html5/thumbnails/18.jpg)
18
II - Indépendance Logique
Les applications peuvent définir des vues logiques de la BD
Gestion des médicaments Cabinet du Dr. Masse
Visites
2
1
Id - D
1 mars
15 juin
Date
250
250
Prix
4
1
Id - V
3
2
Id - P
Visites
2
1
Id - D
1 mars
15 juin
Date
250
250
Prix
4
1
Id - V
3
2
Id - P
…….…….….
PrénomNomId- P
ZoeTroger2
JacquesLebeau1
Patients
…….…….….
PrénomNomId- P
ZoeTroger2
JacquesLebeau1
Patients
…………….….….
5
12
Id - M
10 gouttes
1 par jour
Posologie
2
1
Ligne
1
1
Id - V
Prescription
…………….….….
5
12
Id - M
10 gouttes
1 par jour
Posologie
2
1
Ligne
1
1
Id - V
Prescription
……………………………..……..….
DescriptionNomId -M
……………………………..Mucomyst3
……………………………..Fluisédal2
……………………………..Aspegic 10001
Médicament
……………………………..……..….
DescriptionNomId -M
……………………………..Mucomyst3
……………………………..Fluisédal2
……………………………..Aspegic 10001
Médicament
Nombre_Médicaments
Id-M Nom Description Nombre
1 Aspegic 1000 …………………………….. 30
2 Fluisédal …………………………….. 20
3 Mucomyst …………………………….. 230
…. …….. …………………………….. …..
![Page 19: Introduction aux bases de données](https://reader031.vdocuments.site/reader031/viewer/2022022404/5462c802af79594d4d8b6503/html5/thumbnails/19.jpg)
19
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.
![Page 20: Introduction aux bases de données](https://reader031.vdocuments.site/reader031/viewer/2022022404/5462c802af79594d4d8b6503/html5/thumbnails/20.jpg)
20
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>
![Page 21: Introduction aux bases de données](https://reader031.vdocuments.site/reader031/viewer/2022022404/5462c802af79594d4d8b6503/html5/thumbnails/21.jpg)
21
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
– ...
![Page 22: Introduction aux bases de données](https://reader031.vdocuments.site/reader031/viewer/2022022404/5462c802af79594d4d8b6503/html5/thumbnails/22.jpg)
22
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.
![Page 23: Introduction aux bases de données](https://reader031.vdocuments.site/reader031/viewer/2022022404/5462c802af79594d4d8b6503/html5/thumbnails/23.jpg)
23
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
![Page 24: Introduction aux bases de données](https://reader031.vdocuments.site/reader031/viewer/2022022404/5462c802af79594d4d8b6503/html5/thumbnails/24.jpg)
24
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
![Page 25: Introduction aux bases de données](https://reader031.vdocuments.site/reader031/viewer/2022022404/5462c802af79594d4d8b6503/html5/thumbnails/25.jpg)
25
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
![Page 26: Introduction aux bases de données](https://reader031.vdocuments.site/reader031/viewer/2022022404/5462c802af79594d4d8b6503/html5/thumbnails/26.jpg)
26
Transaction
Etat cohérent Etat cohérentIncohérence possible...
Begin Commit
Transaction
Begin CEpargne = CEpargne - 3000 CCourant = CCourant + 3000Commit T1
![Page 27: Introduction aux bases de données](https://reader031.vdocuments.site/reader031/viewer/2022022404/5462c802af79594d4d8b6503/html5/thumbnails/27.jpg)
27
Atomicité et Durabilité
ATOMICITE
Begin CEpargne = CEpargne - 3000 CCourant = CCourant + 3000Commit T1
Annuler le débit !!
Panne
DURABILITE
Begin CEpargne = CEpargne - 3000 CCourant = CCourant + 3000Commit T1
S’assurer que le virement a été fait !
Crash disque
![Page 28: Introduction aux bases de données](https://reader031.vdocuments.site/reader031/viewer/2022022404/5462c802af79594d4d8b6503/html5/thumbnails/28.jpg)
28
VIII - Partage des données
BD
• Accès concurrent aux mêmes données
Conflits d’accès !!
![Page 29: Introduction aux bases de données](https://reader031.vdocuments.site/reader031/viewer/2022022404/5462c802af79594d4d8b6503/html5/thumbnails/29.jpg)
29
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)
![Page 30: Introduction aux bases de données](https://reader031.vdocuments.site/reader031/viewer/2022022404/5462c802af79594d4d8b6503/html5/thumbnails/30.jpg)
30
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.)
![Page 31: Introduction aux bases de données](https://reader031.vdocuments.site/reader031/viewer/2022022404/5462c802af79594d4d8b6503/html5/thumbnails/31.jpg)
31
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…
![Page 32: Introduction aux bases de données](https://reader031.vdocuments.site/reader031/viewer/2022022404/5462c802af79594d4d8b6503/html5/thumbnails/32.jpg)
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é
![Page 33: Introduction aux bases de données](https://reader031.vdocuments.site/reader031/viewer/2022022404/5462c802af79594d4d8b6503/html5/thumbnails/33.jpg)
33
Architecture centralisée
Terminaux passifs
Mainframe
SGBD
Appli 1 Appli 2 Appli n
réseau
données
![Page 34: Introduction aux bases de données](https://reader031.vdocuments.site/reader031/viewer/2022022404/5462c802af79594d4d8b6503/html5/thumbnails/34.jpg)
Architecture client-serveur
Clients intelligents
serveur
SGBD
Appli 1Appli 2
Appli n réseau
donnéescode
![Page 35: Introduction aux bases de données](https://reader031.vdocuments.site/reader031/viewer/2022022404/5462c802af79594d4d8b6503/html5/thumbnails/35.jpg)
35
Architecture Client-Multiserveurs
SGBD 2
donnéescode
ODBC ODBC
SGBD 1
donnéescode
Appli 1
SQL SQL
SQLSQL
![Page 36: Introduction aux bases de données](https://reader031.vdocuments.site/reader031/viewer/2022022404/5462c802af79594d4d8b6503/html5/thumbnails/36.jpg)
Architecture répartie
SGBD 1
donnéescode
SGBD 2
donnéescode
Appli 1Appli 2
Appli n
![Page 37: Introduction aux bases de données](https://reader031.vdocuments.site/reader031/viewer/2022022404/5462c802af79594d4d8b6503/html5/thumbnails/37.jpg)
Architecture mobile
Clients intelligents mobiles
serveur
SGBD
Réseau sans fil
donnéescode
Données répliquées et/ou personnelles
![Page 38: Introduction aux bases de données](https://reader031.vdocuments.site/reader031/viewer/2022022404/5462c802af79594d4d8b6503/html5/thumbnails/38.jpg)
38
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
– Transactions très complexes
![Page 39: Introduction aux bases de données](https://reader031.vdocuments.site/reader031/viewer/2022022404/5462c802af79594d4d8b6503/html5/thumbnails/39.jpg)
39
Evolution des BD
BD d’entreprise
BD personnelles
BD ‘light’(PDA / Tél.)
PicoDBMScarte à puce
Capacité
Prix
Nombre