Vous êtes sur la page 1sur 48

Chapitre 1:

Introduction aux Bases de données


Chapitre 1

Prof. A. Aannaque
aannaque@emi.ac.ma
Plan
• Chapitre 1 : Introduction
• Chapitre 2 : Modèle conceptuel
Chapitre 1

• Chapitre 3 : Modèle relationnel


• Chapitre 4 : Langages de requêtes / SQL
• Chapitre 5 : SQL - Droits d’accès et vues
• Chapitre 6 : Algèbre relationnelle
• Chapitre 7 : Calcul relationnel
• Chapitre 8 : Normalisation
• Chapitre 9 : Stockage et indexation
2
3

1. Introduction
• Les entreprises gèrent des volumes de données très
grands et de types variés (ex www.terraserver.com)
– Giga, Terra, Péta –octets
– Numériques, Textuelles, Multi-média (images, films,...)
Chapitre 1

• Il faut pouvoir facilement


– Archiver les données sur les mémoires de masse
– Retrouver rapidement les données pertinentes à un
traitement
– Mettre à jour les données variant dans le temps
4

1. Introduction
• Les données sont structurées et identifiées
– Données élémentaires ex: Un salaire, Votre note dans ce
module
– Données composées ex: Votre CV, vos résultats de
Chapitre 1

l'année
– Identifiant humain ex: CIN 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
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
Chapitre 1

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
5
6

Un peu d'histoire
• Années 60:
– Récipients logique de données  fichiers sur disque
– Accès séquentiel puis sur clé
• Lire (Nomf, Article), Ecrire (Nomf, Article)
• Lire (Nomf, Article, Clé), Ecrire (Nomf, article, Clé)
Chapitre 1

• 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
Evolution des modèles de BD 2

2000

1990
Chapitre 1

1980

1970

1960

1950

<1950

Système de Hiérarchique Réseaux Relationnelle Objet Relationnelle-


Fichier Objet

7
Systèmes de fichiers Caractéristiques 8

Comptabilité Chirurgie
Chapitre 1

Problèmes
Psychiatrie
Consultations
Format des fichiers Caractéristiques 9

Plusieurs applications
 plusieurs formats
Mohamed Mohammed  plusieurs langages
Matricule : y
Salaire Net: 9999
Symptom: xxxx
Heures Sup : 99
Analyses xxxx
Absences : 99
Allérgies: xxxx
Total : 9999.99
Traitement :xxxx

Comptabilité Chirurgie
Chapitre 1

Problèmes
 Difficultés de gestion
Psychiatrie
Consultations

Mohamad Med
Turlututu : sq

Symptomes : yy Symptomyyyy
Analyses : xxxx Analysesxxxx

Symptomes : yy Turlututudhjsd
Redondance (données) Caractéristiques 10

Plusieurs applications
 plusieurs formats
Mohamed Mohammed  plusieurs langages
Matricule : y
Salaire Net: 9999
Heures Sup : 99
Absences : 99
Symptom: xxxx
Analyses xxxx
Allérgies: xxxx
Redondance de données
Total : 9999.99
Traitement :xxxx

Comptabilité Chirurgie
Chapitre 1

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

Mohamad Med
Turlututu : sq

Symptomes : yy Symptomyyyy
Analyses : xxxx Analysesxxxx

Symptomes : yy Turlututudhjsd
Interrogations Caractéristiques 11

Plusieurs applications
 plusieurs formats

ComptaSoft
Mohammed  plusieurs langages

ChiruSoft
Mohamed
Matricule : y
Salaire Net: 9999
Heures Sup : 99
Absences : 99
Symptom: xxxx
Analyses xxxx
Allérgies: xxxx
Redondance de données
Total : 9999.99
Traitement :xxxx

Pas de facilité d’interrogation


 Question ⇒développement
Comptabilité Chirurgie
Chapitre 1

Problèmes
 Difficultés de gestion
Psychiatrie  Incohérence des données
Consultations  Coûts élevés
 Maintenance difficile
ConsultSoft

PsychiaSoft

