0% ont trouvé ce document utile (0 vote)
26 vues34 pages

Database: Pr. Bennani Anas

Le modèle relationnel, proposé par Edgar Frank Codd dans les années 1970, utilise des structures de données simples comme des tables pour assurer l'indépendance des données et des programmes. Il définit des concepts clés tels que les relations, les attributs, les clés candidates et primaires, ainsi que l'intégrité des données. Les opérations relationnelles, telles que la sélection et la projection, permettent de manipuler les données dans une base de données relationnelle.

Transféré par

ilyas.alaoui
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
26 vues34 pages

Database: Pr. Bennani Anas

Le modèle relationnel, proposé par Edgar Frank Codd dans les années 1970, utilise des structures de données simples comme des tables pour assurer l'indépendance des données et des programmes. Il définit des concepts clés tels que les relations, les attributs, les clés candidates et primaires, ainsi que l'intégrité des données. Les opérations relationnelles, telles que la sélection et la projection, permettent de manipuler les données dans une base de données relationnelle.

Transféré par

ilyas.alaoui
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Master.

IA pour l’Economie Numérique et la Gestion

DATABASE
PR. BENNANI ANAS

2024-2025
LE MODÈLE RELATIONNEL

❑Vers 1970, un chercheur d'IBM, Edgar Frank Codd a proposé le nouveau


modèle relationnel basé sur la théorie mathématique des relations,.
❑ Parmi ses objectifs principaux de ce modèle il y a:
❖ Utiliser des structures de données simples et issues de la vie
courante (tables);
❖ Assurer l'indépendance données/programmes;
❖ Proposer des langages de haut niveau utilisable par des non
informaticiens.
44
Pr. BENNANI A.
LE MODÈLE RELATIONNEL
❑ Exemple:

Etudiant ( NumEtudiant, Nom, Prénom, Age, Tél)

Nom de la relation Nom des attributs

Etudiant
NumEtudiant Nom Prénom Age Tél

❑Le degré est le nombre d’attributs dans une relation.

Le degré = 5
45
Pr. BENNANI A.
LE MODÈLE RELATIONNEL
❑ Exemple:

Schéma de la relation Etudiant


NumEtudiant Nom Prénom Age Tél
113 Akram Karim 39 0700000001
Tuple ou occurrence 259 Akram Karima 30 0700000002
364 Hajji Khalid 22 0700000006
672 Zinedine Moussa 20 NULL

❑Le schéma d’une relation est alors constitué par le nom de la relation et par la liste de ses
attributs.

46
Pr. BENNANI A.
LE MODÈLE RELATIONNEL
❑ Exemple:

Schéma de la relation Etudiant


NumEtudiant Nom Prénom Age Tél
113 Akram Karim 39 0700000001
Tuple ou occurrence 259 Akram Karima 30 0700000002
364 Hajji Khalid 22 0700000006
672 Zinedine Moussa 20 NULL
❑ Le domaine d'un attribut est un ensemble de valeurs possibles que cet attribut peut prendre dans une relation
donnée.
❑ En d'autres termes, il définit le type de données que peut contenir un attribut particulier.
❑ Si nous avons un attribut "Âge" dans une table, le domaine de cet attribut pourrait être l'ensemble des
entiers positifs compris entre 7 et 35.
❑ Le domaine spécifie les valeurs valides pour un attribut particulier et aide à garantir que seules les données
appropriées sont stockées dans la base de données relationnelle.
47
Pr. BENNANI A.
LE MODÈLE RELATIONNEL
❑ Exemple:

Schéma de la relation Etudiant


NumEtudiant Nom Prénom Age Tél
113 Akram Karim 39 0700000001
Tuple ou occurrence 259 Akram Karima 30 0700000002
364 Hajji Khalid 22 0700000006
672 Zinedine Moussa 20 NULL

Une extension de la relation Etudiant

❑ Une extension de la relation est constituée de schéma de relation et de l’ensemble de ses tuples.

48
Pr. BENNANI A.
LE MODÈLE RELATIONNEL
❑ Identifiants: Clé candidate, clé primaire, clé étrangère

❑ Un ensemble, au sens mathématique, ne peut contenir des éléments en double.

❑ Par exemple, on ne peut pas considérer (x, x, y, z) comme ensemble.

❑ Une relation, étant par définition un ensemble au sens mathématique, ne peut contenir
de doublons.

