Vous êtes sur la page 1sur 23

NOTIONS FONDAMENTALES SUR

LES BASES DE DONNEES


Introduction

❑ Base de Données (BD)


« Un ensemble structuré de données enregistrées sur
un ordinateur et accessibles à un ensemble
d’utilisateurs ».
❑ Système de Gestion de Base de Données (SGBD)
« Un logiciel qui permet d’interagir avec une BD ».
Introduction

❑ Fonctions d’un SGBD


▪ Description des données
▪ Définition et Manipulation des données
▪ Interrogation sélective des données
▪ Définition de contraintes d’intégrité des données
▪ Accès concurrentiel aux données
▪ Procédures de reprise en cas d’incident
▪ Gestion des utilisateurs
Introduction

❑ Types d’utilisateurs
❑ L’administrateur chargé de donner/enlever les droits d’accès aux
utilisateurs, de configurer, de sauvegarder, des reprises en cas de panne…
❑ Le programmeur créé les différents objets de la BD qui seront manipulés
via son application. Il définit avec l’administrateur les droits d’accès pour les
différents utilisateurs finaux.
❑ L’utilisateur final a accès aux données qui lui sont autorisées. En général,
il utilise les données sans les définir.
Evolution des SGBDs

▪ Modèle hiérarchique
▪ Modèle réseau
▪ Modèle Orienté Objet
▪ Modèle relationnel
Evolution des SGBDs

❑ Modèle relationnel
▪ Fondé sur la théorie mathématique des relations. La BD est représentée
sous forme de tables (lignes et colonnes).
▪ Développement d’un langage non procédural de gestion de données (SQL).
L’utilisateur ou le programmeur n’ont plus à naviguer dans la BD, ils
formulent leurs requêtes et c’est le SGBD qui se charge de les exécuter et
leur renvoyer le résultat.

❑ Sur le marché
Oracle (Oracle), Informix, DB2 (IBM), Sybase (Sybase), SQL SERVER
(Microsoft), Postgress, Mysql…
Le modèle relationnel
Notions de base

❑ Relation
▪ Une relation R est un sous-ensemble du produit cartésien de n ensembles
D1,D2,…,Dn les domaines des attributs A1,A2,…,An.
▪ R est donc un ensemble de n-uplets (v1,v2,…,vn) tel que vi Di appelés
occurrences.
▪ Une relation est notée R(A1,A2,…,An).

❑ Exemple
▪ Soit la relation Personne(CIN,Nom,Genre)
Le triplet (06125478,Kamoun,M) est
DCIN={Toutes les CIN possible} une occurrence de Personne
DNom={Ensemble de tous les noms possibles}
DGenre={M, F}
Le modèle relationnel
Notions de base

❑ Table
❑ Clé primaire
❑ Passage diagramme de classes - schéma relationnel
Le modèle relationnel
Algèbre relationnelle

❑ Algèbre relationnelle (Le langage SQL s’en est inspiré)


▪ Opérateurs relationnels
✓ La projection (de R sur les attributs)
La projection de EMP sur ENAME et JOB
✓ La restriction (ou sélection selon une condition)
L’opération algébrique qui renvoie la liste des employés payés
plus que 1000
Le modèle relationnel
Opérateurs relationnels

✓ La jointure (de R et S sur les colonnes respectives A et B)


C’est la relation dont les occurrences sont obtenues par
concaténation des occurrences de R et ceux de S qui ont la
même valeur pour A et B.
La jointure de EMP avec DEPT donne les informations des
employés ainsi que les informations de leurs départements.
✓ La non equi-jointure
Jointure de deux relations avec une condition de comparaison
différente de l’égalité.
SELECT * FROM table1, table2 WHERE table1.colonne1 >
table2.colonne2;
Le modèle relationnel
Opérateurs relationnels

✓ La division
Soit une relation R avec les attributs A et B et une relation S avec
l’attribut B. La division de R par S est la relation D

D = a  R[A]/ b  S, (a, b)  R = a  R[A]/ b  S, (a, b)  R

R S
A B
B
a1
a1
b1
b2
÷B b1 = {a1}
b2
a2 b2
Le modèle relationnel
Opérateurs ensemblistes

▪ Opérateurs ensemblistes
✓ Union, Intersection, Différence
R1 et R2 deux relations avec le même nombre d’attributs (qui
ont les mêmes domaines).
On distingue : l’union de R1 et R2, l’intersection de R1 et R2 et la
différence entre R1 et R2.
✓ Produit cartésien
Le produit cartésien peut être exécuté sur n’importe quel couple
de relations.
Normalisation d’un schéma
relationnel

❑ Une mauvaise répartition des données dans les relations peut


