• Aucun résultat trouvé

FormatPowerPoint97

N/A
N/A
Protected

Academic year: 2022

Partager "FormatPowerPoint97"

Copied!
39
0
0

Texte intégral

(1)

Dépendances entre les chapitre du Volume I et II

I . 1 I n t r o d u c t i o n a u x s y s t è m e s d e g e s t i o n d e

b a s e s d e d o n n é e s

I . 2 G e s t i o n d e s d o n n é e s e n

m é m o i r e s e c o n d a i r e

I . 3 O r g a n i s a t i o n s u n i d i m e n s i o n n e l l e s : i n d e x a g e e t h a c h a g e

I . 4 M é t h o d e s m u l t i d i m e n s i o n n e l l e s e t

r e p r é s e n t a t i o n d ' a s s o c i a t i o n s

I . 5 I n t r o d u c t i o n a u m o d è l e

r e l a t i o n n e l

I . 6 L e l a n g a g e S Q L

I . 7 C o n t r a i n t e s d 'i n t é g r i t é e n

S Q L

I . 8 L 'i n t é g r i t é e t l a g e s t i o n

d e s t r a n s a c t i o n s

I I . 1 T h é o r i e d e l a n o r m a l i s a t i o n

I I . 2 I n t r o d u c t i o n a u c y c l e d e

v i e

I I . 3 P l a n i f i c a t i o n

I I . 4 A n a l y s e

I I . 5 A n a l y s e a v e c D e s i g n e r

d 'O r a c l e I I . 6

E v a l u a t i o n d e s r e q u ê t e s r e l a t i o n n e l l e s

I I . 7 C o n c e p t i o n d a n s u n c o n t e x t e r e l a t i o n n e l 15.3

I I . 8 I I . 1 0

(2)

27/02/22 © Robert Godin. Tous droits réservés 2

1 Introduction aux systèmes de gestion de bases de données

 BD= composante essentielle des systèmes informatiques modernes

– systèmes d ’information de gestion

– ingénierie

– contrôle de processus

– bibliothèques électroniques

– ...

 Données persistantes

(3)

1.1 Donnée et de type de donnée

Donnée (« data »)

– Une donnée au sens informatique est une représentation d'un fait à l'aide d'un code binaire stocké dans la mémoire de l'ordinateur.

Type de données (« data type »)

– Le type de données détermine la nature du

codage utilisé pour représenter la donnée et

les opérations applicables à la donnée.

(4)

27/02/22 © Robert Godin. Tous droits réservés 4

1.2 Donnée et information

 Information : donnée interprétée

– théorie de l'information

– Shannon et Weaver (1959 )

– mesure de la quantité d'information

message d'une source à un destinataire

– diminution de l'incertitude au niveau du destinataire

– information : relatif au destinataire du message

 Changement d'état du destinataire

 Souvent synonymes

(5)

1.3 Donnée simple et complexe

Donnée simple

indécomposable du point de vue du système qui la manipule

Donnée de type complexe, ou donnée complexe

composée de données simples

Type de données complexe

composé de types simples/complexes

constructeurs de types (enregistrement, ensemble, tableau, etc.).

Donnée multimédia (“ multimedia data ”)

texte, image, son, vidéo

(6)

27/02/22 © Robert Godin. Tous droits réservés 6

1.4 Différentes facettes du terme base de données

Base de données (BD, “ database ”)

Au sens large, collection de données

 Différentes interprétations

fichier de texte

ensemble de fichiers de textes

un seul fichier d'enregistrements

ensemble de fichiers d’enregistrements

plusieurs sous bases de données indépendantes les unes des autres

Toile : base de données de nature hétérogène et répartie

BD logique = une collection de BD physiques

(7)

1.5 Système de gestion de base de données (SGBD)

Base de données (“ database ”)

Sens plus strict, ensemble de données : 1. fortement structurées

2. persistantes

3. structure définie dans un schéma

4. gérées par système de gestion de bases de données

Système de gestion de base de données (SGBD,

“database management system - DBMS”)

Logiciel spécialisé pour la gestion de base de données

(8)

27/02/22 © Robert Godin. Tous droits réservés 8

Mémoire centrale/secondaire

Mémoire centrale (“main memory , primary storage”), vive, primaire ou volatile

directement accessible par le processeur central

contient les instructions et les données d'un programme en exécution

rapidité

non persistance

Mémoire secondaire (“secondary storage”), permamente, externe, stable, non volatile ou persistante

indirectement via des opérations d'entrée/sortie

lenteur

persistance

(9)

Langage de définition des données et schéma

Langage de définition des données (LDD, data definition language - DDL )