Mohamad Med
Turlututu : sq

Symptomes : yy Symptomyyyy
Analyses : xxxx Analysesxxxx

Symptomes : yy Turlututudhjsd
Pannes ??? Caractéristiques 12

Plusieurs applications
 plusieurs formats

ComptaSoft

ChiruSoft
Mohamed Mohammed  plusieurs langages
Matricule : y
Salaire Net: 9999
Heures Sup : 99
Absences : 99
Symptom: xxxx
Analyses xxxx
Allérgies: xxxx
Redondance de données
Total : 9999.99
Traitement :xxxx

Pas de facilité d’interrogation


 Question ⇒développement
Comptabilité Chirurgie
Chapitre 1

Redondance de code

Problèmes
 Difficultés de gestion
Psychiatrie  Incohérence des données
Consultations  Coûts élevés
 Maintenance difficile
PsychiaSoft
ConsultSoft

Mohamad Med
Turlututu : sq
 Gestion de pannes ???
Symptomes : yy Symptomyyyy
Analyses : xxxx Analysesxxxx

Symptomes : yy Turlututudhjsd
Partage de données Caractéristiques 13

Plusieurs applications
 plusieurs formats

ComptaSoft

ChiruSoft
Mohamed Mohammed  plusieurs langages
Matricule : y
Salaire Net: 9999
Heures Sup : 99
Absences : 99
Symptom: xxxx
Analyses xxxx
Allérgies: xxxx
Redondance de données
Total : 9999.99
Traitement :xxxx

Pas de facilité d’interrogation


 Question ⇒développement
Comptabilité Chirurgie
Chapitre 1

Redondance de code

Problèmes
 Difficultés de gestion
Psychiatrie  Incohérence des données
Consultations  Coûts élevés
 Maintenance difficile
PsychiaSoft
ConsultSoft

Mohamad Med
Turlututu : sq
 Gestion de pannes ???
Symptomes : yy
Analyses : xxxx
Symptomyyyy
Analysesxxxx  Partage des données ???
Symptomes : yy Turlututudhjsd
Confidentialité Caractéristiques 14

Plusieurs applications
 plusieurs formats

ComptaSoft

ChiruSoft
Mohamed Mohammed  plusieurs langages
Matricule : y
Salaire Net: 9999
Heures Sup : 99
Absences : 99
Symptom: xxxx
Analyses xxxx
Allérgies: xxxx
Redondance de données
Total : 9999.99
Traitement :xxxx

Pas de facilité d’interrogation


 Question ⇒développement
Comptabilité Chirurgie
Chapitre 1

Redondance de code

Problèmes
 Difficultés de gestion
Psychiatrie  Incohérence des données
Consultations  Coûts élevés
 Maintenance difficile
PsychiaSoft
ConsultSoft

Mohamad Med
Turlututu : sq
 Gestion de pannes ???
Symptomes : yy
Analyses : xxxx
Symptomyyyy
Analysesxxxx  Partage des données ???
Symptomes : yy Turlututudhjsd

 Confidentialité ???
15

L’approche ‘‘Bases de données’’

• Modélisation des données


 Eliminer la redondance de données
 Centraliser et organiser correctement les données
Chapitre 1

 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
16

Modélisation du réel

Réel
Chapitre 1

• Indépendant du
Modèle modèle de données
• Indépendant du
conceptuel SGBD Médecin effectue Visite

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

• Dépendant du • Organisation physique des données


Modèle modèle de données
• Structures de stockage des données
• Dépendant du
Physique SGBD • Structures accélératrices (index)
17

Modélisation Relationnelle (1)


Champs, attributs,
Relation ou table
colonnes
Chapitre 1

Id-D Nom Prénom


1 Dupont Pierre
2 Durand Paul
3 Masse Jean
…. …….. ……

Tuples, lignes ou n-
uplets
18

Modélisation Relationnelle (2)


Docteurs Prescriptions
Id-D Nom Prénom Id-V Ligne Id-M Posologie
1 Dupont Pierre 1 1 12 1 par jour
Visites
2 Durand Paul 1 2 5 10 gouttes
Id-D Id-P Id-V Date Prix
Chapitre 1

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