❑ Donc les tuples d'une relation doivent différer par au moins un attribut (ou un ensemble
d'attributs).

49
Pr. BENNANI A.
LE MODÈLE RELATIONNEL
❑ Identifiants: Clé candidate, clé primaire, clé étrangère
Etudiant
NumEtudiant Nom Prénom Age Tél
113 Akram Karim 39 0700000001
259 Akram Karima 30 0700000002
364 Hajji Khalid 22 0700000006
672 Zinedine Moussa 20 NULL

❑ Dans l'exemple, les numéros des étudiants ne se répètent pas, donc on peut considérer l'attribut NumEtudiant

comme identifiant de la relation Etudiant.

❑ De même l'ensemble d'attributs (Nom, Prénom) peut être considéré comme identifiant de cette relation, car

dans notre cas, deux étudiants n'ont jamais les mêmes nom et prénom. 50
Pr. BENNANI A.
LE MODÈLE RELATIONNEL
❑ Identifiants: Clé candidate, clé primaire, clé étrangère
Etudiant
❑ Un ensemble minimal d'attributs qui peut
NumEtudiant Nom Prénom Age Tél
servir d'Identifiant d'une relation s'appelle clé 113 Akram Karim 39 0700000001
candidate. Dans notre cas, NumEtudiant est 259 Akram Karima 30 0700000002

364 Hajji Khalid 22 0700000006


une clé candidate, la même chose est vraie
672 Zinedine Moussa 20 NULL
pour (Nom, Prénom).

❑ Le concepteur de la base de données doit choisir une parmi les clés candidates et la désigner comme clé
primaire.
❑ Une clé primaire est donc une clé candidate renommée officiellement comme identifiant de la relation.
❑ Dans le schéma d'une relation, on souligne l'attribut (ou les attributs) retenu(s) comme clé primaire.
❑ Etudiant ( NumEtudiant, Nom, Prénom, Age, Tél) 51
Pr. BENNANI A.
LE MODÈLE RELATIONNEL
❑ Identifiants: Clé candidate, clé primaire, clé étrangère
❑ Quelques caractéristiques importantes des clés primaires :

❖ Unicité:
Chaque valeur de clé primaire doit être unique dans la table. Cela signifie qu'aucun
enregistrement ne peut avoir la même valeur pour la clé primaire.

❖ Non-nullité:
La clé primaire ne peut pas être nulle (NULL). Chaque enregistrement doit avoir une valeur
non nulle pour la clé primaire.

52
Pr. BENNANI A.
LE MODÈLE RELATIONNEL
❑ Identifiants: Clé candidate, clé primaire, clé étrangère
❑ Quelques caractéristiques importantes des clés primaires :
❖ Identifiant unique:
La clé primaire est utilisée pour identifier de manière unique chaque tuple dans la table. Elle
permet d'accéder rapidement et efficacement à des enregistrements spécifiques.
❖ Stabilité:
Idéalement, une fois qu'une clé primaire est attribuée à un tuple, elle ne devrait pas changer.
❖ Indexation automatique:
Dans de nombreux systèmes de gestion de bases de données, une clé primaire est automatiquement
indexée, ce qui permet d'accélérer les recherches.

53
Pr. BENNANI A.
LE MODÈLE RELATIONNEL
❑ Identifiants: Clé candidate, clé primaire, clé étrangère
❑ Quelques caractéristiques importantes des clés primaires :

❑ En résumé, la clé primaire joue un rôle essentiel dans la modélisation des données relationnelles, car elle
permet de garantir l'intégrité des données et de fournir un moyen efficace d'identifier chaque enregistrement
dans une table.

54
Pr. BENNANI A.
LE MODÈLE RELATIONNEL
❑Identifiants: Clé candidate, clé primaire, clé étrangère
Etudiant
Inscrit NumEtudiant Nom Prénom Age Tél
NumEtudiant CodeModule 113 Akram Karim 39 0700000001
113 BD 259 Akram Karima 30 0700000002
259 SI 364 Hajji Khalid 22 0700000006
672 Zinedine Moussa 20 NULL
364 BD
364 BI
Clé primaire