engendrer des problèmes de manipulations, d’intégrité, …etc.
❑ Dépendance fonctionnelle
– Il existe une dépendance fonctionnelle entre les attributs X et
Y d’une même relation R, si la valeur de X détermine la valeur
de Y. Elle est notée X→Y
– Exemple : Soit la relation Personne(CIN,Nom, Cité, CP, Gouvernorat)
CP→Gouvernorat
Normalisation d’un schéma
relationnel
❑ Première forme normale
Une relation R est en 1ère FN si tous les attributs sont élémentaires et dépendent
de la clé

❑ Deuxième forme normale


1. R doit être en 1FN
2. Un attribut X de R, qui ne fait pas partie de la clé, doit dépendre de toute la
clé

❑ Troisième forme normale


1. R doit être en 2FN
Tout attribut X de R n’appartenant pas à la clé, ne doit dépendre que de la clé
Normalisation d’un schéma
relationnel
❑ Forme normale de Boyce-Codd
Les seules sources de dépendance sont la clef.
(les seules dépendances existantes sont de la forme K→A où K est la clé)

❑ Faire des décompositions des relations pour aboutir à un modèle en FNBC qui
garantie une bonne répartition des données dans les relations
Caractéristiques d’un SGBD

I.INTÉGRITÉ DES DONNÉES


1. Transaction
➢ C’est un ensemble de modifications qui forment un tout indivisible. La validation
ou l’annulation concerne toute la transaction, et non une partie.

➢ Une transaction se termine soit par une validation (COMMIT), soit par une
annulation (ROLLBACK)

➢ Une modification non validée n’apparait qu’à l’utilisateur qui est en train de
l’exécuter. Les autres, voient la base dans l’état qui a précédé la transaction.
Caractéristiques d’un SGBD

Une transaction doit être : (ACID)

✓ Atomique (indivisible)
✓ Cohérente (doit respecter les contraintes d’intégrité des
données de la base de données.)
✓ Isolée (des autres transactions et visible une fois validée)
✓ Durable (garantit l’enregistrement des modifications d’une
façon permanente dans la BD)
Caractéristiques d’un SGBD

Point de reprise – Reprise à chaud


▪ Dans une transaction on peut désigner des points de reprises. L’utilisateur peut
donc annuler les modifications qui ont eu lieu après le point de reprise, et éviter
ainsi d’annuler la totalité de la transaction au cas où il veut en annuler
uniquement une partie.
maj1
maj2
SAVEPOINT A
maj3 Les mises à jour effectuées à partir
maj4 maj3 sont annulées (y compris la
SAVEPOINT B maj3).
maj5
ROLLBACK TO A
Caractéristiques d’un SGBD

2. Accès concurrentiel : Exemples de problèmes


➢ Nécessite de gestion des accès ou des modifications concurrentielles

Perte de mise à jour Lecture valeur non validée

Temps User 1 User 2 Temps User 1 User 2


t1 Lire s t1 v=100
t2 Lire s t2 Lire v
s=s+100
t3 annuler
t3 s=s+200
valider
t4 valider
Caractéristiques d’un SGBD

3. Accès concurrentiel : Eléments de réponses


❑ Transaction (ACID)
❑ COMMIT et ROLLBACK
❑ L’exécution simultanée doit être équivalente à une exécution en série
❑ Modifier l’entrelacement des transactions
❑ Verrouillage des opérations (lecture, écriture, lecture en MAJ,..)
▪ Mise en place de verrou
▪ Intervention en cas d’interblocage
▪ Choix de la granularité de l’élément à bloquer
Caractéristiques d’un SGBD

II. SÉCURITÉ
1. Accès à la base de données
➢ Identification avec un login/password à la BD
➢ Chaque utilisateur a des droits (des privilèges)

2. Accès aux données


➢ Une table appartient à son créateur. Ce dernier peut attribuer des droits
(consultation, insertion, modification, suppression) sur cette table aux
utilisateurs qu’il veut
➢ L’ensemble des objets créés par un utilisateur constituent son schéma
Caractéristiques d’un SGBD

III. RESISTANCE AUX PANNES


1. Sauvegarde
➢ Présence d’outils de sauvegarde et de restauration des données
➢ Enregistrement des modifications exécutées sur la BD sur des fichiers
journaux

2. Reprise après incident – Reprise à froid


➢ Sauvegardes valides
➢ Journaux d’images avant et après modification (écriture)
➢ Journaux physiques (valeur de la donnée) et logiques (opération sur la
donnée)
Caractéristiques d’un SGBD

IV. DICTIONNAIRE DE DONNÉES


➢ Le dictionnaire de données est un ensemble de tables qui
contiennent les définitions de tous les objets de la base de
données.

Vous aimerez peut-être aussi