Patients
Id-P Nom Prénom Ville Médicaments
1 Lebeau Jacques Paris Id-M Nom Description
2 Troger Zoe Evry 1 Aspegic 1000 ……………………………..
3 Doe John Paris 2 Fluisédal ……………………………..
4 Perry Paule Valenton 3 Mucomyst ……………………………..
…. ……. ……. ……. …. …….. ……………………………..
2. Objectifs des SGBD 19

I- Indépendance
Physique

X - Standards II- Indépendance


Chapitre 1

Logique

IX - Gestion de la III – Langage de


confidentialité manipulation

VIII - Concurrence BD IV - Gestion des


d’accès vues

VII - Gestion des V - Optimisation des


pannes questions

VI - Gestion de la
cohérence
20

I - Indépendance Physique
• Indépendance des programmes d'applications
vis à vis du modèle physique :
Chapitre 1

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

II - Indépendance Logique
Les applications peuvent définir des vues logiques de la BD
Gestion des médicaments Cabinet du Dr. Masse
Nombre_Médicaments Prescription
Chapitre 1

Id -V Ligne Id -M Posologie
Id-M Nom Description Nombre Visites
1 1 12 1 par jour
Id -D Id -P Id -V Date Prix
1 2 5 10 gouttes
1 Aspegic 1000 …………………………….. 30 1 2 1 15 juin 250
…. …. …. …………
2 3 4 1 mars 250
2 Fluisédal …………………………….. 20
Patients
3 Mucomyst …………………………….. 230 Id - P Nom Prénom Médicament
1 Lebeau Jacques Id -M Nom Description
…. …….. …………………………….. ….. 2 Troger Zoe 1 Aspegic 1000 ……………………………..

…. ……. ……. 2 Fluisédal ……………………………..


3 Mucomyst ……………………………..
…. …….. ……………………………..

D o cteur P resc riptio n


Id -D N om P rénom Id -V L ign e Id -M P osologie
1 D upont P ierre 1 1 12 1 par jour
V isite s
2 D urand P aul 1 2 5 10 gouttes
Id -D Id -P Id -V D ate P rix
3 M asse 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

Pa tients
Id -P N om Prén om M éd ica m en t
1 L ebeau Jacques Id -M N om Des crip tion
2 T roger Z oe 1 A spegic 1000 … … … … … … … … … … … ..
3 D oe John 2 F luisédal … … … … … … … … … … … ..
4 P erry P aule 3 M ucom yst … … … … … … … … … … … ..
…. ……. … …. …. … … .. … … … … … … … … … … … ..
22

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
Chapitre 1

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

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
Chapitre 1

– Le langage suit une norme commune à tous les SGBD


– SQL : Structured Query Langage
• Syntaxe (aperçu !)
– SELECT <structure des résultats>
– FROM <relations>
– WHERE <conditions>
24

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
Chapitre 1

• 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
– ...
25

V –Exécution et Optimisation
• Traduction automatique des questions déclaratives en
programmes procéduraux :
 Utilisation de l’algèbre relationnelle
Chapitre 1

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

VI - Intégrité Logique
• Objectif : Détecter les mises à jour erronées
• Contrôle sur les données élémentaires
Chapitre 1

– 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
27

Contraintes d’intégrité
• Avantages :
– simplification du code des applications
– sécurité renforcée par l'automatisation
Chapitre 1

– mise en commun des contraintes

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

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
Chapitre 1

– 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
29

Transaction

Incohérence possible...
Etat cohérent Etat cohérent
Chapitre 1

Begin Commit
Transaction

Begin
CEpargne = CEpargne - 3000
CCourant = CCourant + 3000
Commit T1
30

Atomicité et Durabilité

ATOMICITE DURABILITE
Chapitre 1

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 !
31

VIII - Partage des données

BD
Chapitre 1

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


Conflits d’accès !!
32

Isolation et Cohérence

BD
Chapitre 1

