Version rééditée au format PDF et remise en page www.centraliup.fr.st Thierry S

Version rééditée au format PDF et remise en page www.centraliup.fr.st Thierry Spriet de de de Licence Génie Mathématique et Informatique - Systèmes de Gestion de Base de Données Page 2/60 Table des matières 1. GENERALITES SUR LES S.G.B.D ..............................................7 1.1. Définition................................................................................................................. 7 1.2. Historique................................................................................................................ 7 1.3. Objectifs d'un SGBD idéal ..................................................................................... 8 1.4. Architecture d'un SGBD......................................................................................... 8 1.4.1. NIVEAU CONCEPTUEL .............................................................................................................. 9 1.4.2. NIVEAU INTERNE (ou PHYSIQUE)............................................................................................ 9 1.4.3. NIVEAU EXTERNE...................................................................................................................... 9 1.5. Les utilisateurs de la base..................................................................................... 9 1.5.1. L'ADMINISTRATEUR PRINCIPAL .............................................................................................. 9 1.5.2. LES ADMINISTRATEURS D'APPLICATIONS ............................................................................ 9 1.5.3. LES PROGRAMMEURS D'APPLICATIONS ............................................................................... 9 2. MODELES LOGIQUES DE DONNEES ......................................10 2.1. Modèle conceptuel ............................................................................................... 10 2.1.1. OBJETS ..................................................................................................................................... 10 2.1.2. LIENS......................................................................................................................................... 10 2.1.3. ENTITES.................................................................................................................................... 11 2.1.4. EXEMPLE .................................................................................................................................. 12 2.2. Modèle hiérarchique............................................................................................. 13 2.2.1. REPRESENTATION DU SCHEMA............................................................................................ 13 2.2.2. AVANTAGES DU MODELE HIERARCHIQUE .......................................................................... 14 2.2.3. INCONVENIENTS DU MODELE HIERARCHIQUE................................................................... 14 2.3. Modèle réseau ...................................................................................................... 15 2.3.1. REPRESENTATION DU SCHEMA............................................................................................ 15 2.3.2. AVANTAGES DU MODELE RESEAU....................................................................................... 15 2.3.3. INCONVENIENT DU MODELE RESEAU.................................................................................. 15 2.4. Modèle relationnel................................................................................................ 15 Licence Génie Mathématique et Informatique - Systèmes de Gestion de Base de Données Page 3/60 3. LE MODELE RELATIONNEL .....................................................16 3.1. DEFINITIONS......................................................................................................... 16 3.1.1. DOMAINE .................................................................................................................................. 16 3.1.2. RELATION ................................................................................................................................. 16 3.1.3. ATTRIBUT.................................................................................................................................. 16 3.1.4. BASE DE DONNEES RELATIONNELLE .................................................................................. 16 3.2. Conception de schémas relationnels ................................................................. 16 3.2.1. PROBLEMES DE REPRESENTATION DU REEL .................................................................... 17 3.2.2. APPROCHE PAR DECOMPOSITION....................................................................................... 17 3.2.3. DECOMPOSITION..................................................................................................................... 18 3.3. Dépendances fonctionnelles............................................................................... 18 3.3.1. DEPENDANCE FONCTIONNELLE........................................................................................... 18 3.3.2. PROPRIETES DES DEPENDANCES FONCTIONNELLES...................................................... 19 3.3.3. DEPENDANCES FONCTIONNELLES ELEMENTAIRES (DFE)............................................... 19 3.4. Fermeture transitive et couverture minimale..................................................... 19 3.4.1. FERMETURE TRANSITIVE....................................................................................................... 19 3.4.2. COUVERTURE MINIMALE........................................................................................................ 20 3.5. Notion de clé et troisième forme normale.......................................................... 20 3.5.1. CLE DE RELATION ................................................................................................................... 20 3.5.2. LES TROIS PREMIERES FORMES NORMALES..................................................................... 20 3.5.3. PROPRIETES DES DECOMPOSITIONS EN 3NF.................................................................... 22 3.5.4. ALGORITHME DE DECOMPOSITION EN 3NF........................................................................ 22 3.5.5. FORME NORMALE DE BOYCE-CODD.................................................................................... 23 3.6. Dépendances multi valuées et 4NF .................................................................... 24 3.6.1. PROPRIETES DES DEPENDANCES MULTI-VALUEES.......................................................... 24 3.6.2. QUATRIEME FORME NORMALE : 4NF ................................................................................... 25 3.6.3. ALGORITHME DE DECOMPOSITION EN 4NF........................................................................ 25 3.7. Dépendances de jointure et 5NF......................................................................... 26 3.7.1. DEPENDANCES DE JOINTURE............................................................................................... 26 3.7.2. CINQUIEME FORME NORMALE : 5NF .................................................................................... 27 4. LANGAGES DE MANIPULATION DE DONNEES (LMD) ..........29 4.1. INTRODUCTION.................................................................................................... 29 4.2. L'ALGEBRE RELATIONNELLE ............................................................................ 29 4.2.1. OPERATIONS DE BASE........................................................................................................... 29 4.2.2. OPERATIONS ADDITIONNELLES............................................................................................ 31 5. ORACLE: ARCHITECTURE FONCTIONNELLE........................35 5.1. Noyau..................................................................................................................... 35 5.2. DICTIONNAIRE DES DONNEES........................................................................... 35 5.3. LA COUCHE SQL.................................................................................................. 36 5.4. ARCHITECTURE REPARTIE D'ORACLE............................................................. 36 Licence Génie Mathématique et Informatique - Systèmes de Gestion de Base de Données Page 4/60 6. ELEMENTS DE SQL...................................................................37 6.1. INTRODUCTION.................................................................................................... 37 6.1.1. NOTATIONS .............................................................................................................................. 37 6.1.2. RELATIONS DE REFERENCE.................................................................................................. 37 6.2. OBJETS DE LA BASE........................................................................................... 37 6.3. SYNTAXE DES NOMS D'OBJETS........................................................................ 39 6.4. TYPE DE DONNEES ............................................................................................. 39 6.4.1. TERMES .................................................................................................................................... 39 6.4.2. CARACTERES........................................................................................................................... 39 6.4.3. TEXTES ..................................................................................................................................... 39 6.4.4. NOMBRES ................................................................................................................................. 39 6.4.5. ECRITURE DES NOMBRES ENTIERS..................................................................................... 40 6.5. Opérateurs ............................................................................................................ 41 6.5.1. OPERATEURS ARITHMETIQUES............................................................................................ 41 6.5.2. OPERATEURS SUR LES CHAINES DE CARACTERES ......................................................... 41 6.5.3. OPERATEURS DE COMPARAISON ........................................................................................ 41 6.5.4. OPERATEURS LOGIQUES....................................................................................................... 42 6.5.5. OPERATEURS PARTICULIERS ............................................................................................... 42 6.6. Fonctions .............................................................................................................. 43 6.6.1. FONCTIONS NUMERIQUES SUR UNE LIGNE ....................................................................... 43 6.6.2. FONCTIONS POUR LES CARACTERES SUR UNE LIGNE.................................................... 43 6.6.3. FONCTIONS QUI TRANSFORMENT UN CARACTERE EN VALEUR NUMERIQUE ............. 44 6.6.4. FONCTIONS QUI REGROUPENT LES LIGNES DE RESULTAT ............................................ 44 6.6.5. CONVERSION DES TYPES DE DONNEES............................................................................. 44 6.6.6. FONCTIONS POUR LES DATES.............................................................................................. 45 6.6.7. FONCTIONS UTILES ................................................................................................................ 45 6.6.8. FORMATS.................................................................................................................................. 45 7. PRINCIPALES INSTRUCTIONS SQL ........................................48 7.1. Création d'objets .................................................................................................. 48 7.1.1. CREATION D'UNE TABLE ........................................................................................................ 48 7.1.2. CREATION D'UNE VUE ............................................................................................................ 48 7.1.3. CREATION D'UNE SEQUENCE ............................................................................................... 49 7.1.4. CREATION D'UN SYNONYME.................................................................................................. 49 7.2. Insertion de données ........................................................................................... 49 7.3. Sélection de données........................................................................................... 50 7.4. Modification des données ................................................................................... 50 7.4.1. MODIFICATION DES LIGNES DANS UNE TABLE .................................................................. 50 7.4.2. EFFACEMENT DE LIGNES DANS UNE TABLE OU DANS UNE VUE .................................... 50 7.5. MODIFICATION DES OBJETS.............................................................................. 51 7.5.1. MODIFICATION DES TABLES (INSERTION / SUPPRESSION DE COLONNES) .................. 51 7.5.2. MODIFICATION DES SEQUENCES......................................................................................... 51 7.5.3. CHANGEMENT DE NOM D'UN OBJET.................................................................................... 51 7.6. Suppression d'objets ........................................................................................... 52 7.6.1. TABLES ET VUES..................................................................................................................... 52 7.6.2. SUPPRIMER DES SYNONYMES.............................................................................................. 52 7.6.3. SUPPRIMER DES SEQUENCES.............................................................................................. 52 7.7. Validation des commandes ................................................................................. 52 7.8. Invalidation des opérations ................................................................................. 52 Licence Génie Mathématique et Informatique - Systèmes de Gestion de Base de Données Page 5/60 8. SYNTAXE DES EXPRESSIONS.................................................53 9. SYNTAXE DES CONDITIONS....................................................54 10. ADMINISTRATION .....................................................................55 10.1. Création d'objets .................................................................................................. 55 10.1.1. CREATION DE LA BASE................................................................................................................ 55 10.1.2. CREATION DE LA TABLESPACE (espace de rangement des données)...................................... 55 10.2. Modification de la base........................................................................................ 55 10.2.1. MODIFICATION DE L'ORGANISATION LOGIQUE ....................................................................... 55 10.2.2. MODIFICATION DE LA TABLESPACE .......................................................................................... 55 10.2.3. MODIFICATION DES UTILISATEURS (uniquement en DBA) ....................................................... 55 10.3. Privilèges .............................................................................................................. 56 10.3.1. AUTORISATION D'ACCES A LA BASE ......................................................................................... 56 10.3.2. AUTORISATION D'ACCES A LA TABLESPACE ........................................................................... 56 10.3.3. ACCES AUX OBJETS..................................................................................................................... 56 10.3.4. SUPPRESSION D'ACCES A LA BASE (uniquement en DBA)....................................................... 56 10.3.5. SUPPRESSION D'ACCES A UNE TABLESPACE ......................................................................... 56 10.3.6. SUPPRESSION D'ACCES AUX OBJETS (pour les propriétaires de ces objets ou ceux ayant des privilèges sur ces objets)............................................................................................................................. 56 11. SQL*PLUS - COMMANDES INTERACTIVES............................57 11.1. Définition de variables ......................................................................................... 57 11.2. Exécution des commandes avec paramètres.................................................... 57 11.3. Ecriture des messages à l'écran......................................................................... 57 11.4. Affectation de variables par lecture.................................................................... 57 11.5. Formatage des résultats...................................................................................... 57 11.5.1. FORMATAGE DES COLONNES .................................................................................................... 57 11.5.2. RUPTURES DE SEQUENCES DANS UN RAPPORT.................................................................... 58 11.5.3. TITRE D'UN RAPPORT .................................................................................................................. 58 11.5.4. IMPRESSION DE CALCUL SUR LES DONNEES.......................................................................... 59 11.5.5. SUPPRESSION DES OPTIONS..................................................................................................... 59 11.6. Variables de l'environnement.............................................................................. 59 11.6.1. AFFECTATION D'UNE VARIABLE................................................................................................. 59 11.6.2. VISUALISATION DES VARIABLES ................................................................................................ 59 11.6.3. IMPRESSION DE MESSAGES (pauses)........................................................................................ 59 11.6.4. SORTIE DES RESULTATS............................................................................................................. 60 11.7. Informations relatives aux objets........................................................................ 60 11.7.1. DESCRIPTION DES TABLES......................................................................................................... 60 11.7.2. ACCES AU DICTIONNAIRE ........................................................................................................... 60 11.7.3. OBJETS PROPRIETAIRES ............................................................................................................ 60 11.7.4. OBJETS ACCESSIBLES................................................................................................................. 60 11.7.5. PRIVILEGES ................................................................................................................................... 60 Licence Génie Mathématique et Informatique - Systèmes de Gestion de Base de Données Page 6/60 Licence Génie Mathématique et Informatique - Systèmes de Gestion de Base de Données Page 7/60 1. GENERALITES SUR LES S.G.B.D 1.1. DEFINITION BASE DE DONNEES : Collection de données dont la structure reflète les relations qui existent entre ces données. Cette base de données est gérée par un Système de Gestion de Base de Données (SGBD). S.G.B.D : C'est un ensemble de procédures permettant : • La description des données et des relations les concernant. • L'interrogation de la base de données (ex: SNCF utilise le système SOCRATE). • La mise à jour des données (éventuelle redondance de données). • Le partage des données. • La protection des données de la base. 1.2. HISTORIQUE • Années 50-60 : A cette époque, des objets informatiques ont été structurés : des fichiers, avec des modes d'accés à ces fichiers (séquentiel, séquentiel indexé, direct ...). • Années 62-63 : Apparition du concept de base de données. • Années 65-70 : SGBD première génération (i.e : modèle hiérarchique [arbres] et réseau [graphes]). - IMS d'IBM (hiérarchique). - IDS de General Electric (réseau), a servi de modèle pour CODASYL. • A partir des années 70 : SGBD seconde génération fondée sur le modèle relationnel. Avantages : plus de spécification des moyens d'accés aux données. • Années 80 : - MRDS (CII HB). - QBE (Query By Example). - SQL / IDS (IBM). - INGRES. - ORACLE (choisi pour ce cours). • Futur : - Les données seront plus variées (textes, sons, images...). - Bases de connaissances. Systèmes experts. - Bases de données déductives. - Génie logiciel et SGBD. - Accés intelligent et naturels (langage naturel par exemple) - Communication multimédia. Licence Génie Mathématique et Informatique - Systèmes de Gestion de Base de Données Page 8/60 1.3. OBJECTIFS D'UN SGBD IDEAL • Indépendance physique (données / programmes) : modifier la structure interne des données, sans toucher le(s) programme(s). • Indépendance logique : pouvoir modifier le schéma conceptuel sans modifier les programmes (lors de rajout d'informations : tables). • Manipulation des données : il faut que les données puissent être manipulées à distance par des gens qui n'ont aucune connaissance de la structure interne de la base de données. • Efficacité des accés aux données : - Convivialité : manipuler les données sans connaitre les structures (utilisateurs). - Rapidité d'accés aux données : temps de réponse. • Administration centrale des données : organisation générale et administration de la base. • Non-redondance des données : une même donnée ne devrait apparaître qu'une seule fois dans la base (il existe des cas où cela est impossible). • Intégrité des données : l'administrateur, lorsqu'il définit des données, détermine des contraintes sur l'intégrité des données. • Partageabilité des données. • Sécurité des données : - Contrôles des droits d'accés. - Reprises sur pannes. 1.4. ARCHITECTURE D'UN SGBD Programmes Applications Sous modèle A Sous modèle B Modèle principal Archivage Utilisateurs Programmeurs d'applications Administrateurs d'applications Administrateur général Niveau externe Niveau conceptuel Niveau physique ou interne Licence Génie Mathématique et Informatique - Systèmes de Gestion de Base de Données Page 9/60 1.4.1. NIVEAU CONCEPTUEL Objets du monde réel Schéma uploads/s3/ cours-bd-pdf.pdf

  • 56
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager