Cours complet pour apprendre les différents types de bases de données et le lan
Cours complet pour apprendre les différents types de bases de données et le langage SQL Par Jacques Le Maitre Date de publication : 21 janvier 2006 Dernière mise à jour : 28 mars 2017 Il s'agit d'un cours complet sur les types de bases de données. Vous allez apprendre les différents modèles de conception d'une base de données et l'écriture de requêtes avec SQL. Un espace de dialogue vous est proposé sur le forum si vous avez des remarques concernant ce cours. Commentez Cours complet pour apprendre les différents types de bases de données et le langage SQL par Jacques Le Maitre I - Bibliographie............................................................................................................................................................7 II - Introduction.............................................................................................................................................................7 II-A - Qu'est-ce qu'une base de données ?...........................................................................................................7 II-B - Le modèle ANSI-SPARC.............................................................................................................................. 7 II-C - Schéma conceptuel...................................................................................................................................... 7 II-D - Principaux modèles conceptuels.................................................................................................................. 8 II-E - Exemple.........................................................................................................................................................8 II-E-1 - Exemple en relationnel.........................................................................................................................8 II-E-2 - Exemple en orienté objet..................................................................................................................... 9 II-E-3 - Exemple en XML..................................................................................................................................9 II-F - Schéma externe.......................................................................................................................................... 10 II-G - Schéma interne...........................................................................................................................................10 II-H - Architecture d'un SGBD..............................................................................................................................10 II-H-1 - Architecture centralisée......................................................................................................................11 II-H-2 - Architecture client-serveur..................................................................................................................11 II-H-3 - Architecture trois tiers........................................................................................................................ 12 II-I - Langage de bases de données................................................................................................................... 12 II-J - Exécution d'une requête..............................................................................................................................12 II-K - Contrôles..................................................................................................................................................... 13 II-L - Transactions.................................................................................................................................................13 II-M - Indépendance données-traitements........................................................................................................... 13 II-N - Qui intervient sur une BD ?........................................................................................................................14 III - Modèle entité-association....................................................................................................................................14 III-A - Historique et objectifs.................................................................................................................................14 III-B - La BD Réseau de bibliothèques................................................................................................................14 III-C - Entités et associations...............................................................................................................................14 III-D - Schéma et extension................................................................................................................................. 15 III-E - Type d'entité...............................................................................................................................................15 III-F - Type d'association......................................................................................................................................16 III-F-1 - Cardinalité d'un type d'association.................................................................................................... 17 III-F-2 - Désignation des entités et des associations..................................................................................... 17 III-F-2-a - Type d'association binaire *-*....................................................................................................17 III-F-2-b - Type d'association binaire 1-*...................................................................................................17 III-F-2-c - Type d'association binaire 1-1...................................................................................................18 III-F-2-d - Type d'association ternaire avec attribut...................................................................................18 III-F-2-e - Type d'association avec rôle.....................................................................................................19 III-F-3 - Type d'entité faible.............................................................................................................................19 III-F-4 - Type d'association isa....................................................................................................................... 20 III-G - Généralisation vs rôle................................................................................................................................21 IV - Modèle relationnel.............................................................................................................................................. 21 IV-A - Introduction................................................................................................................................................ 21 IV-B - Constitution d'une BD relationnelle........................................................................................................... 21 IV-B-1 - Domaines.......................................................................................................................................... 22 IV-B-2 - Relations............................................................................................................................................22 IV-B-2-a - Schéma d'une relation..............................................................................................................22 IV-B-2-b - Extension d'une relation........................................................................................................... 23 IV-B-2-c - En résumé : anatomie d'une relation........................................................................................24 IV-B-2-d - Deux visions d'une relation...................................................................................................... 24 IV-B-2-d-i - Vision tabulaire..................................................................................................................24 IV-B-2-d-ii - Vision prédicative............................................................................................................. 24 IV-B-2-e - Valeurs nulles........................................................................................................................... 25 IV-B-2-f - Constituants d'une relation........................................................................................................25 IV-B-2-g - Entités, associations et clés.....................................................................................................25 IV-B-2-g-i - Clés candidates et clé primaire........................................................................................ 25 IV-B-2-g-ii - Clés étrangères................................................................................................................ 26 IV-B-3 - Contraintes d'intégrité....................................................................................................................... 26 IV-C - Exemple : la BD plus8000.........................................................................................................................27 IV-C-1 - Quelques photos !.............................................................................................................................27 - 2 - Ce cours est mis à disposition selon les termes de la licence Creative Commons Paternité-Pas d'Utilisation Commerciale-Pas de Modification 2.0 France. https://sgbd.developpez.com/tutoriels/cours-complet-bdd-sql/ Cours complet pour apprendre les différents types de bases de données et le langage SQL par Jacques Le Maitre IV-C-2 - Les faits.............................................................................................................................................27 IV-C-3 - Domaines et relations.......................................................................................................................28 IV-C-4 - Clés................................................................................................................................................... 28 IV-C-5 - Vision tabulaire..................................................................................................................................29 IV-C-6 - Vision prédicative..............................................................................................................................29 IV-C-7 - Contraintes d'intégrité....................................................................................................................... 29 V - Du modèle entité-association au modèle relationnel.......................................................................................... 30 V-A - Traduction d'un type d'entité...................................................................................................................... 30 V-B - Traduction d'un type d'association............................................................................................................. 30 V-C - Traduction d'un type d'entité faible............................................................................................................ 32 V-D - Traduction d'un type d'association isa....................................................................................................... 33 VI - Algèbre relationnelle........................................................................................................................................... 34 VI-A - Objectifs..................................................................................................................................................... 34 VI-B - Expressions................................................................................................................................................34 VI-C - Relations temporaires................................................................................................................................34 VI-D - Principaux opérateurs................................................................................................................................35 VI-D-1 - Renommage......................................................................................................................................35 VI-D-2 - Union, intersection et différence....................................................................................................... 35 VI-D-3 - Produit cartésien............................................................................................................................... 36 VI-D-4 - Sélection............................................................................................................................................36 VI-D-5 - Projection.......................................................................................................................................... 37 VI-D-6 - Jointure..............................................................................................................................................37 VI-D-6-a - Jointure interne.........................................................................................................................37 VI-D-6-b - Jointure externe........................................................................................................................38 VI-D-6-c - Jointure naturelle...................................................................................................................... 39 VI-E - Requêtes en algèbre relationnelle.............................................................................................................40 VI-F - Arbre de requête........................................................................................................................................40 VII - SQL....................................................................................................................................................................41 VII-A - Introduction............................................................................................................................................... 41 VII-B - Objectifs.................................................................................................................................................... 41 VII-C - Panorama des commandes SQL.............................................................................................................42 VII-D - Principaux types de valeur.......................................................................................................................42 VII-E - Création de domaine................................................................................................................................ 42 VII-F - Création de table...................................................................................................................................... 43 VII-G - Structure d'une requête SQL................................................................................................................... 43 VII-G-1 - L'opérateur SELECT…FROM…WHERE.........................................................................................44 VII-G-2 - Requêtes monotable........................................................................................................................44 VII-G-3 - Jointure et utilisation de synonymes............................................................................................... 45 VII-G-4 - Éliminer les doubles : la clause DISTINCT..................................................................................... 45 VII-G-5 - Opérateurs d'agrégation.................................................................................................................. 45 VII-G-6 - Sous-requêtes..................................................................................................................................46 VII-G-6-a - Comparaison valeur/table....................................................................................................... 46 VII-G-6-b - IN et NOT IN...........................................................................................................................46 VII-G-6-c - Opérateur ALL.........................................................................................................................46 VII-G-6-d - Quantification existentielle.......................................................................................................46 VII-G-7 - Union, intersection et différence......................................................................................................47 VII-G-8 - Tri..................................................................................................................................................... 47 VII-G-9 - Groupement et agrégation...............................................................................................................48 VII-G-10 - Construction de tables dans la clause FROM...............................................................................49 VII-G-11 - Opérateurs de jointure dans la clause FROM...............................................................................49 VII-H - Manipulation des valeurs nulles...............................................................................................................49 VII-I - Vues............................................................................................................................................................50 VII-J - Utilisation d'une vue pour décomposer une requête complexe................................................................ 51 VII-K - Mise à jour d'une table.............................................................................................................................51 VII-K-1 - Mise à jour au travers d'une vue.....................................................................................................52 VII-L - Maintien de l'intégrité................................................................................................................................ 52 VII-L-1 - Assertions......................................................................................................................................... 52 VII-L-2 - Déclencheurs....................................................................................................................................53 - 3 - Ce cours est mis à disposition selon les termes de la licence Creative Commons Paternité-Pas d'Utilisation Commerciale-Pas de Modification 2.0 France. https://sgbd.developpez.com/tutoriels/cours-complet-bdd-sql/ Cours complet pour apprendre les différents types de bases de données et le langage SQL par Jacques Le Maitre VII-M - Confidentialité...........................................................................................................................................53 VII-M-1 - Protection par les vues................................................................................................................... 54 VII-M-2 - GRANT et REVOKE........................................................................................................................54 VII-N - Intégration de SQL dans un programme................................................................................................. 54 VIII - Normalisation.................................................................................................................................................... 55 VIII-A - Le problème.............................................................................................................................................55 VIII-B - Exemple................................................................................................................................................... 56 VIII-C - Solution....................................................................................................................................................56 VIII-D - Dépendances fonctionnelles....................................................................................................................56 VIII-D-1 - Dépendances fonctionnelles triviales..............................................................................................56 VIII-D-2 - Propriétés des dépendances fonctionnelles................................................................................... 57 VIII-D-3 - Dépendances fonctionnelles et clés............................................................................................... 57 VIII-D-4 - Normalisation d'une relation........................................................................................................... 58 VIII-D-4-a - Propriétés d'une décomposition............................................................................................. 58 VIII-D-4-b - 1re forme normale..................................................................................................................58 VIII-D-4-c - 2e forme normale................................................................................................................... 59 VIII-D-4-c-i - Insuffisance de la 2e forme normale.............................................................................. 60 VIII-D-4-d - 3e forme normale...................................................................................................................60 VIII-D-4-d-i - Insuffisance de la 3e forme normale.............................................................................. 61 VIII-D-4-e - Forme normale de Boyce-Codd.............................................................................................61 VIII-D-4-f - Décomposition en 3e forme normale et en FNBC..................................................................62 VIII-E - Dépendances multivaluées......................................................................................................................62 VIII-E-1 - 4e forme normale............................................................................................................................63 VIII-E-2 - Décomposition en 4e forme normale..............................................................................................63 VIII-F - Bilan......................................................................................................................................................... 64 IX - Organisation physique........................................................................................................................................ 65 IX-A - Une organisation physique simple............................................................................................................ 65 IX-A-1 - La base de données.........................................................................................................................65 IX-A-2 - Les fichiers........................................................................................................................................65 IX-A-3 - Évaluation d'une requête.................................................................................................................. 66 IX-A-4 - Les limites de cette organisation...................................................................................................... 66 IX-B - Objectifs d'une bonne organisation physique............................................................................................66 IX-B-1 - Hiérarchie de mémoire......................................................................................................................67 IX-B-1-a - Disques durs.............................................................................................................................67 IX-B-2 - Adresse physique d'un n-uplet..........................................................................................................68 IX-B-3 - Identification d'un n-uplet.................................................................................................................. 69 IX-B-3-a - Adresse logique d'un n-uplet....................................................................................................69 IX-B-3-b - Combinaison adressage physique/adressage logique (1)........................................................69 IX-C - Évolution de la taille des n-uplets.............................................................................................................70 IX-C-1 - Pointeur de suivi............................................................................................................................... 70 IX-D - Représentation des valeurs d'attributs......................................................................................................70 IX-E - Représentation des n-uplets......................................................................................................................70 IX-F - Échange disque/mémoire centrale............................................................................................................ 71 IX-F-1 - Structure de la mémoire tampon...................................................................................................... 71 IX-G - Recherche d'une page.............................................................................................................................. 72 IX-H - Stratégies de remplacement de page.......................................................................................................72 IX-I - Temps d'accès à un n-uplet........................................................................................................................72 IX-J - Index...........................................................................................................................................................73 IX-J-1 - Structure d'un index...........................................................................................................................73 IX-J-2 - Index primaire/index secondaire........................................................................................................74 IX-J-3 - Index dense/index creux....................................................................................................................74 IX-J-4 - Index dans les BD relationnelles.......................................................................................................74 IX-K - Exemple : la table......................................................................................................................................75 IX-K-1 - Index primaire dense........................................................................................................................ 75 IX-K-2 - Index primaire creux......................................................................................................................... 76 IX-K-3 - Index secondaire groupant............................................................................................................... 76 IX-K-4 - Index secondaire non groupant........................................................................................................ 77 IX-L - Mécanisme d'accès aux enregistrements d'un index................................................................................ 77 - 4 - Ce cours est mis à disposition selon les termes de la licence Creative Commons Paternité-Pas d'Utilisation Commerciale-Pas de Modification 2.0 France. https://sgbd.developpez.com/tutoriels/cours-complet-bdd-sql/ Cours complet pour apprendre les différents types de bases de données et le langage SQL par Jacques Le Maitre IX-L-1 - Exemple : la table sur laquelle sera construit l'index........................................................................ 77 IX-M - Arbre B+....................................................................................................................................................78 IX-M-1 - Structure d'un arbre B+....................................................................................................................78 IX-M-2 - Organisation d'un arbre B+.............................................................................................................. 78 IX-M-3 - L'index dico en arbre B+..................................................................................................................79 IX-M-4 - Recherche d'un enregistrement....................................................................................................... 80 IX-M-5 - Recherche de nez dans l'index dico................................................................................................ 80 IX-M-6 - Insertion............................................................................................................................................ 80 IX-M-7 - Fission d'un nœud............................................................................................................................81 IX-M-8 - Construction de l'index dico............................................................................................................. 81 IX-M-9 - Suppression d'un enregistrement.....................................................................................................83 IX-M-10 - Fusion d'un nœud.......................................................................................................................... 83 IX-M-11 - Suppressions dans l'index dico...................................................................................................... 84 IX-M-12 - Performances..................................................................................................................................84 IX-N - Hachage.....................................................................................................................................................85 IX-N-1 - Hachage statique.............................................................................................................................. 85 IX-N-1-a - Organisation............................................................................................................................. 85 IX-N-1-b - Fonction de hachage................................................................................................................86 IX-N-1-c - L'index dico par hachage avec répertoire................................................................................ 86 IX-N-1-d - Recherche d'un enregistrement............................................................................................... 87 IX-N-1-e - Insertion d'un enregistrement...................................................................................................87 IX-N-1-f - Suppression d'un enregistrement..............................................................................................87 IX-N-1-g - L'index dico par hachage sans répertoire................................................................................88 IX-N-1-h - Performances........................................................................................................................... 88 IX-N-2 - Hachage dynamique......................................................................................................................... 89 IX-N-2-a - Hachage extensible..................................................................................................................89 IX-N-2-b - Organisation............................................................................................................................. 89 IX-N-2-c - L'index dico par hachage extensible........................................................................................90 IX-N-2-d - Insertion d'un enregistrement...................................................................................................90 IX-N-2-e - Construction de l'index dico..................................................................................................... 91 X - Résolution des requêtes......................................................................................................................................93 X-A - Introduction................................................................................................................................................. 93 X-B - Les 3 phases de la résolution d'une requête.............................................................................................93 X-C - Arbre de requête........................................................................................................................................ 93 X-D - Évaluation des opérateurs relationnels...................................................................................................... 93 X-D-1 - Méthodes d'évaluation d'une sélection..............................................................................................94 X-D-2 - Méthodes d'évaluation d'une jointure................................................................................................ 94 X-D-3 - Méthodes d'évaluation d'une projection.............................................................................................94 X-E - Étude de quelques méthodes.....................................................................................................................94 X-E-1 - Coût de production d'une opération...................................................................................................95 X-E-2 - Coût d'écriture du résultat..................................................................................................................95 X-F - Sélection par simple boucle....................................................................................................................... 95 X-G - Sélection indexée....................................................................................................................................... 96 X-H - Comparaison des deux méthodes............................................................................................................. 96 X-I - Jointure par boucles imbriquées..................................................................................................................97 X-J - Jointure indexée..........................................................................................................................................97 X-K - Équi-jointure par hachage.......................................................................................................................... 98 X-L - Comparaison des trois méthodes...............................................................................................................99 X-M - Projection sans élimination des doublons............................................................................................... 100 X-N - Évaluation uploads/Management/ cours-complet-bdd-sql 1 .pdf
Documents similaires
-
30
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Aoû 04, 2022
- Catégorie Management
- Langue French
- Taille du fichier 2.6368MB