Vous êtes sur la page 1sur 10

Ministère de l’Enseignement Supérieur, de la Recherche Scientifique et de la Technologie

Université Virtuelle de Tunis

Ingénierie des systèmes


d’information
Chapitre 2 : Base de données
Modèle relationnel
Leçon 2 : Introduction aux
bases de données

Mohamed Moez YEDDES

Attention !
Ce produit pédagogique numérisé est la propriété exclusive de l'UVT. Il est
strictement interdit de le reproduire à des fins commerciales. Seul le
téléchargement ou impression pour un usage personnel (1 copie par
utilisateur) est permis.
Université Virtuelle de Tunis Ingénieurie des Systèmes d’Informations
SGBDR

1. Objectifs du chapitre

 L’étudiant doit schématiser des systèmes de gestion des bases de


données relationnelles SGBD-R.

 Décrire l’algèbre relationnelle et les formes normales.

 Manipuler le langage SQL.

2. Objectifs de la leçon
 L’étudiant sera capable de définir les notions suivantes : domaine,
relation, constituant, n-uplet, clé et contrainte d’intégrité.

 L’étudiant sera capable de construire un schéma relationnel de


base de données.

3. Références
 G. Gardarin, Bases de données, Eyrolles, 2002

 Hillyer. M, An Introduction to Database


Normalization http://dev.mysql.com

 Peter Rob, Carlos Coronel, “Database Systems: Design,


Implementation, & Management”, Course Technology Cengage
Learning, International Edition, 2007. ISBN 1-418-83593-5.

 Elmasri, Navathe, “Fundamentals of Database Systems”, Addison


Wesley, Fifth edition, 2009. ISBN 978-81-317-1625-0.

2 M. YEDDES
Université Virtuelle de Tunis Ingénieurie des Systèmes d’Informations
SGBDR

4. Relation
 Une relation (ou table) est un sous ensemble d’un produit
cartésien de domaines. Une relation est définie par un nom.

Rappel: Formellement, un domaine est un simple ensemble de valeurs.


Par exemple un ensemble de nombres entiers est un domaine. Ainsi
l'ensemble de chaînes de caractères de longueur 20 et les nombres
réels sont des exemples de domaines. Le produit cartésien des
domaines D1, D2, ... Dk, écrits D1 × D2 × ... × Dk est l'ensemble de tous
les k-tuples v1, v2, ... vk, tel que v1 ∈ D1, v2 ∈ D2, ... vk ∈ Dk. Par exemple,
nous avons k=2, D1= {0,1} et D2= {a, b, c}. D1 × D2 est alors
{(0,a),(0,b),(0,c),(1,a),(1,b),(1,c)}.

 Le degré d’une relation est égal par définition au nombre de


facteurs de ce produit cartésien.

Exemples :

 Personne  D_CNI  D_Noms  D_Prénoms  D_CP  D_Tel

 Stage  D_CNI  DT_Stages  D_Titre

Personne est de degré 5, Stage est de degré 3

5. Historique
Dans les années 70 (E.F. CODD):

 Modèle basé sur la théorie des ensembles

 Introduction des langages pour manipuler les données (SQL)

 Une première démarche pour représenter le

« monde réel »

 Naissance de plusieurs outils

Ces outils sont :

 MySQL (logiciel libre)

– http://dev.nexen.net/docs/mysql/annotee/manuel_toc.php
3 M. YEDDES
Université Virtuelle de Tunis Ingénieurie des Systèmes d’Informations
SGBDR

 Access (Microsoft)

 Ingres (Computer Associates)

 SQL Server (Microsoft)

 ORACLE (Oracle corp.)

 …

Les questions fréquentes qu’on s’est posées sont :

 Comment organiser un système ?

 Quels sont les systèmes à organiser ?

 Comment structurer les informations afin de : Consulter !,


Ajouter !, Modifier !, Supprimer !

Les réponses à ces questions étaient le modèle relationnel :

– Domaine

– Relation

– Constituant

– N-uplets (ou tuple en anglais)

– Clé, contrainte d’intégrité

