Introduction Aux SGBD

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 9

INTRODUCTION AUX SGBD

I. Définitions introductives

II. Base de données et modèle de données

1. Modèle relationnel

2. Modèles objet

III. Architecture ANSI/SPARC

IV. Le cycle de vie d’une base de données

V. Fonctionnalités d’un SGBD

1. Définition des données

2. Manipulation des données

3. Sécurité et intégrité des données

4. Gestion des transactions et des accès concurrents

VI. Le modèle relationnel

1. Structure de données

2. Manipulation des données

3. Langages relationnels

Nakoniloh SORO 1
I. Définitions introductives

Base de données
Ensemble structuré de données apparentées qui modélisent un univers réel. De façon informelle,
on peut considérer une Base de Données (BD) comme une grande quantité de données,
centralisées ou non, servant pour les besoins d'une ou plusieurs applications, interrogeables et
modifiables par un groupe d'utilisateurs travaillant en parallèle.

Système de gestion de base de données

Système qui permet de gérer une BD partagée par plusieurs utilisateurs simultanément. Le SGBD
peut être vu comme le logiciel qui prend en charge la structuration, le stockage, la mise à jour et
la maintenance des données ; c'est, en fait, l'interface entre la base de données et les utilisateurs
ou leurs programmes.

Interface Interface
utilisateur d’accès physique

SGBD BD

Analyse/Vérification des requêtes Stockage/Accès aux données


Convivialité de l’interface Optimisation des performances
Puissance des langages

II. Base de données et modèle de données

La base de données, généralement définie comme un ensemble intégré de données modélisant un


univers, est composé d’objets inter reliés. Les objets d’un même type constituent une entité et le
lien entre deux entités est appelé association.
Le processus de description des entités et des associations est appelé modélisation donnant
naissance à des modèles. Il existe plusieurs modèles et les plus utilisés sont : le modèle
hiérarchique, le modèle réseau, le modèle relationnel et le modèle objet.

Nakoniloh SORO 2
II.1 Le modèle relationnel
Le principe de base du modèle relationnel consiste à représenter aussi bien les entités que les
liens à l’aide de relations appelées aussi tables. Une table est une structure tabulaire dont les
colonnes, appelées aussi attributs, correspondent aux caractéristiques de l’entité ou de
l’association à représenter et les lignes, appelées aussi tuples ou n-uplets, correspondent aux
objets. Chaque attribut est désigné par un nom et caractérisé par un domaine. Un domaine est un
type de données nommé. Il permet ainsi de définir plusieurs attributs de même type sans que l’on
soit obligé de répéter à chaque fois le type de données. Des liens dynamiques peuvent être établis
entre les tables au moment de la manipulation des données à l’aide d’un opérateur appelé
opérateur de jointure.

II.2 Le(s) modèle(s) objet


Il n’existe pas un seul modèle objet mais toute une famille de modèles. Le point commun entre
ces différents modèles, en ce qui concerne la structuration des données, est leur caractère
dynamique. A partir de types de bases, il est possible de construire de nouveaux types (ou
classes) qui participent eux-mêmes à la construction d’autres types (ou classes), et ainsi de suite.
La construction se fait par héritage simple ou multiple ou par composition (listes, ensembles, n-
uplets, etc.)

III. Architecture ANSI/SPARC

Pour assurer l’efficacité de l’accès aux données et l’administration centralisée des données, trois
niveaux de description des données ont été définis par la norme ANSI/SPARC. Et à chacun de
ces niveaux correspond un ou plusieurs schémas.

Nakoniloh SORO 3
Niveau interne
Description du stockage des données au niveau des unités de stockage, des fichiers. On appelle
cette description le schéma interne.

Niveau conceptuel ou logique


Description de la structure de toutes les données qui existent dans la base, description de leurs
propriétés (relations qui existent entre elles) c'est-à-dire de leur sémantique inhérente, sans soucis
d'implémentation physique ni de la façon dont chaque groupe de travail voudra s'en servir. On
appelle cette description le schéma conceptuel.

Niveau externe
Description pour chaque utilisateur de sa perception des données. On appelle cette description le
schéma externe ou vue. Cela correspond au dialogue avec les utilisateurs, aux vues associées à
chaque groupe d’utilisateurs.

