150 likes | 302 Views
Initiation aux SGBD. 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) Interne à l’entreprise
E N D
Initiation aux SGBD 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) • 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.