Académique Documents
Professionnel Documents
Culture Documents
IPEIN 2021/2022 2ème Année - Informatique - Chapitre 3 1/52 IPEIN 2021/2022 2ème Année - Informatique - Chapitre 3 2/52
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
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
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.
Ø 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
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 »
IPEIN 2021/2022 2ème Année - Informatique - Chapitre 3 21/52 IPEIN 2021/2022 2ème Année - Informatique - Chapitre 3 22/52
q Emprunt(#Matricule,#Cote,Date_Emprunt,Date_Remise)
8
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,
IPEIN 2021/2022 2ème Année - Informatique - Chapitre 3 25/52 IPEIN 2021/2022 2ème Année - Informatique - Chapitre 3 26/52
Ø 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.
IPEIN 2021/2022 2ème Année - Informatique - Chapitre 3 29/52 IPEIN 2021/2022 2ème Année - Informatique - Chapitre 3 30/52
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
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
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