Niveau Externe Schéma Schéma Schéma


externe externe externe

Niveau Conceptuel
SCHEMA
CONCEPTUEL

Schéma
Niveau Interne
interne

Architect ure ANSI/SPARC


Fig : Architecture ANSI/SPARC

Principe de fonctionnement du SGBD : un exemple avec le parcours d’une requête


1- Analyse syntaxique et sémantique d’une requête
2- Traduction au niveau logique

Nakoniloh SORO 4
3- Contrôles de confidentialité, concurrence.
4- Si la requête est acceptée, optimisation et découpage en sous requêtes élémentaires transférées
au niveau interne.
5- Au niveau interne, traduction des sous-requêtes en requêtes physiques correspondantes.

IV Le cycle de vie d’une base de données

Quatre phases :
1. Conception de la base (schéma conceptuel)
2. Implantation des données (schéma logique)
3. Utilisation (Interrogation, mise à jour, etc...)
4. Maintenance (Correction, évolution)

V. Fonctionnalités 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

V.1 Définition des données


Le rôle d’un langage de définition de données (LDD) est de décrire et de définir chacun des
schémas décrits ci-dessus. Un tel langage doit donc 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émas)
Pour une base de données existante, ce LDD doit permettre aussi :

Nakoniloh SORO 5
▪ La suppression d’objets conceptuels
▪ La modification (ou réorganisation) de chemins d’accès
▪ La suppression de chemins 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 d’objets d’une base de données constitue ce qu’on appelle un
dictionnaire de données. Ce dictionnaire de données est généralement structuré et géré lui-même
comme une base de données. Il est appelé dans ce cas, métabase.
La conséquence de cette organisation est que les descriptions des objets conceptuels et physiques
peuvent être manipulées de la même façon que leurs valeurs. Il est possible alors d’éditer le
contenu de ce dictionnaire pour des besoins de statistiques, de développement ou de
documentation.

V.2 Manipulation des données

La manipulation des données recouvrent toutes les opérations d’échange de données entre les
(programmes) utilisateurs et la base de données. Ces échanges de données peuvent être sous
forme de consultation ou de mise à jour (insertion, modification et suppression).

A ces opérations d’échange de données, il faudrait ajouter les opérations de manipulation de


bases de données telles que l’ouverture ou la fermeture d’une base.

La manipulation de données se fait à l’aide d’un langage dit langage de manipulation de données
(LMD). Ce langage constitue pour les (programmes) utilisateurs l’unique moyen d’accès à la base
de données. Les LMD varient d’un modèle de données à un autre.

Pour manipuler les données, le modèle relationnel dispose d’un ensemble d’opérateurs
ensemblistes, dont l’application à des tables constitue l’algèbre relationnelle. Les langages basés
sur l’algèbre relationnelle sont à la fois simples d’utilisation et puissants. Le langage relationnel
le plus connu est SQL.

Nakoniloh SORO 6
V.3 Sécurité et intégrité des données

Cette fonctionnalité consiste à garantir que seuls les utilisateurs autorisés peuvent effectuer des
opérations correctes sur la base de données de sorte que celle-ci soit maintenue dans un état
cohérent. Ceci entraine :

▪ Un contrôle sur les utilisateurs accédant à la base de données ainsi que sur les types
d’opérations qu’ils sont autorisés à effectuer : ce contrôle est appelé gestion des
autorisations. Cette gestion inclut la possibilité de créer et de supprimer des utilisateurs et
de leur attribuer et retirer le droit d’effectuer différents types d’opérations sur la base de
données.

▪ Un contrôle sur la validité des opérations effectuées : ce contrôle se fait par rapport à
certaines règles dites contraintes d’intégrité sémantique. Il existe plusieurs types de
contraintes d’intégrité. Certaines imposent que la base vérifie certaines conditions à des
moments donnés (fin de journée, fin de semaine, fin de mois). Elles sont dites contraintes
d’intégrité temporelles. D’autres imposent que des modifications de certaines données de
la base entrainent des modifications de données sémantiquement liées. Elles sont dites
contraintes d’intégrité référentielles.