Module
CodeModule NomModule VolumeHoraire
Clé étrangère SI Système d’information 30
BD Base de données 40
BI Business Intelligence 45 55
Pr. BENNANI A.
LE MODÈLE RELATIONNEL
❑Intégrité d'entité, intégrité référentielle
❑ L'intégrité d'entité signifie que les valeurs de clés primaires doivent être uniques (sans
doublons) et n'acceptent pas la valeur NULL.

❑ L'intégrité référentielle signifie qu'à chaque fois qu'une relation fait référence à une
autre relation, une « contrainte de référence » existe.
❑ Par exemple, (1000, BD) ne peut pas être accepté comme tuple de la table Inscrit
ci-dessus, car aucun tuple de la table Etudiant n'a 1000 comme numéro.
❑ Autrement dit, puisque l'attribut NumEtudiant de la table Inscrit fait référence à
l'attribut NumEtudiant de la table Etudiant, le SGBD doit veiller de n'accepter dans la
table Inscrit que les tuples qui correspondent à des enregistrements réellement existants
dans la table Etudiant.
56
Pr. BENNANI A.
L ’A LG È B R E R E L AT I O N N E L L E
❑Introduction
❑ Pour répondre aux requêtes des utilisateurs, un SGBDR fait des opérations
relationnelles sur des relations pour obtenir en résultat d'autres relations.
❑ Nous allons voir les principales opérations relationnelles suivantes:

❖ La sélection.
❖ La projection
❖ L'intersection
❖ La différence
❖ La division,
❖ Les produits (produit cartésien, θ-jointure, jointure naturelle.).

57
Pr. BENNANI A.
L ’A LG È B R E R E L AT I O N N E L L E
❑Introduction
❑ Parmi les points forts des SGBD relationnels il y a le fait qu’ils offrent des langages de
manipulation de données assertionnels et non procéduraux, c'est à dire que l'utilisateur
se contente de demander au SGBD une requête sans se préoccuper de préciser comment
trouver le résultat.

❑ Autrement dit, l'utilisateur demande le « Quoi et c'est le SGBD qui se charge du «


Comment »

❑ Ceci est, en effet, possible grâce aux langages relationnels utilisés par ces SGBD Parmi
ces langages il y a les langages algébriques qui reposent sur les opérateurs de l’algèbre
relationnelle introduite par Codd.
58
Pr. BENNANI A.
L ’A LG È B R E R E L AT I O N N E L L E
❑Introduction

❑L'idée est de pouvoir répondre à toute requête par application d'un


ou plusieurs opérateurs relationnels à certaines relations pour
obtenir en résultat une autre relation qui répond à la requête

59
Pr. BENNANI A.
L ’A LG È B R E R E L AT I O N N E L L E
❑Introduction

❑ Opérateur binaires portant sur


❑ Les opérateurs algébriques sont deux relations. Parmi ceux-ci il
de deux types y a:
❑ Opérateurs unaires qui ❖ L’union;
portent sur une seule ❖ L’intersection;
relation Les plus importants ❖ La différence;
de cette catégorie: ❖ La division;
❖ La sélection; ❖ Les produits.
❖ La projection

60
Pr. BENNANI A.
L ’A LG È B R E R E L AT I O N N E L L E
❑La projection

❑ La projection d'une relation R (A1, A2,… An) sur les attributs Ai1, Ai2,… Aip est une relation
R' de schéma R' (Ail, Ai2, …Aip) et dont les tuples sont ceux de R après élimination des
valeurs des attributs qui n'appartiennent pas à R' et suppression des tuples en double.
❑ Dans ce cours nous utiliserons la notation: R’=Pr Ail, Ai2, …Aip (R).

❑ Donc la projection est une opération unaire qui consiste à supprimer des colonnes d’une
relation.

61
Pr. BENNANI A.
L ’A LG È B R E R E L AT I O N N E L L E
❑La projection
Etudiant Etudiant_2
NumEtudiant Nom Prénom Age Tél NumEtudiant Nom Prénom
113 Akram Karim 39 0700000001 113 Akram Karim
259 Akram Karima 30 0700000002 259 Akram Karima
364 Hajji Khalid 22 0700000006 364 Hajji Khalid
672 Zinedine Moussa 20 NULL 672 Zinedine Moussa

Etudiant_2= Pr NumEtudiant,Nom,Prénom (Etudiant)

62
Pr. BENNANI A.
L ’A LG È B R E R E L AT I O N N E L L E
❑La projection
Etudiant_3
Etudiant Nom

