Chapitre 1
Chapitre 1
Chapitre 1
• Calcul de moyennes
• Edition de la liste d’étudiants admis
• Calculs statistiques
• Etc….
La tâche d’informatisation est confiée à un jeune programmeur, qui fait le
raisonnement suivant :
Record of
Matricule : string [8];
Nom, Prenom: string [30];
Note1, Note2, Note3: real
Moyenne : real;
End;
Quelques reproches :
Comment définir de façon claire et efficace, les structures des fichiers, en évitant les
redondances et les incohérences
≠
Bas e de données
Fichiers
6
Organisation en fichiers
Fichier
État de
Saisie Traitement sortie
7
Organisation en B D
Saisie
+ B as e Traitements
de
donné
Contrôles
es
États de
sortie
8
Avantages de l’organisation en B D
Uniformisation de la saisie
9
Les niveaux d’une architecture de BDD
Le niveau externe :
C’est le niveau où les utilisateurs voient les données, il est appelé aussi
niveau utilisateur
Le niveau physique :
Ce niveau est relatif à la mémoire physique (disque dur par exemple), il s’agit
du niveau où les données sont stockées, appelé aussi niveau interne.
Le niveau conceptuel :
C’est le niveau intermédiaire entre les deux précédents, appelé aussi niveau
logique
Les trois niveaux de schémas de Base de données
Modèle de base de données
Modèle hiérarchique:
Les BDD de type hiérarchique gèrent les liens de « père-fils », ils offrent des primitives pour
naviguer dans de telles structures
Modèle réseau
14
Les objectifs d’un SGBD
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 :
Une modification dans la structure d’une table (ajout d’un attribut par
exemple) n’entraîne pas de modification dans les programmes d’application.
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.
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).
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.
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 multiutilisateur,
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.