Académique Documents
Professionnel Documents
Culture Documents
Les activités humaines génèrent des données. Il en a toujours été ainsi et, plus notre
civilisation se développe, plus le volume de ces données croît. Aujourd'hui, les données sont
de plus en plus souvent gérées par des moyens informatiques. Le mot "informatique" lui-
même résulte de la contraction de "information" et "automatique" -- l'informatique est donc
la technique qui permet le traitement automatique de l'information.
Dans les entreprises, on manipule souvent des données ayant la même structure. Prenons
l'exemple de la liste des membres du personnel : pour chaque personne, on enregistre le
nom, le prénom, la date de naissance, l'adresse, la fonction dans l'entreprise, etc. Toutes ces
données ont la même structure ; si elles sont gérées par des moyens informatiques, on dit
qu'elles constituent une base de données.
Les bases de données sont utiles dans bien des domaines. Pour n'en citer que quelques-
uns :
1. Gestion des listes de contacts et des clients
2. Suivi des projets et des tâches
3. Création d'un inventaire avec des photos
4. Coordination des activités de groupe
5. Création rapide et simple de rapports
6. Organisation d'une vente de charité
7. Suivi des employés
8. Impression de factures, de lettres et d'étiquettes d'expédition
9. Mise en relation de données : étudiants et classes par exemple
10. Enregistrement de ressources numériques et de leurs descriptions
1. Contexte d'apparition
Des Systèmes de Gestion de Fichiers (SGF) ont, par la suite, pris en charge les
mécanismes d'accès aux données organisées en fichiers: séquentiel, relatif, indexé,
séquentiel indexé...
Les SGF permettent une relative «indépendance» entre les programmes et les données.
Mais posent un certain nombre de contraintes :
La description du fichier figurant explicitement à l'intérieur des programmes; cela
demeure très contraignant puisque toute remise en question des structures des fichiers
entraîne des modifications au sein des programmes y accédant;
Les SGF sont généralement incompatibles entre eux; la notion même de structure de
fichiers n'est pas uniforme; ceci rend les applications peu portables et difficilement
évolutives;
Les langages supports restent des langages procéduraux pour lesquels la gestion
d'application multi-fichiers devient rapidement pénible (programmation explicite des
mécanismes d'accès, vérification de nombreuses contraintes d'intégrité, mise-à-jour
éclatées induisant des risques d'incohérence...),
Une proportion importante du code des programmes d'application ne se rapporte pas à
l'application traitée mais prend en compte les techniques d'accès du SGF sous-jacent;
en plus d'un alourdissement des programmes, la programmation devient fastidieuse.
De plus, l'informatisation s'effectue de façon verticale (on privilégie l'aspect traitement).
Le découpage fonctionnel d'un système d'information se traduit par la prise en charge
par différents «services» de ses fonctionnalités. Chacun d'eux exploitant des
traitements spécifiques sur des fichiers propriétaires .
Une Base de Données (BD), en anglais Data Base (DB), est une collection d'informations
structurées, cohérentes et persistantes. C’est un recueil d'informations liées à un sujet
donné. Les informations sont placées dans des fichiers, et organisées de manière à pouvoir
être facilement triées, classées et modifiées
Exemple 1 : dans un stock d’un magasin, on retrouve les renseignements liés aux produits
vendus tels que les prix, les fournisseurs, les quantités en stocks, les dates de fabrication,
etc.
Exemple 2 : dans une agence de voyage, on retrouve les informations liées aux clients
(nom, prénom, date de naissance), les réservations (date de réservation, numéro des vols,
les prix des billets, etc.
Comme cela a été déjà cité, Les bases de données existaient avant l'introduction de
l'informatique. On peut ainsi distinguer des bases de données avec ou sans informatique :
a- BD sans informatique
Une BD sans informatique est constituée:
d'un ensemble de fichiers,
de liens logiques entre ces fichiers.
Chaque fichier est composé d'une collection de fiches. Une fiche comporte un ou
plusieurs renseignements sur un élément (objet ou personne) de la BD. Chacun de ces
renseignements (appelés aussi champs) est une information indivisible.
b- BD avec informatique
Exemple :
D'autres modèles de bases de données ont été proposés : hiérarchique, en réseau, orienté
objet, relationnel objet. Aucun d'entre eux n'a pu détrôner le modèle relationnel, ni se faire
une place notable sur le marché (sauf le relationnel objet, prôné par Oracle, qui connaît un
certain développement).
Les bases de données du modèle "relationnel" sont les plus répandues (depuis le milieu des
années 80 environ), car elles conviennent bien à la majorité des besoins des entreprises.
Une base de données hiérarchique est une base de données dont le système de gestion
lie les enregistrements dans une structure arborescente où chaque enregistrement n'a qu'un
seul possesseur.
Exemple :
PERSONNE
ENSEIGANT ETUDIANT
Comme on le voit dans l'exemple cité plus haut, l'organisation hiérarchique des bases de
données est particulièrement adaptée à la modélisation de nomenclatures. Mais n’offre pas la
possibilité d'établir des liaisons de type 1-n (exemple, un malade peut être en relation avec
plusieurs médecins). Ce modèle a montré des limites pour décrire des structures complexes,
répondre aux besoins réels et suivre l'évolution des systèmes d'information.
Le modèle réseau est une manière de représenter les données dans le cadre d'une base de
données. Ce modèle est en mesure de lever de nombreuses difficultés du modèle
hiérarchique grâce à la possibilité d'établir des liaisons de type 1-n en définissant des
associations entre tous les types d'enregistrements.
Ce modèle est une extension du modèle précédent (hiérarchique), les liens entre objets
peuvent exister sans restriction. Pour retrouver une donnée dans une telle modélisation, il
faut connaître le chemin d'accès (les liens), ceci rend encore les programmes dépendants de
la structure de données.
Client Catégorie
Produit
Commande Facture
Exemple :
Un produit peut figurer dans plusieurs commandes
Une client peut passer plusieurs commandes
Une base de données relationnelle est une base de données structurée suivant les
principes de l’algèbre relationnelle.
Le concept permet de stocker et d’organiser une grande quantité d’informations
Les données apparaissent comme stockées dans des tables qu'on peut mettre en relation.
Une table elle-même est une relation, mais entre les différents champs qui la composent.
Le modèle relationnel conduit à :
Une grande simplicité d’usage
Une transparence pour l’utilisateur de toute réorganisation technique de la base (la
seule différence pour l’utilisateur se situera, si l’opération est réussie, dans les temps
de réponse).
Une facilité de combinaison du contenu de plusieurs tables (opération join ou jointure).
Exemple :
PERSONNE
On a une table « personne » Pers ID Nom Prénom date_naiss Ville ID
contenant le nom, le prénom, la date 1 Dupont bob 01-01-1950 1
de naissance et la ville de naissance
pour chaque personne. Une ligne de 2 Durant merise 29-04-1999 2
la table contiendra donc les 3 Dina cod 26-12-2000 1
informations relatives à une
personne.
VILLE
De même, on a une table « ville » Ville ID Nom Population Superficie Région
contenant la population et la 1 Paris 123456 123456 12
superficie de chaque ville. 2 Lyon 12345 12345 22
3 Grenoble 1234 1234 22
Dans une table, les termes ligne et enregistrement sont synonymes. Il en est de même pour
les termes colonnes et champs. En anglais : row et column.
Il existe des bases de données de toutes tailles, depuis les plus modestes (une liste des
numéros de téléphone utilisée par une seule personne), jusqu'aux plus grandes (la base des
données commerciales d'un magasin à succursales multiples, contenant des téraoctets de
données ou plus, et utilisée par le service marketing).
Le nombre d'utilisateurs utilisant une base de données est également extrêmement variable.
Une BDD peut servir à une seule personne, laquelle l'utilise sur son poste de travail, ou être
à la disposition de dizaines de milliers d'agents (comme dans les systèmes de réservation
des billets d'avion par exemple).
Afin de pouvoir contrôler les données ainsi que les utilisateurs, le besoin d'un système de
gestion s'est vite fait ressentir. La gestion de la base de données se fait grâce à un système
appelé SGBD (système de gestion de bases de données) qui représente un ensemble de
services (applications logicielles) permettant de gérer les bases de données, c'est-à-dire :
La gestion de base de données se fait au moyen d'un logiciel appelé SGBD, acronyme de
Système de Gestion de Base de Données, en anglais DBMS (Data Base Management
System). Ce logiciel prend en charge tous les accès à la base de données (la structuration, le
stockage, la maintenance (accès concurrents, sauvegarde, restauration de données),
l'insertion, la mise à jour, la consultation et la suppression d'une base de données, etc.
Tous les SGBD présentent à peu près les mêmes fonctionnalités. Ils se distinguent par leur
coût, par le volume de données qu'ils sont capables de gérer, par le nombre d'utilisateurs qui
peuvent interroger la base simultanément, par la facilité avec laquelle ils s'interfacent avec
les autres logiciels d'application utilisés par l'entreprise, etc.
Un SGBD permet de gérer des données structurées et persistantes de façon intègre, fiable,
concurrente et efficace :
Accès efficace
Le SGBD intègre des techniques spécifiques pour avoir de bonnes performances:
index, hash-coding
regroupement des données sur disque
optimisation des requêtes
Cache mémoire ( utilisation du principe LRU)
Langage de requête, comme le SQL (Strutured Query Language)
Indépendance logique/physique
L'organisation physique de la base de données est transparente pour le développeur
d'applications. Un remaniement de l'organisation physique des données n'entraîne pas
des modifications dans les programmes d'application.
On doit pouvoir changer la répartition des données sur le disque (une nouvelle
rubrique, un regroupement, la pose d'un index) sans modifier les programmes
d'application non concernés.
Langage normalisé de manipulation des bases de données, SQL est utilisable avec
pratiquement tous les SGBD du marché. Cependant, chaque éditeur ayant développé son
propre "dialecte" -- comme c'est toujours le cas en informatique -- il faut pouvoir disposer d'un
"dictionnaire" pour transporter une BDD d'un SGBD à l'autre. Ce "dictionnaire" a été
développé par Microsoft sous le nom ODBC (Open Data Base Connectivity).
En une vingtaine d'années, le marché des SGBD s'est fortement consolidé. Ainsi dBase, le
SGBD le plus utilisé des années 80-90, n'a plus qu'une importance mineure. Paradox, qui eut
son heure de gloire, semble avoir totalement disparu, bien que son format soit encore utilisé.
Les principaux systèmes de gestion de bases de données sont les suivants :
IBM DB2
Microsoft SQL server
Microsoft Access
Microsoft FoxPro
Oracle
Sybase
MySQL
etc …
Répartition du marché :
IBM (36 %), éditeur des SGBD DB2 (développé en interne - mis sur le marché en
1984) et Informix
Oracle (34 %), éditeur du SGBD qui porte le même nom. Cette entreprise a été créée
en 1977 ;
Microsoft (18 %), éditeur de trois SGBD. SQL Server est destiné aux gros systèmes,
Access est un produit de bureautique professionnelle, et Foxpro est destiné aux
développeurs. L'arrivée de Microsoft sur le marché des SGBD date du début des
années 90 ;
Sybase (<3 %). Cette entreprise, qui a été créée en 1984, est aujourd'hui marginalisée.
Ces chiffres recouvrent des réalités contrastées, quand on les fractionne par plate-forme.
Dans le monde Unix, Oracle est en tête avec 62 %, suivi d'IBM (Informix compris) avec 27 %,
alors que Microsoft n'est pas présent sur ce marché. Dans le monde Windows, Microsoft a
pris la tête avec 45 %, suivi d'Oracle avec 27 % et d'IBM avec 22 %.
Le système induit une certaine centralisation (une seule et même base pour tout le
monde); on peut donc réduire les redondances, et veiller à leur cohérence (une mise à
jour est faite pour tout le monde et non pas uniquement pour celui qui en est à
l'origine);
le système supporte au moins un modèle (abstrait) de données ;
indépendance physique: le stockage physique des données dépend uniquement du
site sur lequel elles sont implantées et tient compte des critères de performances,
facilités d'accès, encombrement des volumes...
indépendance logique: les données manipulées modélisent une certaine réalité
perçue de façon différente suivant les utilisateurs; ainsi chacun doit pouvoir
appréhender sa propre vision du réel au travers de la base (ne voir qu'une partie des
données, les associer de manière différente...);
environnement de développement non procédural: l'utilisateur doit spécifier ce qu'il
désire extraire de la base et non comment l'extraire (QUOI et non COMMENT); les
applications sont indépendantes des chemins d'accès. La complexité des systèmes
sous-jacents impose pratiquement un langage de requêtes; c'est donc au système
d'effectuer la conversion et d'optimiser la procédure interne de réponse à la requête);
ces indépendances facilitent l'évolutivité des applications;
convivialité permettant la manipulation de la base pour des utilisateurs banalisés en
particulier non informaticiens;
les garanties au niveau de la sécurité et de l'intégrité des données sont prises en
charge automatiquement: les accès sont restrictifs (tout le monde n'a pas accès à tout),
différents niveaux d'autorisation sont possibles (d'où confidentialité); les données
entrées dans la base passent par un crible qui en assure l'intégrité;
gestion des accès concurrents, notion de transaction; partageabilité: utilisation
transactionnelle en temps réel dans un environnement multi-utilisateurs; ces
possibilités sont à la base de certains types d'applications dans le domaine de la
banque, de systèmes de réservations...
sécurité contre les destructions: journalisation, sauvegarde, reprise après panne;
standardisation des systèmes permettant une portabilité maximale des données et des
applications;
administration: seul l'administrateur a tous les droits sur la base: il l'a créée, suit son
évolution, gère les sauvegardes, ajuste les paramètres système, accorde les droits
d'accès, résoud les conflits; il est le responsable de l'efficacité des accès et de la
sécurité des données.
La mise en place d'une base de données (de grande envergure) nécessite la compétence de
toute une équipe. Le tableau suivant présente les acteurs (ainsi que leur rôle) intervenant
dans la réalisation d'une base de données.
Acteurs Rôles
MOA Demandeur du projet
MOE Réalisateur du projet
coordonne les acteurs
suit la réalisation du projet
Chef de Projet
contrôle coûts et délais
met en oeuvre une démarche qualité
définit le MCD et le dictionnaire de données en interaction avec les
Concepteur
utilisateurs futurs
suit l'évolution du dictionnaire de données
Administrateur de
participe aux spécification du produit , interface entre BD et
Données
utilisateur d'une part, et BD et SGBD d'autre part
Architecte définit l'architecture du système et le déploiement des applications
gère l'implantation physique de la base
Administrateur Système met en oeuvre des procédures d'optimisation, de sauvegarde,
etc.
Développeur
réalise les applicatifs relatifs à l'utilisateur
d'applications
Être administrateur de BDD requiert des compétences particulières, très différentes de celles
requises pour être administrateur de réseau ou de système informatique. Il en résulte le
développement de deux pôles de compétences informatiques dans l'entreprise. On
remarque que, dans l'entreprise toujours, la spécialisation des informaticiens s'accroît.
Le choix du matériel informatique sur lequel on installe un SGBD est fonction, comme ce
dernier, du volume des données stockées dans la base et du nombre maximum d'utilisateurs
simultanés.
Lorsque le nombre d'enregistrements par table n'excède pas le million, et que le nombre
d'utilisateurs varie de une à quelques personnes, un micro-ordinateur actuel de bonnes
performances, un logiciel système pour poste de travail, et un SGBD "bureautique" suffisent.
Si ces chiffres sont dépassés, ou si le temps de traitement des données devient prohibitif, il
faut viser plus haut. Le micro-ordinateur doit être remplacé par un serveur de BDD, dont les
accès aux disques durs sont nettement plus rapides. Le logiciel système client doit être
remplacé par un logiciel système serveur (donc multi-utilisateurs), et le SGBD bureautique
par un SGBD prévu pour les grosses BDD multi-clients.
Principes
a- Niveau conceptuel
Les modèles logiques peuvent être classés selon un petit nombre de familles:
hiérarchiques (gestion par des fichiers «classiques»), réseaux (modèle CODASYL) ,
objets, relationnels .
A ce niveau, le logiciel de développement ainsi que le type de matériel qui sera utilisé
sont choisis.
Le modèle physique des données est une description de l'implantation «physique»
en termes de fichiers, adresses, pointeurs...