NumEtudiant Nom Prénom Age Tél Akram

113 Akram Karim 39 0700000001 Hajji


259 Akram Karima 30 0700000002 Zinedine
364 Hajji Khalid 22 0700000006
672 Zinedine Moussa 20 NULL

Etudiant_3= Pr Nom (Etudiant)

Après suppression d'une partie des attributs du schéma, la relation peut comporter des
doublons. Étant donné que l'on ne pourrait plus identifier ces doublons les uns par rapport
aux autres, la seule solution sensée est donc de considérer que deux doublons sont
équivalents, et donc de n'en garder qu'un seul dans la relation résultante.
63
Pr. BENNANI A.
L ’A LG È B R E R E L AT I O N N E L L E
❑La sélection (Restriction)
❑ La restriction d’une relation R par une condition C est une relation R’ dont les tuples sont
ceux de R qui vérifie la condition C.

❑ On note: R’= Restriction C (R)

❑ Autrement dit: La sélection est une opération unaire qui consiste à supprimer d’une
relation R les tuples(Lignes) qui ne satisfont pas à une condition donnée C.

64
Pr. BENNANI A.
L ’A LG È B R E R E L AT I O N N E L L E
❑La sélection (Restriction)

Etudiant_2 Etudiant_4
NumEtudiant Nom Prénom NumEtudiant Nom Prénom
113 Akram Karim 259 Akram Karima
259 Akram Karima
364 Hajji Khalid
672 Zinedine Moussa

❑ Etudiant 4= Restriction NumEtudiant = 259 (Etudiant_2)

65
Pr. BENNANI A.
L ’A LG È B R E R E L AT I O N N E L L E
❑Union
❑ C’est une opération binaire qui porte sur deux relations R1 et R2 qui ont obligatoirement
les mêmes attributs.
❑ Elle consiste à fusionner les deux relations en une seule relations R3.
❑ On note: R3=R1 U R2 Sportif
Nom Age
Footballeur Athlète
Zinedine 21
Nom Age Nom Age
Jalloul 22
Zinedine 21 Zinedine 21
Guerrouj 22
Jalloul 22 Guerrouj 22
Bidouane 18
Bidouane 18
Sportif= Footballeur U Athlète
Remarquez que Zinedine n’apparait qu’une seule fois dans la
relation résultante 66
Pr. BENNANI A.
L ’A LG È B R E R E L AT I O N N E L L E
❑Intersection
❑ C’est une opération binaire qui porte sur deux relations R1 et R2 qui ont obligatoirement
les mêmes attributs.
❑ Elle consiste à ne garder dans la relation résultante R3 que les tuples communs aux deux
relations.
Sportif_Plus= Footballeur Ո Athlète
❑ On note: R3=R1 Ո R2
Footballeur Athlète
Sportif_Plus
Nom Age Nom Age
Nom Age
Zinedine 21 Zinedine 21
Zinedine 21
Jalloul 22 Guerrouj 22
Bidouane 18

67
Pr. BENNANI A.
L ’A LG È B R E R E L AT I O N N E L L E
❑Différence
❑ C’est une opération binaire qui porte sur deux relations R1 et R2 qui ont obligatoirement
les mêmes attributs.
❑ La relation résultante R3 est constituée des tuples de R1 qui n’appartiennent pas à R2.
❑ On note: R3=R1 - R2
Footballeur_seulement= Footballeur - Athlète
Footballeur Athlète
Footballeur_seulement
Nom Age Nom Age
Zinedine 21 Zinedine 21 Nom Age

Jalloul 22 Guerrouj 22 Jalloul 22


Bidouane 18

68
Pr. BENNANI A.
L ’A LG È B R E R E L AT I O N N E L L E
❑Division
❑ C’est une opération « divise » une relation R1 par une relation R2 qui contient
exclusivement des attributs de R1.
❑ Il s’agit de déterminer les occurrences de la première relation qui sont associées à toutes
les occurrences de la seconde
❑ On note: R3=R1 / R2
R1 R2
R3
Nom Module Module
Nom
Zinedine BD BD
Zinedine
Jalloul SI BI
Zinedine BI SI
Guerrouj SI
Dans la relation R3, les attributs de R2 sont supprimés de
Zinedine SI
ceux de R1 (ici, l’attribut Module n’apparait pas dans R3) 69
Pr. BENNANI A.
L ’A LG È B R E R E L AT I O N N E L L E
❑Produit cartésien
❑ Le produit cartésien de deux relations R1 et R2 est une relation R3 qui possède tous les
attributs de R1 et R2 à la fois, et dont les tuples sont constitués par toutes les
combinaisons possibles.
❑ On note: R3=R1 * R2
R3
R2
R1 Ouvrage Qualité
Ouvrage Qualité livre Bon
livre Bon livre mauvais
magazine mauvais magazine Bon
magazine mauvais