▪ Une protection des données contre les accès malveillants et les pannes : les accès
malveillants sont généralement évités par l’attribution de mots de passe aux utilisateurs
autorisés à accéder aux données. Des vues peuvent aussi être définies afin de n’autoriser
les utilisateurs à manipuler qu’un sous ensemble de la base de données. Une protection
physique est aussi nécessaire pour empêcher les utilisateurs non autorisés à accéder au
contenu physique de la base. Ceci est généralement assuré par l’encryptage. En ce qui
concerne les pannes dues aux manipulations incorrectes, aux incidents logiciels ou
matériels, le SGBD doit offrir les mécanismes permettant de garantir la survie des bases
gérées et leur remise dans un état cohérent.

V.4 Gestion des transactions et des accès concurrents

Le principal objectif de l’introduction d’une base de données dans le système d’information d’une
organisation est de mettre à la disposition d’un grand nombre d’utilisateurs un ensemble intègre

Nakoniloh SORO 7
de données. Ces données peuvent être manipulées simultanément par différents utilisateurs. Une
attention particulière doit donc être portée afin de garantir la cohérences des données lors des
manipulations effectuées par les différents utilisateurs. Cette cohérence est assurée à l’aide des
concepts de transaction et des accès concurrents.

Une transaction est définie comme une entité logique de traitement qui, appliquée à un état
cohérent de la base de données, restitue un nouvel état cohérent, mais modifié de la bas. Elle ne
peut qu’être exécutée complètement, on dit qu’elle est validée (COMMIT), ou pas du tout, on dit
alors qu’elle est annulée (ROLLBACK).

Pour garantir un parallélisme d’exécution des transactions, une gestion fine des accès concurrents
est nécessaire. Ainsi plusieurs transactions peuvent être exécutées simultanément permettant un
haut débit transactionnel.. Cependant il faut veiller à ce que l’exécution parallèle des transactions
donne le même résultat qu’une exécution séquentielle. Pour ce faire la solution classique consiste
à verrouiller momentanément les données utilisées par une transaction jusqu’à la fin de mise à
jour. Les autres transactions demandant ces données sont mises en attente jusqu’à leur libération
(déverrouillage).

La conséquence de cette technique de verrouillage est le risque d’interblocage (dit aussi verrou
mortel ou étreinte mortelle) au cas où deux (ou plusieurs) transactions se trouvent en attente de
libération de données par une autre transaction qui elle-même est en attente de libération de
données. Le SGBD doit être capable de détecter une telle situation et de la débloquer.

La solution la plus utilisée consiste à annuler l’une des transactions en se basant sur certains
critères.

VI. Le modèle relationnel

VI.1 Structure de données


Une base de données relationnelle se présente comme un ensemble de relations d’où le nom
du modèle. Ces relations sont appelées aussi tables. Toute relation a un schéma qui décrit sa
structure et une extension qui correspond à l’état de cette relation à un instant donné.
Le schéma d’une table est composé d’une ensemble d’attributs (ou colonnes) dont un sous
ensemble constitue la clé qui permet d’identifier les autres attributs de la relation.

Nakoniloh SORO 8
Les valeurs d’un attribut sont atomiques c’est-à-dire non décomposables et appartiennent au
même domaine.
Un domaine est un ensemble de valeurs atomiques de même type.

VI.2 Manipulation des données


Pour manipuler les données, le modèle relationnel dispose d’un ensemble d’opérateurs
ensemblistes, dont l’application à des tables constitue l’algèbre relationnel.
Il existe deux types d’opérateurs : les opérateurs unaires et les opérateurs binaires.
Un opérateur unaire s’applique à une seule table alors qu’un opérateur binaire s’applique à
deux tables.
La projection et la sélection sont les seuls opérateurs unaires.
Les opérateurs binaires sont l’union, l’intersection, la différence, le produit cartésien, la
jointure et la division.
Les 3 premiers ne peuvent s’appliquer qu’aux tables de même de mêmes schémas.
La sélection (ou restriction) consiste à ne retenir d’une table que les lignes vérifiant une
condition donnée.
La projection d’une table sur certaines de ses colonnes ne rend que les colonnes
correspondantes.
L’union de deux tables donne une troisième table composée de toutes les lignes des deux
tables.

Nakoniloh SORO 9

Vous aimerez peut-être aussi