notes-de-cours

icon

50

pages

icon

Français

icon

Documents

Le téléchargement nécessite un accès à la bibliothèque YouScribe Tout savoir sur nos offres

icon

50

pages

icon

Français

icon

Documents

Le téléchargement nécessite un accès à la bibliothèque YouScribe Tout savoir sur nos offres

Universit¶e de SherbrookeD¶epartement d’informatique¶El¶ements de bases de donn¶eesIFT187Notes compl¶ementaires et synth¶etiquesMarc Frappier, Ph.D.professeurAvertissementCedocumentn’estpasunsubstitutaulivreder¶ef¶erenceducoursniauxmanuelsder¶ef¶erencedes difi¶erents langages utilis¶es dans le cadre du cours.iContents1 Les bases de donn¶ees et leurs usages 11.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.1.1 R^ole des BDs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.1.2 D¶eflnitions de concepts de base . . . . . . . . . . . . . . . . . . . . . 11.2 Un exemple de BD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.3 Services ofierts par une BD . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.3.1 Description des donn¶ees . . . . . . . . . . . . . . . . . . . . . . . . . 31.3.2 Encapsulation des donn¶ees . . . . . . . . . . . . . . . . . . . . . . . . 31.3.3 Partage des donn¶ees entre plusieurs utilisateurs . . . . . . . . . . . . 31.4 Intervenants dans les systµemes de BD . . . . . . . . . . . . . . . . . . . . . . 41.5 Cons¶equences de l’usage de SGBD . . . . . . . . . . . . . . . . . . . . . . . . 41.6 Bref historique des BD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41.7 Usage inappropri¶e des BDs . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 Concepts et architecture des bases de donn¶ees 62.1 Modµeles de BD . . . . . . . . . . . ...
Voir icon arrow

Publié par

Langue

Français

