Vous êtes sur la page 1sur 13

Plan

1. Limite des fichiers


2. Notions de bases de données
Module : Informatique
Classes: 2ème Années MP – PC –T 3. Systèmes de gestion de bases de données
4. Architecture des SGBD
Chapitre 3 - Introduction
- Architecture client-serveur
aux bases de données
- Architecture trois-tiers
Enseignant : Dr. Khemaies GHALI (ghali.khemaies@gmail.com)
5. Modèle de données
Page Facebook: https://www.facebook.com/groups/ipein.info/

Année universitaire 2021/2022

IPEIN 2021/2022 2ème Année - Informatique - Chapitre 3 1/52 IPEIN 2021/2022 2ème Année - Informatique - Chapitre 3 2/52

Limite des fichiers Notions de bases de données (1/3)


q L’utilisation des fichiers impose à l’utilisateur de connaître: Définition:
Ø le mode d’accès (séquentielle, indexée, …) , q Une base de données pour:
Ø la structure physique des enregistrements, Ø Collectionner de données structurées, persistantes, non
Ø et la localisation des fichiers qu’il utilise afin de pouvoir accéder redondantes,
aux informations dont il a besoin. Ø Stocker et servir un ou plusieurs domaines du monde réel.
q Pour des applications nouvelles, l’utilisateur devra obligatoirement Ø Classer des objets avec leurs caractéristiques.
écrire de nouveaux programmes
Ø Rechercher parmi ces objets selon des critères variés.
Ø et il pourra être amené à créer de nouveaux fichiers avec le
Ø Et cela avec efficacité: les quantités de données stockées
risque des données redondantes!
croissent énormément (plus de la moitie de tout ce qui a été écrit
Ø ainsi toute modification de la structure des enregistrements par l'humanité est stocké chez Google!).
entraîne la réécriture de tous les programmes qui manipulent
q La théorie: l'algèbre relationnelle.
ces fichiers!
q La pratique: Langage SQL (pour Structured Query Language).
Ø donc on peut avoir des redondances avec absence de
mécanisme de vérification. Exemple : Base de données d’une « bibliothèque » regroupe toutes les
données concernant: les ouvrages, les emprunteurs des livres,….

IPEIN 2021/2022 2ème Année - Informatique - Chapitre 3 3/52 IPEIN 2021/2022 2ème Année - Informatique - Chapitre 3 4/52
Notions de bases de données (2/3) Notions de bases de données (3/3)
Les Objectifs d’une BD:
q La confidentialité : Tous les utilisateurs d’une BD ne sont pas
q L’intégrité des données :Il s’agit d’assurer que les contraintes
autorisés à consulter ou modifier toutes les informations:
(règles) d’intégrités définies par le « LDD » (Langage de Définition de
Données) Ø Il faut établir des règles de droit d’accès et de modification de
Ø Soient respectées à chaque manipulation de la BD. données,
Ø Exemples : l’âge d’un élève de bac ne doit pas dépasser 25 ans,
vpar le biais des mots de passe et des privilèges d’accès.
ou une adresse e-mail doit contenir le caractère @ ….
q La gestion d’accès concurrents : Le SGBD (Système de Gestion de Ø Exemple : Seul le directeur peut changer l’affectation d’un
Base de Données) gère l’accès simultané des utilisateurs à la BD. élève d’une classe à une autre.
Ø Le SGBD doit offrir des mécanismes de gestion des conflits q La sécurité de fonctionnement : Récupération des données
d’accès. après panne en cas d’incident matériel ou logiciel.
Ø Exemple : Lors de la mise à jour des données concernant un
élève, le SGBD interdit la modification de ces données par un Ø Exemple : Sauvegarde de la BD une fois par semaine.
autres utilisateurs non autorisés.
IPEIN 2021/2022 2ème Année - Informatique - Chapitre 3 5/52 IPEIN 2021/2022 2ème Année - Informatique - Chapitre 3 6/52

Notion de SGBD (1/3) Notion de SGBD (2/3)


1. Introduction: 3. Fonctionnalités d’un SGBD:

q Une base de données permet de stocker un volume important q Partage des données (accès concurrent)
de données de façon fiable sécurisée et simple. q Manipulation des données
q Pour se faire il faut utiliser un logiciel capable de bien gérer q Contrôle de la redondance
cette base de données. q Optimisation des accès aux données (requêtes SQL)
Ø Ce logiciel s'appelle : Système de Gestion de Base de q Confidentialité des données (droits & modes d’accès)
Données « SGBD ».
q Intégrité des données (cohérence)
Ø Ou en anglais DBMS (DataBase Management System).
4. Structure d’un SGBD :
2. Définition d’un SGBD :
q Un SGBD est constitué de 2 composantes principales :
q Un SGBD est un logiciel qui permet de:
Ø Le moteur : assure les fonctions principales d’un SGBD,
Ø Créer, modifier, interroger et administrer une base de
Ø L’interface : joue le rôle d’intermédiaire entre l’utilisateur et le
données.
moteur afin de faciliter la manipulation des données.
IPEIN 2021/2022 2ème Année - Informatique - Chapitre 3 7/52 IPEIN 2021/2022 2ème Année - Informatique - Chapitre 3 8/52
Notion de SGBD (3/3) Les SGBD relationnels
5. Les principaux « SGBD » :
q SGBD relationnels : fondés sur le modèle relationnel
Nom Commentaires
q Modèle relationnel : décrit une BD relationnelle (BDR)
Oracle Il s’agit d’un environnement de développement complet comportant
notamment un noyau de SGBD relationnel puissant. q BDR : ensemble de relations (tables)
DB2 C’est un SGBD relationnel développé par IBM.
q Relation : ensemble d’attributs (colonnes)
MySQL C’est un SGBD relationnel appartenant à la famille des logiciels
libres. q Ligne : enregistrement (occurrence) de données
PostgreSQL C’est un SGBD relationnel appartenant à la famille des logiciels libre, q Une relation est identifiée par une clé primaire
offrant plus de fonctionnalités que MySQL.
Access Commercialement présenté comme SGBD relationnel. Il appartient à q Basé sur l’algèbre relationnelle
la suite MS Office.
SQL Server C’est un SGDB relationnel développé par Microsoft pour succéder à
Access pour de grosses applications.
SQLite Est une bibliothèque écrite en C qui propose un moteur de base de
données relationnelle accessible par le langage SQL. C’est un logiciel
libre.

IPEIN 2021/2022 2ème Année - Informatique - Chapitre 3 9/52 IPEIN 2021/2022 2ème Année - Informatique - Chapitre 3 10/52

Architecture des SGBD (1/2) Architecture des SGBD (2/2)


1. Architecture Client-Serveur :
2. Architecture trois-tiers:
q Une architecture client-serveur permet le partage des données
enregistrées sur le serveur entre N clients, q Une architecture client-serveur est rarement mise en œuvre en
Ø elle assure la communication entre les clients à l'aide des requêtes pratique telle quelle!
avec réponses à travers l'interfaces graphiques, q Pour l’utilisateur, le tiers applicatif, joue le rôle d’interface
Ø qui se trouve sur chaque station de travail personnelle en utilisant Ø Et pour la base, il joue le rôle d’un client .
des protocoles standardisées.
q Un client peut créer une relation pendant qu’un autre modifie des
valeurs.

IPEIN 2021/2022 2ème Année - Informatique - Chapitre 3 11/52 IPEIN 2021/2022 2ème Année - Informatique - Chapitre 3 12/52
Structure d’une BD Relationnelle (1/9) Structure d’une BD Relationnelle (2/9)
1. Introduction: 2. Notion de table:

q Selon le modèle relationnel, une BD est composée q Une table est une collection de données relatives à un même
essentiellement de : sujet (ou entité) du monde réel.

Ø Tables (ou relation) q Exemple:

Ø Colonnes (ou attributs) Propriétés, colonnes, attributs, champs


Ø Lignes (ou enregistrements)
Ø Clé primaire Num_elev Nom Prénom Date_N ……
Lignes,
Ø Clé étrangère
0001 Abidi Ahmed 24/10/1998 …… enregistre-
Ø Contraintes d’intégrités ments,
0002 Cherni Ahlem 10/08/1998 ……
N-uplets,
…… …… …… …… …… tuples

Structure d’une table (élève)


IPEIN 2021/2022 2ème Année - Informatique - Chapitre 3 13/52 IPEIN 2021/2022 2ème Année - Informatique - Chapitre 3 14/52

Structure d’une BD Relationnelle (3/9) Structure d’une BD Relationnelle (4/9)


3. Notion de colonne: q D, l'ensemble des valeurs, et une application domaine D : A -> P(D).
q Définition : Ø Pour un attribut A ϵ A, D(A) est le domaine de A.
Ø Dans une table une colonne correspond à une propriété
Ø Exp: D(numero) = int, D(titre) = string,
élémentaire de l’objet décrit par cette table (ou relation R).
D(auteur) = string, D(annee) = int.
Ø Un autre terme est également utilisé pour désigner une colonne
est celui d’attributs ou de champ. q Exemple:
Ø Soit « A », l’ensemble des Attributs (ou des champs) Nom de la Type de Valeur Valeur
Description Taille Obligatoire
q Description d’une colonne : Une colonne est décrite par : colonne données par défaut autorisée

Ø Un nom, Numéro de
Num_elev Numérique 4 Oui >0
l’élève
Ø Un Type (numérique, chaîne de caractères, date, booléen, …), Nom de Chaine de
Nom 20 Oui
Ø Taille, famille caractères
Prénom de Chaine de
Ø Obligatoire ou non, Prénom 20 Oui
l’élève caractères
Ø Valeur par défaut, Date de
Date_N Date Oui
Ø Règle pour les valeurs autorisées. Naissance

IPEIN 2021/2022 2ème Année - Informatique - Chapitre 3 15/52 IPEIN 2021/2022 2ème Année - Informatique - Chapitre 3 16/52
Structure d’une BD Relationnelle (5/9) Structure d’une BD Relationnelle (6/9)
4. Notion de ligne:
Schéma:
q Définition : Une ligne correspond à une occurrence du sujet
q Un schéma relationnel S est donné par une famille finie d'attributs:
représenté par la table (enregistrement).
Ø S = (A1; . . . ;An) ϵ An, avec i ≠ j => Ai ≠ Aj ,
q Exemple : 0001, Abidi, Ahmed, 24/10/1998.
Ø et « D » l'application domaine associée.
q On le note aussi S = ((A1;D(A1)); . . . ; (An;D(An))
q Une relation R de schéma S est:
q Exemple:
Ø R ! D(A1)x . . . D(An), avec R finie (relation
Bibliotheque =
d’inclusion)
((numero,int),(titre,string),(auteur,string),
Ø Notée RS ou R(S), appelée aussi table.
(annee,int))
Ø Les éléments de « R » sont appelés enregistrements de la
table R.

IPEIN 2021/2022 2ème Année - Informatique - Chapitre 3 17/52 IPEIN 2021/2022 2ème Année - Informatique - Chapitre 3 18/52

Structure d’une BD Relationnelle (7/9) Structure d’une BD Relationnelle (8/9)


5. Notion de clé primaire: 6. Liens entre tables (relations entre les tables):
q Définition : La clé primaire d’une table est une colonne ou un
groupe de colonnes permettant d’identifier de façon unique chaque q Définition : Un lien entre deux tables A et B est représenté par :
ligne de la table.
Ø l’ajout dans la table B d’une nouvelle colonne correspondant à la
q Remarques :
clé primaire de la table A.
Ø Les SGBD n’acceptent en aucun cas les doublons et les valeurs
nuls dans les clés primaires d’une table. Ø cette nouvelle colonne est appelée clé étrangère dans la table B.
Ø Chaque table comporte une seule clé primaire.
vDans certains cas dans une table, on peut trouver deux ou
plusieurs colonnes qui peuvent jouer le rôle de la clé
primaire.
Ø Pour distinguer une colonne représentant une clé primaire on la
souligne ou on la met en gras.

IPEIN 2021/2022 2ème Année - Informatique - Chapitre 3 19/52 IPEIN 2021/2022 2ème Année - Informatique - Chapitre 3 20/52
Structure d’une BD Relationnelle (9/9) Types des relations entre tables (1/2)
Il existe 3 types de relations :
q Exemple:
q Relation un à un « 1:1 »:
Table Mère « A » Ø Par exemple, une classe ne possède qu’un seul responsable de
Champ 0 classe,
« Clé Champ 1 Champ 2 Champ 3 Ø et vice versa un responsable de la classe n’est à la tête que
primaire »
d’une seule classe.
q Relation un à plusieurs « 1:N » :
Ø Par exemple, un enseignant enseigne une seule matière,
Ø alors qu’une matière est enseignée par plusieurs enseignants.
Table Fille « B »
Matière Enseignant
Champ 1 1
Champ 0 « Clé Champ 2

8
étrangère »

Table Mère Table Fille

IPEIN 2021/2022 2ème Année - Informatique - Chapitre 3 21/52 IPEIN 2021/2022 2ème Année - Informatique - Chapitre 3 22/52

Types des relations entre tables (2/2) Notion de Clé étrangère


q Relation plusieurs à plusieurs « M:N »:
Définition :
Ø une matière est étudiée par un ou plusieurs élèves
q C’est une clé primaire qui migre de la table mère vers la table fille.
Ø un élève peut étudier une ou plusieurs matières
Ø Pour la distinguer on la précède par "#".
Matière Elève
Exemple:
8

q Emprunt(#Matricule,#Cote,Date_Emprunt,Date_Remise)
8

Ø Cela donne naissance à une troisième table nommée


ASSOCIATION contenant les clés de deux tables qui seront
dans cette table en même temps,
v la clé primaire et les clés étrangères référençant les tables
d’origines.

IPEIN 2021/2022 2ème Année - Informatique - Chapitre 3 23/52 IPEIN 2021/2022 2ème Année - Informatique - Chapitre 3 24/52
Contraintes d’intégrités (1/2) Contraintes d’intégrités (2/2)
a- Définition : Une contrainte d’intégrité est une règle appliquée à une
q Les contraintes d’intégrité référentielles : Elles permettent de
colonne ou à une table et qui doit être toujours vérifiée.
s’assurer que les valeurs prises par la clé étrangère d’une table:
b- Principaux types de contraintes d’intégrité :
Ø Correspondent aux valeurs prises par la clé primaire de
q Les contraintes de domaine : Ce sont les contraintes appliquées à l’autre.
des colonnes :
Ø Exemple : il ne faut pas trouver dans la table "Etudier" un
Ø Règles de validité des valeurs qui peuvent être prises par cette Numéro d’élève qui n’existe pas dans la table "Elève"
colonne,

Ø Exemple : La note doit être comprise entre 0 et 20.

q Les contraintes d’intégrité de tables : Permettent d’assurer que


chaque table à une clé primaire.

IPEIN 2021/2022 2ème Année - Informatique - Chapitre 3 25/52 IPEIN 2021/2022 2ème Année - Informatique - Chapitre 3 26/52

Recherche des données (1/2) Recherche des données (2/2)


q Une fois les données représentées sous forme relationnelle (Une q Pour répondre à cette requête de recherche il faut :
table ou une relation), Ø sélectionner dans la relation « eleve » les enregistrements dont
Ø Il faut pouvoir les exploiter pour y rechercher des informations l’attribut prénom correspond à “Mohamed” ou à “Ali” ;
précises. Ø regrouper ces deux ensembles d’enregistrements;
Ø Pour cela, on doit tout d’abord être capable d’exprimer ces Ø extraire de chacune des enregistrements, l’attribut « nom ».
recherches sous une forme précise. q On pourrait donc décomposer cette recherche à l’aide de trois
opérations génériques agissant sur des relations :
Exemple: On considère une relation « eleve » et l’expression en
1. une sélection permettant d’extraire une sous-relation dont les
langage de requêtes SQL suivante : valeurs (enregistrements) vérifient un critère donné ;
SELECT nom FROM eleve WHERE prenom = ‘Mohamed' OR 2. une union pour regrouper les valeurs de deux relations, sous
prenom = ‘Ali'; réserve que les deux relations aient le même schéma ;
3. une projection pour ne conserver d’une relation que la valeur
q Elle correspond à une description précise de la recherche : obtenir de certains attributs.
les noms de famille de tous les élèves se prénommant « Mohamed »
q On appelle de telles opérations des opérateurs relationnels.
ou « Ali ».
IPEIN 2021/2022 2ème Année - Informatique - Chapitre 3 27/52 IPEIN 2021/2022 2ème Année - Informatique - Chapitre 3 28/52
Algèbre relationnelle (1/10) Algèbre relationnelle (2/10)
q On considère deux relations « livre1 » et « livre2 » sur lesquelles on
peut appliquer les opérateurs de l’algèbre relationnelle, 1. Opérations unaires:

Ø pour définir une nouvelle relation sans changer les relations Ces opérations travaillent sur une seule relation.
originales. A- Projection: Soit R une relation.

Livre1 q On appelle projection de R selon le ou les attributs X notée πX(R):


Cote Titre Auteur Tome Ø une opération travaillant sur la relation R,
236 Madame Bovary Gustave Flaubert 1
134 Le comte de Monte-Cristo Alexandre Dumas 1 Ø et définissant une relation restreinte à un sous-ensemble des
135 Le comte de Monte-Cristo Alexandre Dumas 2 attributs de « R »
Ø en extrayant les valeurs des attributs spécifiés dans « X » et en
Livre2
supprimant les doublons.
Cote Titre Auteur Tome
236 Madame Bovary Gustave Flaubert 1 q Le schéma de πX(R) est donc X.
130 Le père Goriot Honoré de Balzac 1 Ø πX(R) = {e(X) | eϵR}, e: enregistrement

IPEIN 2021/2022 2ème Année - Informatique - Chapitre 3 29/52 IPEIN 2021/2022 2ème Année - Informatique - Chapitre 3 30/52

Algèbre relationnelle (3/10) Algèbre relationnelle (4/10)


On considère par exemple la relation : Remarque:
élève q Pour tout ensemble fini d'attributs X et toute table R:
Nom Prénom Classe Ø Card πX(R) ≤ Card R,
Nabli Ahmed SM1 Avec “Card” (Cardinal) : c’est le nbr. des lignes de R (ou les
Nabli Imed SM1 ÕClasse(élève) enregistrements)
Jaafouri Lamiya SP2 Définition de la clé primaire:
SM1
Belhassen Ahmed SP1 q Pour une table R, on appelle clé tout ensemble fini d'attributs X tel
SP2
SP1 que πX est injective (Annexe 1).
Sa projection sur les attributs (Nom, Classe) Ø On appelle clé primaire tout attribut « A » tel que A est injective.
La projection
ÕNom,Classe(élève) Classe: résultat Exemple: pour une relation R1, soit {numéro, auteur} est une clé,
Nom Classe après élimination Ø auteur n'est pas une clé primaire,
des doublons. Ø numéro est une clé primaire.
Nabli SM1
Jaafouri SP2 Une clé primaire permet d'identifier les enregistrements par
Belhassen SP1 un champ, de manière unique.
IPEIN 2021/2022 2ème Année - Informatique - Chapitre 3 31/52 IPEIN 2021/2022 2ème Année - Informatique - Chapitre 3 32/52
Algèbre relationnelle (5/10) Algèbre relationnelle (6/10)
B- Sélection (ou restriction): q Exercice: Soit la relation suivante:
q La Sélection notée σ(E)(R) génère une relation regroupant Stock
exclusivement toutes les occurrences de la relation R: Caisse Fruits Pommes Bananes
Ø qui satisfont l’expression logique « E ». 1 10 3 7
2 7 3 3
Ø « E » peut contenir: =, ≠,≥,≤ ,<,>,˅(ou),˄(et),⌐(non)
3 8 7 1
q Ainsi, si on considère la relation livre1,
Ø pour sélectionner tous les ouvrages écrits par Alexandre q On peut vérifier l’intégrité de la relation:
Dumas, on pourra effectuer la sélection : Ø c’est-à-dire que le nombre de fruits correspond bien à la
Ø σ(Auteur=“Alexandre Dumas”)(livre1) somme des pommes et des bananes,
Ø grâce à l’opération suivante, qui indique les caisses pour
σ(Auteur =“Alexandre Dumas”)(Livre1) lesquelles le compte est erroné :
Cote Titre Auteur Tome σ(Fruits≠Pommes+Bananes)(stock)
134 Le comte de Monte-Cristo Alexandre Dumas 1 σ(Fruits≠Pommes+Bananes)(stock)
135 Le comte de Monte-Cristo Alexandre Dumas 2 Caisse fruits Pommes bananes
2 7 3 3
IPEIN 2021/2022 2ème Année - Informatique - Chapitre 3 33/52 IPEIN 2021/2022 2ème Année - Informatique - Chapitre 3 34/52

Algèbre relationnelle (7/10) Algèbre relationnelle (8/10)


2. Opérations binaires: Remarque: Le schéma de relation « S »:
Ces opérations travaillent sur deux relations R1 et R2. Ø Précise le nom de la relation ainsi que la liste des attributs avec
leurs domaines.
A- Union:
Ø Exemple : Livre1(Cote : Entier, Titre : Chaîne, Auteur : Chaîne,
q L’union de deux relations R1 et R2 de même schéma S est
Tome : Entier)
l’ensemble des valeurs appartenant à R1 ou à R2 sans doublons.
B- Intersection:
Ø On la note: R1 U R2 de schéma S
q L’intersection de deux relations R1 et R2 de même schéma S est
q Voici le résultat de l’union des deux relations livre1 et livre2 :
l’ensemble des valeurs appartenant à R1 et à R2.
Ø On la note: R1 ∩ R2 de schéma S
Livre1 U Livre2
Cote Titre Auteur Tome q Voici le résultat de l’intersection des deux relations livre1 et livre2 :
236 Madame Bovary Gustave Flaubert 1
134 Le comte de Monte-Cristo Alexandre Dumas 1 Livre1 ∩ Livre2
135 Le comte de Monte-Cristo Alexandre Dumas 2 Cote Titre Auteur Tome
130 Le pèreGoriot Honoré de Balzac 1 236 Madame Bovary Gustave Flaubert 1

IPEIN 2021/2022 2ème Année - Informatique - Chapitre 3 35/52 IPEIN 2021/2022 2ème Année - Informatique - Chapitre 3 36/52
Algèbre relationnelle (9/10) Algèbre relationnelle (10/10)
D- Produit cartésien:
C- Différence: q Mathématiquement, le produit cartésien de deux relations R1
q La différence entre deux relations R1(S) et R2(S) de même et R2 ayant respectivement « n1 » et « n2 » lignes est une relation R3
schéma S est l’ensemble des valeurs appartenant à R1 mais composée de (n1 x n2) lignes.
pas à R2.
Ø Les lignes de R3 sont obtenues en faisant correspondre à
Ø On la note: R1 − R2 de schéma S chaque ligne de R1 toutes les lignes de R2.
Ø Ou: R1 \ R2 de schéma S Syntaxe : R3=R1xR2 ou R3=PRODUIT(R1,R2)
q Voici le résultat de la différence entre les deux relations livre1 et Exemple: R1 x R2
livre2 : A B X Y Z
Livre1 - Livre2 R2 a1 b1 x1 y1 z1
R1
X Y Z a1 b1 x2 y2 z2
Cote Titre Auteur Tome A B
x x1 y1 z1 = a1 b1 x3 y3 z3
134 Le comte de Monte-Cristo Alexandre Dumas 1 a1 b1
135 Le comte de Monte-Cristo Alexandre Dumas 2 a2 b2 x2 y2 z2 a2 b2 x1 y1 z1
x3 y3 z3 a2 b2 x2 y2 z2
IPEIN 2021/2022 2ème Année - Informatique - Chapitre 3 37/52 IPEIN 2021/2022 2ème Année - Informatique - Chapitrea2
3 b2 x3 y3 z3 38/52

Renommage (1/2) Renommage (2/2)


q Il est possible, souvent pour lever une ambiguïté, de renommer un q Exemple:
attribut d’une relation à l’aide d’un opérateur dit de renommage. Soit la relation « élève » suivante:
q Soit S = (A1,···,An) un schéma, i"[1,n] et B un attribut tel
élève
que dom(B)=dom(Ai). On note :
Nom Prénom Classe Note
ρAi <- B(S) = (A1,···,Ai−1,B,Ai+1,···,An) Nabli Ali 1 12.5
le schéma déduit de S en renommant Ai en B. Tounsi Salah 2 14.6
q Par extension, on note : On renommant, respectivement, les attributs « Nom » et « Prénom »
ρA1,…,An<-B1,…,Bn(S) = ρAn<-Bn(ρAn−1<-Bn−1(…ρA1<-B1(S)…)) en « LastName » et « FirstName ». D’où la nouvelle relation
q Aussi, on peut considérer l’opération de renommage comme étant suivante:
ρNom,Prénom<-LastName,FirstName (élève)
définie directement sur les relations.
LastName FirstName Classe Note
ρA1,…,An<-B1,…,Bn(R(S)) = R(ρA1,…,An<-B1,…,Bn(S)) Nabli Ali 1 12.5
Tounsi Salah 2 14.6
IPEIN 2021/2022 2ème Année - Informatique - Chapitre 3 39/52 IPEIN 2021/2022 2ème Année - Informatique - Chapitre 3 40/52
Exercice
Exercice – Corrigé (1/2)
q On considère les relations : élève
Nom Prénom Classe Note
classe
Nabli Ali 1 12.5
id Filière Numéro Prof. 1. Il suffit d’effectuer une projection
Tounsi Salah 2 14.6 2. Il suffit de sélectionner les classes de
1 ST 1 Ghali sur l’attribut correspondant. SM:
Abidi Olfa 4 10
2 ST 2 Said
Sassi Ons 2 8.5 Ø Les doublons sont fusionnés : σ(Filière=SM)(classe)
3 SM 1 Bechikh
Saidi Asma 1 15 πFilière(classe)
4 SM 2 Garoui σ(Filière=SM)(classe)
Béji Sahbi 3 9.5
πFilière(classe) id Filière Numéro Prof.
q Traduire les requêtes suivantes Mrad Walid 1 15.5
ST 3 SM 1 Bechikh
en opérations de l’algèbre relationnelle: Sahli Amine 3 12
SM 4 SM 2 Garoui
1. Obtenir la liste des filières proposées dans cet établissement.
2. Obtenir toutes les informations concernant les classes de SM.
3. Obtenir les prénoms des élèves des classes 1 et 3.
4. Obtenir les noms et les notes des élèves ayant eu une note inférieure à 10.
IPEIN 2021/2022 2ème Année - Informatique - Chapitre 3 41/52 IPEIN 2021/2022 2ème Année - Informatique - Chapitre 3 42/52

Exercice – Corrigé (2/2) Opérateurs Complexes: Jointure (1/3)


q La jointure notée R1 #E R2 est une opération portant :
3. On sélectionne les élèves selon 4. On peut commencer par ne garder Ø sur deux relations R1 et R2 pour construire une troisième relation
chacune des classes, puis on que les noms et les notes, puis regroupant exclusivement:
ne garde que les prénoms : sélectionner selon cette note<10 : vtoutes les occurrences des relations R1 et R2 qui satisfont
l’expression logique « E »
π Prénom(σClasse=1 ou Classe=3(élève)) σNote<10(π Nom, Note(élève)) Ø « E » contient les critères de sélection =,≠,<,>…
Ou l’inverse:
q Définition: Il s’agit de fusionner deux tables avec des valeurs
π Prénom(σClasse=1(élève) U π Nom, Note(σNote<10(élève))
d'attributs communes:
σClasse=3(élève)) Ø Soit S, S’ schémas disjoints, A ϵ S; A’ ϵ S’ tels que D(A) = D(A’),
Ali π Nom, Note(σNote<10(élève)) R(S) et R’(S’):
Asma Nom Note Ø on définit la jointure symétrique de R et R’ selon A et A’ par
Sahbi Sassi 8.5
R #A=A’ R’ = R[A=A’]R’
= {e ϵ R x R’ | e.A = e.A’}
Walid Béji 9.5
= σ(A=A’)(R x R’)
Amine

IPEIN 2021/2022 2ème Année - Informatique - Chapitre 3 43/52 IPEIN 2021/2022 2ème Année - Informatique - Chapitre 3 44/52
Opérateurs Complexes: Jointure (2/3)
Opérateurs Complexes: Jointure (3/3)
q Soit les deux relations « document» et « auteur » suivantes :
q La présence des deux attributs A et A′ est redondante après
document auteur
jointure. On peut éliminer cette redondance avec une projection :
Titre Nom-auteur Nom Prénom
TD Python HAMMAMI HAMMAMI Leila
GHALI Khemaies πTitre,Nom,Prénom (document [Nom-auteur = Nom] auteur)
TP Python SAID
SAID Anis Titre Nom Prénom
TD Python HAMMAMI Leila
q On va réaliser la jointure symétrique selon (Nom-auteur, Nom), ce TP Python SAID Anis
qui donnera une nouvelle relation dont le schéma sera (Titre, Nom-
auteur, Nom, Prénom). q Cas général: On peut étendre la notion de jointure au cas de
document # (Nom-auteur = Nom)auteur recollement de plusieurs couples d’attributs.
Titre Nom-auteur Nom Prénom On pourra noter par exemple :
TD Python HAMMAMI HAMMAMI Leila
livre [Nom-auteur = Nom, Prénom-auteur = Prénom] auteur
TP Python SAID SAID Anis
q Chaque « document » sera alors associé à l’intégralité des
informations stockées dans la relation « auteur ».
IPEIN 2021/2022 2ème Année - Informatique - Chapitre 3 45/52 IPEIN 2021/2022 2ème Année - Informatique - Chapitre 3 46/52

Opérateurs Complexes: Agrégation (1/5) Opérateurs Complexes: Agrégation (2/5)


q Soit la relation suivante :
Classeγmoyenne(Note)(relevé)
Relevé
Classe Moyenne(Note)
Classe Elève Note
ST 13.50
ST Mohamed 13
SM 15.00
SM Salah 15
ST Ahmed 14 Définition:
+¥ n
SM Sami 16 q Une fonction f : Un =1 E ® E est une fonction d'agrégation
SM Adel 14 lorsque f (x1, . . ., xn) ne dépend pas de l'ordre des x1, . . ., xn.
q L’agrégation va servir à regrouper les élèves d’une même classe (ce q Soient:
groupe de valeurs est appelé un agrégat): Ø R = {e1, . . ., en} une relation de schéma S, (ei : enregistrement i)
Ø Et à effectuer une opération sur chacun des agrégats. Ø et A un attribut de S,
Ø Ici par exemple, on pourrait calculer la moyenne sur chaque on note f (R.A) = f (e1.A, . . . , en.A)
classe, ce qui produit la relation suivante :
IPEIN 2021/2022 2ème Année - Informatique - Chapitre 3 47/52 IPEIN 2021/2022 2ème Année - Informatique - Chapitre 3 48/52
Opérateurs Complexes: Agrégation (3/5) Opérateurs Complexes: Agrégation (4/5)
Cas général:
Exemples des fonctions d’agrégation:
q L'idée est d'effectuer des agrégations partielles sur des sous-
1. nombre d‘éléments: f (x1, . . . , xn) = n
ensembles d'enregistrements ayant certains attributs égaux.
2. somme: f (x1, . . . , xn) = x1 + . . . + xn q Soient A1, . . . , An et B1, . . . , Bm des attributs de S, f1, . . . , fm des
3. moyenne: f (x1, . . . , xn) = (x1 + . . . + xn)/n fonctions d'agrégation, et R une relation de schéma S, on note:

4. maximum: f (x1, . . . , xn) = max(x1, . . . , xn) g ( R)


A1,..., An f 1( B1 ),..., f m ( Bm ) la relation d’agrégation obtenue.
5. minimum: f (x1, . . . , xn) = min(x1, . . . , xn)
Ø en groupant les enregistrements de R dont les attributs
A1, . . . , An sont identiques en groupes G1, . . ., Gp,
Ø en ajoutant de nouveaux attributs f1(B1), . . . , fm(Bm) aux
enregistrement de P A1, . . . , An (R)
Ø dont les valeurs sont alors les fi (Gj.Bi )).
IPEIN 2021/2022 2ème Année - Informatique - Chapitre 3 49/52 IPEIN 2021/2022 2ème Année - Informatique - Chapitre 3 50/52

Opérateurs Complexes: Agrégation (5/5) Annexe 1: Application « Injective »


Exemple:
q Une application « f » est dite injective ou est une injection si tout
élément de son ensemble d'arrivée a au plus un antécédent par
« f », ce qui revient à dire que deux éléments distincts de son
ensemble de départ ont deux images par f distinctes.

Définition formelle:
Une application f : X → Y est injective si pour
tout y " Y, il existe au plus un x " X tel
que f(x) = y, ce qui s'écrit :

IPEIN 2021/2022 2ème Année - Informatique - Chapitre 3 51/52 IPEIN 2021/2022 2ème Année - Informatique - Chapitre 3 52/52

Vous aimerez peut-être aussi