Académique Documents
Professionnel Documents
Culture Documents
1
Base de données (2)
3
SGBD
La création de données
‒ LDD : Langage de Définition de Données)
La manipulation de données (Interrogation et mise à
jour de la base)
‒ LMD : Langage de Manipulation de Données
Le contrôle de données
‒ LCD : Langage de Contrôle de Données
La gestion des transactions
4
SGBD (2)
Exemple
MySQL, Oracle, DB2, SQL Server, PostgreSQL,
Access, Paradox, ...
5
Evolution des SGBD
7
Modèles de données [+SGBDR]
Exemples
relationnel
réseaux
hiérarchique
etc
8
Modèles de données (2)
Possède deux parties
SELECT LastName
FROM STUDENT
WHERE BirthYear =1980
ORDER BY LastName 9
Architecture logique d’un SGBD
La plupart des SGBD suivent l’architecture standard Ansi/Sparc
Permet d’isoler les différents niveaux d’abstraction nécessaires
pour un SGBD
Détacher l’utilisateur de l’implémentation physique.
Conceptual
Schema
Internal
Schema
data
base
10
Architecture logique d’un SGBD
1) Niveau interne ou physique
Décrit le modèle de stockage des données et les fonctions
d’accès
3) Niveau externe
Correspond aux différentes vues des utilisateurs.
Chaque schéma externe donne une vue sur le schéma conceptuel à
une classe d’utilisateurs. 11
Séparation logique / physique [+SGBDR]
12
Séparation niveaux physique et
applicatif [+SGBDR]
Offre des points de vue différent sur les bases de données qui
sont adaptés à des besoins spécifiques
Les vues cachent les informations sans intérêt
13
Modèle relationnel
Les concepts sont fondés sur une théorie mathématique
issue de :
L'algèbre relationnelle
La théorie des ensembles
La logique formelle
14
Modèle relationnel (2)
Les données sont organisées en relations
Tables: relations
Colonnes: attributs
Lignes: n-uplets (ou tuples)
Exemple
Table : Etudiant
idEtudiant nom adresse numC desc note
110 Amina Alger M212 Analyse 1 A
406 Ali Jijel M212 Analyse 1 B
218 Ahmed Alger I209 Base de données C
340 Amir Sétif I209 Base de données A
200 Karima Jijel M100 Algèbre B
15
Modèle relationnel (3)
Schéma d’une base de données
Ensemble de noms de tables
Ensemble d’attributs pour chaque table
16
Attributs
Attribut
Un nom qui décrit une propriété
Exemple : matricule, nom, prénom, adresse d'un étudiant
Valeur NULL
Absence temporaire de valeur (inconnu) ou l'inapplicabilité
d'une valeur pour un attribut dans un tuple
17
Clés
Clé
Plus petit sous-ensemble d’attributs qui identifient chaque ligne de
manière unique
Il n'existe pas deux lignes avec les mêmes valeurs pour l'ensemble
de ces attributs
Exemple: l'attribut matricule pour la relation Étudiant
matricule nom prénom dateNaiss addresse
110 Mouman Amina 11-10-2000 Alger
406 Ben Salah Ali 26-09-1999 Jijel
218 Brahimi Ahmed 15-03-1999 Alger
340 Larbi Amir 09-06-2000 Sétif
19
SQL
Le SGBDR est muni d'un langage normalisé et non
procédural : SQL
LDD
LMD
LCD
20
Langage de Dentition de Données
(LDD)
Permet de définir une base de données et les objets qui la
composent (Tables relationnelles, attributs, vues, indexes, etc).
21
Langage de Manipulation de Données
(LMD)
Permet de consulter et de mettre à jour les objets crées par le
LDD
Consultation
SELECT
Mise à jour
INSERT: Insertion de nouvelles données
UPDATE: Modification de données existantes
DELETE: Suppression de données existantes
22
Langage de Contrôle de Données
(LCD)
Permettant de contrôler l'accès aux données
Autoriser et interdire l’accès à certaines données à certains
utilisateurs
Privilèges d’accès aux données
25
Redondance et Anomalies
Exemple
idEtudiant nom adresse numC desc note
110 Amina Alger M212 Analyse 1 A
406 Ali Jijel M212 Analyse 1 B
218 Ahmed Alger I209 Base de données C
340 Amir Sétif I209 Base de données A
200 Karima Jijel M100 Algèbre B
26
Redondance et Anomalies (2)
Redondance d’information
idEtudiant nom adresse numC desc note
110 Amina Alger M212 Analyse 1 A
406 Ali Jijel M212 Analyse 1 B
110 Amina Alger I209 Base de données C
340 Amir Sétif I209 Base de données A
200 Ali Jijel M100 Algèbre B
27
Anomalie de modification
28
Anomalie de suppression
Certaines informations dépendent de l'existence d'autres
informations.
Ex. : Le cours 'M100' d’Algèbre dépend de l'existence d’Ali
29
Anomalie d’insertion
Valeurs manquantes
Ex : Si on veut insérer un nouvel étudiant '220, Karim, Bejaia',
il faut connaitre un de ses cours et sa note dans ce cours, ou
introduire des les valeurs nulles.
30
DF - Dépendances fonctionnelles
Définition
Soit une relation R (X, Y, Z)
X, Y, Z sont des ensembles d'attributs
Z peut être vide
Il existe une DF de X vers Y, (notée X→Y), si c'est toujours la
même valeur de Y qui est associée à une valeur donnée de X
si (x, y, z) et (x, y’, z’) sont deux tuples de R, alors y = y'.
Objectif
Optimiser la modélisation
Suppression des problèmes de redondances
Minimiser l’espace de stockage (élimination des
redondances)
plusieurs Formes Normales
1FN
2FN
3FN
FNBC
…
32
1FN - Première forme normale
Employé
Matricule
Nom
DateDeNaissance décomposable adresse
Adresse décomposable code postal
NumProj_1 ville
DescProj_1
NumProj_2 répétitif
DescProj_2
33
1FN (2)
Problématique:
On ne sait pas combien de projets sont affectés à chaque
employé.
Donc, au moment de la création, on ne sait pas
combien de champs il faut créer pour le projet
34
2FN - Deuxième forme normale
35
2FN - Exemple
Fournisseur PièceCommandée
NomFour Adresse NumPièce NomFour Quantité
Ben Braham Rue des Martyrs, Alger 12 Ben Braham 40
Mansouri Rue Des Invalides, Oran 10 Mansouri 50
Brahimi Rue de la Révolution, Setif 15 Ben Braham 18
10 Brahimi 20
37
3FN – Troisième forme normale
38
3FN – Exemple
Etudiant
IdEtudiant Nom Département SigleDep
12 Kamal 7 MI
10 Mokrani 7 MI
15 Yakoubi 3 ST
10 Ben Mohamed 2 SM
DF
DF
39
3FN – Exemple (2)
Etudiant Département
IdEtudiant Nom Département IdDépartement Sigle
12 Kamal 7 2 MI
10 Mokrani 7 3 ST
15 Yakoubi 3 7 SM
10 Ben Mohamed 2
40
Exemple
EtudiantCours
IdEtudiant IdCours IdEnseignant Note
1200 12 211 A
1000 15 340 A+
1500 12 211 B-
1000 17 211 C
En 3FN ?
Problèmes ?
41
FNBC – Forme Normale de Boyce-Codd
42
FNBC – Exemple
EtudiantCours
IdEtudiant IdCours IdEnseignant Note
1200 12 211 A
1000 15 340 A+
1500 12 211 B-
1000 17 211 C
EtudiantCours Cours
IdEtudiant IdCours Note
IdCours IdEnseignant
1200 12 A
12 211
1000 15 A+
15 340
1500 12 B-
17 211
1000 17 C
43
Autres Formes Normales
44
NB
45