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é Larbi Ben M’hidi – Oum El Bouaghi Faculté des Sciences Exactes et des Sciences de la Nature et de la Vie Département de Mathématiques et de l'Informatique Polycopié de Cours Bases de Données Niveau : 2ème année licence en Informatique Dr. SAIGHI Asma Préambule Le présent document s'agit d'un support de cours concernant la matière Bases de données, enseigné au Département de Mathématiques et d'Informatique à l'université d'Oum El Bouaghi et destiné aux étudiants de deuxième année licence en informatique. Ce cours permet d’initier l'étudiant aux Bases de données d'une manière aussi simple et claire que possible vu son importance, tout en essayant de donner une vision sur ce que c’est une base de données ainsi que sur sa gestion. Le cours aborde également des concepts de base tels que les fichiers, les différents modèles de données et spatialement le modèle relationnel, l’algèbre relationnel, le système de gestion de base de données et le langage SQL d’interrogation de bases de données. Par conséquent, l’étudiant peut comprendre l’intérêt de la structuration et la manipulation des données sous forme de tables. Tout les concepts et les opérations sur les données sont illustrées par des exemples. Pour que nos objectifs soient atteints, nous avons synthétisé les informations les plus pertinentes en s'appuyant sur des sources variées (ouvrages, notes de cours, sites internet, etc.) tout en respectant le canevas officiel défini par le ministère de l'enseignement supérieur et de la recherche scientifique. Néanmoins, nous avons conscience que ce document restera partiel, tronqué et non exhaustif. C'est pourquoi nous essayons de veiller à une actualisation permanente dans le but d'enrichir son contenu. Ainsi, nous serions reconnaissant aux lecteurs de nous signaler toute erreur ou de nous proposer des suggestions dans ce sens. Oum El Bouaghi, Octobre 2019 Dr. SAIGHI Asma i Table des matières Chapitre 1 : Présentation des bases de données 1. Notion de fichier........................................................................................................................... 1 1.1. Définition ................................................................................................................................ 1 1.2. Intérêts ..................................................................................................................................... 1 1.3. Limites des systèmes de fichiers........................................................................................... 1 2. Définition de base de données (BD) ......................................................................................... 2 3. Système de gestion de base de données .................................................................................... 3 3.1. Définition ................................................................................................................................ 3 3.2. Niveaux d’abstraction ............................................................................................................ 3 3.3. Objectifs des SGBD .............................................................................................................. 4 4. Types de modèles de données .................................................................................................... 6 4.1. Modèle sémantique ................................................................................................................ 6 4.2. Modèle Entité-Association ................................................................................................... 6 4.3. Modèle hiérarchique .............................................................................................................. 9 4.4. Modèle réseau ......................................................................................................................... 10 4.5. Modèle relationnel.................................................................................................................. 10 Chapitre 2 : Modèle relationnel 1. Introduction au modèle relationnel............................................................................................ 11 1.1. Définition du modèle relationnel ......................................................................................... 11 1.2. Concepts de base (attribut, Tuple, domaine, relation) ...................................................... 11 1.3. Schéma de relation ................................................................................................................. 12 1.4. Passage du modèle Entité/ Association au modèle relationnel ...................................... 12 2. Normalisation ................................................................................................................................ 14 2.1. Dépendances fonctionnelles (DFs) ..................................................................................... 14 2.1.1. Définition ...................................................................................................................... 14 2.1.2. Propriétés des DFs ....................................................................................................... 14 2.1.3. Types des DFs .............................................................................................................. 15 2.1.4. Graphe de Dépendances Fonctionnelles (GDF)..................................................... 16 ii 2.2. Fermeture transitive (Transitive closure) ............................................................................ 16 2.3. Couverture minimale (Minimal cover) ................................................................................ 16 2.4. Clé de relation ......................................................................................................................... 17 2.5. Contrainte d’intégrité ............................................................................................................. 18 2.6. Formes normales ................................................................................................................... 18 2.6.1. Première Forme Normale (First normal form) 1FN .............................................. 19 2.6.2. Deuxième Forme Normale (Second normal form) 2FN ....................................... 20 2.6.3. Troisième Forme Normale (Third nomal form) 3FN ............................................ 20 2.6.4. Forme Normale FN de Boyce-Codd BCNF (Boyce-Codd normal form) .......... 21 2.7. Schéma de base de données.................................................................................................. 22 3. Modèle relationnel logique (SQL) .............................................................................................. 23 3.1. Table, colonne et ligne ......................................................................................................... 23 3.2. Description de SQL (Structured Query Langage) ............................................................ 23 3.3. Définition de données .......................................................................................................... 24 3.3.1. Création de table (CREATE) .................................................................................... 24 3.3.1.1. Contrainte de colonne ................................................................................... 25 3.3.1.2. Contrainte de table ........................................................................................ 25 3.3.2. Modification de schéma (ALTER, DROP) ............................................................ 26 3.3.2.1. Suppression d’une table ................................................................................ 26 3.3.2.2. Modification d’une table ............................................................................... 27 3.4. Manipulation des données (INSERT, DELETE, UPDATE) ........................................ 27 3.4.1. INSERT INTO ........................................................................................................... 27 3.4.2. UPDATE ..................................................................................................................... 28 3.4.3. DELETE...................................................................................................................... 29 Chapitre 3 1. Définition de l’algèbre relationnelle ........................................................................................... 30 2. Opérations de base ....................................................................................................................... 30 2.1. Opérations et opérateurs unaires (spécifiques) ................................................................. 30 2.1.1. Sélection (Restriction) ............................................................................................... 30 2.1.2. Projection .................................................................................................................... 31 2.1.3. Thêta Jointure ............................................................................................................. 32 iii 2.1.4. Jointure naturelle ............................................................................................................ 33 2.1.5. Traduction en SQL ........................................................................................................ 34 2.1.5.1. Requêtes simples (SELECT-FROM) ............................................................. 34 2.1.5.2. Sélection de colonne (clause WHERE) .......................................................... 34 2.1.5.3. Tri de résultats (ORDER BY) .......................................................................... 36 2.2. Opérations ensemblistes (binaires) ...................................................................................... 36 2.2.1. Union ............................................................................................................................ 36 2.2.2. Différence..................................................................................................................... 36 2.2.3. Produit cartésien (Cartesian product)....................................................................... 38 3. Opérations dérivées ...................................................................................................................... 39 3.1. Intersection ............................................................................................................................ 39 3.2. Jointure externe ..................................................................................................................... 40 3.3. Semi jointure .......................................................................................................................... 42 3.4 Division ................................................................................................................................... 43 4. Le langage algébrique ................................................................................................................... 44 5. Traduction en SQL ....................................................................................................................... 44 5.1. Union ...................................................................................................................................... 44 5.2. Intersection ............................................................................................................................ 45 5.3. Différence .............................................................................................................................. 45 5.4. Produit cartésien (sans jointure) ......................................................................................... 45 5.5. Jointure de tables (condition de jointure) .......................................................................... 46 5.5.1. Thêta jointure .............................................................................................................. 46 5.5.2. Jointure naturelle ......................................................................................................... 47 5.5.3. Jointure externe ........................................................................................................... 47 6. Fonctions d’agrégat ...................................................................................................................... 48 7. Clause GROUP BY …HAVING .............................................................................................. 49 7.1. La clause GROUP BY ......................................................................................................... 49 7.2. La clause HAVING .............................................................................................................. 49 Séries d’exercices ............................................................................................................................... 51 Liste des figures et Tableaux Figure 1.1. Architecture Générale d’un SGBD [11] ........................................................................... 3 Figure 1.2. Les trois niveaux de schémas ............................................................................................. 4 Figure 1.3. Modélisation d’une entité ................................................................................................... 7 Figure 1.4. Modélisation d’un type entité ............................................................................................. 7 Figure 1.5. Modélisation d’un type entité avec identifiant. ................................................................ 8 Figure 1.6. Exemple d’une association ................................................................................................. 8 Figure 1.7. Exemple de cardinalité 0,n. ................................................................................................ 9 Figure 1.8. Exemple de cardinalité 1,1 ................................................................................................. 9 Figure 1.9. Exemple de cardinalité 0,1. ................................................................................................ 9 Figure 1.10. Exemple de cardinalité 1,n. .............................................................................................. 9 Figure 1.11. Modèles de données........................................................................................................... 10 Figure 1.12. Transformation du modèle E/A au modèle relationnel [13] ...................................... 10 Figure 2.1. Exemple d’application de la règle1 de transformation ................................................... 13 Figure 2.2. Exemple d’application de la règle 2. ................................................................................. 13 Figure 2.3. Exemple d’application de la règle 3 .................................................................................. 13 Figure 2.4. Graphe de dépendance fonctionnelle............................................................................... 16 Figure 2.5. Formes normales………………………………………………………………….22 Figure 2.6. Différence entre Schéma de base de données et Base de données [12]. ..................... 22 Tableau 2.1. Composants du langage SQL [5]. ................................................................................... 24 Tableau 2.2. Situations possibles de la commande ALTER TABLE ............................................. 27 Figure 3.1. Représentation graphique de la sélection…………………………………………. 31 Figure 3.1. Représentation graphique de la projection.………………………………………...31 Figure 3.3. Représentation graphique de la jointure…………………………………………...32 Figure 3.4. Représentation graphique de la jointure naturelle………………………………….33 Figure 3.5. Représentation graphique de l’union………………………………………………37 Figure 3.6. Représentation graphique de la différence………………………………………....38 Figure 3.7. Représentation graphique du produit cartésien……………………………………39 Figure 3.8. Représentation graphique de l’intersection………………………………………...40 Figure 3.9. Représentation graphique de la jointure externe…………………………………..41 Figure 3.10. Modélisation graphique de la semi jointure……………………………………....42 Figure 3.11. Modélisation graphique de la division……………………………………………43 Figure 3.12. Arbre algébrique correspondant à l’exemple……………………………………..44 Dr. Asma Saighi 1 Chapitre 1 : Présentation des bases de données 1. Notion de fichier 1.1. Définition La notion de fichier (File) a été introduite en informatique durant les années50. Un fichier est un récipient d’information caractérisé par un nom, constituant une mémoire secondaire idéale, permettant d’écrire des programmes d’application indépendants des mémoires secondaires [1]. Il y avait deux types de fichiers : 1. Fichier des données : des séquences d’enregistrements dont l’accès est séquentiel ou indexé. 2. Fichier de traitement : un ensemble d’instructions permettant la manipulation des données des fichiers (e.g., assembleur, Cobol). 1.2. Intérêt L’objectif des fichiers était de simplifier l’utilisation des mémoires secondaires des ordinateurs. Les fichiers fournissent des récipients de données plus manipulables aux programmes et sont gérées par un système de gestion de fichiers. Suite à la sophistication des systèmes informatiques, les données stockées dans des fichiers (informations système ou utilisateur) sont devenues structurées. En effet, aujourd’hui, les fichiers sont à la base des systèmes d’information. De ce fait, le premier niveau d’un SGBD (Système de Gestion de Base de Données) est la gestion de fichiers. Le SGBD sera présenté dans les paragraphes suivants. Les données gérées par l’entreprise et les programmes spécifiant les traitements sur les données sont stockés dans des fichiers gérés par le système informatique. Par exemple, le traitement de l’application de comptabilité d’une entreprise de livraison de produits (gestion des comptes des clients et édition des factures, etc.). La gestion des fichiers permet de traiter et de stocker des quantités importantes de données, et de les partager entre plusieurs programmes. De plus, elle sert de base au niveau interne des Systèmes de Gestion de Bases de Données. 1.3. Limites des systèmes de fichiers Cette approche a souffert des problèmes suivants : Suite à la redondance des données (i.e. les doublons) dans les fichiers, le volume des données et le temps d’accès aux données augmentent et la validité du système diminue. La mise à jour dans l’approche système de fichier est pénible parce que le changement d’une donnée entraine la nécessité de la changer partout pour conserver la validité du système (e.g., si l’adresse d’un client change, il faut la mettre à jour partout). Chapitre 1 Présentation des bases de données Dr. Asma Saighi 2 L’accès uploads/Science et Technologie/cours-a-publier-2020 2 .pdf
Documents similaires
-
16
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Jul 27, 2022
- Catégorie Science & technolo...
- Langue French
- Taille du fichier 3.0688MB