Introduction aux bases de données relationnelles
Introduction aux bases de données relationnelles
relationnelles
B.FRIKH 1
Généralités
B.FRIKH 2
Historique
LES ASSURES
Appel de prime
P1
attestations
F1 P2
MAJ assuré
P3
Règlement sinistre
P6
saisie sinistre
P4
F2 MAJ sinistre
P5
LES SINISTRES
B.FRIKH 9
Les défauts des fichiers classiques
Pb 1:
Redondance d’informations
B.FRIKH 10
Les défauts des fichiers classiques
Pb2: B.FRIKH 11
Les défauts des fichiers classiques
B.FRIKH 12
Les défauts des fichiers classiques
PB 4:
Les programmes sont accessibles seulement à travers
des programmes d’application
B.FRIKH 13
Les défauts des fichiers classiques
PB 5:
B.FRIKH 14
Objectifs des bases de données
B.FRIKH 15
Base de données..?
Fonction principale
organiser les données sur les supports, et fournir les
procédures de recherche et de sélection de ces
mêmes données
Description des données
Utilisation des données
Synchronisation d’accès
Confidentialité
B.FRIKH 18
Les fonctions d’un SGBD
A 3
A 4
A 10
10 – 6 = 4 10 – 7 = 3
Utilisateur X Utilisateur Y
Le SGBD introduit une exclusion mutuelle entre les utilisateurs dans le cas
de conflits B.FRIKH 20
Les fonctions d’un SGBD
Confidentialité:
Une BD est partagée
Certains sous ensembles de données ne doivent être
accessibles que par des personnes réellement
autorisées
Le SGBD offre des mécanismes de droit d’accès des
utilisateurs (mot de passe, permission d’accès…)
Exemple: B.FRIKH 21
Les fonctions d’un SGBD
L’intégrité:
BD = intégration de toutes les données de l’entreprise
en un réservoir commun de données
Grande quantité de données enregistrées risque
que les données soient erronées
Le SGBD donne à l’utilisateur la possibilité de définir
des règles qui permettent de maintenir l’intégrité de la
BD 22
B.FRIKH
Modèle relationnel et algèbre
relationnelle
23
Partie2
Modèle relationnel
Opérateurs de l’algèbre
Exemples de requêtes
Optimisation
24
Modèle relationnel
Les concepts descriptifs
Notion de domaine
Produit cartésien
Relation
Attribut
Clé
Schéma de relation et de BD
Clé étrangère
Métabase
25
Modèle relationnel
Notion de domaine
Définition
Ensemble de valeurs
Exemples
Entier, réel, chaîne de caractères, booléen
Salaire = 1000…100000 (Dh)
Couleur = {‘rosé’, ‘blanc’, ‘rouge’}
26
Modèle relationnel
Produit cartésien
Définition
Le produit cartésien de D1, ...., Dn est l'ensemble des n-
uplets (tuples) <V1, ...., Vn> tel que Vi Di
Notation
D1 X ....X Dn
Exemple : D1 X D2 D1 D2
27
Modèle relationnel
Relation
Définition
Sous-ensemble du produit cartésien d'une liste de
domaines
Caractérisée par un nom
Exemple
D1 = Code UV
D2 = Prof UV D1 D2
BD Benabou
IO Lahlou
28
Modèle relationnel
Relation (2)
Plus simplement, une relation est un tableau à
deux dimensions
Une ligne est un n-uplet (tuple)
On associe un nom à chaque colonne afin de la
repérer indépendamment de l'ordre = attribut
Prend ses valeurs dans un domaine
Exemple : code UV code coord
BD Benabou
IO Lahlou
29
Modèle relationnel
Exemples de relations
Elève Num Nom Adresse Age
1 Berrada Marakech 20
2 Mirouan Berrechid 20
3 Mjahed Marakech 21
2 BD 10
1 BD 20
2 IO 17
3 IO 18
30
Modèle relationnel
Clé
Définition
Une clé est un groupe d'attributs minimum qui détermine un n-
uplet unique dans une relation (à tout instant)
Exemple
Clé de Elève ?
Clé de UV ?
Clé de Inscrit ?
Contrainte d'intégrité
Toute relation doit posséder une clé renseignée (sans valeur
inconnue)
31
Modèle relationnel
Schéma de relation
Définition
Le schéma d'une relation décrit :
Son nom
La liste des attributs qu'elle comporte et des domaines associés
La liste des attributs composant la clé (la clé est soulignée)
Exemple
Elève(num : entier, nom : chaîne, adresse : chaîne, age :
entier de 18 à 35)
Intention vs. Extension
Schéma de relation : intention de la relation
Table : extension
Schéma d'une BD relationnelle : ensemble des schémas des
relations
32
Modèle relationnel
Clé étrangère
Définition
Une clé étrangère est un groupe d'attributs qui
apparaît comme clé dans une autre relation
R1(A1, A2, .... , Ap, Ap+1, ...., An)
33
Modèle relationnel
Clé étrangère (2)
Mises à jour et clés étrangères
Insertion: la valeur des attributs doit exister dans la
relation référencée.
Insertion de (4, ‘BD’, 15) dans Inscrit ?
Suppression dans la relation référencée; les n-
uplets référençant doivent disparaître.
Suppression de l’élève 2 dans Elève ?
Les clés étrangères sont la traduction des
associations du modèle E/A
34
Modèle relationnel
Clé étrangère
Exemples
Élève(num, nom, adresse, age)
35
Modèle relationnel
Métabase
Définition
base de données contenant l'ensemble des schémas et des
règles de correspondances associées à une base de
données
Principe
Une base décrivant les autres bases, c'est-à-dire:
les relations
les attributs
les domaines
les clés .....
Notion de dictionnaire de données
Base particulière, système, gérée par l'administrateur de BD
36
Modèle relationnel
Résumé des notions
Schéma
Relation1 Attribut1 Attribut2 Attributn
Intention
Schém NomRel Attribut
v1 w1 a
v1 w2 BD
Relation Attribut1
1
Tuple / n-uplet
Table
v3 Relation Attribut2
w2
1
vn
…
Clé
Relation2 Attributa Attributb
Clé
w1 étrangère
w2
BD Métabase
xi
wn 37
Langages associés au modèle relationnel
Langages de Définition de Données (LDD) :
Définition /mise à jour des schémas des relations
Langages de manipulation de données (LMD) :
Interrogation : recherche de données
Mises à jour : insertion, suppression, modification
38
Algèbre relationnelle
39
Algèbre relationnelle
Restriction
But Inscrits en BD :
Permet de "sélectionner" codeUV=‘BD’(Inscrit)
des tuples
La restriction réduit la taille Resu NumElève CodeUV Note
de la relation verticalement
2 BD 10
Contraintes
Unaire 1 BD 20
Spécifier une condition
Notation
Notation textuelle: Majors (note > 15) de BD :
Tcond(R) codeUV=‘BD’ et note >15(Inscrit)
Notation graphique:
R
Resu NumElève CodeUV Note
Cond. 1 BD 20
40
T
Projection Algèbre relationnelle
But
Permet de "sélectionner" des Adresses des élèves :
attributs Adresse(Elève)
La projection réduit la taille de la
relation horizontalement
Resu Adresse
Contraintes
Unaire
Spécifier une liste d'attributs Marakech
Pas de
Notation doublon Berrechid
Notation textuelle: Tattributs(R)
Code et nb heures des UV :
Notation graphique:
R
code,nbh(UV)
Resu Code nbh
IO 45
attributs.
BD 15
T
41
Algèbre relationnelle
Union Nom des profs, des élèves
But
Prof Nom Elève2 Nom
Permet de fusionner 2 relations
Lahlou Berrada
Contraintes
Benabou Mirouane
Binaire
Même schéma Mjahed Mjahed
Notation
Notation textuelle: T R S
Nom des personnes à l’INT : ProfEleve2
Notation graphique: Resu Nom
R S Lahlou
Benabou
Pas de Mjahed
doublon Berrada
T Miroune
42
Intersection Algèbre relationnelle
43
Différence
Algèbre relationnelle
But
Obtenir l’ensemble des tuples Nom des profs, des élèves
d’une relation qui ne figurent
pas dans une autre
Prof Nom Elève2 Nom
Contraintes
Lahlou Berrada
Binaire
Même schéma Benabou Mirouane
Non commutatif Mjahed Mjahed
Notation
Notation textuelle: T R -S
Notation graphique:
Noms des élèves qui ne
portent pas le nom d’un prof :
R S Eleve2-Prof
Résu Nom
- Berrada
Mirouane
T
44
Algèbre relationnelle
Produit cartésien
But
Ensemble de tous les tuples obtenus par concaténation de chaque
Schéma du résultat:
45
Algèbre relationnelle
Produit cartésien (2)
Elève Num Nom Adresse Age UV Code Nbh Coord
Contraintes
Binaire
Schéma du résultat:
Notation graphique:
T
47
1er exemple de jointure
Elève Num Nom Adresse Age Elève.Num=Chambre.numElève
1 Berrada Marakech 20
2 Mirouane Berrechid 20
3 Mjahed Marakech 21 Chambre No Prix numElève
10 200 3
21 150 2
Elève Chambre Num Nom Adresse Age No Prix numElève
2 Mirouan Berrechid 20 21 150 2
e
3 Mjahed Marakec 21 10 200 3
h
48
2ème exemple de jointure
Inscrit NumElève CodeUV Note Inscrit.NumElève=Elève.Num
1 Berrada Marakech 20 1 BD 20
2 Mirouane berechid 20 2 IO 17
2 Mirouane Berec hid 20 2 BD 10
3 Mjahed Marakech 21 3 IO 18
49
Algèbre relationnelle
Division
But
Répondre aux requêtes de type « tous les »
Un tuple t est dans T si et seulement si pour tout tuple s de S, le tuple <t,s> est
dans R
Contraintes
Binaire
Schéma du résultat:
R(a1, a2, ...., an, b1, b2, ..., bp), S(b1, b2, ..., bp)
T R S, T(a1, a2, ...., an)
Notation
Notation textuelle: T = R S R S
Notation graphique:
Dérivation
Projection + Produit cartésien + Différence.
R S T1 - T2 avec:
T
T1 schéma(R) - schéma(S) (R)
T2 schéma(R) - schéma(S) (( schéma(R) - schéma(S) (R) X S) - R)
50
Algèbre relationnelle
Division (2)
Exemple
Quels sont les élèves inscrits à toutes les UVs ?
2 BD 10
1 BD 20
2 IO 17
3 IO 18
51
Algèbre relationnelle
Division (3)
Exemple RNumElève,CodeUV(Inscrit)
Construire R : ensemble de R NumElève CodeUV
toutes les informations dont 2 BD
on a besoin = attributs
1 BD
NumElève et CodeUV de
Inscrit (R) 2 IO
Construire S : ensemble 3 IO
correspondant à "tous les"
(UV) = codeUV (S) SCode(UV)
Résultat R S S CodeUV
Vérification : BD
Résultat X S R
IO
Résultat
Resu NumElève
2 52
Bilan : sémantique et notations des Algèbre relationnelle
opérateurs
Opérateur Sémantique Notation Notation
textuelle graphique
Union condition
Fusionner les extensions de 2 relations T R S
Intersection Obtenir l’ensemble des tuples communs à deux T R S
relations
Différence Tuples d’une relation qui ne figurent pas dans une T R -S
autre -
Produit Concaténer chaque tuple de R avec chaque tuple de T R XS
cartésien S X
Jointure Etablir le lien sémantique entre les relations T R S condition
condition
53
Algèbre relationnelle
54
Exemples de requêtes en algèbre Exemples
relationnelle
Base de données exemple : les jus
Jus(num, nom, annee, degre) V
Recoltes(njus, nprod, quantite) R
Producteurs(num, nom, prenom, region) P
Buveurs(num, nom, prenom, ville) B
Commandes(ncde, date, nb, njus, qte) C
Livraisons(ncde, no_ordre, qteLivree) L
55
Modèle E/A de la BD des jus Exemples
sjus
Buveurs
num
num
cru
nom
degré
prenom
annee
ville
0,n
0,n
0,n
concerne
recoltes Passer
quantite
56
Composition des opérateurs Exemples
Ecriture textuelle :
Temp annee=2010 (Jus)
Resultat num(Temp)
Jus
Resultat num( annee=2010 (Jus))
annee=2010
Arbre algébrique :
num
Résultat
57
Noms des producteurs de Citron Exemples
projection
nom=‘Citron.
Recoltes
RecMus Mus R num=njus
Mus.num=R.njus
Producteurs
projection
nprod=num
ProdMus RecMus P
Rec.nprod=P.num
nom
Resultat nom(ProdMus)
Résultat
58
Numéros des jus ne faisant l’objet d’aucune
Exemples
commande
NumJus num(Jus)
JusCdes njus(Commande)
Jus Commandes
Résultat
59
Optimisation Optimisation
60
Réponse 1 Optimisation
cru=‘Citron et
ville=‘Paris’ date < 01/01/2011
annee=2010
num=nb
nvin=num
nom, prenom
Résultat
61
Réponse 2 Optimisation
cru=‘Citron’ et
ville=‘Paris’ date < 01/01/2011
annee=2010
nvin=num
num=nb
nom, prenom
Résultat
62
Réponse 3 Optimisation
num=nb
njus=num
ville=‘Paris’ et
date < 01/01/2000 et
cru=‘Citron’ et
annee =2010
nom, prenom
Résultat
63
Réponse 4 Optimisation
cru=‘citron’ et
ville=‘Paris’ date < 01/01/2011
annee=2010
nom, prenom
Résultat
64