Chapitre 1 : Principe des Bases de données Modèles De Base De Données Modèle hi
Chapitre 1 : Principe des Bases de données Modèles De Base De Données Modèle hiérarchique Une base de données hiérarchique est une forme de système de gestion de base de données qui lie des enregistrements dans une structure arborescente de façon à ce que chaque enregistrement n’ait qu’un seul possesseur (par exemple, une paire de chaussures n’appartient qu’à une seule personne). Les structures de données hiérarchiques ont été largement utilisées dans les premiers systèmes de gestion de bases de données conçus pour la gestion des données du programme Apollo de la NASA. Cependant, à cause de leurs limitations internes, elles ne peuvent pas souvent être utilisées pour décrire des structures existantes dans le monde réel. Les liens hiérarchiques entre les différents types de données peuvent rendre très simple la réponse à certaines questions, mais très difficile la réponse à d’autres formes de questions. Si le principe de relation « 1 vers N » n’est pas respecté (par exemple, un malade peut avoir plusieurs médecins et un médecin a, a priori, plusieurs patients), alors la hiérarchie se transforme en un réseau. Modèle réseau Le modèle réseau est en mesure de lever de nombreuses difficultés du modèle hiérarchique grâce à la possibilité d’établir des liaisons de type n-n, les liens entre objets pouvant exister sans restriction. Pour retrouver une donnée dans une telle modélisation, il faut connaître le chemin d’accès (les liens) ce qui rend les programmes dépendants de la structure de données Ce modèle de bases de données a été inventé par C.W. Bachman. Pour son modèle, il reçut en 1973 le prix Turing. Modèle relationnel Une base de données relationnelle est une base de données structurée suivant les principes de l’algèbre relationnelle. Le père des bases de données relationnelles est Edgar Frank Codd. Chercheur chez IBM à la fin des années 1960, il étudiait alors de nouvelles méthodes pour gérer de grandes quantités de données car les modèles et les logiciels de l’époque ne le satisfaisaient pas. Mathématicien de formation, il était persuadé qu’il pouvait utiliser des branches spécifiques des mathématiques pour résoudre des difficultés telles que la redondance des données, l’intégrité des données ou l’indépendance de la structure de la base de données avec sa mise en œuvre physique. En 1970, Codd publia un article où il proposait de stocker des données hétérogènes dans des tables, permettant d’établir des relations entre elles. De nos jours, ce modèle est extrêmement répandu, mais en 1970, cette idée était considérée comme une curiosité intellectuelle. On doutait que les tables ne pourraient pas être gérer de manière efficace par un ordinateur. Ce scepticisme n’a cependant pas empêché Codd de poursuivre ses recherches. Un premier prototype de Système de gestion de bases de données relationnelles (SGBDR) a été construit dans les laboratoires d’IBM. Depuis les années 80, cette technologie a mûri et a été adoptée par l’industrie. En 1987, le langage SQL, qui étend l’algèbre relationnelle, a été standardisé. SYSTEME DE GESTION DE BASE DE DONNEES (SGBD) Principes de fonctionnement La gestion et l’accès à une base de données sont assurés par un ensemble de programmes qui constituent le Système de gestion de base de données (SGBD). Un SGBD doit permettre l’ajout, la modification et la recherche de données. Un système de gestion de bases de données héberge généralement plusieurs bases de données, qui sont destinées à des logiciels ou des thématiques différentes. Actuellement, la plupart des SGBD fonctionnent selon un mode client/serveur. Le serveur (sous-entendu la machine qui stocke les données) reçoit des requêtes de plusieurs clients et ceci de manière concurrente. Le serveur analyse la requête, la traite et retourne le résultat au client Quel que soit le modèle, un des problèmes fondamentaux à prendre en compte est la cohérence des données. Par exemple, dans un environnement où plusieurs utilisateurs peuvent accéder concurremment à une colonne d’une table par exemple pour la lire ou pour l’écrire, il faut s’accorder sur la politique d’écriture. Cette politique peut être : les lectures concurrentes sont autorisées mais dès qu’il y a une écriture dans une colonne, l’ensemble de la colonne est envoyée aux autres utilisateurs l’ayant lue pour qu’elle soit rafraîchie. Objectifs Des objectifs principaux ont été fixés aux SGBD dès l’origine de ceux-ci et ce, afin de résoudre les problèmes causés par la démarche classique. Ces objectifs sont les suivants : Indépendance physique : La façon dont les données sont définies doit être indépendante des structures de stockage utilisées. Indépendance logique : Un même ensemble de données peut être vu différemment par des utilisateurs différents. Toutes ces visions personnelles des données doivent être intégrées dans une vision globale. Accès aux données : L’accès aux données se fait par l’intermédiaire d’un Langage de Manipulation de Données (LMD). Il est crucial que ce langage permette d’obtenir des réponses aux requêtes en un temps « raisonnable ». Le LMD doit donc être optimisé, minimiser le nombre d’accès disques, et tout cela de façon totalement transparente pour l’utilisateur. Administration centralisée des données (intégration) : Toutes les données doivent être centralisées dans un réservoir unique commun à toutes les applications. En effet, des visions différentes des données (entre autres) se résolvent plus facilement si les données sont administrées de façon centralisée. Non redondance des données : Afin d’éviter les problèmes lors des mises à jour, chaque donnée ne doit être présente qu’une seule fois dans la base. Cohérence des données : Les données sont soumises à un certain nombre de contraintes d’intégrité qui définissent un état cohérent de la base. Elles doivent pouvoir être exprimées simplement et vérifiées automatiquement à chaque insertion, modification ou suppression des données. Les contraintes d’intégrité sont décrites dans le Langage de Description de Données (LDD). Partage des données : Il s’agit de permettre à plusieurs utilisateurs d’accéder aux mêmes données au même moment de manière transparente. Si ce problème est simple à résoudre quand il s’agit uniquement d’interrogations, cela ne l’est plus quand il s’agit de modifications dans un contexte multi-utilisateurs car il faut : permettre à deux (ou plus) utilisateurs de modifier la même donnée « en même temps » et assurer un résultat d’interrogation cohérent pour un utilisateur consultant une table pendant qu’un autre la modifie. 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. Résistance aux pannes : Que se passe-t-il si une panne survient au milieu d’une modification, si certains fichiers contenant les données deviennent illisibles ? Il faut pouvoir récupérer une base dans un état « sain ». Ainsi, après une panne intervenant au milieu d’une modification deux solutions sont possibles : soit récupérer les données dans l’état dans lequel elles étaient avant la modification, soit terminer l’opération interrompue. Quelques SGBD connus et utilisés Il existe de nombreux systèmes de gestion de bases de données, en voici une liste non exhaustive : PostgreSQL: MySQL ; Oracle ; IBM DB2 ; Microsoft SQL ; Sybase ; Informix ; POURQUOI UNE MODELISATION PREALABLE ? Il est difficile de modéliser un domaine sous une forme directement utilisable par un SGBD. Une ou plusieurs modélisations intermédiaires sont donc utiles, le modèle entités-associations constitue l’une des premières et des plus courantes. Ce modèle, permet une description naturelle du monde réel à partir des concepts d’entité et d’association1. Basé sur la théorie des ensembles et des relations, ce modèle se veut universel et répond à l’objectif d’indépendance données-programmes. Ce modèle, utilisé pour la phase de conception, s’inscrit notamment dans le cadre d’une méthode plus générale et très répandue : Merise. 2.1.2 Merise MERISE (Méthode d’Étude et de Réalisation Informatique par sous-ensemble) est certainement le langage de spécification le plus répandu dans la communauté de l’informatique des systèmes d’information, et plus particulièrement dans le domaine des bases de données. Une représentation Merise permet de valider des choix par rapport aux objectifs, de quantifier les solutions retenues, de mettre en œuvre des techniques d’optimisation et enfin de guider jusqu’à l’implémentation. Reconnu comme standard, Merise devient un outil de communication. En effet, Merise réussit le compromis difficile entre le souci d’une modélisation précise et formelle, et la capacité d’offrir un outil et un moyen de communication accessible aux non-informaticiens. Un des concepts clés de la méthode Merise est la séparation des données et des traitements. Cette méthode est donc parfaitement adaptée à la modélisation des problèmes abordés d’un point de vue fonctionnel. Les données représentent la statique du système d’information et les traitements sa dynamique. L’expression conceptuelle des données conduit à une modélisation des données en entités et en associations. Merise propose une démarche, dite par niveaux, dans laquelle il s’agit de hiérarchiser les préoccupations de modélisation qui sont de trois ordres : la conception, l’organisation et la technique. En effet, pour aborder la modélisation d’un système, il convient de l’analyser en premier lieu de façon globale et de se concentrer sur sa fonction : c’est-à-dire de s’interroger sur ce qu’il fait avant de définir comment il le fait. Ces niveaux de modélisation sont organisés dans une double uploads/Litterature/ lecon-1.pdf
Documents similaires










-
32
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Mai 31, 2022
- Catégorie Literature / Litté...
- Langue French
- Taille du fichier 0.6154MB