Base de données
1) Introduction
1.1) Qu’est-ce qu’une base de données ?
Dans la vie de tous les jours on entend beaucoup de gens parler de base de données ; certains en parlent à tort et travers et d'autres certainement ont en tête la dimension informatique de la définition et je vous en donne une possible :
Dans la vie de tous les jours on entend beaucoup de gens parler de base de données ; certains en parlent à tort et travers et d'autres certainement ont en tête la dimension informatique de la définition et je vous en donne une possible :
Définition
Une base de données est une collection de données organisées et reliées entre elles de telle sorte que l'on puisse accéder à une quelconque d'entre elles par l'intermédiaire d'un programme informatique.
Les données doivent être exhaustives (la base contient toutes les informations requises pour le service que l'on en attend), non redondantes (la même information n'est présente qu'une seule fois).
Une base de données est une collection de données organisées et reliées entre elles de telle sorte que l'on puisse accéder à une quelconque d'entre elles par l'intermédiaire d'un programme informatique.
Les données doivent être exhaustives (la base contient toutes les informations requises pour le service que l'on en attend), non redondantes (la même information n'est présente qu'une seule fois).
Une base de données est donc une entité logiquement cohérente , représentant des éléments abstraits ou concrets du monde réel et qui véhicule une certaine sémantique permettant sa gestion.
Dans ce cas une feuille Excel sur laquelle on a rangé un tableau de noms, prenoms et téléphones, ou un tableau contenant les noms de marchandises, les prix et les fournisseurs, constitue-t-elle une base de données ?!!!!
Dans ce cas une feuille Excel sur laquelle on a rangé un tableau de noms, prenoms et téléphones, ou un tableau contenant les noms de marchandises, les prix et les fournisseurs, constitue-t-elle une base de données ?!!!!
2) Caractéristiques
2.1) Mini-monde et catalogue
Commençons d'abord par définir ce que c'est que le monde réel quand on travaille avec une base de données.
Fréquemment on est emmené à garder des informations et à les gérer via l'outil informatique. Pour illustrer notre propos, prenons comme exemple un responsable de magasin qui veut contrôler son stock (savoir ce qui il a vendu pour pouvoir approvisionner à temps le stock ou adapter les prix de vente par rapport au delai de péremption).
Dans ces genres de situations réelles, on utilise une base de données; elle permet de réunir les éléments importants de cette situation réelle qu'on appelle Mini-monde. On définit clairement chaque entité de ce mini-monde en prenant soin de bien dégager ses attributs ; il faut tout faire pour aboutir à une situation permettant de constituer un référentiel de données accessibles par les utilisateurs de la BD.
La conception d'une base de données capable de traiter sans ambiguïté les informations provenant de telle situation nécessite une spécification des types de données, de leurs structures et des contraintes nécessaires à son bon fonctionnement.
Commençons d'abord par définir ce que c'est que le monde réel quand on travaille avec une base de données.
Fréquemment on est emmené à garder des informations et à les gérer via l'outil informatique. Pour illustrer notre propos, prenons comme exemple un responsable de magasin qui veut contrôler son stock (savoir ce qui il a vendu pour pouvoir approvisionner à temps le stock ou adapter les prix de vente par rapport au delai de péremption).
Dans ces genres de situations réelles, on utilise une base de données; elle permet de réunir les éléments importants de cette situation réelle qu'on appelle Mini-monde. On définit clairement chaque entité de ce mini-monde en prenant soin de bien dégager ses attributs ; il faut tout faire pour aboutir à une situation permettant de constituer un référentiel de données accessibles par les utilisateurs de la BD.
La conception d'une base de données capable de traiter sans ambiguïté les informations provenant de telle situation nécessite une spécification des types de données, de leurs structures et des contraintes nécessaires à son bon fonctionnement.
2.2) Le catalogue système ou dictionnaire de données
C'est un élément important au coeur de la communication d'une BDD. Il contient toutes les méta-données utiles au système. Les méta-données sont les représentations permettant la description des données (type, taille, valeurs autorisées, etc...), des autorisations d’accès, des vues et autres éléments systèmes. Le catalogue renferme aussi la description des différents schémas des trois niveaux (physique, conceptuel et externes -voir ci-dessous-) ainsi que les règles de passage d’un schéma vers l’autre.
Tout ce travail de description d'un mini-monde et de définition de catalogue d'une BDD nécessite un certain niveau d'abstraction des données.
C'est un élément important au coeur de la communication d'une BDD. Il contient toutes les méta-données utiles au système. Les méta-données sont les représentations permettant la description des données (type, taille, valeurs autorisées, etc...), des autorisations d’accès, des vues et autres éléments systèmes. Le catalogue renferme aussi la description des différents schémas des trois niveaux (physique, conceptuel et externes -voir ci-dessous-) ainsi que les règles de passage d’un schéma vers l’autre.
Tout ce travail de description d'un mini-monde et de définition de catalogue d'une BDD nécessite un certain niveau d'abstraction des données.
2.3) Abstraction des données
Dans la définition des BD énoncée ci-dessus, on voit bien que l'intérêt d'une Base de Données est de permettre la gestion des données qui sont dedans à partir d'un système informatique qu'on appelle communément SGBD (un système de gestion de base de données).
Dans un SGBD (il y a un certain nombre sur le marché) les programmes qui traitent les données, les programmes applicatifs implémentant les opérations du SGBD sont indépendants des données ; cette propriété importante des bases de données s'appelle abstraction des données.
Ainsi, qu'on soit en présence d'un système de base de données relationnel (SGBDR) ou un système de base de données orienté objet, l'utilisateur travaille avec une représentation conceptuelle des données.
Dans la définition des BD énoncée ci-dessus, on voit bien que l'intérêt d'une Base de Données est de permettre la gestion des données qui sont dedans à partir d'un système informatique qu'on appelle communément SGBD (un système de gestion de base de données).
Dans un SGBD (il y a un certain nombre sur le marché) les programmes qui traitent les données, les programmes applicatifs implémentant les opérations du SGBD sont indépendants des données ; cette propriété importante des bases de données s'appelle abstraction des données.
Ainsi, qu'on soit en présence d'un système de base de données relationnel (SGBDR) ou un système de base de données orienté objet, l'utilisateur travaille avec une représentation conceptuelle des données.
2.4) Modèle de données
Un modèle de données est un mode de représentation des informations issues d'un "mini-monde" caractérisé par :
1. Les structures des données
2. Les contraintes qui permettent de spécifier les règles que doit respecter une base de données.
3. Les opérations permettant de manipuler les données (interroger ou mettre à jour la base).
Les deux premières caractéristiques relèvent du DDL(Langage de Définition des Données) un langage utilisé pour décrire le schéma d’une base de données. La troisième caractéristique (opérations) est la base du DML (Langage de Manipulation de Données) dont le représentant le plus célèbre est SQL.
Dans le contexte des bases de données, la principale qualité d’un modèle de données est d’être indépendant de la représentation physique. Cette indépendance permet de séparer totalement les tâches respectives des administrateurs de la base chargés de l’optimisation de ses performances et des développeurs d’application ou utilisateurs finaux qui n’ont pas à se soucier de la manière dont le système satisfait leurs demandes.
Un modèle de données est un mode de représentation des informations issues d'un "mini-monde" caractérisé par :
1. Les structures des données
2. Les contraintes qui permettent de spécifier les règles que doit respecter une base de données.
3. Les opérations permettant de manipuler les données (interroger ou mettre à jour la base).
Les deux premières caractéristiques relèvent du DDL(Langage de Définition des Données) un langage utilisé pour décrire le schéma d’une base de données. La troisième caractéristique (opérations) est la base du DML (Langage de Manipulation de Données) dont le représentant le plus célèbre est SQL.
Dans le contexte des bases de données, la principale qualité d’un modèle de données est d’être indépendant de la représentation physique. Cette indépendance permet de séparer totalement les tâches respectives des administrateurs de la base chargés de l’optimisation de ses performances et des développeurs d’application ou utilisateurs finaux qui n’ont pas à se soucier de la manière dont le système satisfait leurs demandes.
Il existe différents modèles de données et les plus connus sont :
le modèle conceptuel de données (appelés aussi modèle de haut niveau), le modèle de données physique (ou modèle de bas niveau) et le modèle de données représentationnel.
le modèle conceptuel de données (appelés aussi modèle de haut niveau), le modèle de données physique (ou modèle de bas niveau) et le modèle de données représentationnel.
2.4.1) MCD (Modèle conceptuel de données)
Les concepts utilisés pour la description de la structure des bases de données permettent de classer les modèles; le modèle conceptuel de données propose des concepts proches de l'utilisateur final notamment les concepts comme " entités", "attributs" et "relations". Ces concepts décrivent les objets du monde réel indépendamment de toute technique d’organisation et d’implémentation des données.
Prenons comme exemple de mini-monde une entreprise ; si on décrit et on traduit dans une base de données ses éléments importants, dans un premier temps, on aboutit aux termes "Employé", "projets", "services" qui sont des entités ayant chacune des propriétés qu'on appelle communément attributs. Entre ses entités on définit des Relations ; par cette approche on parle de modèle entités-relations(ou entité-Association).
En général on part de ce modèle entités-relations pour développer le modèle le plus utilisé actuellement à savoir le modèle de données relationnel .
Les concepts utilisés pour la description de la structure des bases de données permettent de classer les modèles; le modèle conceptuel de données propose des concepts proches de l'utilisateur final notamment les concepts comme " entités", "attributs" et "relations". Ces concepts décrivent les objets du monde réel indépendamment de toute technique d’organisation et d’implémentation des données.
Prenons comme exemple de mini-monde une entreprise ; si on décrit et on traduit dans une base de données ses éléments importants, dans un premier temps, on aboutit aux termes "Employé", "projets", "services" qui sont des entités ayant chacune des propriétés qu'on appelle communément attributs. Entre ses entités on définit des Relations ; par cette approche on parle de modèle entités-relations(ou entité-Association).
En général on part de ce modèle entités-relations pour développer le modèle le plus utilisé actuellement à savoir le modèle de données relationnel .
2.4.2) Schémas d'une base de données
Schémas
Au cours de la conception d'une base de données, on la décrit avec précision en définissant clairement les entités qui ont un rôle dans les applications qui seront traitées et ensuite on réalise un Schéma de données; ce schéma, description de cette BdD dans le langage de description des données, peut évoluer au cours de la conception. Il est souvent représenté par un diagramme qui montre la structure de chaque enregistrement.
Schémas
Au cours de la conception d'une base de données, on la décrit avec précision en définissant clairement les entités qui ont un rôle dans les applications qui seront traitées et ensuite on réalise un Schéma de données; ce schéma, description de cette BdD dans le langage de description des données, peut évoluer au cours de la conception. Il est souvent représenté par un diagramme qui montre la structure de chaque enregistrement.
2.5) Architecture des systèmes
Architecture trischématique ou architecture ANSI/SPARC
Dans l'architecture trischématique on établit trois niveaux de description du système de base de données qui sont : le niveau interne, le niveau conceptuel et le niveau externe.
Le processus de transformation des requêtes et des résultats qui sortent d'un niveau à un autre s'appelle correspondance ou mapping.
2.5.1) Le niveau externe
Le niveau externe (appelé aussi niveau vue), comprend une quantité de vues utilisateurs ; chaque utilisateur décrit une partie de la base qui convient à ses besoins. Chaque groupe d'utilisateurs s'intéresse uniquement à son propre schéma externe et les SGBD doivent transformer toute demande d'utilisateur de haut niveau en requêtes de schéma conceptuel puis en requêtes de schéma interne appliquées aux données stockées.
2.5.2) Le niveau conceptuel
Dans le niveau conceptuel on décrit la structure générale de la base de données du point de vu de la communauté des utilisateurs ; c'est un schéma conceptuel qui masque les détails des structures de stockage physique des données et qui ne se soucie pas de l’implémentation physique des données ni de la façon dont chaque groupe d'utilisateurs voudra se servir de la base de données ; ce niveau se concentre sur la description des entités, du type des données, des relations existant entre les entités et des opérartions des utilisateurs.
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.
2.5.3) Le niveau interne
Le niveau interne est un schéma qui décrit la structure de stockage physique de la base de données. 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 physique des fichiers ainsi que de l’utilisation de méthodes d’accès en fonction de la requête.
Architecture trischématique ou architecture ANSI/SPARC
figure 1.0 |
Le processus de transformation des requêtes et des résultats qui sortent d'un niveau à un autre s'appelle correspondance ou mapping.
2.5.1) Le niveau externe
Le niveau externe (appelé aussi niveau vue), comprend une quantité de vues utilisateurs ; chaque utilisateur décrit une partie de la base qui convient à ses besoins. Chaque groupe d'utilisateurs s'intéresse uniquement à son propre schéma externe et les SGBD doivent transformer toute demande d'utilisateur de haut niveau en requêtes de schéma conceptuel puis en requêtes de schéma interne appliquées aux données stockées.
2.5.2) Le niveau conceptuel
Dans le niveau conceptuel on décrit la structure générale de la base de données du point de vu de la communauté des utilisateurs ; c'est un schéma conceptuel qui masque les détails des structures de stockage physique des données et qui ne se soucie pas de l’implémentation physique des données ni de la façon dont chaque groupe d'utilisateurs voudra se servir de la base de données ; ce niveau se concentre sur la description des entités, du type des données, des relations existant entre les entités et des opérartions des utilisateurs.
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.
2.5.3) Le niveau interne
Le niveau interne est un schéma qui décrit la structure de stockage physique de la base de données. 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 physique des fichiers ainsi que de l’utilisation de méthodes d’accès en fonction de la requête.
3) Indépendances des données
3.1) Indépendance logique
L'architecture à trois niveaux définit ci-dessus permet de garantir l'indépendance des données par rapport aux programmes ; elle permet de modifier le schéma de la base de données à un niveau sans restructurer les autres.
L'indépendance logique des données est la possibilité qui fait qu'on puisse modifier le niveau conceptuel sans remettre en cause les schémas externes ou les programmes d'application. L'ajout ou le retrait de nouveaux objets ne modifient pas les éléments qui n'y font pas explicitement référence.
L'architecture à trois niveaux définit ci-dessus permet de garantir l'indépendance des données par rapport aux programmes ; elle permet de modifier le schéma de la base de données à un niveau sans restructurer les autres.
L'indépendance logique des données est la possibilité qui fait qu'on puisse modifier le niveau conceptuel sans remettre en cause les schémas externes ou les programmes d'application. L'ajout ou le retrait de nouveaux objets ne modifient pas les éléments qui n'y font pas explicitement référence.
3.2) Indépendance physique
Quand on peut changer le schéma physique et qu'on peut modifier l'organisation physique des fichiers, rajouter ou supprimer des méthodes d'accès sans remettre en cause le schéma conceptuel, alors on a une indépendance physique de la BD
Quand on peut changer le schéma physique et qu'on peut modifier l'organisation physique des fichiers, rajouter ou supprimer des méthodes d'accès sans remettre en cause le schéma conceptuel, alors on a une indépendance physique de la BD