Universit¶e de Sherbrooke
D¶epartement d’informatique
¶El¶ements de bases de donn¶ees
IFT187
Notes compl¶ementaires et synth¶etiques
Marc Frappier, Ph.D.
professeurAvertissement
Cedocumentn’estpasunsubstitutaulivreder¶ef¶erenceducoursniauxmanuelsder¶ef¶erence
des difi¶erents langages utilis¶es dans le cadre du cours.
iContents
1 Les bases de donn¶ees et leurs usages 1
1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.1.1 R^ole des BDs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.1.2 D¶eflnitions de concepts de base . . . . . . . . . . . . . . . . . . . . . 1
1.2 Un exemple de BD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.3 Services ofierts par une BD . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.3.1 Description des donn¶ees . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.3.2 Encapsulation des donn¶ees . . . . . . . . . . . . . . . . . . . . . . . . 3
1.3.3 Partage des donn¶ees entre plusieurs utilisateurs . . . . . . . . . . . . 3
1.4 Intervenants dans les systµemes de BD . . . . . . . . . . . . . . . . . . . . . . 4
1.5 Cons¶equences de l’usage de SGBD . . . . . . . . . . . . . . . . . . . . . . . . 4
1.6 Bref historique des BD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.7 Usage inappropri¶e des BDs . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2 Concepts et architecture des bases de donn¶ees 6
2.1 Modµeles de BD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.2 Cat¶egories de modµele de donn¶ees . . . . . . . . . . . . . . . . . . . . . . . . 6
2.3 Sch¶ema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.4 Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.5 Langages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.6 Composantes d’un SGBD . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
8 Le langage SQL 9
8.1 Langage de d¶eflnition des donn¶ees . . . . . . . . . . . . . . . . . . . . . . . . 9
8.1.1 Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
8.1.2 Types en SQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
8.1.3 D¶eflnition des tables . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
8.1.3.1 Syntaxe g¶en¶erale . . . . . . . . . . . . . . . . . . . . . . . . 12
8.1.3.2 D¶eflnition des attributs . . . . . . . . . . . . . . . . . . . . 12
8.1.3.3 D¶ des contraintes . . . . . . . . . . . . . . . . . . . 13
8.1.3.3.1 Cl¶e primaire . . . . . . . . . . . . . . . . . . . . . . 13
8.1.3.3.2 Cl¶e unique. . . . . . . . . . . . . . . . . . . . . . . 13
8.1.3.3.3 Cl¶e ¶etrangµere . . . . . . . . . . . . . . . . . . . . . 14
8.1.4 Modiflcation des tables . . . . . . . . . . . . . . . . . . . . . . . . . . 14
8.1.4.1 Ajout d’attributs . . . . . . . . . . . . . . . . . . . . . . . . 15
ii8.1.4.2 Modiflcation d’attributs . . . . . . . . . . . . . . . . . . . . 15
8.1.4.3 Suppression. . . . . . . . . . . . . . . . . . . . . 15
8.1.4.4 Ajout de contraintes . . . . . . . . . . . . . . . . . . . . . . 15
8.1.4.5 de contraintes . . . . . . . . . . . . . . . . . . . 15
8.1.5 Suppression des tables . . . . . . . . . . . . . . . . . . . . . . . . . . 15
8.1.5.1 L’exemple de la bibliothµeque . . . . . . . . . . . . . . . . . 16
8.2 Langage de manipulation des donn¶ees . . . . . . . . . . . . . . . . . . . . . . 19
8.2.1 Insert . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
8.2.2 Update. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
8.2.3 Delete . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
8.2.4 Select . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
8.2.4.1 Syntaxe g¶en¶erale . . . . . . . . . . . . . . . . . . . . . . . . 20
8.2.4.2 S¶emantique . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
8.2.4.3 Expressions . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
8.2.4.4 Fonctions d’agr¶egation . . . . . . . . . . . . . . . . . . . . . 21
8.2.4.5 Op¶erations ensemblistes . . . . . . . . . . . . . . . . . . . . 21
8.2.4.6 Quelques exemples . . . . . . . . . . . . . . . . . . . . . . . 22
8.3 Divers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
8.3.1 Table virtuelle : vue . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
8.3.2 Contraintes d’int¶egrit¶e . . . . . . . . . . . . . . . . . . . . . . . . . . 27
8.3.3 Index. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
8.3.4 Sch¶ema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
8.3.5 La valeur sp¶eciale NULL . . . . . . . . . . . . . . . . . . . . . . . . . 28
8.3.6 Oracle et la norme SQL2 . . . . . . . . . . . . . . . . . . . . . . . . . 29
3 Le modµele entit¶e-association 30
3.1 D¶eflnition des concepts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
3.2 Notation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
3.3 Convention nominative . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
3.4 Exemples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
3.4.1 Systµeme de gestion d’une bibliothµeque . . . . . . . . . . . . . . . . . 32
7 Traduction d’un sch¶ema E-R en un sch¶ema relationnel 34
10 Conception et normalisation d’une BD 36
10.1 Critµeres informels de conception de sch¶ema . . . . . . . . . . . . . . . . . . . 36
10.1.1 S¶emantique des relations . . . . . . . . . . . . . . . . . . . . . . . . . 36
10.1.2 Information redondantes . . . . . . . . . . . . . . . . . . . . . . . . . 37
10.1.3 Valeur nulle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
10.1.4 Tuples erron¶es . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
10.2 D¶ependance fonctionnelle. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
10.2.1 D¶eflnition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
10.2.2 Rµegles d’inf¶erence pour les d¶ependances fonctionnelles . . . . . . . . . 38
¶10.2.3 Equivalence de d¶ependances fonctionnelles . . . . . . . . . . . . . . . 39
10.3 Formes normales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
iii10.3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
10.3.2 Premiµere forme normale (1NF) . . . . . . . . . . . . . . . . . . . . . 41
10.3.3 Deuxiµeme forme (2NF) . . . . . . . . . . . . . . . . . . . . . 42
10.3.4 Troisiµeme forme normale (3NF) . . . . . . . . . . . . . . . . . . . . . 42
10.3.5 Forme normale de Boyce-Codd (BCNF) . . . . . . . . . . . . . . . . 42
11 Autres formes normales 43
11.1 Quatriµeme forme normale . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
11.2 Cinquiµeme . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
11.3 D¶ecomposition et pr¶eservation . . . . . . . . . . . . . . . . . . . . . . . . . . 44
11.4 Algorithmes de d¶ecomposition de sch¶ema . . . . . . . . . . . . . . . . . . . . 44
11.4.1 Algorithme 13.1 : d¶ecomposition en 3NF avec
pr¶eservation des d¶ependances fonctionnelles . . . . . . . . . . . . . . 45
11.4.2 Algorithme 13.3 : d¶ecomposition en BCNF avec
jointure non additive . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
11.4.3 Algorithme 13.4 : d¶ecomposition en 3NF avec
pr¶eservation des d¶ependances fonctionnelles et
jointure non additive . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
11.4.4 Algorithme 13.5 : d¶ecomposition en 4NF avec
jointure non additive . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
11.4.5 Algorithme de d¶ecomposition en 5NF avec
jointure non additive . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
ivChapter 1
Les bases de donn¶ees et leurs usages
1.1 Introduction
1.1.1 R^ole des BDs
† les BD jouent un r^ole central dans les systµemes informatiques
{ systµemes d’information traditionnels
⁄ gouvernement
⁄ banque
⁄ assurances
⁄ commerce de d¶etail
{ nouveaux domaines d’application
⁄ systµemes t¶el¶ephoniques
⁄ systµemes multim¶edias (image, son, video)
⁄ g¶eomatique (base de donn¶ees g¶eographiques)
⁄ entrep^ot de donn¶ees
† concepts de base communs aµ tous
† d¶ebute l’¶etude avec les systµemes traditionnels
1.1.2 D¶eflnitions de concepts de base
donn¶ees : information pertinente pour un utilisateur du systµeme.
base de donn¶ees (BD) : collection de donn¶ees structur¶ee de maniµere aµ ^etre exploit¶ee.
30† tailled’uneBDvariebeaucoup,debytesµagigabytes(2 bytes),etm^emet¶erabytes
40(2 bytes)
10{ 1 KB = 1024 bytes = 2 bytes
10 10 20{ 1 MB = 1024 KB = 2 ⁄2 bytes = 2 bytes
110 20 30{ 1 GB = 1024 MB = 2 ⁄2 bytes = 2 bytes
10 30 40{ 1 TB = 1024 GB

Voir icon more
Alternate Text