Construction Base
Construction Base
Construction Base
donn ées
données 1
1.GÉNÉRALITÉS SUR LES BASES DE DONNÉES
Définition et Historique
Une base de données est un ensemble structuré de données enregistrées sur des supports informatisés,
pouvant satisfaire simultanément plusieurs utilisateurs
Le concept de Base de Données (BDD) est apparu vers 1960, face au nombre croissant d'informations que
les entreprises devaient gérer et partager :
2
Rappel sur les systèmes de gestion de fichiers
3
4
Système de Gestion de Base de données : SGBD
Ensemble des programmes et des langages de commande qui permettent de :
• définir des "bases de données", et des relations entre les éléments de chaque base ;
• spécifier le traitement de ces données : interrogations, mises à jour, calculs, extractions...
Le SGBD reçoit des commandes aussi bien des programmes d'application que des
utilisateurs : il commande les manipulations de données, généralement par l'intermédiaire
d'un SGF.
Utilisateur
Ouvrir, fermer, Demande d'un
Unités
lire, écrire enreg. physique De
Gestion de la
SGBD SGF Lecture/
Base
Ecriture
Code réponse, Enreg. physique
ou code erreur
Programme Données logiques
applicatif
5
Objectifs de l'approche SGBD
• Pour pallier aux inconvénients des méthodes classiques de gestion de fichiers, les SGBD
visent quatre objectifs : intégration et corrélation, flexibilité (indépendance), disponibilité,
sécurité.
• Ces objectifs exigent une distinction nette entre les données 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.
6
1.1 Intégration et corrélation
Dans les systèmes classiques, chaque application gère ses données dans ses propres "fichiers", d’où
•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.
2.4 Sécurité
- 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.
8
Fonctionnement d'un SGBD
Un programme d'application A émet une demande de lecture de données au SGBD sur une des bases :
Le système examine la description physique de la base en rapport avec la requête logique et détermine le
(ou les) enregistrement(s) physique(s) à lire.
Le système lance une commande au système d'exploitation pour rechercher physiquement l'enregistrement
désiré.
Le système d'exploitation, par le biais de ses méthodes d'accès, accède à l'enregistrement physique.
Les données demandées sont transférées dans les buffers, ou mémoires tampons.
Le SGBD, à partir d'une comparaison entre le schéma logique global (conceptuel) et le sous-schéma externe de
l’application A, extrait des données stockées dans le buffer, l'enregistrement logique réclamé par le programme
d'application. Il effectue également les transformations éventuelles de format.
Le SGBD transfère les données des buffers dans la zone de liaison du programme d'application A.
Le SGBD fournit également des informations "d'état" au programme d'application, lui signalant en particulier les
erreurs éventuellement constatées au cours du processus d'extraction.
Le programme d'application, qui dispose des données et d'informations de "service" en assure la bonne exploitation !
9
1.Les langages d'un SGBD
Cette présentation des SGBD fait apparaître la nécessité de bien différencier deux étapes :
10
Langage de Description de Données : LDD
Il permet de décrire précisément la structure de la base
2. le langage hôte
Pour les traitements réguliers, le SGBD doit fournir une interface permettant l'utilisation de la base à l'aide des
langages procéduraux (COBOL, Pascal, C/C++….), en incorporant les requêtes dans des programmes classiques.
11
Résumé des fonctions d’un SGBD
- protection des données : pour personnaliser les accès à la base, il faut identifier l'utilisateur
(code et mot de passe) et vérifier qu'il est autorisé à effectuer les traitements demandés
(contrôle des droits d'accès).
- sécurité, restauration : possibilité de reconstituer la base dans un état satisfaisant après tout
incident
- optimisation des ressources, tenue d’un journal de tous les événements : le logiciel doit fournir
des statistiques précises sur l'état de la base et permettre des réorganisations physiques
périodiques qui éviteront la dégradation des performances globales du système.
- intégrité des données : cohérence des informations les unes par rapport aux autres
12
Principaux modèles logiques
Les trois principaux modèles sont, dans l'ordre chronologique de leur arrivée sur le marché, le modèle
hiérarchique, le modèle réseau (ou navigationnel), le modèle relationnel.
1. Le modèle hiérarchique
Société
Inconvénients :
les accès se font uniquement depuis la racine
la structure interdit les liens N:M, ne permettant que le lien 1:N.
La représentation d'autres relations impose de ce fait une redondance de l'informa
Salariés Vols Matériel Exemple : comment représenter dans ce modèle, un parc de véhicules et un ensemb
chauffeur pouvant conduire plusieurs véhicules, et un véhicule pouvant être conduit p
Avantages :
rigueur des structures et des chemins d'accès
simplicité relative de l'implémentation
adéquation parfaite du modèle à une entreprise à structure arborescente.
13
2. Le modèle en réseau
Produits Fournisseurs
Magasin de Domiciliation
stockage Produit/Fournisseur bancaire
14
3. Le modèle relationnel
• Une relation est un ensemble de tuples (lignes), dont l'ordre est sans importance. Les colonnes de la table
sont appelées attributs ou champs. L’ordre des colonnes est défini lors de la création de la table.
• Une clé est un ensemble ordonné d'attributs qui caractérise un tuple. Une clé primaire le caractérise de
manière unique, à l'inverse d'une clé secondaire.
15
Caractéristiques du modèle
Schéma de données facile à utiliser : toutes les valeurs sont des champs de tables à deux dimensions.
Améliore l'indépendance entre les niveaux logique et physique : pas de pointeurs visibles par l'utilisateur.
Fournit aux utilisateurs des langages de haut niveau pouvant éventuellement être utilisés par des
non-informaticiens (SQL, L4G) et un ensemble d'opérateurs basé sur l'algèbre relationnelle : union,
intersection, différence, produit cartésien, projection, sélection, jointure, division.
16