IPEI EL MANAR Partie II : Les Bases de Données
Chapitre III : Introduction aux bases de données
I- Introduction
Avant les bases de données les programmeurs d’application utilisaient le système de gestion de fichiers pour
gérer et exploiter les données.
L’utilisation des fichiers presente des risques liés au manque de sécurité et la multiplication des efforts
(programmes similaires écrits dans différents services pour des besoins proches) ce qui engendre :
- les redondances : fichiers contenant les mêmes données, mais utilisées par des personnes différentes,
- l’augmentation du risque d’incohérences : du fait des redondances et des MAJ non centralisées (ex:
adresse d’un fournisseur),
- la non intégrité des données : respect de contraintes qui peuvent être programmées (exp: contrôles sur
date de naissance, sur code postal, numéro de tél., ...),
- des problèmes liés à la sécurité : utilisateurs de différents niveaux d’expérience et avec différents droits
d’accès
- des problèmes liés au partage des données.
Un petit exemple
Fichier de gestion des emprunts d’une bibliothèque
On peut tout de suite relever différentes difficultés avec cette organisation :
- l'orthographe des différents noms de famille peut manquer de cohérence (Le Dray ou Ledray ?) ;
- même chose pour les titres des ouvrages : Mme ou Madame Bovary ?
- la recopie des numéros de téléphone est fastidieuse et comporte des risques d'erreur ;
- même l'entrée de la date peut poser problème (deuxième emprunt de Mme Bovary : 6 janvier 2011 ou
2010 ??).
Classe : 2ème Année MP, PC, PT Page 1
IPEI EL MANAR Partie II : Les Bases de Données
II- Base de Données (son abréviation est BD)
Une base de données est une entité dans laquelle il est possible de stocker des données de façon structurée et
avec le moins de redondance possible. Ces données doivent pouvoir être utilisées par des programmes, par
des utilisateurs différents.
Ainsi, la notion de base de données est généralement couplée à celle de réseau, afin de pouvoir mettre en
commun ces informations, d'où le nom de base. On parle généralement de système d'information pour désigner
toute la structure regroupant les moyens mis en place pour pouvoir partager des données.
III- Système de Gestion de Bases de Données
La gestion de la base de données se fait grâce à un système appelé SGBD (système de gestion de bases de
données). Le SGBD est un ensemble de services (applications logicielles) permettant de gérer les bases de
données, c'est-à-dire :
✓ permettre l'accès aux données de façon simple
✓ autoriser un accès aux informations à de multiples utilisateurs
✓ manipuler les données présentes dans la base de données (insertion, suppression, modification)
Un SGBD est un intermédiaire entre les utilisateurs et les fichiers physiques de la base
IV- Architecture Système de Gestion de Bases de Données
Une première architecture des SGBD est celle des systèmes client/serveur. La base de données est gérée sur
un serveur (SGBD + fichiers physiques de la BD). L’application tourne sur une autre machine, le client. De
plus en plus, cette architecture se complique avec l’introduction d’un troisième "tiers", une machine qui gère
l’interface, typiquement un navigateur Web sur une tablette ou un PC portable. On a alors l'architecture trois-
tiers.
Architecture client/serveur Architecture 3-tiers
Classe : 2ème Année MP, PC, PT Page 2
IPEI EL MANAR Partie II : Les Bases de Données
V- Le Modèle Relationnel
1- Présentation
Un système de gestion de bases de données doit proposer un langage facilement utilisable par des êtres
humains, destiné à exprimer des "requêtes". Ces exigences forment le point de départ du modèle relationnel
proposé par Ted Codd, un chercheur d’IBM, dans les années 1970.
Le modèle relationnel représente la base de données comme un ensemble de tables, sans préjuger de la façon
dont les informations sont stockées dans la machine. Les tables constituent donc la structure logique du modèle
relationnel. Au niveau physique, le système est libre d’utiliser n’importe quelle technique de stockage. Dès
lors qu’il est possible de relier ces structures à des tables au niveau logique. Les tables ne représentent donc
qu’une abstraction de l’enregistrement physique des données en mémoire.
De façon informelle, le modèle relationnel peut être défini de la manière suivante :
- les données sont organisées sous forme de tables à deux dimensions, encore appelées relations, dont les
lignes sont appelées n-uplet ou tuple en anglais ;
- les données sont manipulées par des opérateurs de l’algèbre relationnelle ;
- l’état cohérent de la base est défini par un ensemble de contraintes d’intégrité.
Sur l'exemple de la bibliothèque, le modèle relationnel conduit par exemple à créer 5 tables au lieu d'un
fichier :
La table des Livres comporte une colonne identifiant le livre, puis une autre identifiant l'auteur par son
numéro, et de même pour le genre. Les titres ne sont pas répétés, ce qui garantit la cohérence des données.
Même principe pour la table des Auteurs.
La table des Emprunts permet de trouver le numéro de l'emprunteur et celui de l'ouvrage emprunté. La date
de rendu est éventuellement NULL si l'ouvrage est encore dehors.
La table des emprunteurs : là encore, la non répétition des abonnés de la bibliothèque permet de garantir la
cohérence des données.
2- Eléments constitutifs du modèle
- Un attribut est un identifiant (un nom) décrivant une information stockée dans une base. Exemples
d’attribut : l’âge d’une personne, son nom, le numéro de sécurité sociale.
- Le domaine d’un attribut est l’ensemble, fini ou infini, de ses valeurs possibles.
Exemple : l’attribut numéro de sécurité sociale a pour domaine l’ensemble des combinaisons de quinze
chiffres. L’attribut nom a pour domaine l’ensemble des combinaisons de lettres.
Classe : 2ème Année MP, PC, PT Page 3
IPEI EL MANAR Partie II : Les Bases de Données
- Une relation est un sous-ensemble du produit cartésien de n domaines d’attributs (n>0). Une relation est
représentée sous la forme d’une table à deux dimensions dans laquelle les n attributs correspondent aux
titres des n colonnes.
- Un schéma de relation précise le nom de la relation ainsi que la liste des attributs avec leurs domaines.
Exemple de relation avec son schéma :
PERSONNE
N° Sécu Nom Prénom
354338532958234 Durand Caroline
354338532958235 Dupond Jacques
354338532958236 Dubois Lisa
354338532958237 Dubois Rose-Marie
On note le schéma cette relation de la façon suivante :
PERSONNE(N°Sécu : Entier, Nom : Chaîne, Prénom : Chaîne)
- Une occurrence, ou n-uplets ou tuples, est un élément de l’ensemble figuré par une relation. Autrement
dit, une occurrence est une ligne de la table qui représente la relation.
- La cardinalité d’une relation est son nombre d’occurrences.
- Une clé primaire d’une relation est un ensemble minimal des attributs de la relation dont les valeurs
identifient à coup sûr une occurrence. La valeur d’une clé primaire est donc distincte pour tous les tuples
de la relation. La notion de clé primaire est essentielle dans le modèle relationnel. Toute relation a une clé
primaire. Ainsi, il ne peut jamais y avoir deux tuples identiques au sein d’une relation. Pour signaler la clé
primaire, ses attributs sont généralement soulignés. Indiquer au SGBD une clé primaire pour chaque table
permet une indexation des données à l'aide de cette clé, ce qui renforce l'efficacité des procédures
d'interrogation de la table.
- Une clé étrangère dans une relation est formée d’un ou plusieurs attributs qui constituent une clé primaire
dans une autre relation.
- Un schéma relationnel est constitué par l’ensemble des schémas de relation avec mention des clés
étrangères.
Exemple :
- Film(numfilm, titre, realisateur, annee, duree)
- Acteur(numacteur, nom, prenom, naiss, mort)
- Role(numrole, numfilm, numacteur, personnage)
VI- L'ALGEBRE RELATIONNELLE
L’algèbre relationnelle est le support mathématique cohérent sur lequel repose le modèle relationnel.
L’algèbre relationnelle propose un ensemble d’opérations élémentaires formelles sur les relations dans le but
de créer de nouvelles relations. Ces opérations permettent de représenter des requêtes sur la base de données
dont le résultat s’exprime sous la forme d’une relation (i.e. table).
Nous pouvons distinguer deux familles d’opérateurs relationnels :
- Les opérateurs unaires (la sélection et la projection), qui sont les plus simples, permettent de produire une
nouvelle table à partir d’une autre table.
- Les opérateurs binaires (union; intersection; jointure; différence) permettent de produire une nouvelle
relation à partir de deux relations de même degré et de même domaine.
1- Sélection
La sélection génère une relation regroupant exclusivement toutes les occurrences de la relation R qui satisfont
l’expression logique E.
Notation : σ(E)R.
Exemple :
Soit la relation PERSONNE suivante :
Classe : 2ème Année MP, PC, PT Page 4
IPEI EL MANAR Partie II : Les Bases de Données
PERSONNE
idPersonne nom prénom
5 Durand Caroline
1 Germain Stan
12 Dupont Lisa
3 Germain Rose-Marie
Ci-dessous un exemple de sélection σ(idPersonne≥5) PERSONNE sur la relation PERSONNE :
σ(idPersonne≥5) PERSONNE
idPersonne nom prénom
5 Durand Caroline
12 Dupont Lisa
La sélection permet ainsi de choisir (i.e. sélectionner) certaines lignes dans une table (Relation). Le résultat
de la sélection est donc une nouvelle relation qui a les mêmes attributs que R.
2- Projection
La projection consiste à supprimer les attributs autres que A1, A2,..,An d’une relation. En d’autres termes, la
projection permet de choisir des colonnes dans une table.
Notation : ∏( A1, A2,..,An)R
Exemple de projection sur la table PERSONNE :
∏(nom) PERSONNE
Nom
Durand
Germain
Dupont
3- Union
L’union est une opération portant sur deux relations R1 et R2 ayant le même schéma et construisant une
troisième relation constituée des n-uplets appartenant à l’une ou l’autre des deux relations R1 et R2 sans
doublon. Le résultat de l’union est une nouvelle relation qui a les mêmes attributs que R1 et R2.
Notation : R1 ∪R2.
Ci-dessous un exemple d’union :
R1
nom prénom R2 R1 ∪ R2
Durand Caroline nom prénom nom prénom
Germain Stan Dupont Lisa Durand Caroline
Dupont Lisa Juny Carole Germain Stan
Germain Rose-Marie Fourt Lisa Dupont Lisa
Germain Rose-Marie
Juny Carole
Fourt Lisa
4- Intersection
L’intersection est une opération portant sur deux relations R1 et R2 ayant le même schéma et construisant une
troisième relation dont les n-uplets sont constitués de ceux appartenant aux deux relations. Le résultat de
l’intersection est une nouvelle relation qui a les mêmes attributs que R1 et R2. Notation : R1 ∩ R2.
Ci-dessous un exemple d’intersection :
R1 R2 R1 ∩ R2
nom prénom nom prénom nom prénom
Durand Caroline Dupont Lisa Durand Caroline
Germain Stan Juny Carole Dupont Lisa
Dupont Lisa Fourt Lisa Juny Carole
Germain Rose-Marie Durand Caroline
Juny Carole
Classe : 2ème Année MP, PC, PT Page 5
IPEI EL MANAR Partie II : Les Bases de Données
5- Différence
La différence est une opération portant sur deux relations R1 et R2 ayant le même schéma et construisant une
troisième relation dont les n-uplets sont constitués de ceux ne se trouvant que dans la relation R1. R1 et R2
doivent avoir les mêmes attributs. Le résultat de la différence est une nouvelle relation qui a les mêmes
attributs que R1 et R2
Notation : R1 - R2.
R1 R2 R1 - R2
nom prénom nom prénom nom prénom
Durand Caroline Dupont Lisa Germain Stan
Germain Stan Juny Carole Germain Rose-Marie
Dupont Lisa Fourt Lisa
Germain Rose-Marie Durand Caroline
Juny Carole
6- Produit cartésien
Le produit cartésien est une opération portant sur deux relations R1 et R2 et qui construit une troisième
relation regroupant exclusivement toutes les possibilités de combinaison des occurrences des relations R1 et
R2.
Notation : R1 ×R2.
Le résultat du produit cartésien est une nouvelle relation qui a tous les attributs de R1 et tous ceux de R2. Le
nombre d’occurrences de la relation qui résulte du produit cartésien est le nombre d’occurrences de R1
multiplié par le nombre d’occurrences de R2.
PERSONNE CADEAU PERSONNE × CADEAU
nom prénom article prix nom prénom article prix
Fourt Lisa livre 45 Fourt Lisa livre 45
Juny Carole poupée 25 Fourt Lisa poupée 25
montre 87 Fourt Lisa montre 87
Juny Carole livre 45
Juny Carole poupée 25
Juny Carole montre 87
7- Jointure
Une jointure naturelle est une jointure dans laquelle l’expression logique E est un test d’égalité entre les
attributs qui portent le même nom dans les relations R1 et R2. Dans la relation construite, ces attributs ne sont
pas dupliqués, mais fusionnés en une seule colonne par couple d’attributs. La jointure naturelle est notée R1
⋈ R2.
PERSONNE CADEAU PERSONNE ⋈IdC CADEAU
IdP Nom Prénom IdC IdC article prix IdP nom prénom IdC article prix
1 Fourt Lisa 2 1 livre 45 1 Fourt Lisa 2 poupée 25
2 Juny Carole 1 2 poupée 25 2 Juny Carole 1 livre 45
3 Fidus Laure 3 3 montre 87 3 Fidus Laure 3 montre 87
4 Choupy Emma 2 4 Choupy Emma 2 poupée 25
Classe : 2ème Année MP, PC, PT Page 6
IPEI EL MANAR Partie II : Les Bases de Données
Série d’exercices
Exercice 1 :
Soit la base suivante :
A : Donner σsal<5000 (EMP).
B : Donner EMPbis = πENO, COMM(EMP)
D : Quelle est l'expression de l'algèbre relationnelle qui permettrait d'obtenir
- le nom et la profession de l'employé de numéro 10.
- la liste des noms des employés qui travaillent à New York.
- le nom du directeur du département ''Commercial''.
Exercice 2 :
On considère la base de données BD AIRBASE suivante :
- PILOTE (NUMPIL,NOMPIL, VILLE, SAL)
- AVION (NUMAV, NOMAV, CAP, LOC)
- VOL (NUMVOL, NUMPIL, NUMAV ,VILLE_DEP, VILLE_ARR, H_DEP, H_ARR)
Convention : Les clés primaires sont soulignées et les clés étrangères sont en italique gras.
Q1 : Donnez la liste des avions dont la capacité est supérieure à 350 passagers.
Q2 : Quels sont les numéros et noms des avions localisés à Nice ?
Q3 : Quels sont les numéros des pilotes en service et les villes de départ de leurs vols ?
Q4 : Donnez toutes les informations sur les pilotes de la compagnie.
Q5 : Quels sont les noms des pilotes domiciliés à Paris dont le salaire est supérieur à 15000 F ?
Q6 : Quels sont les avions (numéro et nom) localisés à Nice ou dont la capacité est inférieure à 350 passagers ?
Q7 : Liste des vols au départ de Nice allant à Paris après 18 heures ?
Q8 : Quels sont les numéros des pilotes qui ne sont pas en service
Q9 : Quels sont les vols (numéro, ville de départ) effectués par les pilotes de numéro 100 et 204 ?
Q10 : Donnez le numéro des vols effectués au départ de Nice par des pilotes Niçois ?
Q11 : Quels sont les vols effectués par un avion qui n'est pas localisé à Nice ?
Q12 : Quels sont les pilotes (numéro et nom) assurant au moins un vol au départ de Nice avec un avion de capacité
supérieure à 300 places ?
Q13 : Quels sont les noms des pilotes domiciliés à Paris assurant un vol au départ de Nice avec un Airbus ?
Q14 : Quels sont les numéros des vols effectués par un pilote Niçois au départ ou à l'arrivée de Nice avec un avion
localisé à Paris ?
Q15 : Quels sont les pilotes (numéro et nom) habitant dans la même ville que le pilote Dupont ?
Classe : 2ème Année MP, PC, PT Page 7