chap 1 concepts fondamentaux

publicité
Licence Informatique 2ème année
Cours de SGBDR
Chapitre 1
CONCEPTS FONDAMENTAUX
1- Bases de données, banques de données et fichiers.
Base de données (BD)
Système de gestion de bases de données (SGBD)
Une base de données (BD) représente l’ensemble (cohérent,
intègre, partagé) des informations nécessaires au fonctionnement
d’une « entreprise ». Ensemble dont la gestion est assurée par un
logiciel appelé système de gestion de base de données (SGBD).
On entend ici par entreprise toute collectivité d’individus travaillant en coordination à
la réalisation d’un objectif commun.
Exemples de bases de données : celle qui permet la gestion des personnels, étudiants,
cours, inscriptions,... d’une université ou école ; celle du système de réservation de places
d’avion des compagnies aériennes ; celle qui permet la gestion des comptes clients des
sociétés bancaires,...
Exemples de SGBD : le plus connu est ORACLE, DB2 d’IBM, SYBASE, SQLServer
de Microsoft et dans les logiciels « libre » PostgreSQL, MySQL.
Banque de données
Alors qu’une base de données est développée au sein d’une
entreprise pour son propre fonctionnement, une banque de données
est un ensemble de données, propre à un domaine d’application, que
des « producteurs » réunissent, pour en commercialiser l’usage vers un
public extérieur.
Exemples : les banques de données juridiques, économiques, médicales, des brevets,
des propriétés des matériaux,...La constitution et l’exploitation des banques de données font
appel à des techniques spécifiques, différentes des techniques bases de données.
Fichier
Dans une entreprise, il convient de faire appel à l’approche base de données lorsque les
données à gérer sont de natures diverses (exemple : étudiants, cours, enseignants, salles,..) et
1
Licence Informatique 2ème année
Cours de SGBDR
possèdent de nombreux liens entre elles (exemple : un étudiant suit un cours, un cours est
assuré par un enseignant,..).
Il existe des cas où les données à gérer, bien qu’importantes en
volume, sont homogènes : les abonnés d’une revue, le personnel d’une
entreprise, les produits vendus par un magasin,... Dans ce cas, on
parlera de fichier (le fichier des abonnés,...) et l’on utilisera un
système de gestion de fichiers (SGF), moins complexe qu’un SGBD.
Tout système d’exploitation d’un ordinateur contient un SGF spécifique. Toutefois,
pour les applications, on fait plutôt appel à des progiciels du commerce (Filemaker,..), d’un
usage plus simple et offrant des fonctionnalités plus élaborées.
Il est à noter que l’implantation physique d’une base de données
se fait via la notion de fichier. Le choix de ceux-ci, toutefois, reste de
la compétence du SGBD et est transparent à l’utilisateur.
2- Base de données et modèle de données
Une base de données est généralement définie comme étant un
ensemble de données modélisant un univers. Cet univers est composé
d’objets inter reliés. Un objet de l’univers est appelé une entité et le
lien entre deux entités est appelé association. Entité et association
sont définies chacune par un ensemble de caractéristiques, ou
attributs. Toutes les entités ayant les mêmes caractéristiques
constituent un type d’entité, de même, nous parlerons de type
d’association.
Des exemples seront donnés dans le chapitre suivant.
Le processus de construction des types d’entités et d’associations
est appelé modélisation et il se fait à l’aide d’un modèle de données.
Il existe plusieurs modèles qui se distinguent par la représentation des
associations et les types d’opérations applicables aux entités et aux
associations.
Les modèles les plus connus sont les modèles entité-association
et relationnel. Il faudrait y ajouter quelques autres apparus ces
2
Licence Informatique 2ème année
Cours de SGBDR
dernières années, les modèles objets et décisionnels.
3- Architecture d’un SGBD
En général, on distingue trois niveaux de description des
données dans un SGBD :
- le niveau conceptuel ou logique,
- le niveau interne,
- le niveau externe.
A chacun de ces niveaux correspondent un ou plusieurs schémas.
Architecture ANSI/SPARC
Au niveau conceptuel, l’univers réel à modéliser est décrit à
l’aide des concepts du modèle utilisé. Cette description concerne les
types d’entités avec leurs attributs, les types d’associations entre les
types d’entités et éventuellement des règles de gestion appelées
contraintes d’intégrité. A ce niveau on fait abstraction de l’utilisation
des données ainsi que de leur implémentation physique. Cette
description est représentée par un schéma dit schéma conceptuel (ou
schéma logique global).
Un schéma interne décrit la façon dont les objets conceptuels
sont stockés sur le disque et la correspondance entre structures
logiques de données et structures physiques. Le choix des structures
de stockage doit se faire en tenant compte des contraintes
d’implantation et de l’utilisation qui sera faite des données (fréquence
3
Licence Informatique 2ème année
Cours de SGBDR
d’utilisation, sélectivité, etc.) de façon à optimiser les accès à la base.
Enfin, le niveau externe correspond aux vues que vont avoir les
utilisateurs (par l’intermédiaire des applications) des objets du schéma
conceptuel. Ces différentes vues sont décrites à l’aide de schémas
externes ou sous schémas. Chaque schéma externe traduit un type
d’utilisation de la base de données.
Ce choix d’architecture a pour objectif d’accroître le niveau
d’indépendance entre les données et les traitements, à savoir :
- l’indépendance physique,
- l’indépendance logique,
- l’indépendance vis-à-vis des stratégies d’accès.
L’indépendance physique consiste à rendre l’utilisation des
données indépendante de leur organisation physique (support de
stockage et méthodes d’accès). La modification de l’organisation
physique des données ne doit pas entraîner, par exemple, la réécriture
de programmes accédant à ces données.
L’indépendance logique consiste à rendre l’utilisation des
données indépendante de la structure globale. La modification du
schéma conceptuel ne doit pas entraîner la modification des
programmes d’application. Une modification des schémas externes est
cependant souvent nécessaire dans ce cas.
L’indépendance vis-à-vis des stratégies d’accès n’intervient
qu’au moment de la manipulation des données. Un programme
d’application n’a pas à préciser comment accéder à telle ou telle
donnée mais uniquement ce qu’il désire (le « quoi » et non pas le
« comment »). C’est le SGBD qui doit déduire le meilleur chemin
d’accès aux données.
4
Licence Informatique 2ème année
Cours de SGBDR
4- Objectifs d’un SGBD
Les principales fonctionnalités que doit assurer un SGBD sont :
- la définition des données,
- la manipulation des données,
- la sécurité et l’intégrité des données,
- la gestion des transactions et des accès concurrents.
4.1- Définition des données
Le rôle d’un langage de définition des données (LDD) est de
décrire et de définir chacun des schémas décrits ci-dessus. Un tel
langage doit permettre ;
- la création d’objets conceptuels,
- la description de structures physiques,
- la création de chemins d’accès,
- la définition de vues (sous-ensemble de schéma).
Pour une base de données existante, ce LDD doit aussi
permettre :
- la modification de la description d’objets conceptuels,
- la suppression d’objets conceptuels,
- la modification (réorganisation) de chemins d’accès,
- la suppression de chemin d’accès,
- la modification de visions partielles.
Un LDD est composé d’un ensemble de commandes portant sur
des objets conceptuels (ou logiques) et sur des objets physiques.
L’ensemble des descriptions des objets d’une base de données
constitue ce qu’on appelle son dictionnaire de données. Ce
dictionnaire est généralement structuré et géré lui-même comme une
base de données. C’est une méta base. La conséquence de cette
organisation est que les descriptions des objets conceptuels et
physiques peuvent être manipulés de la même façon que leurs valeurs.
5
Licence Informatique 2ème année
Cours de SGBDR
Il est alors possible d’éditer le contenu de ce dictionnaire pour des
besoins statistiques, de développement ou de documentation.
4.2- Manipulation des données
La manipulation des données recouvre toutes les opérations
d’échanges de données entre les (programmes) utilisateurs et la base.
Ces échanges peuvent être sous forme de consultation ou de mise à
jour (insertion, modification et suppression).
La manipulation se fait à l’aide d’un langage (LMD). C’est le
seul moyen pour l’utilisateur d’accéder à la base. Les LMD varient
d’un modèle à un autre.
Le modèle relationnel dispose d’un ensemble d’opérateurs
ensemblistes, dont l’application à des tables constitue une algèbre
relationnelle. Les langages basés sur une algèbre relationnelle sont à
la fois simples d’utilisation et puissants. Le plus connu est SQL.
4.3- Sécurité et intégrité des données
Cette fonctionnalité consiste à garantir que seuls les utilisateurs
autorisés peuvent effectuer des opérations sur la base de telle sorte
qu’elle soit maintenue dans un état cohérent. Ceci entraîne :
- un contrôle sur les utilisateurs, ainsi que sur les types
d’opérations qu’ils sont autorisés à effectuer (gestion des
autorisations).
- un contrôle sur la validité des opérations effectuées. Il se fait par
rapport à certaines règles dites contraintes d’intégrité
sémantique.
- une protection des données contre les accès malveillants et les
pannes. Ces problèmes sont réglés par l’attribution de mots de
passe aux utilisateurs et par la définition de vues ne leur
permettant de manipuler qu’un sous ensemble de la base. Une
protection physique est généralement assurée par un encryptage
des données.
Les fonctionnalités relatives à la sécurité et à l’intégrité sont plus
6
Licence Informatique 2ème année
Cours de SGBDR
ou moins prises en compte par les SGBD du marché. Leur mise en
oeuvre constitue une tâche essentielle de l’administrateur de la base.
4.4 Gestion des transactions et des accès concurrents
Le principal objectif est de mettre à la disposition d’un grand
nombre d’utilisateurs un ensemble intègre de données. Ces données
peuvent alors être manipulées simultanément par plusieurs utilisateurs.
La cohérence des données est assurée à l’aide des concepts de
transaction et d’accès concurrents.
Une transaction est définie comme une unité logique de
traitement (ensemble de commandes) qui, appliquée à un état cohérent
de la base, restitue un nouvel état cohérent, mais modifié de la base.
Elle ne peut être exécutée que complètement, ou pas du tout.
Une solution classique consiste à verrouiller momentanément
les données utilisées par une transaction jusqu’à la fin de la mise à
jour. Les autres transactions demandant ces données sont mises en
attente. Le SGBD doit être capable de détecter et débloquer les
situations d’inter blocage.
7
Téléchargement