Initiation aux SGBD Frédéric Gava (MCF) gava@univ-paris12.fr Définitions et objectifs Frédéric Gava (MCF) gava@univ-paris12.fr LACL, bâtiment P2 du CMC, bureau 221 Université de Paris XII Val-de-Marne 61 avenue du Général de Gaulle 94010 Créteil cedex
Quelques nuances Base de données (BD) Banque de données Fichier Interne à l’entreprise Ensemble d’informations pour un public sur un public Banque de données BD pour un public extérieur Exemple : génomes, juridiques (accès souvent payant) Fichier Stockage simple Petit travail pour les accès
Définitions (1) Une BD représente l’ensemble cohérent, intégrés et partagé des information nécessaire au fonctionnement d’une entreprise (collectivité d’individu travaillant en coordination à la réalisation d’un objectif commun). Cet ensemble est géré par un logiciel appelé SGBD : Système de Gestion des Bases de Données Oracle, SQLServeur, Access, MySQL etc. Gestion du personnel, étudiants, compte clients d’une banque, d’un cabinet d’avocats, d’immobilier
Définitions (2) Une banque de données est un ensemble de données propre à un domaine d’application que des « producteurs » réunissent pour en commercialiser l’usage vers un public extérieur : BD juridiques, médicals, brevets Elles nécessitent des techniques spécifiques de recherches des informations (moteurs de recherche sémantiques)
Définitions (3) Lorsque les données à gérer sont homogènes, on peut se contenter de les stocker dans des fichiers : Abonnées d’une revue Simple liste du personnel Remarque : le stockage physique des données sur les disques se fera par l’intermédiaire des fichiers du système d’exploitation. Ce stockage est transparent à l’utilisateur.
BD et modèles de données Une base de données est généralement définie comme étant un ensemble de données modélisant un univers. Cet univers est composé d’objets inter-reliés. Les objets d’un même types sont appelé entités et le lien entre 2 entités est appelé association. Entités et associations sont constituées de caractéristiques, les attributs. Le processus de description des E/A est appelé modélisation et il se fait à l’aide d’un modèle de données. Il existe différentes méthodes de modélisation : Modèles Hiérarchique, relationnel, objet, client-serveur, réseau Méthode Merise, UML (la plus récente)
Architecture d’un SGBD On distingue 3 niveaux de description : Le niveau conceptuel ou logique Le niveau interne Le niveau externe
Architecture (2) Stockage physique Schéma interne Description de l’organisation physique des données Domaine des concepteurs de BD Description d’univers à modéliser avec éventuellement les contraintes liés à ces objets (contraintes d’intégrités) Schéma conceptuel Domaine des créateurs d’applications Application accédant aux données : des vues (accès limités) Schéma externe Schéma externe Schéma externe Ce découpage permet des modifications à chaque niveau sans que cela interagisse (le moins possible) sur les autres niveaux.
Architecture (3) 3 niveaux pour accroître l’indépendance entre données et traitement : Indépendance physique pour une utilisation des données indépendante de l’organisation physique ; Indépendance logique pour une utilisation des données indépendante de la structure logique globale ; Une indépendance des stratégies d’accès intervient essentiellement lors de la manipulation des données. Une requête n’a pas à préciser comment accéder à telle ou telle données mais uniquement ce qu’elle désire (le SGBD déduit le meilleur chemin possible)
Objectifs d’un SGBD Définition des données Manipulation des données Sécurité et intégrité des données Gestion des transactions et des accès concurrents
Définition des données C’est le rôle du langage de définition des données (LDD). Il permet de décrire et de définir tous les objets d’une BD. Ce langage permet : La création d’objets conceptuels et de chemins d’accès La description de structures physiques La définition de vues (sous ensemble de données) Pour une base existante, la modification/suppression : D’objets conceptuels Chemin d’accès Vues L’ensemble des descriptions des objets d’une base constitue son dictionnaire des données. C’est une partie de la base, structurée comme la base (méta-base) où les objets sont manipulés comme les données.
Manipulation des données Cela recouvre les échanges de données entre les utilisateurs et la base. Ce sont essentiellement des opérations (requêtes) de consultation et de mise à jour. La manipulation se fait par l’intermédiaire d’un langage de manipulation des données (LMD). Le modèle relationnel dispose d’un ensemble d’opérations ensembliste appelé algèbre relationnelle à la fois simple d’utilisation et puissant. Le plus connu des LMD : SQL
Sécurité et intégrité Cette fonctionnalité consiste à garantir que seuls les utilisateurs autorisés peuvent effectuer des opérations correctes sur la base de telle sorte qu’elles sont maintenu dans un état cohérent : Un contrôle sur les utilisateurs ainsi que sur les types d’opérations qu’ils sont autorisés à effectuer (gestion des autorisations). Un contrôle sur la validité des opérations effectuées. Ce contrôle est effectué par rapport à certaines règles appelés contraintes d’intégrité. Protection des données contre les accès malveillants et les pannes : accès malveillants : mot de passe, encryptage pannes : duplication des données, fichier de log Cette partie est de la compétence (ressort) de l’administrateur de la base (informaticien).
Accès concurrents L’objectif est de mettre à la disposition du plus grand nombre d’utilisateur un ensemble intègre (cohérent) de données. Les données peuvent être manipulées simultanément par plusieurs utilisateurs. La cohérence des données est assurée à l’aide de concepts de transaction qui est une unité logique de traitement qui, appliquée à un état cohérent de la base, restitue un autre état cohérent. Elle ne peut donc être exécutée que complètement ou pas du tout. La solution pour les accès concurrents consiste à verrouiller les données momentanément (pendant la durée de la transaction). Les autres transactions sont alors en attente. Le SGBD doit être à mène de détecter les situation d’inter-blocage.
A la semaine prochaine !