– permet la définition des types des données de la BD

Schéma de la base de données (database schema)

– structure des données définie à l'aide du LDD

(10)

27/02/22 © Robert Godin. Tous droits réservés 10

Composantes de

l'environnement SGBD

S y s t è m e d e g e s t i o n d e b a s e d e d o n n é e s ( S G B D )

P r o g r a m m e d 'a p p l ic a t i o n U t i li t a ir e d 'é d it io n e t

d 'in t e r p r é t a t io n d e c o m m a n d e s d u L M D

U t i li t a i r e c o n v i v ia l d e m a n ip u l a t i o n

d e d o n n é e s

E v a lu a t e u r d e r e q u ê t e ( L M D ) I n t e r p r è t e d u L D D

U t il it a ir e d 'é d i t i o n d u s c h é m a

D ic t io n n a i r e d e d o n n é e s ( c o n t i e n t l e s c h é m a o u

m é t a - d o n n é e s )

B a s e d e d o n n é e s ( c o n t ie n t le s d o n n é e s )

M é m o i r e s e c o n d a i r e p e r m a n e n t e

A d m in is t r a t e u r d e b a s e d e d o n n é e s ( A B D ) U t i lis a t e u r e x p e r t

U t i lis a t e u r P r o g r a m m e s o u r c e

in c o r p o r a n t d e s a p p e ls à u n e l ib r a ir i e s p é c ia li s é e p o u r l e

S G B D P r o g r a m m e u r P r o g r a m m e s o u r c e

a v e c L M D e n c h â s s é

p r é - c o m p ila t e u r

C o m p ila t e u r

(11)

Langage de manipulation de données/ de requête

Manipulation des données (data manipulation)

ajouter

supprimer

modifier

lire

Langage de manipulation des données (LMD, data manipulation language - DML)

langage de requête (query language )

langage spécialisé qui permet de spécifier les opérations de manipulation de données à effectuer par le SGBD

ex: SQL, OQL

(12)

27/02/22 © Robert Godin. Tous droits réservés 12

Contexte d ’utilisation du LMD

Langage de manipulation des données enchâssé (“ embedded data manipulation language ”), langage hôte (“ host language

”)

LMD enchâssé un langage de programmation hôte

(e.g. C, C++, ADA, JAVA,…)

syntaxe spéciale non reconnue par compilateur

étape de pré-compilation

pré-compilateur spécifique au SGBD

Librairie spécialisée standard

e.g. ODBC, JDBC

LMD passé en paramètre

meilleure portabilité

Utilitaire convivial (ou presque)

(13)

Exécution des requêtes

Évaluateur de requête (“query processor”)

composante du SGBD responsable de l'exécution des requêtes

processus complexe

Requête (“ query ”)

opération de manipulation de données

(14)

27/02/22 © Robert Godin. Tous droits réservés 14

Interprète du langage de définition des données

Administrateur de la base de données (ABD, “ database administrator - DBA ”)

responsable de la gestion d'une base de données

maintien du schéma de la base de données

utilitaire d ’édition du schéma

Méta-données (“ metadata ”)

le schéma sous forme de données

Dictionnaire de données (métabase, “ data dictionary ”)

BD, gérée par le SGBD, qui contient les méta-données

(15)

1.6Principales

architectures des BD

Architecture centralisée

programme d'application et SGBD sur même machine (même site)

premiers systèmes

Architecture du type client-serveur (“client-server architecture ”)

programme d'application = client

interface (« GUI ») + traitement du domaine d ’application

SGBD = serveur (de données « data server »)

machines (sites) différentes

deux couches, niveaux, strates (“two tier ”)

(16)

27/02/22 © Robert Godin. Tous droits réservés 16

Architecture client-serveur

R é s e a u

L o g i c i e l i n t e r m é d i a i r e

P i l o t e d e

t é l é c o m m u n i c a t i o n P r o g r a m m e d 'a p p l i c a t i o n

L o g i c i e l i n t e r m é d i a i r e

P i l o t e d e

t é l é c o m m u n i c a t i o n S G B D

C l i e n t S e r v e u r

B D

(17)

Architecture à trois couches (“

three tier ”)

R é s e a u

L o g i c i e l i n t e r m é d i a i r e

P i l o t e d e t é l é c o m m u n i c a t i o n

A p p l i c a t i o n

L o g i c i e l i n t e r m é d i a i r e

P i l o t e d e t é l é c o m m u n i c a t i o n

S G B D

S e r v e u r d ' a p p l i c a t i o n

S e r v e u r d e d o n n é e s

L o g i c i e l i n t e r m é d i a i r e

P i l o t e d e t é l é c o m m u n i c a t i o n

