Chapitre 1 : Introduction aux systmes de gestion de base de donnes
Transcription
Chapitre 1 : Introduction aux systmes de gestion de base de donnes
Université M’hamed Bougara de Boumerdes Département de Physique. Infotronique. Systèmes de Gestion de Base de Données (SGBD) – S6 2009/2010 Mme S.MECHID Chapitre 1 : Introduction aux Systèmes de Gestion de Bases de Données (Eléments de base) Université M’hamed Bougara de Boumerdes Département de Physique. Infotronique. Systèmes de Gestion de Base de Données (SGBD) – S6 2009/2010 Mme S.MECHID 1. Généralités sur l'information et sur sa Représentation 1.1 Informations et données : a. Au sen de la vie : C’est l’apport d’une connaissance ou d’un renseignement. Exemple : Le prix de la viande est augmenté. Il y a importation de pièces détachées. b. Au sens de la théorie de l’information (Shanon) C’est l’expression d’un choix parmi un ensemble d’événement possible. Exemple : Le kilo de viande coûte 900DA L'information peut être définie comme un fait du monde perçu. Elle peut être représentée, modifiée et rediffusée. Afin de pouvoir la représenter, l'information nécessite la définition : - d'un langage de représentation. Il permettra d'exprimer toute information par des mots de ce langage (phrase, dessin, codes, ....). - d'une sémantique qui permet de définir le sens des mots du langage qui représentent de l'information. Cette sémantique doit permettre de lever les ambiguïtés et les non sens sur les informations. L’information va être codée et va devenir une donnée. Une Base de données est un gros ensemble d’informations structurées mémorisées sur un support permanent. Ou bien on peut dire : Une base de données sera donc un ensemble organisé et intégré de données. 2 Université M’hamed Bougara de Boumerdes Département de Physique. Infotronique. Systèmes de Gestion de Base de Données (SGBD) – S6 2009/2010 Mme S.MECHID Elle correspond à une représentation fidèle des données et de leur structure avec le minimum possible de contraintes imposées par le matériel. Enfin, elle doit pouvoir être utilisée pour une application pratique sans duplication de données. La question à poser est pourquoi une base de données ? Pour répondre à cette questions examinons les inconvénients des fichiers standards. 2. Rappels sur les fichiers et les systèmes de gestion de fichiers (SGF) 2.1 Des fichiers aux BDD On peut distinguer de sortes de fichiers : Les fichiers classiques de type Basic. Les fichiers séquentiels indexés multi_criteres tq DBASE Avec les fichiers classiques, l’accessibilité selon multiples critères est difficile ; Le logiciel de gestion de fichier (SGF) ne permet guerre que les fonctions d’ajout, recherche, modification ou annulation. Toute autre action est à la charge du programmeur. 2.2 Définition d’un système de gestion de fichiers (SGF) Le SGF est une structure de données permettrant de stocker les information et de organiser dans des fichier sur ce que l’on appelle des mémoires secondaires (disque dur, disquette, CDROM,……). Une telle gestion des fichiers permet de traiter ,de conserver des quantités importantes de données ainsi que de les partager entre plusieurs programmes informatiques .il offre à l’utilisateur une vue abstraites sur ses données et permet de les localiser à partir d’un chemin d’accès. 2.3 Les limites des systèmes fichier -la particularisation de la saisie et des traitements en fonction des fichiers== un ou 3 Université M’hamed Bougara de Boumerdes Département de Physique. Infotronique. Systèmes de Gestion de Base de Données (SGBD) – S6 2009/2010 Mme S.MECHID plusieurs programmes par fichier. -contrôle en différé des données ==augmentation des délais et de risque d’erreurs. -particularisations des fichiers en fonction des traitements== grande redondance des données. 2.4 Les inconvénients d’une gestion par fichiers de données Les fichiers représentent le seul moyen de mémorisation des informations. Ils constituent une structure de représentation pour les données et non pour les informations dans le sens ou sémantique des informations mémorisées dépend du programme qui accède à ce fichier. Lorsque plusieurs applications manipulent les mêmes informations similaires, on obtient : -une redondance des informations pouvant conduire à des incohérences entre différentes représentations d’une même information. (Certaines informations se trouvent sur plusieurs fichiers) -une dépendance logique concernant les programmes d’application : ces programmes ont besoin de tenir compte de la structure des fichiers, y compris ceux qui ne concernent pas. (Changement de structureÖ re-programmation des Applications) -une dépendance physique concernant les programmes d’application : ces programmes doivent être modifiés chaque fois que la structure physique du fichier est modifiée. D’où le recours à un logiciel chargé de gérer les fichiers constituant une base de données, de prendre en charge les fonctionnalités de protection et de sécurité et de fournir les différents types d’interface nécessaires à l’accès aux données. Ce logiciel est le SGBD (système de gestion de base de données :DBMS). 3. Apport des bases de données. Notions préliminaire : BDD et SGBD 3.1 Historique des bases de données Jusqu’aux années 60 : organisation classique en fichiers • Fin des années 60 : apparition des premiers SGBD (Systèmes de Gestion de Bases de Données), les systèmes réseaux et hiérarchiques • À partir de 1970 : deuxième génération de SGBD, les systèmes relationnels • Début des années 80 : troisième génération de SGBD, les systèmes orientés objet 4 Université M’hamed Bougara de Boumerdes Département de Physique. Infotronique. Systèmes de Gestion de Base de Données (SGBD) – S6 2009/2010 Mme S.MECHID 3.2 Définition du SGBD Un Système de Gestion de Bases de Données (SGBD) est un logiciel de haut niveau qui permet de manipuler les informations stockées dans une base de données. Il permet de décharger le programmeur de la programmation détaillée de toutes les manipulations de données sur la BDD. Les programmes d’applications peuvent communiquer avec le SGBD avec des commandes ou des programmes. Le SGBD sert donc d’interface entre les programmes d’applications des utilisateurs, d’une part, et la BDD d’autre part. En résumé, un SGBD est destiné à gérer un gros volume d’informations, persistantes (années) et fiables (protection sur pannes), partageables entre plusieurs utilisateurs et/ou programmes et manipulées indépendamment de leur, représentation physique. 3.3 Les critères d’une base de données ou SGBD Une base de données doit satisfaire cinq critères : -bonne représentation du mode réel : elle doit être une image fidèle de la réalité, les informations de base doivent être fiable et à jour -non redondance de l’information : une information doit être située physiquement à une seule place -indépendance des programmes d’application : La base de donnée est l’image du réelle, les programmes sont construits après la structure. -sécurité et confidentialité des données : la sécurité physique des données doit être assuré (Sauvegarde). L’accès aux données ne doit être autorisé que pour les personnes habilitées. -performance des applications et des requêtes : les réponses doivent être aussi rapides que possible. 5 Université M’hamed Bougara de Boumerdes Département de Physique. Infotronique. Systèmes de Gestion de Base de Données (SGBD) – S6 2009/2010 Mme S.MECHID 3.4 Principales fonctionnalités des SGBD Le SGBD assure les tâches suivantes : la définition de données Un SGBD doit fournir à l’utilisateur des primitives pour décrire les entités de la BDD (Exemple : entité étudiant, module,….) ainsi que les attributs de chaque entité (matricule, nom, prénom….) sans oublier les liens entre ces entité et les contraintes éventuelles qui les concernent. La définition de données se fait à l’aide d’un langage de définition de données (LDD). la manipulation de données Un SGBD doit offrir aux utilisateurs des moyens pour pouvoir manipuler des données de la base, il s’agit des primitives de permettant la recherche, la modification, l’ajout et la suppression de données. La manipulation de données se fait à l’aide d’un langage de manipulation de données (LMD). L’intégrité des données Un SGBD doit garantir la qualité de l’information enregistrée. Exemple : vérification de plage de valeurs permises. (D’autres contraintes complexes doivent être programmées). Efficacité des accès aux données Ces langages doivent permettre d'obtenir des réponses aux interrogations en un temps "raisonnable".Il faut un mécanisme permettant de minimiser le nombre d'accès disques d’une façon complètement transparente pour l'utilisateur. Les accès concurrents Un SGBD doit offrir des mécanismes de gestion des accès simultanés à une BDD. La confidentialité Lorsque la base de données est accédée par plusieurs utilisateurs, l’utilisation de sous schémas est nécessaire lorsque plusieurs utilisateurs dans un réseau, veulent accéder aux données de la même base. 6 Université M’hamed Bougara de Boumerdes Département de Physique. Infotronique. Systèmes de Gestion de Base de Données (SGBD) – S6 2009/2010 Mme S.MECHID Sécurité des données Les données doivent pouvoir être protégées contre les accès non autorisés. Pour cela, il faut pouvoir associer à chaque utilisateur des droits d'accès aux données. 3.5 Les usages de base de données 1. Interactifs (ad-hoc) • Cherchent les infos, sans connaître la BD • Interfaces visuelles: Web… 2.Programmeurs d’application – Construisent les interfaces pour les usagers interactifs – Spécialistes de SQL 3.DBA (Administrateur de Bases de Données) – Définit et maintient la BD – A la priorité sur tous les autres usagers 3.6 Différents types de BDDs Nous pouvons trouver les types de base de données suivantes : 1 BDs personnelles – MsAccess etc. – 10 KO – 100 KO 2 BDs professionnelles typiques – 3 100 KO – 100 GO BDs professionnelles très grandes – Very Large Databases (VLDB) > 100 GO 7 Université M’hamed Bougara de Boumerdes Département de Physique. Infotronique. Systèmes de Gestion de Base de Données (SGBD) – S6 2009/2010 Mme S.MECHID En résumé : Un SGBD est un outil logiciel qui permet, de gérer les données en offrant: un langage de définition des données (LDD), pour créer la structure des tables. un langage de manipulation des données (LMD) pour ajouter, modifier, retrouver, supprimer des données. la gestion des règles assurant l'intégrité des données. la gestion de la confidentialité des données. la gestion des conflits d'accès simultanés aux données. la sécurité de fonctionnement, avec des outils de sauvegardes et reprises de la base. L'administrateur de la base, c'est-à-dire celui qui la crée, la gère et la maintient. L'utilisateur final n'accédera qu'au langage standard SQL, soit directement soit au travers d'outils Client/Serveur. 8 Université M’hamed Bougara de Boumerdes Département de Physique. Infotronique. Systèmes de Gestion de Base de Données (SGBD) – S6 2009/2010 Mme S.MECHID 3.7 Les niveaux d’une architecture de BDD Nous parlons ici des niveaux d’abstraction. Chaque niveau fait abstraction des détails. Alors pour passer d’un réel perçu (un réel en langage naturel) vers une BDD, il faut structurer ce réel. Structurer le réel veut dire utiliser un modèle i.e aller de plus complexe au simple tout en gardant l’intelligibilité (sens). Le passage de langage naturel vers modèle est une modélisation Le niveau externe Il regroupe toutes les possibilités d’accès aux données par les différents usagers. Ce niveau détermine le schéma externe qui contient les vues des utilisateurs sur la base de données. Il peut donc exister plusieurs schémas externes représentant différentes vues sur la base de données. Ce niveau est appelé aussi niveau utilisateur. Le niveau conceptuel Il correspond à la vision des données générale indépendante des applications individuelles et de la façon dont les données sont stockées (Ici nous faisons abstraction du technique). Cette représentation est en adéquation avec le modèle de données utilisé. Dans le cas des SGBD relationnels, il s’agit d’une vision tabulaire où la sémantique de l’information est exprimée en utilisant les concepts de relation, attributs et de contraintes d’intégrité. Le niveau conceptuel est défini au travers du schéma conceptuel. . Ce niveau est appelé aussi niveau logique. Le niveau physique Il s’appuie sur un système de gestion de fichiers pour définir la politique de stockage ainsi que le placement des données. Le niveau physique est donc responsable du choix de l’organisation 9 Université M’hamed Bougara de Boumerdes Département de Physique. Infotronique. Systèmes de Gestion de Base de Données (SGBD) – S6 2009/2010 Mme S.MECHID physique des fichiers ainsi que de l’utilisation de telle ou telle méthode d’accès en fonction de la requête. Ce niveau doit également assurer le partage des ressources, la gestion de la concurrence et des pannes. La personne responsable de ce niveau est un administrateur de bases de données. Son rôle est à la fois d’assurer la mise en place et le contrôle des procédures systèmes liées à la gestion de la base mais aussi de gérer les droits d’accès à la base. Ce niveau est appelé aussi niveau interne. Les niveaux d’une architecture de BDD 3.8 Processus de conception d’une BD 10 Université M’hamed Bougara de Boumerdes Département de Physique. Infotronique. Systèmes de Gestion de Base de Données (SGBD) – S6 2009/2010 Mme S.MECHID 3.9 Modèles de représentation de données La classification des SGBD est faite selon le type de modèle de représentation de données qu’ils supportent. Les modèles hiérarchiques Leur structure de données s’exprime à l’aide d’une hiérarchie, selon une arborescence descendante. Ce modèle utilise des pointeurs entre les différents enregistrements. Il s'agit du premier modèle de SGBD Le modèle hiérarchique Les modèles en réseau Comme le modèle hiérarchique ce modèle utilise des pointeurs vers des enregistrements. Toutefois la structure n'est plus forcément arborescente dans le sens descendant Le modèle réseau Les modèles relationnels (SGBDR) La structure de données est représentée sous forme tabulaire (les données sont enregistrées dans des tableaux à deux dimensions (lignes et colonnes)). Il y a une indépendance totale entre le logique et le physique. La manipulation de ces données se fait selon la théorie mathématique des relations. 11 2009/2010 Université M’hamed Bougara de Boumerdes Département de Physique. Infotronique. Systèmes de Gestion de Base de Données (SGBD) – S6 Mme S.MECHID Plus de 80 SGBD relationnel existent sur le marché. Les principaux sont ORACLE, SQL serveur, MYSQL. Le modèle relationnel Il existe d’autres modèles : Le modèle déductif : les données sont représentées sous forme de table, mais leur manipulation se fait par calcul de prédicats. Le modèle objet (SGBDO) : les données sont stockées sous forme d'objets, c'est-à-dire de structures appelées classes présentant des données membres. Les champs sont des instances de ces classes. Le modèle objet Les bases de données XML. 12 Université M’hamed Bougara de Boumerdes Département de Physique. Infotronique. Systèmes de Gestion de Base de Données (SGBD) – S6 2009/2010 Mme S.MECHID 3.10 Concepts du modèle relationnel de données Le modèle relationnel est basé sur une organisation des données sous forme de tables. La manipulation des données se fait selon le concept mathématique de relation de la théorie des ensembles (il repose sur des bases théoriques solides, notamment la théorie des ensembles et la logique mathématique (théorie des prédicats d'ordre 1)). Dans ce modèle, les données sont stockées dans des tables. BDD = ensemble de tables relationnelles Table T(A1:D1, A2:D2, ... An:Dn) sous-ens du produit cartésien des domaines de ses constituants. T Í {D1xD2x...Dn} Une table est donc une Relation 1. Domaines Un domaine de valeurs est un ensemble d’instances d’un type élémentaire. Exemple : les entiers, les réels, les chaînes de caractères, etc Un attribut peut prendre NULL qui correspond à une valeur inconnue. Remarques importantes : La valeur Null est différente de la valeur zéro ou blanc La valeur Null n’est pas admise dans les attributs constituant la clé primaire d’une relation. 13 Université M’hamed Bougara de Boumerdes Département de Physique. Infotronique. Systèmes de Gestion de Base de Données (SGBD) – S6 2009/2010 Mme S.MECHID Exemple 2. Relation Sous-ensemble du produit cartésien d'une liste de domaines caractérisés par un nom. En d'autres termes, une relation est une table dans laquelle chaque colonne correspond à un domaine et porte un nom. 3. Attributs Les attributs nomment les colonnes d’une relation. Ils servent à la fois à indiquer le contenu de cette colonne, et à la référencer quand on effectue des opérations. Un attribut est toujours associé à un domaine. Le nom d’un attribut peut apparaître dans plusieurs schémas de relations. 4. Schéma de relation Un schéma de relation est simplement un nom suivi de la liste des attributs, chaque attribut étant associé à son domaine. Exemple : le schéma de la relation personne (matricule,nom,prénom,adresse) 5. Tuples Un tuple est donc simplement une ligne dans la représentation d’une relation sous forme de table. 6. Clé d’une relation Une clé d’une relation est un sous-ensemble des attributs qui permet d’identifier chaque ligne de manière unique. 14 Université M’hamed Bougara de Boumerdes Département de Physique. Infotronique. Systèmes de Gestion de Base de Données (SGBD) – S6 2009/2010 Mme S.MECHID 7. Clé étrangère C’est un attribut qui sert à faire le lien entre deux relations d’une base de données. Un attribut x est une clé étrangère dans une relation R1, s’il apparaît comme clé primaire dans une relation R2. 8. Schéma d’une base de données Le schéma d'une base de données est défini par: - l'ensemble des schémas des relations qui la composent Exemple 15 Université M’hamed Bougara de Boumerdes Département de Physique. Infotronique. Systèmes de Gestion de Base de Données (SGBD) – S6 2009/2010 Mme S.MECHID 3.11 Architecture fonctionnelle d’un SGBD relationnel Exemple Soient les tables relationnelles suivantes représentant une partie de la BDD Relation Morale NIF RS SG CS DC 0001 Societé1 SAS 10000000000 12.12.200 0002 Societé2 dav 20366666600 15.02.1998 0003 Societé14 xx 0004 Societé55 0005 Societé100 16 Université M’hamed Bougara de Boumerdes Département de Physique. Infotronique. Systèmes de Gestion de Base de Données (SGBD) – S6 2009/2010 Mme S.MECHID Conclusion du Chapitre Un SGBD associe deux types de concepts différents et complémentaires : 1. un modèle de structuration des données qui doit être le mieux adapté au système d'informations (notion statique), 2. une méthode d'accès, traduite en programmes d'échange, efficaces et complets, entre les supports périphériques de la base de données et les programmes d'utilisation (notion dynamique). L'organisation des données est représentée par un modèle de données. Un modèle de données est un outil utilisé pour représenter l'organisation logique des données. Ce modèle permet la représentation des objets et des relations. Les modèles de données utilisés dans les SGBD se distinguent par la façon de représenter les relations entre les données. Les principaux modèles de données utilisés pour les bases de données sont les modèles hiérarchiques, réseau, relationnel et à objets. Ces modèles diffèrent dans le traitement des associations. 17