République Algérienne Démocratique et Populaire Ministère de l’Enseignement Sup
République Algérienne Démocratique et Populaire Ministère de l’Enseignement Supérieur et de la Recherche Scientifique Université Abderrahmane MIRA de Béjaia Faculté des Sciences Exactes Département d’Informatique SUPPORT DE COURS Préparé par : Dr Mohamed Essaid KHANOUCHE Maître de Conférences à l’Université de Béjaia Module : BASES DE DONNÉES Année universitaire 2018 – 2019 Table des matières Liste des figures ......................................................................................................................... v Liste des tableaux ...................................................................................................................... vi PRÉAMBULE .......................................................................................................................... 1 CHAPITRE 1 – Bases de données et système de gestion de bases de données ................... 3 1. Introduction ........................................................................................................................... 3 2. Notion de base de données .................................................................................................... 4 3. Modèles de données .............................................................................................................. 4 3.1. Modèle hiérarchique ................................................................................................ 5 3.2. Modèle réseau .......................................................................................................... 6 3.3. Modèle relationnel ................................................................................................... 7 4. Système de gestion de bases de données ............................................................................... 8 4.1. Principes et objectifs ................................................................................................ 8 4.2. Les fonctions d’un SGBD ........................................................................................ 8 4.3. Architecture d’un SGBD .......................................................................................... 9 4.4. Niveaux de description des données ANSI/SPARC .............................................. 10 4.5. Quelques SGBD ..................................................................................................... 11 CHAPITRE 2 – Concepts de base sur les bases de données relationnelles ....................... 12 1. Introduction ......................................................................................................................... 12 2. Notions autour du modèle relationnel ................................................................................. 13 2.1. Attribut ................................................................................................................... 13 2.2. Domaine ................................................................................................................. 13 2.3. Produit cartésien ..................................................................................................... 13 2.4. Relation .................................................................................................................. 14 2.5. Schéma de relation ................................................................................................. 14 2.6. Différentes clés d’une relation ............................................................................... 16 2.7. Clé étrangère .......................................................................................................... 16 3. Le paradigme de bases de données relationnelles ............................................................... 18 3.1. Schéma d’une base de données relationnelle ......................................................... 18 3.2. Les contraintes d’intégrité ...................................................................................... 18 3.2.1. Les contraints imposé à un attribut ................................................................................ 18 3.2.2. Les contraintes référentielles ......................................................................................... 19 3.2.3. Les contraintes d’entité.................................................................................................. 19 CHAPITRE 3 – Dépendances fonctionnelles et normalisation. ......................................... 20 1. Introduction ......................................................................................................................... 20 2. Le phénomène de redondance ............................................................................................. 21 3. Dépendance fonctionnelle ................................................................................................... 23 3.1. Définition d’une dépendance fonctionnelle ........................................................... 23 3.2. Axiomes de déduction des dépendances fonctionnelles ........................................ 24 3.3. La fermeture d’un ensemble d’attributs ................................................................. 26 3.4. Typologie des dépendances fonctionnelles ............................................................ 27 3.5. Retour sur la notion de clé d’une relation .............................................................. 29 3.6. Couverture minimale d’un ensemble de dépendances fonctionnelles ................... 30 3.7. Fermeture transitive d’un ensemble de DF ............................................................ 33 3.8. Graphe des attributs et des dépendances fonctionnelles ........................................ 34 4. Les formes normales ............................................................................................................ 34 4.1. Première forme normal .......................................................................................... 35 4.2. Deuxième forme normale ...................................................................................... 37 4.3. Troisième forme normale ....................................................................................... 38 4.4. Forme normale de Boyce-Codd ............................................................................. 40 5. Algorithme de normalisation par synthèse .......................................................................... 41 CHAPITRE 4 – Algèbre relationnelle .................................................................................. 43 1. Introduction ......................................................................................................................... 43 2. Classification des opérateurs algébriques ............................................................................ 44 2.1. Nombre de relations impliquées ............................................................................ 44 2.2. Types d’opérateurs relationnels ............................................................................. 44 3. Les opérateurs basique......................................................................................................... 44 3.1. Les opérations ensemblistes ................................................................................... 44 3.1.1. Union ............................................................................................................................. 44 3.1.2. Différence ...................................................................................................................... 45 3.1.3. Produit cartésien ............................................................................................................ 46 3.2. Les opérations spécifiques ..................................................................................... 47 3.2.1. La projection .................................................................................................................. 47 3.2.2. La sélection .................................................................................................................... 47 3.2.3. La jointure ..................................................................................................................... 48 4. Les opérateurs dérivés ......................................................................................................... 52 4.1. Intersection ............................................................................................................. 52 4.2. Semi jointure .......................................................................................................... 52 4.3. La division ............................................................................................................. 53 4.4. Le complément ....................................................................................................... 55 CHAPITRE 5 – Mise en œuvre d’une base de données relationnelle : Langage SQL. ... 56 1. Introduction ......................................................................................................................... 56 2. Catégories des instructions SQL ......................................................................................... 57 2.1. Langage de Définition de Données ........................................................................ 57 2.2. Langage de Manipulation de Données ................................................................... 57 2.3. Langage de Protections d’Accès ............................................................................ 57 2.4. Langage de Contrôle de Transaction ..................................................................... 57 3. Les types de données ........................................................................................................... 57 4. Base de données exemple .................................................................................................... 58 5. Langage de définition de données ....................................................................................... 59 5.1. Création/Suppression d’une base de données ........................................................ 59 5.2. Contraintes sur les colonnes d’une table ................................................................ 59 5.2.1. Contrainte de la clé primaire ......................................................................................... 60 5.2.2. Contrainte d’unicité ....................................................................................................... 60 5.2.3. Contrainte de la clé étrangère ........................................................................................ 60 5.2.4. Contrainte de vérification .............................................................................................. 61 5.2.5. Contrainte de non nullité ............................................................................................... 61 5.2.6. Contrainte de valeur par défaut ..................................................................................... 61 5.3. Création/Suppression d’une table .......................................................................... 61 5.4. Modification de la structure d’une table ................................................................ 62 5.4.1. Ajout/Suppression d’une colonne.................................................................................. 62 5.4.2. Ajout/Suppression d’une contrainte .............................................................................. 63 5.4.3. Modifier les caractéristiques d’une colonne .................................................................. 64 5.4.4. Renommer une table ...................................................................................................... 64 6. Langage de manipulation de données .................................................................................. 64 6.1. Les mises à jour de données ................................................................................... 64 6.1.1. Remplir une table .......................................................................................................... 64 6.1.2. Modifier le contenu d’une table .................................................................................... 65 6.1.3. Supprimer des tuples ..................................................................................................... 66 6.1.4. Vider rune table ............................................................................................................. 66 6.2. Interrogation d’une base de données ...................................................................... 66 6.2.1. Commande SELECT … FROM .................................................................................... 66 6.2.2. Implémentation des opérateurs relationnels .................................................................. 67 6.3. Colonnes dans une liste ou une plage de valeurs ................................................... 70 6.3.1. Opérateur BETWEEN ................................................................................................... 71 6.3.2. Opérateur IN .................................................................................................................. 71 6.4. L’opérateur LIKE et les chaines de caractères ...................................................... 72 6.5. Opérateurs ALL/ANY ........................................................................................... 73 6.6. Référence à une même table .................................................................................. 73 6.7. Le tri des tuples ...................................................................................................... 74 6.8. Expression de la jointure avec l’opérateur IN ........................................................ 74 7. Calcul statistique ................................................................................................................. 75 7.1. Les fonctions d’agrégation ..................................................................................... 76 7.1.1. La fonction COUNT et ses variantes ............................................................................. 76 7.1.2. Les fonctions SUM et AVG .......................................................................................... 77 7.1.3. Les fonctions MIN et MAX .......................................................................................... 78 7.2. La clause GROUP BY ........................................................................................... 79 7.3. Expressions numériques dans GROUP BY ........................................................... 80 7.4. La clause HAVING ................................................................................................ 80 7.5. Expression de la division à l’aide du calcul statistique .......................................... 81 Références bibliographiques ................................................................................................. 83 Liste des figures Fig. 1. 1 – Exemple d’une base de données suivant le modèle hiérarchique. ......................................... 5 Fig. 1. 2 – Exemple d’une base de données suivant le modèle réseau. ................................................... 6 Fig. 1. 3 – Exemple d’une base de données relationnelle. ...................................................................... 7 Fig. 1. 4 – Architecture trois-tiers pour un système de gestion de bases de données. ........................... 10 Fig. 2. 1 – Exemple illustratif du concept de la clé étrangère. ............................................................. 17 Fig. 3. 1 – Graphe des dépendances fonctionnelles de la relation ENSEIGNEMENTS. ...................... 34 Fig. 3. 2 – Le rapport entre les quatre formes normales. ....................................................................... 35 Fig. 3. 3 – Représentation typique d’un schéma de relation non en 2NF. ............................................. 38 Fig. 3. 4 – Représentation typique d’un schéma de relation non en 3NF. ............................................. 39 Fig. 3. 5 – Représentation typique d’un schéma de relation non en BCNF. ........................................ 41 Liste des tableaux Table 2. 1 – Exemple du produit cartésien de deux domaines. ............................................................ 14 Table 2. 2 – Exemple d’une relation. ................................................................................................... 14 Table 2. 3 – Extension du schéma de relation OUVRAGES. ............................................................... 15 Table 3. 1 – Exemple illustrant le phénomène de la redondance. ........................................................ 21 Table 3. 2 – Décomposition de la relation LIVRES sans redondance d’information. ......................... 22 Table 3. 3 – Exemple d’une relation « FACULTÉS » qui est non en 1NF. ......................................... 36 Table 3. 4 – Approche de normalisation par aplanissement de la relation « FACULTÉS ». ............... 37 Table 3. 5 – Approche de normalisation par décomposition de la relation « FACULTÉS ». .............. 37 Table 3. 6 – Exemple d’extension d’une relation « ENSEIGNEMENTS » non en 3NF. .................... 40 Table 3. 7 – Exemple de la relation « ENSEIGNEMENTS » en 3NF. ................................................ 40 Table 5. 1 – Implémentation des opérateurs relationnels en SQL. ........................................................ 70 1 PRÉAMBULE Le présent document portant sur « Les bases de données » est destiné aux étudiants en deuxième année Licence Informatique et pourra être consulté par toute personne voulant comprendre la problématique des bases de données. En effet, les bases de données jouent un rôle central dans le développement technologique depuis plus de quatre décennies. Aujourd’hui, nous pouvons remarquer que toute application informatique utilise de manière directe ou indirecte une base de données. Ce document présente une synthèse des principes et des techniques actuelles en matière de base de données notamment les bases de données relationnelles. Ces paradigmes sont au cœur des systèmes d’information d’aujourd’hui et doivent être connus de tout étudiant à l’université et de tout professionnel de l’informatique. L’objectif de ce document est de former les étudiants à la conception, à la création, et à la gestion des bases de données relationnelles en adoptant un apprentissage progressif et méthodologique des concepts fondamentaux des bases de données basé sur des exemples pratiques. Ce support de cours pourrait être éventuellement consulté par les étudiants en Master 1 Mathématiques Appliquées et les étudiants en troisième année Licence Informatique Recrutement National. La structure générale de ce document comprend cinq chapitres. CHAPITRE 1 – Bases de données et système de gestion de bases de données Il a pour objectif d’introduire la problématique des bases de données. Nous introduisons tout d’abord le concept de bases de données qui joue un rôle central dans les dispositifs informatiques de collecte, mise en forme, stockage et utilisation de l’information. Dans la suite du chapitre, nous décrivons les principaux modèles de données et exposons une vue d’ensemble des Systèmes de Gestion de Bases de Données (principe de fonctionnement, objectifs et les trois niveaux de description des données de la norme ANSI/SPARC). Enfin, dans la dernière partie, nous esquissons quelques exemples de SGBD commerciaux, tels que Oracle, et d’autres gratuits, tels uploads/Voyage/ cours-khanouche-mohamed-essaid-bases-de-donnees.pdf
Documents similaires










-
30
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Sep 30, 2021
- Catégorie Travel / Voayage
- Langue French
- Taille du fichier 2.3142MB