I n t e r f a c e

C l i e n t m i n c e

R é s e a u

B D

(18)

27/02/22 © Robert Godin. Tous droits réservés 18

Base de données répartie

(“distributed database ”) ou distribuée

SGBD réparti (“ distributed DBMS ”)

répartition des données de manière transparente

R é s e a u

L o g i c i e l i n t e r m é d i a i r e

P i l o t e d e t é l é c o m m u n i c a t i o n

S G B D r é p a r t i

S e r v e u r d e d o n n é e s

L o g i c i e l i n t e r m é d i a i r e

P i l o t e d e t é l é c o m m u n i c a t i o n

P r o g r a m m e d 'a p p l i c a t i o n

C l i e n t

R é s e a u

L o g i c i e l i n t e r m é d i a i r e

P i l o t e d e t é l é c o m m u n i c a t i o n

S G B D r é p a r t i

S e r v e u r d e d o n n é e s

B D lo c a le

B D lo c a l e

(19)

Base de données parallèle (“ parallel database ”)

 Parallélisme à l'intérieur d'un site

D is q u e D is q u e D is q u e D is q u e

U n it é d e t r a it e m e n t

U n it é d e t r a i t e m e n t

U n it é d e t r a it e m e n t

D is q u e

M é m o i r e v iv e

(20)

27/02/22 © Robert Godin. Tous droits réservés 20

Entrepôt de données

E n t r e p ô t d e d o n n é e s ( « d a t a w h a r e h o u s e » )

B D o p é r a t i o n n e l l e

( O L T P )

A u t r e s o u r c e d e

d o n n é e s

E x t r a c t i o n : f i l t r a g e , s y n t h è s e , t r a n s f o r m a t i o n ,

f u s i o n B D

o p é r a t i o n n e l l e ( O L T P )

A n a l y s e ( O L A P ) , p r o s p e c t i o n

(21)

Entrepôt de données

Base de données opérationnelle et OLTP (“ On Line Transaction Processing ”)

traitement des données quotidiennes et récentes

OLTP (“ On Line Transaction Processing ”).

Entrepôt de données (“ data wharehouse ”) et OLAP (“ On Line Analytical Processing ”)

grand volume de données historiques extraites de bases opérationnelles pour le support à la prise de décision

OLAP (“ On Line Analytical Processing ”)

Prospection de données , ou forage, fouille, exploration de données, ou découverte de connaissances dans les BD (“ data mining, analysis, dredging, archeology, knowledge discovery in databases - KDD”)

extraction non triviale d'informations implicites, inconnues et utiles

apprentissage machine , statistiques

(22)

27/02/22 © Robert Godin. Tous droits réservés 22

1.7 Des systèmes de gestion de fichiers aux SGBD

Système de gestion de fichier (SGF, “file system”)

gestionnaire de fichiers (“ file manager ”)

– composante du système d’exploitation

– abstraction des mémoires secondaires

sous forme d'un ensemble de fichiers

(23)

Utilisation d'un système de gestion de fichier

F ic h ie r d e s c o m p t e s

F ic h i e r d e s t r a n s a c t io n s

F ic h i e r d e s c o m p t e s m i s à j o u r

M i s e à jo u r e n l o t d e s c o m p t e s

A p p l i c a t i o n d e g e s t i o n d e s c o m p t e s

F ic h ie r d e s p r ê t s F ic h i e r d e s t r a n s a c t io n s

F ic h ie r d e s p r ê t s m i s à j o u r

M i s e à jo u r e n l o t d e s p r ê t s

A p p l i c a t i o n d e g e s t i o n d e s p r ê t s

(24)

27/02/22 © Robert Godin. Tous droits réservés 24

Exemple de contenu des fichiers de comptes et de prêts (fichiers séquentiels triés)

noPrêt nomClient adresse

Client noTéléphone montant

Prêt dateDébut taux

Intérêt fréquence Paiement 1000 Hugh

Paycheck Ottawa (999)999-9999 10000.00 10/ 6/ 2000 10 12 2000 Ye San Le

Su Montréal (777)777-7777 20000.00 20/ 7/ 2000 12 52 3000 Hugh

Paycheck Ottawa (999)999-9999 5000.00 15/ 8/ 2000 12 12

noCompte nomClient adresseClient noTéléphone dateOuverture solde

100 Hugh Paycheck Ottawa (999)999-9999 5/ 05/ 1999 1000.00

200 Dollard Cash Montréal (888)888-8888 10/ 10/ 1999 2000.00

300 Hugh Paycheck Ottawa (999)999-9999 10/ 10/ 1999 1000.00

