Des systèmes traditionnels à la base de données

publicité
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
Téléchargement