70
Pr. BENNANI A.
L ’A LG È B R E R E L AT I O N N E L L E
❑θ-jointure
❑ La θ-jointure (Thêta-jointure) ou θ est l’un des opérateurs <,>,=,≠ est une opération qui
applique à deux relations R1 et R2 un produit cartésien suivi d’une sélection. On ne retient
que les occurrences qui vérifient une condition logique.
Employé Chef

Nom Salaire Num Salaire

Emp1 6000 Chef1 7000

Emp2 3000 Chef2 5000

Emp3 2000
❑ Supposons que nous voulons répondre à la requête:
« Trouver les employés qui gagnent plus qu’un chef
de service »
71
Pr. BENNANI A.
L ’A LG È B R E R E L AT I O N N E L L E
❑θ-jointure Relation_intermédiare
Employé Employé.Nom Employé.Salaire Chef.Nom Chef.Salaire
Nom Salaire Emp1 6000 Chef1 7000
Emp1 6000 Emp1 6000 Chef2 5000
Emp2 3000 Emp2 3000 Chef1 7000
Emp3 2000 Emp2 3000 Chef2 5000
Emp3 2000 Chef1 7000
Chef
Emp3 2000 Chef2 5000
Num Salaire
Chef1 7000 Résultat
Chef2 5000 Employé.Nom Employé.Salaire Chef.Nom Chef.Salaire
Emp1 6000 Chef2 5000

72
Pr. BENNANI A.
L ’A LG È B R E R E L AT I O N N E L L E
❑La jointure naturelle
❑ La jointure naturelle est un cas particulier de la θ jointure.
❑ C’est le cas où θ est l’égalité (=) et les deux attributs impliqués dans la jointure sont
égaux.
Employé Service

NumEmployé Nom NumService NumService NomService


25 Emp1 1 1 Informatique
83 Emp2 2 2 Comptabilité
17 Emp3 1 3 Vente
57 Emp4 4 4 Achat

Question: Donner les employés et leurs services


73
Pr. BENNANI A.
L ’A LG È B R E R E L AT I O N N E L L E
❑La jointure naturelle Question: Donner les employés et leurs services
Employé Service

NumEmployé Nom NumService NumService NomService


25 Emp1 1 1 Informatique
83 Emp2 2 2 Comptabilité
17 Emp3 1 3 Vente
57 Emp4 4 4 Achat

❑ Pour répondre à cette question, on fait alors une jointure naturelle sur l’attribut
NumService (le même dans les deux tables), l’opérateur de jointure étant l’égalité. On
obtient la relation suivante:

74
Pr. BENNANI A.
L ’A LG È B R E R E L AT I O N N E L L E
❑La jointure naturelle Question: Donner les employés et leurs services
Employé Service
NumEmployé Nom NumService NumService NomService
25 Emp1 1 1 Informatique
83 Emp2 2 2 Comptabilité
17 Emp3 1 3 Vente
57 Emp4 4 4 Achat

Etape 1
NumEmployé Nom NumService NomService
25 Emp1 1 Informatique
83 Emp2 2 Comptabilité
17 Emp3 1 Informatique
57 Emp4 4 Achat 75
Pr. BENNANI A.
L ’A LG È B R E R E L AT I O N N E L L E
❑La jointure naturelle Question: Donner les employés et leurs services
Service Résultat
NumService NomService Nom NomService
1 Informatique Emp1 Informatique
2 Comptabilité Emp2 Comptabilité
3 Vente Emp3 Informatique
4 Achat Emp4 Achat

❑ Remarquez que le service « vente » qui ne contient aucun employé actuellement n’est
pas présent dans le résultat de la jointure.
❑ de même, cette relation est le résultat d’un produit cartésien suivi d’une opération de
sélection.
76
Pr. BENNANI A.

Vous aimerez peut-être aussi