Initiation aux Bases de Données Relationnelles
1 Noël NOVELLI
BASES de DONNEES
Ce document est basé sur les supports de cours de Rosine CICCHETTI et Nicole BIDOIT.
1
Introduction : l’approche Bases de données ............................................................................................................... 2
1.1
Approche par application .................................................................................................................................... 2
1.2
Approche Bases de Données ............................................................................................................................... 2
2
Le modèle relationnel ................................................................................................................................................. 3
2.1
Rappels mathématiques ...................................................................................................................................... 3
2.2
Concept de Relation ............................................................................................................................................ 3
2.3
Concept de Domaine ........................................................................................................................................... 4
2.4
Concept d’Attribut .............................................................................................................................................. 4
2.5
Double vision d’une relation ............................................................................................................................... 4
2.6
Concepts complémentaires ................................................................................................................................. 5
2.7
Schéma relationnel et Contraintes d’Intégrité ..................................................................................................... 5
3
Algèbre relationnelle .................................................................................................................................................. 7
3.1
Projection ............................................................................................................................................................ 8
3.2
Sélection ............................................................................................................................................................. 9
3.3
Jointure ............................................................................................................................................................. 14
3.4
Notations supplémentaires ................................................................................................................................ 22
3.4.1
Opérateur produit (jointure naturelle) ....................................................................................................... 22
3.4.2
Opérateur somme ...................................................................................................................................... 22
3.4.3
Opérateur produit cartésien ....................................................................................................................... 22
3.4.4
Opérateur union ........................................................................................................................................ 22
3.4.5
Opérateur intersection ............................................................................................................................... 22
3.4.6
Opérateur différence ................................................................................................................................. 23
3.4.7
Propriété des opérateurs ensemblistes ....................................................................................................... 23
3.4.8
Opérateur de projection ............................................................................................................................. 23
3.4.9
Opérateur de sélection............................................................................................................................... 23
4
Structured Query Language (SQL) ........................................................................................................................... 24
4.1
SQL LDD.......................................................................................................................................................... 24
4.1.1
Types syntaxiques (presque les domaines) ............................................................................................... 24
4.1.2
Création de table ....................................................................................................................................... 25
4.1.3
Modification de la structure d'une table .................................................................................................... 25
4.1.4
Consultation de la structure d'une base ..................................................................................................... 25
4.1.5
Destruction de table .................................................................................................................................. 25
4.2
SQL LMD ......................................................................................................................................................... 26
4.2.1
Interrogation.............................................................................................................................................. 26
4.2.2
Insertion de données ................................................................................................................................. 26
4.2.3
Modification de données ........................................................................................................................... 26
4.2.4
Suppression de données ............................................................................................................................ 26
5
Les clauses de SELECT ............................................................................................................................................ 27
5.1
Expression des projections ................................................................................................................................ 27
5.2
Expression des sélections .................................................................................................................................. 28
5.3
Calculs horizontaux .......................................................................................................................................... 30
5.4
Calculs verticaux (fonctions agrégatives) ......................................................................................................... 33
5.5
Expression des jointures sous forme prédicative .............................................................................................. 34
5.6
Autre expression de jointures : forme imbriquée .............................................................................................. 35
5.7
Tri des résultats ................................................................................................................................................. 38
5.8
Test d’absence de données ................................................................................................................................ 38
5.9
Classification ou partitionnement ..................................................................................................................... 40
5.10
Recherche dans les sous-tables ......................................................................................................................... 41
5.11
Recherche dans une arborescence ..................................................................................................................... 42
5.12
Expression des divisions ................................................................................................................................... 45
5.13
Gestion des transactions .................................................................................................................................... 48
6
SQL comme langage de contrôle des données .......................................................................................................... 49
6.1
Gestion des utilisateurs et de leurs privilèges ................................................................................................... 49
6.1.1
Création et suppression d’utilisateurs ....................................................................................................... 49
6.1.2
Création et suppression de droits .............................................................................................................. 50
6.2
Création d'index ................................................................................................................................................ 52
6.3
Création et utilisation des vues ......................................................................................................................... 52