Introduction Aux SGBD
Introduction Aux SGBD
Introduction Aux SGBD
I. Définitions introductives
1. Modèle relationnel
2. Modèles objet
1. Structure de 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 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
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.
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 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 Conceptuel
SCHEMA
CONCEPTUEL
Schéma
Niveau Interne
interne
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.
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)
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.
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).
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.
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.
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.
Nakoniloh SORO 9