400 Ye San Le Su Montréal (777)777-7777 20/ 7/ 2000 5.00

600 Ye San Le Su Montréal (777)777-7777 15/ 10/ 2000 10.00

(25)

1.7.1 Redondance et

incohérence des données

noCompte nomClient adresseClient noTéléphone dateOuverture solde 100 Hugh Paycheck

Ottawa (999)999-9999

5/ 05/ 1999 1000.00 200 Dollard Cash Montréal (888)888-8888 10/ 10/ 1999 2000.00 300 Hugh Paycheck

Québec (555)555-5555

10/ 10/ 1999 1000.00 400 Ye San Le Su Montréal (777)777-7777 20/ 7/ 2000 5.00 600 Ye San Le Su Montréal (777)777-7777 15/ 10/ 2000 10.00

noPrêt nomClient adresse

Client noTéléphone montant

Prêt dateDébut taux

Intérêt fréquence Paiement 1000 Hugh

Paycheck

Alma (444)444-4444

10000.00 10/ 6/ 2000 10 12 2000 Ye San Le

Su Montréal (777)777-7777 20000.00 20/ 7/ 2000 12 52

Modifications

anarchiques

(26)

27/02/22 © Robert Godin. Tous droits réservés 26

1.7.2Mécanismes d'organisation de données limités des SGF

 SGBD supporte

– Indexage

– Hachage

– Organisation par grappe

– Liens entre fichiers

(27)

1.7.3 Intégrité sémantique

Contrainte d'intégrité sémantique (“semantic integrity constraint ”)

– ou simplement contrainte d'intégrité

– une règle qui doit toujours être respectée par les données de la BD

– ex: “ le solde d'un compte ne peut être négatif ”

 Supporté par SGBD (pas SGF)

(28)

27/02/22 © Robert Godin. Tous droits réservés 28

1.7.4 Contrôle de concurrence

 Empêcher interférences indésirables

 SGBD : mécanismes raffinés

Temps Processus #1 Processus #2 État du fichier t

1

Lire ( SoldeCompte , s )

{s = 8} SoldeCompte = 8

t

2

Lire ( SoldeCompte , s )

{s = 8}

t

3

s = s + 5

t

4

Écrire ( s , SoldeCompte ) SoldeCompte = 13

t

5

s = s + 2

t

6

Écrire ( s , SoldeCompte ) SoldeCompte = 10

t

7

Saperlipopette!

(29)

1.7.5 Fiabilité

 SGBD : mécanismes de récupération

 Revenir à un état cohérent suite à une panne

– journal des transactions

(30)

27/02/22 © Robert Godin. Tous droits réservés 30

1.7.6 Sécurité

 SGF :

– lecture, écriture au niveau fichier

 SGBD : contrôle plus précis

– types de données

– enregistrements

– champs

– type d ’opération

– cryptage

(31)

1.7.7 Gestion des transactions

Transaction

– séquence d'opérations de manipulation de données exécutées par un programme

– délimitées par une opération de début et une opération de fin de transaction

– propriétés d'Atomicité, de Consistance,

d'Isolation et de Durabilité (ACID).

(32)

27/02/22 © Robert Godin. Tous droits réservés 32

1.7.8Indépendance des données

 Indépendance entre :

– formulation d'une requête (QUOI)

 langage non procédural

– façon d'effectuer la requête par

le SGBD (COMMENT)

(33)

1.8 Perspective historique

Modèle de définition de données (“ data definition model ”)

nature des types de données supportés par le SGBD.

1ère génération (années 70): réseau, hiérarchique (CODASYL, IMS,...)

LMD navigationnel

2ième génération (années 80) :relationnel (Oracle, Ingres, DB2, SQL server,…)

LMD non procédural

3ième génération (années 90)

objet (Object Store, Versant,…)

relationnel objet (Oracle8, DB2 UDS, Informix US)

4ième génération ?

déductif (« Datalog »), entrepôt de données, prospection de données, support du WEB (XML, XMLQL)

Modèles pour conception

E/R, UML

(34)

27/02/22 © Robert Godin. Tous droits réservés 34

1.9 Exemple introductif : Banque SansIntérêts

Table Client

noClient nomClient adresseClient noTéléphone 10 Hugh Paycheck Ottawa (999)999-9999 20 Dollard Cash Montréal (888)888-8888 30 Ye San Le Su Montréal (777)777-7777

Table Compte

noCompte solde dateOuverture noClient 100 1000.00 5/ 05/ 1999 10

200 2000.00 10/ 10/ 1999 20 300 1000.00 10/ 10/ 1999 10 400 5.00 20/ 7/ 2000 30 600 10.00 15/ 10/ 2000 30 Table Prêt