4 M. YEDDES
Université Virtuelle de Tunis Ingénieurie des Systèmes d’Informations
SGBDR

– Schéma de relation

– Schéma de base de données relationnelle

– Opérateurs

– Formes Normales

– ……

6. Modèle relationnel : Domaine


Un domaine désigne un ensemble de valeurs. Il est similaire à la
notion de type que l’on trouve dans les langages de programmation.

Exemples :

– Domaine des couleurs = {vert, bleue, rouge, jaune} (D_C)

– Domaine des numéro de carte d’identité =


{01435567,01889555,…} (DNCI)

– Domaine des noms = {Chaîne de 30 caractères} (D_Noms)

– Domaine des prénoms = {Chaîne de 20 caractères}


(D_Prenoms)

– Domaine code postales = {Chaîne de 4 chiffre} (D_CP)

– Domaine des numéros de téléphones = {Chaîne de 8 chiffre}


(D_TEL)

– Domaine type stages = {saisonnier, ouvrier, ingénieur, PFE}


(DT_Stages)

– Domaine des pays = {Tunisie, Lybie, Algérie, Maroc,


Mauritanie} (D_Pays)

L’effort de modélisation commence par une élaboration complète


des domaines.

5 M. YEDDES
Université Virtuelle de Tunis Ingénieurie des Systèmes d’Informations
SGBDR

7. Modèle relationnel : Constituant


Un constituant est un ensemble des données ayant une propriété et
un comportement homogène.

Par exemple Rose peut désigner :

Une fleur :

Une couleur :

Le prénom d’une personne :

On appelle constituant (ou colonne ou attribut) d’une relation (ou


table) le nom donné à une colonne de la table. On note R+ l’ensemble
des constituants de R.

Par exemple :

Personne+ = {Num_Carte_Identité, Nom, Prenom, Code_postal,


Telephone}

Stage+ = {Num_Carte_Identité, Type_stage, Titre}

8. Modèle relationnel : n-uplet


Un n-uplet ou tuple (en anglais), instance, entité, ligne d’une relation
est un élément de cette relation.

Exemples :

 Personne  D_CNI  D_Noms  D_Prénoms  D_CP  D_Tel

 Stage  D_CNI  DT_Stages  D_Titre

6 M. YEDDES
Université Virtuelle de Tunis Ingénieurie des Systèmes d’Informations
SGBDR

PERSONNE Num_Carte_Identité Nom Prenom Code_postal Telephone


n-uplet1 34560890 KRICHENE Moez 8070 71 600 456
n-uplet2 20089800 FENDRI Sarah 2040 98 640 860
n-uplet3 44098765 NAJJAR Mohamed 1000 24 262 404
n-uplet4 78563900 BOUHLEL Amine 3200 20 200 201

STAGE Num_Carte_Identité Type_stage Titre


n-uplet1 34560890 PFE Définition d'une politique Qualité
n-uplet2 34560890 Ingénieur Mise en place d'un SI pour la maintenance
n-uplet3 44098765 Ouvrier Reconfiguration des achats
n-uplet4 78563900 PFE Mise en place d'un ERP

9. Modèle relationnel : Clé et contrainte


d’intégrité
Pour identifier un n-uplet, nous avons besoin d’une clé. En effet, toute
relation ou table possède un sous ensemble qui identifie sans
ambigüité chaque n-uplet. Ce sous ensemble est appelé « clé » de la
relation. On peut avoir pour une relation, une ou plusieurs clés. Du
point de vue de la conception, la connaissance des clés est
importante car il suffit de connaître les valeurs des constituants de la
clé pour déterminer d’une façon unique un n-uplet d’une relation et
ainsi déterminer les autres valeurs de ses constituants.

 Notation : une clé sera soulignée

Exemples : Clé d’une relation

 PERSONNE (Num_Carte_Identité, Nom, Prenom, Code_postal,


Telephone)

 STAGE (Num_Carte_Identité, type_stage, Titre)

Ainsi en précisant la clé Num_Carte_Identité, on peut identifier de


