Académique Documents
Professionnel Documents
Culture Documents
INFO2 BDA
1/62
Introduction
2/62
Introduction
Pr
esentation du cours
Presentation du cours
3/62
Introduction
Pr
esentation du cours
4/62
Introduction
Pr
esentation du cours
5/62
Introduction
Historique
Historique
Indpendance physique
Portabilit
Volume de donnes
Type de donnes
Generations de SGBD
SGBD4/5
Avancs
2004/5 2010
SGBD 3
Avancs
SGBD 2
Relationnels
SGBD 1
Hirarchies, Rseaux
Puissance
Performance
Cohrence
6/62
Introduction
Historique
Historique
Exemples de SGBD
Indpendance physique
Portabilit
Volume de donnes
Type de donnes
SGBD4/5
ORACLE 9i, 10g, 11
DB2, ...
XML, ...
SGBD 3
SGBD 2
ORACLE 5/6
INGRES,
DB2, ...
SGBD 1
COADSYL,
SOCRATE,
...
ORACLE 7/8,
INGRES, DB2, Sybase,
Verssant Enjin (O2),
ObjectStore, Orlent,
MySQL, PostGreSQL,
SQLServer, ACCESS, ...
Bases de donnes
Entrepts de donnes
Intgration de Donnes
Puissance
Performances
Cohrence
7/62
Introduction
Historique
Historique
Type de donnes
Volume de donnes
Fouille de donnes
(Analyse du comportement des clients, etc.)
8/62
Bases de Donnes
Entrepts de Donnes
Intgration de Donnes
Performance
Introduction
Historique
Historique
Type de donnes
Volume de donnes
Entrepts de donnes
(OLTP : < 10 secondes) (OLAP < 1 heure)
( MV : agrgation, ...) (Batch : Quotidien ou mensuel < 1h)
Grosse volumtrie : travail doptimisation et suivi des activits
du DWh ncssaire
Par exprience, certains traitements ne se terminent pas
au bout de quelques jours
Ncessit de modifications techniques et fonctionnelles
Applications : Gestion des risques, Analyse des ventes
(Batch : < 1 heure)
9/62
Bases de Donnes
Entrepts de Donnes
Intgration de Donnes
Performance
Introduction
Historique
Historique
Relationnelle
& objet
Indpendance physique
Portabilit
Volume de donnes
Type de donnes
Relations
Hirarchique
& Rseau
Structure HIERARCHIQUE
des donnes
Type de donnes
COMPLEXE
Structure de donnes
TABULAIRE
Structure de donnes
en RESEAU
Puissance
Performance
Cohrence
10/62
Rappels de SQL
Commandes SQL
11/62
Rappels de SQL
Le Langage de D
efinition de Donn
ees : LDD
12/62
Rappels de SQL
Le langage de manipulation de donn
ees : LMD
13/62
Rappels de SQL
Le langage de manipulation de donn
ees : LMD
14/62
c o n d i t i o n ( s )> ] ;
Rappels de SQL
Le langage de contr
ole de donn
ees : LCD
15/62
16/62
Etape physique :
SGBD Relationnel / SGBD Objet-Relationnel / SGBD Oriente
Objet
Langages ( SQL, PL/SQL, PRO*C, JDBC, Java, ...)
Optimisations (Groupement, Index, ...)
Administration
17/62
18/62
19/62
Etapes de conception
Demarche de conception traditionnelle :
par abstractions successives
en descendant depuis les probl`emes de lutilisateur vers le
Syst`eme de Gestion de Bases de Donnees.
Cinq etapes :
Elaboration
du schema conceptuel
Elaboration
du schema physique
20/62
Remarques
Etape
1 : plutot relative au domaine du genie logiciel
Etapes
2, 3, 4 et 5 : relative au domaine des bases de donnees
21/62
22/62
Etape 2 : Elaboration
du schema conceptuel
Integration des schemas externes obtenus `a letape precedente
Chaque composant est un schema conceptuel : diagramme
entite-association ou diagramme de classes
Resultat : mod`ele de probl`eme representant une partie de
lapplication
Difficulte : integration de toutes les parties dans un schema
conceptuel global complet, non redondant et coherent
NB : des allers et retours avec letape precedente sont souvent
necessaires
23/62
24/62
bon
schema ?
25/62
Etape 5 : Elaboration
du schema physique
26/62
Elaboration
du sch
ema conceptuel
Elaboration
du schema conceptuel
Modelisation du probl`eme en utilisant les specifications des besoins
obtenues `a letape 1 (capture des besoins)
Deux possibilites :
utilisation du formalisme Entite Relation (ou Entite
Association)
production dun diagramme ER/EA
utilisation du formalisme UML
production de classe
Independance du mod`ele conceptuel par rapport au schema
physique
27/62
Elaboration
du sch
ema conceptuel
28/62
Elaboration
du sch
ema conceptuel
29/62
Elaboration
du sch
ema conceptuel
30/62
Elaboration
du sch
ema conceptuel
Types dassociation
unaire : relation au sein dune meme entite
Exemple : un employ
e supervise un employ
e
binaire : relation entre deux entites (differentes)
Exemple : un client passe plusieurs commandes
ternaire : relation entre trois entites (differentes)
Exemple : un internaute note un film `a differentes date (on
veut conserver lhistorique des notes)
31/62
Elaboration
du sch
ema conceptuel
32/62
Elaboration
du sch
ema conceptuel
Cardinalite minimale/maximale
Cardinalite minimale :
0 : une entite peut exister tout en etant impliquee dans
aucune association
1 : une entite ne peut exister que si elle est impliquee dans au
moins une association
n : une entite ne peut exister que si elle est impliquee dans
plusieurs associations (cas rare,`a eviter car cela pose des
probl`emes)
Cardinalite maximale :
0 : une entite ne peut pas etre impliquee dans une association
(normalement inexistant sinon probl`eme de conception)
1 : une entite peut etre impliquee dans au maximum une
association
n : une entite peut etre impliquee dans plusieurs associations
33/62
Elaboration
du sch
ema conceptuel
34/62
Elaboration
du sch
ema conceptuel
Definition de lidentifiant
Identifiant : liste des attributs devant avoir une valeur unique
chaque entite
Exemple : numero dimmatriculation dune voiture, numero de
securite sociale
Remarques :
On utilise plut
ot le terme cl
e que identifiant
Chaque type doit poss`eder un identifiant (forme dun ou
plusieurs attributs)
Lidentifiant dune association est la concatenation des
identifiants des entites lies
NB : on peut definir un identifiant plus naturel
35/62
Elaboration
du sch
ema conceptuel
36/62
Elaboration
du sch
ema conceptuel
Entite-relation et UML
Formalisme ER :
Formalisme UML :
37/62
Elaboration
du sch
ema conceptuel
38/62
Elaboration
du sch
ema conceptuel
Formalisme ER :
Interpretations :
A est lie 0 `a n fois `a B
La connaissance de B permet de definir A
La cle de B definit linstance de A
Formalisme UML :
39/62
Elaboration
du sch
ema conceptuel
ER ou UML ?
Si conception de bases de donnees : utilisation du mod`ele
entite/relation
On mets laccent sur le syst`eme dinformation (stockage,
traitement, reception, diffusion de linformation)
Si conception objet et programmation : utilisation de UML(2
incluant lheritage)
On mets lacent sur les structures de donnees et la
programmation
40/62
Elaboration
du sch
ema logique
Elaboration
du schema logique
Transformation du mod`ele conceptuel en une structure de donnees
basee sur un mod`ele de donnees specifique (par exemple, mod`ele
relationnel)
Realisation de la transformation `a laide de r`egles formelles
Possibilite dautomatisation de cette etape (Objecteering,
Rational Rose)
Independant de la couche physique
Resultat : mod`ele logique de la base de donnees
41/62
Elaboration
du sch
ema logique
Passage au relationnel
Implementation des entites et associations sous forme de
tables
Les attributs correspondent aux colonnes des tables
le nom de lattribut est le nom de la colonne
lensemble des valeurs possibles est le domaine
Exemple :
Professeur(numProf, nom, prenom)
Cours(nomCours, nom, nbheures)
Charge(numProf, numCours)
42/62
Elaboration
du sch
ema logique
Passage au relationnel
Traduction des associations :
R`egle de base : representation des associations par une table
dont
le schema est le nom de lassociation
la liste des cles des entites participantes suivie des attributs de
lassociation
43/62
Pourquoi normaliser ?
pour limiter les redondances de donnees
pour limiter les pertes de donnees
pour limiter les incoherences au sein des donnees
pour ameliorer les performances des traitements
44/62
Formes normales
8 formes normales :
Formes normales 1 `a 3
Forme normale de Boyce-Codd
Formes normales de 4/5(/6)
Forme normale de domaine-cle
Objectifs des trois premi`eres formes normales : permettre la
decomposition de relations sans perdre dinformations
Une relation en forme normale de niveau N est forcement de forme
normale de niveau N 1
45/62
46/62
47/62
48/62
49/62
50/62
51/62
52/62
Exemple 1 :
R(A, B*, C*, D)
Avec les dependances : B,C A, B,C D, D B,
(ce qui entraine de nombreuses redondances)
On propose les relations :
R(A, B*, C*)
R (D*, B)
53/62
54/62
Elaboration
du sch
ema physique
Elaboration
du schema physique
Objectifs :
Rechercher de bonnes performances
Prendre en compte les transactions
Indexer, denormaliser, grouper, partitionner les tables
Resultat : mod`ele physique optimise de la base de donnees
55/62
Elaboration
du sch
ema physique
Exemple
Schema relationnel
56/62
Elaboration
du sch
ema physique
57/62
Elaboration
du sch
ema physique
58/62
Elaboration
du sch
ema physique
59/62
Elaboration
du sch
ema physique
c r e a t e t a b l e CHARGE
(NUM PROF
NUMBER( 4 ) ,
NUMBER( 4 ) , ,
NUM COURS
c o n s t r a i n t PK CHARGE p r i m a r y key (NUM COURS, NUM PROF) ) ;
a l t e r t a b l e CHARGE
add c o n s t r a i n t FK CHARGE COURS
f o r e i g n key (NUM COURS)
r e f e r e n c e s COURS (NUM COURS ) ;
a l t e r t a b l e CHARGE
add c o n s t r a i n t FK CHARGE PROFESSEUR
f o r e i g n key (NUM PROF)
r e f e r e n c e s PROFESSEURS (NUM PROF ) ;
60/62
Elaboration
du sch
ema physique
Schema relationnel-objet
61/62
Elaboration
du sch
ema physique
62/62