noPrêt montantPrêt dateDébut tauxIntérêt fréquence

Paiement noClient

1000 10000.00 10/ 6/ 2000 10 12 10

2000 20000.00 20/ 7/ 2000 12 52 30

3000 5000.00 15/ 8/ 2000 12 12 10

(35)

Code du schéma avec le LDD SQL

CREATE TABLE Client

(noClient INTEGER PRIMARY KEY, nomClient VARCHAR(15),

adresseClient VARCHAR(20), noTéléphone VARCHAR(15)) CREATE TABLE Compte

(noCompte INTEGER,

solde DECIMAL(10,2) CHECK (solde >= 0), dateOuverture DATE,

noClient INTEGER REFERENCES Client) CREATE TABLE Prêt

(noPrêt INTEGER,

montantPrêt DECIMAL(10,2), dateDébut DATE,

tauxIntérêt DECIMAL(8,2),

(36)

27/02/22 © Robert Godin. Tous droits réservés 36

LMD SQL

 Insérer un nouveau Client

 Lire le noCompte et le solde du Client #10

INSERT INTO Client

VALUES(10,'Hugh Paycheck','Ottawa','(999)999-9999')

SELECT noCompte, solde FROM Compte

WHERE noClient = 10

noCompte solde

100 1000.00

300 1000.00

noCompte solde dateOuverture noClient 100 1000.00 5/ 05/ 1999 10 200 2000.00 10/ 10/ 1999 20 300 1000.00 10/ 10/ 1999 10

400 5.00 20/ 7/ 2000 30

600 10.00 15/ 10/ 2000 30

CREATE INDEX indexNoClientCompte ON Compte(noClient)

(37)

LMD SQL

 Requête complexe

noCompte solde dateOuverture noClient 100 1000.00 5/ 05/ 1999 10 200 2000.00 10/ 10/ 1999 20 300 1000.00 10/ 10/ 1999 10

400 5.00 20/ 7/ 2000 30

600 10.00 15/ 10/ 2000 30

SELECT nomClient, noCompte, solde FROM Client, Compte

WHERE Client.noClient = Compte.noClient AND dateOuverture = '10/10/1999'

noClient nomClient adresseClient noTéléphone 10 Hugh Paycheck Ottawa (999)999-9999 20 Dollard Cash Montréal (888)888-8888 30 Ye San Le Su Montréal (777)777-7777

nomClient noCompte solde Dollard Cash 200 2000.00

(38)

27/02/22 © Robert Godin. Tous droits réservés 38

LMD SQL

 Dépôt de $100 au Compte #200

noCompte solde dateOuverture noClient 100 1000.00 5/ 05/ 1999 10 200 2000.00 10/ 10/ 1999 20 300 1000.00 10/ 10/ 1999 10

400 5.00 20/ 7/ 2000 30

600 10.00 15/ 10/ 2000 30

UPDATE Compte

SET solde = solde + 100 WHERE noCompte = 200

noCompte solde dateOuverture noClient 100 1000.00 5/ 05/ 1999 10 200 2100.00 10/ 10/ 1999 20 300 1000.00 10/ 10/ 1999 10

400 5.00 20/ 7/ 2000 30

600 10.00 15/ 10/ 2000 30

(39)

1.10 Architecture à trois niveaux des schémas (ANSI/SPARC)

S c h é m a e x t e r n e

S c h é m a e x t e r n e

S c h é m a e x t e r n e . . .

S c h é m a c o n c e p t u e l

S c h é m a

Références

Documents relatifs

Le gain obtenu sur les performances après cette modification de Zeplatform et le portage de PicoDBMS de JavaCard en C est d'environ deux ordres de magnitude (l'élément de

● les 2 entités peuvent être placées dans la même table.

Systèmes de gestion de fichiers, collection de données, bases de données (modèle réseau)2. - nécessité de savoir où et comment sont stockées quelles

The performance of inserting and query processing is compared with several libraries, namely Boost [4], libSpatialIndex [11], RTreeStar [19], Superliminal Rtree [7], and SQLite [20]

 Chaque livre a un titre dans une langue précise (Français, Anglais, Arabe, Italien ou Allemand) et un nombre d’exemplaires..  L’abonné âgé de 12 ans ou plus en 2010 doit

- le mode création pour définir ou modifier l'objet - le mode feuille de données pour voir le résultat avec les deux boutons suivants de la barre d'outils :!. Ouvrez de nouveau

● les 2 entités peuvent être placées dans la même

Le cours met l'accent sur les concepts et techniques fondamentaux des bases de données relationnelles, ainsi que sur la conception et l'implémentation de systèmes