manière unique l’enregistrement dans la table PERSONNE. Exemple,
si on donne le numéro 0123456 comme Num_Carte_Identité ceci
nous retournera l’unique personne possédant ce numéro de carte. On
pourra déterminer grâce à cette clé, le Nom, Prenom, Code_postal,
Telephone de cette personne.

7 M. YEDDES
Université Virtuelle de Tunis Ingénieurie des Systèmes d’Informations
SGBDR

10. Modèle relationnel : Schéma de relation


Le schéma d’une relation est constitué des éléments suivants:

 Le nom de la relation

 La liste des constituants et les domaines de chacun

 Les contraintes d’intégrité à respecter

Une contrainte d’intégrité permet de garantir la cohérence des


données lors des mises à jour de la base. En effet, les données d'une
base ne sont pas indépendantes, mais obéissant à des règles
sémantiques, après chaque mise à jour, le SGBD contrôle qu'aucune
contrainte d'intégrité n'est violée.

Exemples

PERSONNE (Num_Carte_Identité : { n [108 ; 109-1]} ,

Nom : {chaine de 30 caractères},

Prenom : {chaine de 20 caractères},

Code_postal : {chaine de 4 chiffres},

Telephone = {chaine de 8 chiffres})

STAGE (Num_Carte_Identité : {n [108 ; 109-1]} ,

Type_Stage : {saisonnier, ouvrier, ingénieur, PFE},

Titre : {chaine de 200 caractères} )

Les contraintes d’intégrité refusera tout champ saisi concernant par


exemple l’attribut Nom de la relation PERSONNE dépassant 30
caractères ou tout champ autre que saisonnier, ouvrier, ingénieur, ou
PFE concernant l’attribut Type_Stage de la relation STAGE.

8 M. YEDDES
Université Virtuelle de Tunis Ingénieurie des Systèmes d’Informations
SGBDR

11. Modèle relationnel : Schéma de base de


données relationnel
Le schéma d’une base de données est constitué par l’ensemble des
schémas des relations qui la constituent. Considérant une base
constituée par les tables CLIENT, COMMANDES, ARTICLE,
LIGNECOMMANDE.

Exemple :

CLIENT ( Num_client : entier long ,

Nom : chaine de 30 caractères,

Prenom : chaine de 20 caractères,

Code_postal : chaine de 4 chiffres,

Telephone : chaine de 8 chiffres)

COMMANDE ( Num_commande : entier long,

date : date,

montant : monétaire

client : entier long)

ARTICLE ( Code_article : entier long,

Désignation : chaine de 50 caractères,

prix : monétaire)

LIGNECOMMANDE ( code_article : entier long,

Num_commande : entier long,

quantité : entier)

Le schéma peut se représenter graphiquement par :

9 M. YEDDES
Université Virtuelle de Tunis Ingénieurie des Systèmes d’Informations
SGBDR

COMMANDE CLIENT

• Num_commande : entier long , • Num_client : entier long,


• date : date, • Nom : chaine de 30 caractères,
• montant : monétaire • Prenom : chaine de 20 caractères,
• client : entier long • Code_postal : chaine de 4 chiffres,
• Telephone : chaine de 8 chiffres

LIGNECOMMANDE

• code_article : entier long, ARTICLE

• Num_commande : entier long, •Code_article : entier long,


• quantité : entier • Désignation: chaine de 50 caractères,
• prix : monétaire

Nous finissons cette leçon par la citation suivante :

Le processus de la pensée dans son ensemble nous est encore


relativement mystérieux, mais je crois que toutes les tentatives de
création de machines pensantes nous seront d'une grande aide pour
découvrir comment nous pensons nous-mêmes

Alan Turing Cité par Andrew

Hodges dans Alan Turing ou l'énigme de l'intelligence

Avant d’examiner l’interrogation en SQL d’une base de données.


Nous introduisons l’algèbre relationnelle qui reste le fondement des
mécanismes mise en œuvre par l’interrogation SQL dans la prochaine
leçon de ce chapitre.

10 M. YEDDES

Vous aimerez peut-être aussi