• Le SGBD gère les accès concurrents


 Chacun à l’impression d’être seul (Isolation)
 Cohérence conservée (Pas de maj conflictuelles)
33

IX – Confidentialité
• Objectif : Protéger les données de la BD contre des
accès non autorisés
• Deux niveaux :
Chapitre 1

– 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.)
34

X - Standardisation
• L’approche bases de données est basée sur
plusieurs standards
– Langage SQL (SQL1, SQL2, SQL3)
Chapitre 1

– Communication SQL CLI (ODBC / JDBC/OLEDB)


– Transactions (X/Open DTP, OSI-TP)

• Force des standards


– Portabilité
– Interopérabilité
– Applications multi-sources…
Couches d’un SGBD
• Les SGBDs sont composés de trois couches
– Le système de gestion de fichiers: Il gère le stockage
physique de l'information. Il est dépendant du matériel
Chapitre 1

utilisé (type de support, facteur de blocage, etc.


– Le SGBD interne: Il s'occupe du placement et de
l'assemblage des données, gestion des liens et gestion de
l'accès rapide.
– Le SGBD externe: Il s'occupe de la présentation et de la
manipulation des données aux concepteurs et utilisateurs,
Il s'occupe de la gestion de langages de requêtes élaborées
et des outils de présentation (états, formes, etc...)

35
3. Architecture des SGBD
Les architectures physiques de SGBD sont très liées au mode de
répartition.
— BD centralisée
Chapitre 1

— 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é
37

Architecture centralisée

Terminaux passifs
Chapitre 1

réseau

Mainframe
Appli 1 Appli 2 Appli n

SGBD

données
Architecture client-serveur
Clients intelligents

Appli 1
Appli 2
Chapitre 1

Appli n réseau

serveur

SGBD

code données
39

Architecture Client-Multiserveurs

Appli 1
Chapitre 1

SQL SQL

ODBC ODBC

SQL
SQL

SGBD 1 SGBD 2

code données code données


Architecture répartie

Appli 1
Appli 2
Chapitre 1

Appli n

SGBD 1 SGBD 2

code données code données


Architecture mobile
Clients intelligents
mobiles
Chapitre 1

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

serveur

SGBD

code données
42

4. Applications traditionnelles des SGBD


• OLTP (On Line Transaction Processing)
– Cible des SGBD depuis leur existence
– Banques, réservation en ligne ...
Chapitre 1

– 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
43

Evolution des BD

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

Capacité

Prix

Nombre
44

Les SGBDs les plus connus aujourd'hui


• Commerciaux
– SQL Server (Microsoft)
– Oracle (Oracle Corporation)
Chapitre 1

– DB2 (IBM)
– Informix (IBM)
• Sous licence GPL
– MySLQ
– OpenQM
– Ingres
Adabas IBM DB2 Microsoft Access
Adaptive Server IBM IMS Microsoft SQL Server
IBM UniVerse Microsoft Visual FoxPro
Enterprise MonetDB
Ingres
Chapitre 1

Alpha Five MySQL


Infobright OpenLink Virtuoso
BlackRay Informix Omnis 7
Cassandra InterSystems Caché OpenOffice.org Base
Computhink's ViewWise Kexi Oracle Database
CSQL WX2 ParAccel
Linter SQL RDBMS PostgreSQL
Daffodil DB Progress
Lotus Approach
DataEase Mark Logic SQL Anywhere
dBase SQLite
Teradata
Db4o Unisys OS 2200 databases
FileMaker Vertica Analytic Database
Firebird
45
Webographie
• http://fr.wikipedia.org/wiki/Système_de_gestion_de_base_de_données
• http://en.wikipedia.org/wiki/Database_management_system
Chapitre 1

46
Bibliographie
1. «Bases de Données (De Merise à JDBC)», Philippe
Mathieu, Université des Sciences et Technologies
Chapitre 1

de Lille.
2. «Beginning Database Design», Gavin Powell,
Wiley Publishing, Inc.

47
Des questions ?
Chapitre 1

Vous aimerez peut-être aussi