Support de formation 840903367 Auteur Formation Thérèse BLANCHARD T.S.G.E.R.I. Séquence 8 Séance 1 Phase 1 Type de document Date Page Support de formation 16/04/2017 1 Support de formation 840903367 SOMMAIRE Introduction ........................................................................................... 3 Des systèmes traditionnels à la base de données ..................................................... 3 Le Système de Gestion de Base de Données ......................................................... 9 Définitions ................................................................................................................................. 9 Objectifs de l'approche BDD ..................................................................................................... 11 Intégration et corrélation ............................................................................... 11 Flexibilité ............................................................................................................... 12 Disponibilité ......................................................................................................... 13 Sécurité ................................................................................................................. 13 L’évolution des S.G.B.D. .......................................................................................................... 14 L’environnement de base de données ............................................................... 16 Architecture fonctionnelle d'un SGBD : ANSI-SPARC .................................................................. 16 Niveau externe ................................................................................................... 18 Niveau conceptuel ............................................................................................. 19 Niveau Interne .................................................................................................... 19 Langages de bases de données ................................................................................................ 20 Le Langage de Définition de Données (LDD) ......................................... 20 Le Langage de Manipulation de Données (LMD) ................................... 20 Les principales fonctions d’un SGBD ................................................................ 21 Gestion du stockage ......................................................................................... 21 Partage des données ........................................................................................ 21 Sécurité et Confidentialité .............................................................................. 22 Support de transaction .................................................................................... 23 Sauvegarde et Restauration .......................................................................... 23 Contrôle d’intégrité ........................................................................................... 24 Auteur Formation Thérèse BLANCHARD T.S.G.E.R.I. Séquence 8 Séance 1 Phase 1 Type de document Date Page Support de formation 16/04/2017 2 Support de formation 840903367 Introduction La base de données fait aujourd’hui tellement partie de notre vie quotidienne que nous n’avons pas souvent conscience d’en utiliser une. Par exemple : Lorsque vous achetez des biens au supermarché de votre quartier, il est probable que vous accédiez indirectement à une base de données ; La caissière utilise un lecteur de code à barres pour lire chacun des objets que vous achetez. Il est relié à un programme d’application qui exploite les codes barres pour trouver le prix des articles dans une base de données produits. Le programme diminue ensuite le nombre de ces articles en stock et affiche le prix sur la caisse enregistreuse. De même, si un consommateur téléphone au supermarché, un assistant peut vérifier si l’article demandé est en stock en interrogeant la base de données par un programme d’application qui détermine la disponibilité de l’article. Des systèmes traditionnels à la base de données Pour comprendre l’approche bases de données, il faut repartir du commencement : Vous avez sûrement été un jour amené à devoir conserver des informations. Quand votre mémoire n’a plus été suffisante pour stocker toutes les données, vous avez fait appel à un système de fiches. Pour rechercher quelque chose, vous avez exploré ces fiches en commençant par la première jusqu’à trouver ce que vous cherchiez. Comme alternative, vous avez peut-être mis en place un système de tri et d’indexation afin de trouver plus facilement ce que vous vouliez. Ce système manuel de fiches fonctionne bien tant que le nombre d’éléments à stocker demeure faible. Auteur Formation Thérèse BLANCHARD T.S.G.E.R.I. Séquence 8 Séance 1 Phase 1 Type de document Date Page Support de formation 16/04/2017 3 Support de formation 840903367 Il peut même fonctionner assez correctement lorsque vous avez un grand nombre d’éléments et que vous devez simplement les stocker et les retrouver. Toutefois ce système manuel s’écroule lorsque l’on doit faire des recoupements sur les données stockées. PAR EXEMPLE : Imaginons un agent immobilier chargé louer des propriétés à des clients. Il établit un dossier distinct pour les fiches des propriétés à louer, les locataires, les membres de son équipe. Il lui sera très facile de retrouver une propriété ou un locataire en allant compulser les fiches du dossier correspondant mais quel casse tête pour répondre aux questions suivantes : - Quelles sont les propriétés à louer de trois pièces avec garage et jardin ? - Quel est le montant moyen de location pour un appartement de 2 pièces ? - Quel est le membre de l’équipe qui a le plus loué de maisons ce trimestre ? Il est clair que très rapidement le système manuel devient inadéquat. L’étape suivante va consister en la constitution de fichiers informatiques de façon à pouvoir traiter l’information plus rapidement grâce à l’ordinateur. Toutefois, dans un premier temps, au lieu d’établir un endroit de stockage centralisé pour les données opérationnelles de l’organisation, une approche décentralisée a été préférée. REPRENONS L’EXEMPLE DE NOTRE AGENT IMMOBILIER : Dans l’agence : Le service commercial est responsable de la vente et de la location des propriétés. Ce service a donc besoin d’informations sur : Auteur Formation Thérèse BLANCHARD T.S.G.E.R.I. Séquence 8 Séance 1 Phase 1 Type de document Date Page Support de formation 16/04/2017 4 Support de formation 840903367 - La propriété à louer (code_propriété, adresse, ville, code postal, type de propriété (maison, appartement), nombre de pièces, montant de la location) - Le propriétaire (nom, prénom, adresse, téléphone) - Le client (Nom, prénom, adresse, téléphone, type de propriété recherchée (maison, appartement), nombre de pièces, montant maximum du loyer). Dans l’approche de fichiers classiques 3 fichiers vont être constitués, un extrait de ces fichiers vous est présenté ci dessous : PropriétéAlouer code_propriété LM1 LA1 LA2 LA3 LM2 LA4 rue 6, rue des peupliers 9, rue Edith piaf 8, rue des mésanges 13, rue des lilas 41 bis rue violette 23 bd Jean Jaurès ville Bordeaux La Rochelle Rochefort Rochefort Saintes Angoulême codepostal 33000 17000 17300 17300 17100 16000 type Maison Appartement Appartement Appartement Maison Appartement pièces 6 3 3 3 5 4 location 650 400 350 375 600 450 Propriétaire num_propriétaire P1 P2 P3 P4 nom Gautier Dubois Martin Lacasse prénom Brigitte paul Jean Guy adresse 9, rue des lilas 76000 ROUEN 44 ter rue jean Jaures 28000 CHARTRES 8,rue aligre 28000 CHARTRES 2 rue Emile Zola 28100 CHATEAUDUN téléphone 0225652345 0212568978 0215468975 0212326598 Client num_client CL45 CL10 CL68 CL46 nom Louis Marchand Paradis Richard prenom jean Pierre Paul marc adresse 44, rue Paul Doumer 44000 NANTES 9, rue de Paris 28000 CHARTRES 15, Avenue Nationale 27000 EVREUX 5, impasse des fleurs 28200 DREUX type-pref Appartement Maison Appartement Appartement telephone 0524123265 0215467889 0215897452 0215467891 loc_max 250 425 320 350 Le service juridique est lui responsable de la mise en place des baux de location associés aux propriétés à louer. Ce service a donc besoin d’informations sur : - Le bail (N° de bail, N°de la propriété, N° du client, montant de la location,Mode de paiement,montant de la caution,date de début de location, durée du bail) - Le client (Nom, prénom, adresse, téléphone) - La propriété à louer (code_propriété, adresse, ville, code postal, montant de la location) Auteur Formation Thérèse BLANCHARD T.S.G.E.R.I. Séquence 8 Séance 1 Phase 1 Type de document Date Page Support de formation 16/04/2017 5 Support de formation 840903367 Dans l’approche de fichiers classiques 3 fichiers vont être constitués, un extrait de ces fichiers vous est présenté ci dessous : Bail numbail 10025 10036 10065 numpropriete LA1 LM2 LM1 numclient CL10 CL45 CL46 PropriétéAlouer code_propriété rue LM1 6, rue des peupliers LA2 8, rue des mésanges LM2 41 bis rue violette Client num_client nom CL45 Louis CL10 Marchand CL46 Richard prenom jean Pierre marc location 350 600 650 mode paie Visa Chèque Espèces caution 800 O 1200 N 1500 O ville codepostal type Bordeaux 33000 Maison Rochefort 17300 Appartement Saintes 17100 Maison payé débutloc duréebail 01/05/2005 12 02/10/2006 12 08/10/2006 6 pièces 6 3 5 location 650 350 600 adresse telephone 44, rue Paul Doumer 44000 NANTES 0524123265 9, rue de Paris 28000 CHARTRES 0215467889 5, impasse des fleurs 28200 DREUX 0215467891 Chaque service accède à ses propres données par le biais de programmes d’application rédigés spécialement pour lui : Programme d’application du service commercial Service commercial Fichiers du service commercial Programme d’application du service Juridique Fichiers du service juridique Service juridique Auteur Formation Thérèse BLANCHARD T.S.G.E.R.I. Séquence 8 Séance 1 Phase 1 Type de document Date Page Support de formation 16/04/2017 6 Support de formation 840903367 Chaque ensemble de programmes d’application gère les entrées (saisies) de données, la maintenance des fichiers et la création de rapports spécifiques. A votre avis quelles sont les limites de cette approche basée sur les fichiers ? Auteur Formation Thérèse BLANCHARD T.S.G.E.R.I. Séquence 8 Séance 1 Phase 1 Type de document Date Page Support de formation 16/04/2017 7 Support de formation 840903367 Réponse : Les mêmes données se répètent dans différents fichiers : Il faut saisir les données plusieurs fois = coût en temps, en argent, en espace de stockage. On peut faire des erreurs de saisie = perte de cohérence des données. Les données sont isolées dans des fichiers séparés, on ne peut donc pas toujours y accéder avec facilité. Plus important encore, la structure et le stockage physiques des données sont définis dans le code d’application. En cas de modification de la structure des données, il faut modifier les programmes qui utilisent ces données. Toutes ces limites peuvent être attribuées à deux facteurs : La définition des données est intégrée aux programmes d’application, au lieu d’exister indépendamment et distinctement des données. Aucun contrôle n’existe sur l’accès et la manipulation des données en dehors de ceux imposés par le programme d’application. Pour atteindre un peu plus d’efficacité, une nouvelle approche était nécessaire. Apparurent alors La base de données (Database en anglais) et le Système de gestion de base de données (SGBD ou database management system DBMS en Anglais). Auteur Formation Thérèse BLANCHARD T.S.G.E.R.I. Séquence 8 Séance 1 Phase 1 Type de document Date Page Support de formation 16/04/2017 8 Support de formation 840903367 Le Système de Gestion de Base de Données Définitions Une base de données est un ensemble structuré de données enregistrées avec La base de données le minimum de redondance pour satisfaire simultanément plusieurs utilisateurs de façon sélective en un temps opportun. Ces données doivent pouvoir être utilisées par des programmes, par des utilisateurs différents. Ainsi, la notion de base de données est généralement couplée à celle de réseau, afin de pouvoir mettre en commun ces informations. Au lieu de fichiers discontinus comportant des données redondantes, toutes les données s’intègrent à l’ensemble avec un minimum de dédoublements. La base de données devient une ressource partagée. C'est l'ensemble des programmes et des langages de commande (livrés par le Le Système de Gestion de Base constructeur ou la société qui commercialise le produit) qui permettent à des de données utilisateurs de définir, créer, mettre à jour une base de données et d’en contrôler l’accès. Le SGBD permet de: Définir les différents "ensembles de données" de la base, et les relations existant entre eux, Traiter ces données (interrogations, mises à jour, calculs, extractions...). Le SGBD reçoit des commandes aussi bien des programmes d'application 1 que des utilisateurs; il commande les manipulations de données, généralement par l'intermédiaire d'un Système de Gestion de Fichiers (SGF)2. Le programme d’application est un programme informatique écrit dans un langage quelconque (exemple :Visual basic) qui interagit avec la base de données en adressant une requête appropriée au S.G.B.D.(généralement sous la forme d’une instruction SQL que nous aborderons ultérieurement dans ce cours) Auteur Formation Séquence Séance Phase Type de document Date Page 1 Thérèse BLANCHARD T.S.G.E.R.I. 8 1 1 Support de formation 16/04/2017 9 Support de formation 840903367 Si nous reprenons le cas de l’agence immobilière, en traitement par base de données, chaque service accède par le biais de programmes d’application au SGBD. La structure et le stockage physique des données sont désormais administrés par le SGBD. Saisie des données et rapports Programmes Service commercial d’application du S.G.B.D. service commercial Saisie des données et rapports Programmes d’application Service Juridique du service juridique Base de données Un S.G.F. : Système de Gestion de Fichiers, est un utilitaire fourni par le système d’exploitation de la machine, il permet de stocker et récupérer les données sur le disque dur. 2 Auteur Formation Thérèse BLANCHARD T.S.G.E.R.I. Séquence 8 Séance 1 Phase 1 Type de document Date Page Support de formation 16/04/2017 10 Support de formation 840903367 La base de données contient les données de PropriétéALouer, propriétaire, client, Bail + La définition des données. Objectifs de l'approche BDD Pour pallier les inconvénients des méthodes classiques (fichiers), les bases de données tentent d'atteindre 4 objectifs principaux : Intégration et corrélation, Flexibilité (indépendance), Disponibilité, Sécurité. La solution à ces problèmes passe par une distinction nette entre les données (avec la structure qui leur est associée), et les procédures de manipulation de ces données. Aux données, on associera une fonction d'administration des données, aux procédures de manipulation une fonction de programmation. Intégration et corrélation Nous avons vu précédemment que dans les systèmes basés sur les fichiers chaque application gère son propre ensemble de données utiles, ses propres "fichiers": Il existe donc un risque d'avoir une floraison de fichiers et de programmes disparates, redondants et non compatibles. On se souvient qu’il en résulte plusieurs inconvénients : redondance d'où danger d'incohérence des données La même donnée peut appartenir à plusieurs applications, induisant une déperdition de stockage. Toute modification de cette donnée est à enregistrer plusieurs fois : si cette mise à jour multiple n'est pas effectuée correctement, les données deviennent incohérentes. De plus, les mises à jour étant multiples, le coût de la mise à jour augmente du fait de la multiplication des entrées-sorties physiques. Auteur Formation Thérèse BLANCHARD T.S.G.E.R.I. Séquence 8 Séance 1 Phase 1 Type de document Date Page Support de formation 16/04/2017 11 Support de formation 840903367 difficulté de mise en place de nouveaux traitements La mise en place de nouvelles applications, non prévues a priori, entraîne dans un système classique, des duplications supplémentaires de données. De plus, pour les intégrer avec le reste des programmes d’application en exploitation, des modifications, parfois importantes, sont nécessaires. Dans l'approche BDD, un "réservoir" commun est constitué, représentant une modélisation aussi fidèle que possible de l'organisation réelle de l'entreprise. Toutes les applications puisent dans ce réservoir les données les concernant, évitant les duplications. A l'inverse, le partage des données communes par des utilisateurs ayant des besoins différents va poser de nouveaux problèmes de type contrôle de la concurrence d'accès. Flexibilité La notion de flexibilité est essentielle dans la conception de tout système de taille importante. Dans le cas des BDD, cette notion porte généralement le nom d'indépendance. Dans les systèmes classiques, tout changement intervenant dans le stockage des données (support, méthode d'accès physique...) entraîne des modifications lourdes des applications correspondantes. L'approche BDD poursuit trois objectifs, correspondant au concept d'indépendance des données par rapport aux traitements : Indépendance physique : Tout changement de support, de méthode d'accès reste transparent au niveau de l'utilisateur. Indépendance logique : Les programmes d'application sont rendus transparents à une modification dans l'organisation logique globale, par la définition de sous-schémas couvrant les besoins spécifiques en données. Indépendance vis-à-vis des stratégies d'accès : De plus en plus, l'utilisateur n'a pas à prendre en charge l'écriture des procédures d'accès aux données. Il n'a donc pas à intégrer les modifications tendant à optimiser les chemins d'accès (ex: création d'index). Auteur Formation Thérèse BLANCHARD T.S.G.E.R.I. Séquence 8 Séance 1 Phase 1 Type de document Date Page Support de formation 16/04/2017 12 Support de formation 840903367 Disponibilité Le choix d'une approche BDD ne doit pas se traduire par des temps de traitement plus longs que ceux des systèmes antérieurs. En fait, tout utilisateur doit (ou devrait!) pouvoir ignorer l'existence d'utilisateurs concurrents. L'aspect "performance" est donc crucial dans la mise en oeuvre d'une base de données. Un tel objectif ne peut être atteint que si la conception d'une base de données est menée de façon rigoureuse avec un découpage fonctionnel adéquat. Les règles et contraintes inhérentes sont évoquées ultérieurement lors de l'apprentissage d'une méthodologie d'analyse (MERISE3). Sécurité La sécurité des données est un terme générique qui recouvre plusieurs aspects: l'intégrité, ou protection contre l'accès invalide (erreurs ou pannes), et contre l'incohérence des données vis-à-vis des contraintes de l'entreprise. la confidentialité, ou protection contre l'accès non autorisé ou la modification illégale des données. Pour ne pas affecter les performances de façon sensible, la sécurité doit également être prise en compte dès la phase de conception. 3 Méthode qui permet entre autre de concevoir la base de données .Cette méthode est abordée dans la séance N°3 de la séquence N°6 Auteur Formation Séquence Séance Phase Type de document Date Page Thérèse BLANCHARD T.S.G.E.R.I. 8 1 1 Support de formation 16/04/2017 13 Support de formation 840903367 L’évolution des S.G.B.D. Les SGBD ont déjà plus de 40 ans d'histoire. Nous avons, déjà vu que le prédécesseur du SGBD était le système basé sur les fichiers. Ce système n’a pas disparu du jour au lendemain pour laisser brutalement place à la base de données. En fait, le système basé sur les fichiers existe encore dans certains domaines spécifiques. D’aucuns suggèrent que le SGBD trouve son origine dans le projet Apollo d’alunissage des années 60. A l’époque, il n’existait aucun système susceptible de gérer et de traiter les vastes quantités d’information que le projet pouvait générer. Le SGBD qui prit alors naissance avait pour caractéristique principale une très forte dépendance entre la description de la structure des données et la manière dont celles-ci se trouvaient enregistrées sur le support physique. Les éléments de base du modèle sont des enregistrements logiques reliés entre eux pour constituer un arbre ordonné. Cette structure est connue sous le nom de structure hiérarchique. L'ancêtre, et le plus répandu des SGBD hiérarchique est le SGBD IMS (Information Management System), développé et commercialisé par IBM dans les années 70. Puis un nouveau type de système de base de données connu sous le nom de SGBD en réseau a été conçue, en partie pour répondre au besoin de représenter des associations de données plus complexes que ce que les structures hiérarchiques pouvaient modéliser et en partie pour imposer un standard de bases de données. En 1970, Codd, chercheur chez IBM, proposa le modèle relationnel.(SGBD de 2ème génération).Ce modèle conceptuel constitue un progrès important car il repose sur une représentation unifiée de l’information sous forme de tables. C’est le plus répandu aujourd’hui. Il dispose d’un fondement mathématique solide avec l’algèbre relationnelle (opérations ensemblistes). Il permet une plus grande indépendance entre les applications, les données et le support physique [hardware et software]. Il propose une démarche cohérente et unifiée pour la description (Langage de Description des Données - LDD) et pour l’interrogation (Langage de Manipulation des Données - LMD). Enfin le Auteur Formation Thérèse BLANCHARD T.S.G.E.R.I. Séquence 8 Séance 1 Phase 1 Type de document Date Page Support de formation 16/04/2017 14 Support de formation 840903367 modèle relationnel supporte le langage SQL4 [Sequel : Standard English Query Language], basé lui aussi sur l’algèbre relationnelle. Les SGBD, qui sont la raison d'être de l’informatique de gestion, ont vu leur domaine d’utilisation s’élargir considérablement : Bases de Connaissances, Systèmes Experts, Systèmes d’Information Géographique, Systèmes d’Information Documentaire (SID), Conception Assistée par Ordinateur (CAO), Gestion de Production Assistée par Ordinateur (GPAO). En réponse à la complexité croissante des applications de bases de données, deux « nouveaux » systèmes ont vu le jour : le SGBD orienté objet (SGBDOO) et le SGBD relationnel objet (SGBDRO). Cette évolution représente le SGBD de 3ème génération. 4 Le langage SQL est abordé plus loin dans ce cours Auteur Formation Séquence Séance Thérèse BLANCHARD T.S.G.E.R.I. 8 1 Phase 1 Type de document Date Page Support de formation 16/04/2017 15 Support de formation 840903367 L’environnement de base de données Une des principales raisons d’être d’un système de base de données est de fournir à chaque utilisateur une vue des données qui l’intéressent en masquant les détails sur la manière dont ces données sont stockées et manipulées. Mieux encore, comme une base de données est une ressource à priori partagée, chaque utilisateur est en droit de réclamer une vue différente des données présentes sur la base de données. Pour satisfaire ces besoins, l’architecture de la plupart des SGBD commerciaux disponibles actuellement se fonde d’une manière ou d’une autre sur ce que l’on appelle l’architecture ANSI-SPARC Architecture fonctionnelle d'un SGBD : ANSI-SPARC Une première proposition de standard de terminologie et d’architecture générale pour les systèmes de bases de données fut édictée en 1971 par le Data Base Task Group (DBTG) réuni par la conférence sur les systèmes de données et les langages (CODASYL, Conference on data systems and langages). Puis le comité SPARC (Standard Planning and requirements comittee) de l’ANSI (American National Standard Institute) produisit une terminologie et une architecture en 1975. Si le modèle ANSI-SPARC n’est pas devenu une norme, il fournit néanmoins une excellente base pour comprendre les fonctionnalités d’un SGBD. Le point fondamental soulevé par les travaux de ces comités réside dans l’identification de 3 niveaux distincts où les données reçoivent une description. Ces niveaux forment l’architecture à 3 niveaux comprenant : Le niveau Externe : C’est la façon dont les utilisateurs perçoivent les données. Le niveau Interne : C’est la façon dont le SGBD et le système d’exploitation perçoivent les données. Auteur Formation Thérèse BLANCHARD T.S.G.E.R.I. Séquence 8 Séance 1 Phase 1 Type de document Date Page Support de formation 16/04/2017 16 Support de formation 840903367 Le niveau conceptuel : Ce niveau fournit à la fois la correspondance et l’indépendance souhaitées entre le niveau interne et le niveau externe . L’objectif de l’architecture à 3 Niveaux est donc de séparer les vues que chaque utilisateur peut avoir de la base de données, de la manière dont la base de données se présente physiquement. Finalement, il est important de souligner que, pour une base particulière, il existe un seul schéma interne et un seul schéma conceptuel. Par contre, il existe en général plusieurs schémas externes, chacun d'eux étant défini pour un groupe d'utilisateurs. Auteur Formation Thérèse BLANCHARD T.S.G.E.R.I. Séquence 8 Séance 1 Phase 1 Type de document Date Page Support de formation 16/04/2017 17 Support de formation 840903367 Niveau externe Vue de la base de données par les utilisateurs. A ce niveau, chaque groupe de travail utilisant des données en possède une description telle qu'il les perçoit, donc un arrangement particulier qui lui est propre. Cette description est effectuée selon la manière dont le groupe voit la base dans ses programmes d'application. Est décrit uniquement la partie des données présentant un intérêt pour un utilisateur ou un groupe d'utilisateurs, d'où leur nom de "vues". Auteur Formation Thérèse BLANCHARD T.S.G.E.R.I. Séquence 8 Séance 1 Phase 1 Type de document Date Page Support de formation 16/04/2017 18 Support de formation 840903367 Niveau conceptuel Vue commune de la base de données. Ce niveau décrit quelles données sont stockées dans la base et les associations qui existent entre les données. C'est le niveau central. Il représente l'abstraction, aussi fidèle que possible, de l'univers de l'entreprise, après modélisation et sans souci d'implantation en machine. Ainsi, le modèle conceptuel de données permet le passage d'un concret inaccessible (l'univers réel) à un abstrait manipulable : le schéma conceptuel. Celui-ci peut donc être considéré comme la description du contenu de la base; c'est le résultat d'un travail d'analyse et de conception d'un système d'information automatisé. La structure du système d'information est décrite de son point de vue général.5 Niveau Interne C’est la représentation physique de la base de données dans l’ordinateur. Ce niveau décrit comment les données sont stockées dans la base de données. Il correspond à la représentation en machine, aussi efficace que possible, du schéma conceptuel. Il permet de décrire les données telles qu'elles sont réellement stockées en machine. Le niveau interne est concerné par des choses telles que : - L’allocation de l’espace de stockage réservé aux données et aux index, - La description des enregistrements en vue du stockage, - La disposition des enregistrements, - Les techniques de compression et de cryptage des données. Nous apprendrons ultérieurement à faire ce travail d’analyse et de conception (et donc à produire un modèle conceptuel des données) dans la séance N° 3 de la séquence N° 6 Auteur Formation Séquence Séance Phase Type de document Date Page Thérèse BLANCHARD 19 5 T.S.G.E.R.I. 8 1 1 Support de formation 16/04/2017 Support de formation 840903367 Langages de bases de données La présentation des SGBD réalisée dans les pages précédentes a fait apparaître la nécessité de bien différencier les deux étapes et objectifs différents que sont la définition des données a priori (rôle de l’ administrateur de la base de données6) et leur utilisation a posteriori (par les utilisateurs ou les programmeurs d'application). Le SGBD met donc à disposition deux types de langage : Le Langage de Définition de Données (LDD) Qui permet de décrire les données d'une manière assimilable par une machine. Il permet de décrire précisément la structure de la base et le mode de stockage des données. Tandis que l'utilisation de fichiers permet une description de données interne au programme, dans une approche Base de Données, on effectue la description de toutes les données une fois pour toutes : elle constitue l'ensemble des tables et dictionnaires de la base, son schéma (terminologie CODASYL). En particulier, il précise la structure logique des données (nom, type, contraintes spécifiques...), la structure physique (mode d'implantation sur les supports, mode d'accès), la définition des sous-schémas ou "vues". Le Langage de Manipulation de Données Qui permet d’ utiliser les données (accès pour consultation, mise à jour...). (LMD) Il convient de rappeler que l'utilisation d'une BDD suppose un grand nombre d'utilisateurs (souvent non informaticiens) ayant tous des tâches et des besoins variés auxquels le LMD doit pouvoir répondre. La partie d’un MLD qui implique la recherche et l’obtention des données s’ appelle un langage d'interrogation ou langage de requête (Query langage) 6 Le rôle de l’administrateur de la base de données consiste à : - intervenir en tant que conseil lors de l'étape conceptuelle de l'analyse (responsabilité de gestion des données) - décider des techniques d'accès et de l'implantation physique - gérer les diverses autorisations d'accès - définir les stratégies de reprise en cas d'incident - suivre régulièrement les performances du système et réaliser en conséquence les modifications ou évolutions qui s'imposent. Auteur Formation Thérèse BLANCHARD T.S.G.E.R.I. Séquence 8 Séance 1 Phase 1 Type de document Date Page Support de formation 16/04/2017 20 Support de formation 840903367 Il évite le recours, en particulier pour des besoins ponctuels, à des langages généraux de programmation, qui impliquent des coûts prohibitifs et des délais souvent fort longs. Il doit être à syntaxe souple, accessible aux non-spécialistes et permettre la formulation de demandes utilisant des critères variés et combinés. Le langage hôte De nombreux SGBD offrent la possibilité d’intégrer le LDD et le LMD dans des langages de programmation de haut niveau tels que ADA, C++, Visual Basic ou Java. Dans ce cas, le langage de haut niveau est qualifié de langage hôte. Les principales fonctions d’un SGBD Gestion du stockage Un SGBD doit fournir aux utilisateurs la possibilité de stocker, retrouver et mettre à jour les données dans la base de données La façon dont le S.G.B.D organise les données en fichiers est transparente pour l’utilisateur et le programmeur. Il offre une vue logique des données Partage des données Un SGBD doit fournir un mécanisme qui garantisse la mise à jour correcte de la base de données quand plusieurs utilisateurs modifient simultanément la base de données Dans un contexte multi-utilisateurs, c’est le S.G.B.D. qui gère le partage des données entre les différents utilisateurs. C’est lui qui en s’appuyant en général, sur le système d’exploitation évite les situations de conflit et les situations d’interblocage ou étreinte fatale. Conflit d’accès : Programme A Auteur Formation Thérèse BLANCHARD T.S.G.E.R.I. Programme B Séquence 8 Séance 1 Phase 1 article 12 qté en stock =8 Type de document Date Page Support de formation 16/04/2017 21 Support de formation 840903367 Temps demande l’article n°12 demande l’article 12 pour ajouter 10 au stock pour enlever 5 calcule calcule qte stock = 18 met à jour au stock qte stock = 3 met à jour Pour éviter ce problème les systèmes de S.G.B.D utilisent le verrouillage des enregistrements. Lorsque le programme A accède à l’article 12 celui-ci est verrouillé, de sorte que le programme B devra attendre que la mise à jour soit effectuée pour lire l’article 12. Etreinte fatale : Programme B Programme A Temps demande l’article n°12 stock demande l’article 15 pour ajouter 10 au pour enlever 5 au stock calcule calcule demande l’article 15 demande l’article 12 attend attend Les programmes A et B peuvent attendre indéfiniment puisque chacun attend que l’autre ait terminé sa mise à jour. Le S.G.B.D. est capable de détecter ces situations et d’y remédier en annulant la dernière demande pour la remettre à plus tard. Sécurité et Confidentialité Un SGBD doit fournir un mécanisme qui garantisse que seuls les utilisateurs autorisés peuvent accéder à une base de données Auteur Formation Thérèse BLANCHARD T.S.G.E.R.I. Séquence 8 Séance 1 Phase 1 Type de document Date Page Support de formation 16/04/2017 22 Support de formation 840903367 Les SGBD protègent les bases de données contre les accès non autorisés, qu’ils soient accidentels ou intentionnels. Les S.G.B.D. assurent la confidentialité des données. C’est à dire qu’ils permettent de définir des utilisateurs avec des droits précis pour les accès aux données : droit de lecture, modification, ajout, suppression et également droit ou non à la description des données. Un utilisateur particulier a tous les droits : L’administrateur de la base de données(DBA), lui seul a le droit de définir et modifier les droits. Suivant les organisations il n’y aura peut-être que lui qui sera habilité à définir et à modifier la description des données (type, nom, relation, etc...) Support de transaction Un SGBD doit fournir un mécanisme qui garantisse, soit que toutes les mises à jour correspondant à une suite d’action demandées par les utilisateurs soient effectuées soit qu’aucune d’entre elles ne soient effectuées. Un SGBD doit veiller à ce que les données restent cohérentes. C’est à dire que par exemple il doit faire en sorte qu’une commande ne puisse pas être créée tant que toutes les lignes de commande ne sont pas créées, ou qu’un client ne soit pas supprimé sans avoir supprimé toutes les commandes attachées à ce client. Dans les deux cas ci-dessus (création d’une commande ou suppression d’un client) il y a plusieurs actions consécutives à exécuter dans la base de données. Pour que la base de données reste cohérente, il faut que ces actions soient toutes exécutées ou alors aucunes. L’ensemble de ces actions est appelé transaction. Le S.G.B.D doit rendre les transactions ininterruptibles. Si une interruption intervient au cours d’une transaction, le système remet les données dans l’état où elles étaient avant le début de la transaction. Sauvegarde et Un SGBD doit fournir un mécanisme de sauvegarde et de restauration de la Restauration base de données dans l’éventualité de tout dommage subi par celle-ci La sauvegarde et la restauration sont deux outils du S.G.B.D permettant de mémoriser puis de retrouver une base de données dans un état cohérent. (Ceci peut Auteur Formation Thérèse BLANCHARD T.S.G.E.R.I. Séquence 8 Séance 1 Phase 1 Type de document Date Page Support de formation 16/04/2017 23 Support de formation 840903367 se produire suite à un plantage système, la panne d’un support de stockage, une erreur matérielle ou logicielle provoquant l’arrêt du SGBD….) Contrôle d’intégrité Un SGBD doit fournir un moyen qui garantisse qu’à la fois les données de la base de données et les changements de ces données suivent certaines règles. La plupart des S.G.B.D offre la possibilité de décrire les règles de gestion du système d’information de l’entreprise. Par exemple, si un client n’existe pas, on ne peut pas lui associer de facture. Une fois toutes les règles décrites, le S.G.B.D vérifie que les mises à jour effectuées sur les données respectent ces règles. Ainsi, il refusera la création de la facture tant que le client ne sera pas créé. Auteur Formation Thérèse BLANCHARD T.S.G.E.R.I. Séquence 8 Séance 1 Phase 1 Type de document Date Page Support de formation 16/04/2017 24