Chapitre 1 Introduction Aux SGBD
Chapitre 1 Introduction Aux SGBD
Chapitre 1 Introduction Aux SGBD
Objectifs spécifiques
A la fin de ce chapitre, l’étudiant doit être capable de :
Présenter les différents besoins ainsi que les différents moyens pour étudier les
données.
Définir une base de données.
Expliquer l’intérêt de l’approche base de données par rapport à celle à fichiers.
Définir un Système de Gestion de Bases de Données (SGBD)
Enumérer les fonctions d’un SGBD
Différencier entre les niveaux d’abstraction lors de la conception d’une base de
données.
Plan du chapitre
I. Introduction
II. Les besoins
III. Les moyens
IV. Approche classique
V. Introduction aux bases de données
VI. Introduction aux SGBD
VII. Architecture d’un SGBD
Volume horaire :
3 heures
Introduction
La prise de décision est une part importante de la vie d’une entreprise (établissements
d’enseignement, ministères, banques, agences de voyages, transport, santé, …). Elle nécessite
d’être bien informé sur la situation et donc d’avoir des informations à jour et disponibles
immédiatement.
Avant les bases de données, chaque application écrite pour un organisme travaillait avec
ses propres fichiers : une même information, par exemple le numéro de téléphone d’un client,
est alors enregistré dans plusieurs fichiers différents. Ceci cause des délais de mise à jour,
peut amener les diverses applications à travaillait sur des données contradictoire, et multiple
les possibilités de mises à jour.
Au contraire, quand la gestion des données est centralisée, chaque donnée n’est
enregistrée qu’en un seul endroit de la base. Ce qui diminue :
- Les risques d’erreurs de mise à jour,
- Supprime le problème d’avoir des informations contradictoires sur une même
donnée dans des fichiers différents.
Les SGBD (Système de Gestion des Bases de Données) évolués offrent des instructions
très puissantes pour traiter les données. Les SGBD récents permettent l’interrogation de la
base de données par des utilisateurs non informaticiens dans des langages non procéduraux.
I.1. Définition
Un fichier est un « récipient d’information, constituant une mémoire secondaire idéale,
permettant d’écrire des programmes d’application indépendantes des mémoires
secondaires »1. Qui se caractérise par un nom, un créateur, une date de création, un contenu,
un emplacement en mémoire secondaire et une organisation (séquentielle, indexée,
séquentielle indexée, …).
1
Selon G. GARDARIN
Exemple :
Fiches chambre
Fiches réservation
Gestionnaire
d’un hôtel Fiches client
Fiches restaurant
Exemple :
Utilisateur
Fichier
Utilisateur
Traitement
Saisie Fichier 2
Utilisateur
III.1. Définition
Une base de données est un ensemble organisé d’informations avec un objectif
commun.
Une base de données est un ensemble structuré de données enregistrées sur des supports
accessibles par l’ordinateur, représentant des informations du monde réel et pouvant être
interrogées et mises à jour par une communauté d’utilisateurs.
C’est une collection de données cohérentes entre elles, généralement de taille
importante.
Donc, une base de données nécessite :
Un espace de stockage.
Une structuration de relations entres les données (sémantique).
Un logiciel permettant l’accès aux données stockées pour la recherche et la
mise à jour de l’information.
Exemple :
Chambre Client
Réservation
Gestionnaire
d’un hôtel
Restaurant
III.2.1. Hiérarchique
Une base de données hiérarchique est une forme de SGBD2 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). Ce
modèle utilise des pointeurs entre les différents enregistrements. Il s'agit du premier modèle
de SGBD.
III.2.2. Réseau
2
SGBD : Système de Gestion de Bases de Données
III.2.3. Relationnel
Est une base de données structurée suivant les principes de l’algèbre relationnel. Le père
de bases de données relationnelles (BDR) est Edgar Frank Codd3.
Un premier prototype de SGBDR (SGBD Relationnel) a été construit dans les
laboratoires d’IBM.
Depuis 1980, cette technologie a mûri et a été adoptée par l’industrie. En 1987, le
langage SQL, qui étend l’algèbre relationnel, a été standardisé.
Les données sont enregistrées dans des tableaux à deux dimensions (lignes et colonnes).
La manipulation de ces données se fait selon la théorie mathématique des relations.
III.2.4. Objet
Les données sont stockées sous forme d'objets, c'est-à-dire de structures appelées
classes présentant des données membres. Les champs sont des instances de ces classes.
La notion de base de données Objet ou relationnel – Objet est plus récente et encore en
phase de recherche et de développement.
3
Edgar Frank Codd : chercheur chez IBM à la fin des années 1960
Utilisateur
Traitements
Saisie Base de Etat de sortie
+ données
Contrôles
Utilisateur
Utilisateur
les failles de sécurité, etc. Il gère les accès à la base de données, les droits des utilisateurs, les
sauvegardes, les restaurations, etc.
Ils prennent en charge la première étape qui consiste en l’analyse des activités et des
flux d’information mis en jeu dans le monde réel à modéliser.
Les développeurs définissent les schémas externes et développent les programmes qui
alimentent ou exploitent la base de données en vue d’applications particulières. Ils utilisent
pour cela le langage de bases de données du SGBD (SQL, PL/SQL, …) éventuellement
couplés avec un langage de programmation classique (java, C#, PHP, …).
Ils manipulent la base de données. Il est possible de distinguer des familles d’utilisateurs
avec des droits différents vis-à-vis de l’accès à la base. On suppose qu’ils n’ont aucune
connaissance sur les bases de données.
IV.1. Définition
Un Système de Gestion de Bases de Données (SGBD) : est un logiciel assurant
structuration, stockage, maintenance, mise à jour et consultation des données d’une BD.
C’est un logiciel qui permet à des utilisateurs de définir, créer, mettre à jour une base de
données et d’en contrôler l’accès.
C’est un outil qui agit comme interface entre la base de données et l’utilisateur. Il
fournit les moyens pour définir, contrôler, mémoriser, manipuler et traiter les données tout en
Indépendance physique: La façon dont les données sont définies doit être
indépendante des structures de stockages 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.
Manipulations des données par des langages non procéduraux : Des utilisateurs
non informaticiens doivent pouvoir manipuler simplement les données, c’est-à-dire les
interroger et les mettre à jour sans préciser d’algorithme d’accès.
Efficacité des accès aux données: Ces langages doivent permettre d'obtenir des
réponses aux interrogations en un temps «raisonnable». Ils doivent donc être optimisés
et, entre autres, il faut un mécanisme permettant de minimiser le nombre d'accès
disques. Tout ceci, biensûr, de façon complètement transparente pour l'utilisateur.
Non redondance des données: la redondance d'informations pose différents
problèmes (coût en temps, coût en volume et risque d'incohérence entre les différentes
copies). Un des objectifs des bases de données est de contrôler cette redondance, voire
de la supprimer, en offrant une gestion unifiée des informations complétée par
différentes vues pour des classes d'utilisateurs différents.
Cohérence des données: Un schéma de base de données se compose d'une description
des données et de leurs relations ainsi que d'un ensemble de contraintes d'intégrité.
Une contrainte d'intégrité est une propriété de l'application à modéliser qui renforce la
connaissance que l'on en a. On peut classifier les contraintes d'intégrité, en contraintes
structurelles (un employé a un chef et un seul par exemple) et contraintes dynamiques
(un salaire ne peut diminuer). Les SGBD commerciaux supportent automatiquement
un certain nombre de contraintes structurelles, mais ne prennent pas en compte les
contraintes dynamiques (elles doivent être codées dans les programmes d'application).
Partage des données: Il s'agit de permettre à plusieurs utilisateurs d'accéder aux
mêmes données au même moment. Si ce problème est simple à résoudre quand il s'agit
uniquement d'interrogations et quand on est dans un contexte mono utilisateur, cela
n'est plus le cas quand il s'agit de modifications dans un contexte mutli-utilisateurs. Il
s'agit alors de pouvoir:
permettre à deux (ou plus) utilisateurs de modifier la même donnée "en même
temps"
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? Les
pannes, bien qu'étant assez rares, se produisent quand même de temps en temps. Il faut
pouvoir, lorsque l'une d'elles arrive, 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.