Vous êtes sur la page 1sur 16

Matière : Bases de Données (BD)

Niveau : Licence 2ème Année (L2)

Présentation du modèle relationnel

Pr. F. Magra-Benchikha

Faculté : NTIC Institut : TLSI

Fouzia.benchikha@univ-constantine2.dz

Université Constantine 2 L2- Semestre 2


Plan

1. Introduction

2. Définition des concepts de base

a) Attribut

b) Domaine

c) Relation

d) Notion de clé (clé primaire, clé étrangère)

e) Schéma de relation

f) Contraintes d’intégrité structurelles

g) Schéma de base de données

3. Règles à retenir

Université Constantine 2 Pr. F. Magra-Benchikha 2


Présentation du modèle relationnel / Introduction

En 1970, Edgar Frank Codd, le directeur de recherche du centre


IBM de San José. publia un article où il présentait le fondement
de la théorie des bases de données relationnelles qui représente
un Schéma logique par des RELATIONS.
Edgar Frank Codd

Depuis les années 80 et avec la standardisation du modèle (1987), différents SGBDs


relationnels ont été développés : Oracle, DB2, Ingres, Sybase, SQL Server, Access,
MySql..

Le modèle relationnel comprend :


1. Concepts pour la description des données
2. Concepts pour la manipulation des données
3. Concepts additionnels

Université Constantine 2 Pr. F. Magra-Benchikha 3


Présentation du modèle relationnel / Introduction

Le modèle relationnel est le modèle théorique dominant pour la représentation


logique des base de données. C'est le modèle le plus utilisé en raison des avantages
qu’il offre.

Avantages du modèle relationnel

 SIMPLICITE DE REPRÉSENTATION : représentation sous forme de tables,


 FONDEMENT MATHEMATIQUE RIGOUREUX : Théorie des ensembles,
 LANGAGES DECLARATIFS DE HAUT NIVEAU : algèbre relationnelle , langages
assertionnels (SQL),
 INDEPENDANCE PHYSIQUE : stratégie d'accès déterminée par le système, optimisation
des accès,
 INDEPENDANCE LOGIQUE : concept de VUES,
 MAINTIEN DE L’INTEGRITÉ : contraintes d'intégrité définies au niveau du schéma,
 APPROCHE METHODOLOGIQUE DE CONCEPTION DE SCHEMAS DE BDRs: théorie de la
normalisation.

Université Constantine 2 Pr. F. Magra-Benchikha 4


Présentation du modèle relationnel / Définition des concepts de base

Le modèle relationnel : Représenter le monde en tables


Le modèle relationnel permet de représenter les données que l'on va gérer
à l'aide d'un petit nombre de concepts très simples :

• Les relations ou tables : des lignes (tuples) et des colonnes (attributs)


• Les domaines de valeurs : chaque case d'une table prend une unique valeur
dans un domaine prédéfini
• Les clés (primaires) : il existe des cases dont les valeurs doivent être uniques
et non nulles
• Les clés étrangères : il existe des cases qui doivent prendre une valeur
existante dans les cases d'une autre table

Université Constantine 2 Pr. F. Magra-Benchikha 5


Présentation du modèle relationnel / Définition des concepts de base

Attribut
Un attribut permet de décrire une information élémentaire stockée dans une base. Il
prend ses valeurs dans un domaine.

Exemple: nom d’une personne, adresse d’une personne, numéro d’un produit, prix,
etc.

Domaine
Le domaine est un ensemble fini ou infini de valeurs caractérisé par un nom.

Exemple :
ENTIER
REEL
CHAINES DE CARACTERES
JOUR= {Dimanche, Lundi, Mardi, Mercredi, Jeudi, Vendredi}

Université Constantine 2 Pr. F. Magra-Benchikha 6


Présentation du modèle relationnel / Définition des concepts de base

Relation
• Une relation est représentée par un tableau à deux dimensions dont les colonnes
représentent les attributs et les lignes les données appelées tuples (N-uplets) ou
occurrences.
• Toute relation a un nom unique.

PRODUIT code_prod nom_prod prix Attributs


01 Stylo 15
02 Trousse 200 Données, Tuples,
Occurrences, N-uplets,
03 Trousse 180 Enregistrements, Instance
04 Crayon 10 de la relation
05 Table null
Remarque
Un tuple peut ne pas avoir de valeur pour certains attributs de la relation, parce que cette
valeur est inconnue. Sa valeur est alors "null".

Université Constantine 2 Pr. F. Magra-Benchikha 7


Présentation du modèle relationnel / Définition des concepts de base

Degré d’une relation : C’est le nombre des attributs dans une relation.
Exemple : Degré de la relation PRODUIT est 3

Cardinalité d’une relation : C’est le nombre de ses occurrences.


Exemple : Cardinalité de la relation PRODUIT est 5

PRODUIT code_prod nom_prod prix Attributs


01 Stylo 15
02 Trousse 200 Données
03 Trousse 180 Tuples
Occurrences
04 Crayon 10
N-uplets
05 Table 400

Université Constantine 2 Pr. F. Magra-Benchikha 8


Présentation du modèle relationnel / Définition des concepts de base

Notion de Clé
Une clé est un groupe minimum d'attributs qui permet d'identifier de façon unique les tuples
dans une relation.
Exemple :
• code_prod est une clé dans la relation Produit (code_prod, nom_prod, prix)
• Le groupe d'attributs (nom, prénom) d'une relation Etudiant, par exemple, est en général
une mauvaise clé, car les homonymes existent.
• (NumEtud, codeMod) est une clé dans la relation Note(NumEtud , CodeMod, note)

Clé primaire
Si plusieurs clés existent dans une relation, elles sont dites clés candidates. On en choisit une
parmi celles-ci qui sera appelée clé primaire. La clé primaire est généralement choisie de
façon à ce qu'elle soit la plus simple.
Exemple :
Dans la relation VOITURE (num_matricule , marque:, Type, num_chassis)
• il existe deux clés : num_matricule et num_chassis
• On choisit (par exemple) num_matricule comme la clé primaire de la relation

Université Constantine 2 Pr. F. Magra-Benchikha 9


Présentation du modèle relationnel / Définition des concepts de base

Très Important

• Toute relation doit comporter une clé primaire.

• Dans une relation, la valeur de la clé dans un tuple doit être


connue (elle ne peut pas être une valeur null).

Université Constantine 2 Pr. F. Magra-Benchikha 10


Présentation du modèle relationnel / Définition des concepts de base

Clé étrangère
Une clé étrangère est un attribut ou un groupe d'attributs dans une relation R1 et qui apparait
comme clé primaire dans une relation R2 afin de matérialiser une référence entre les tuples de
R1 et les tuples de R2.

Une clé étrangère d'un tuple dans une relation, référence une clé primaire d'un
autre tuple dans une autre relation.

STOCK PRODUIT
code-prod* Code-dépôt qté-stock code-prod nom-prod prix

01 145 21 01 Stylo 15

02 200 34 02 Trousse 200

02 241 10 03 Table 180


04 Crayon 10

Attention
Seule une clé primaire peut être référencée par une clé étrangère.
Université Constantine 2 Pr. F. Magra-Benchikha 11
Présentation du modèle relationnel / Définition des concepts de base

Schéma logique de relation


Un schéma logique (ou schéma) de relation est composé de :
• Nom de la relation
• Liste des attributs avec leurs domaines
• Clé primaire
• Clés étrangères (Eventuellement)

Exemple: Client(code_client, nom_client, adresse)


Commande (num_commande, code_client*, montant)

Convention d'écriture :
• Une clé primaire est soulignée
• Une clé étrangère est augmentée de *

Intention et Extension de relation


• Intention de la relation = schéma logique de relation .
• Extension de la relation = instance de relation (c'est-à-dire l'ensemble des tuples de la
relation).

Université Constantine 2 Pr. F. Magra-Benchikha 12


Présentation du modèle relationnel / Définition des concepts de base

Contraintes d’intégrité structurelles


Ce sont des propriétés du schéma de la BDR, invariantes dans le temps, que doivent
respecter toute instance de la BDR.

Types de contraintes d'intégrité structurelles:


• Contrainte d’unicité (PRIMARY KEY) imposée par la clé primaire : lors de l’insertion d’un
nouveau tuple, la valeur de la clé primaire doit être unique.
• Contrainte référentielle (FOREIGN KEY) imposée par les clés étrangères : lors de
l’insertion d’un tuple, la valeur des attributs qui sont clés étrangères doivent exister dans
les relations référencées. De même, la suppression d’un tuple dans une relation référencée
exige la suppression de tous les tuples le référençant.
• Contrainte de non nulleté (NOT NULL) : impose l’insertion de valeur pour les attributs. La
clé primaire, par exemple, impose cette contrainte.
• Contraintes de valeur(CHECK) (Exemple : qté-stock >20)

Université Constantine 2 Pr. F. Magra-Benchikha 13


Présentation du modèle relationnel / Définition des concepts de base

Schéma logique de base de données relationnelle (ou intension)


C’est l’ensemble des schémas des relations composantes S = {R1, R2, …, Rp}.

Exemple de schéma logique de BDR (ou Schéma de BDR) :


//pour simplifier, les domaines ne seront pas présentés dans les schémas
PRODUIT (code_prod, nom_prod, prix)
STOCK (code_prod*, code_dep*, qté-stock)
DEPOT (id_dep, adr)
CLIENT (code_client, nom_client, ville)
COMMANDE (num_com, code_client*, montant, année_com)

Instance de base de données relationnelle


(ou extension ou population)
L’extension (instance) d’une BD relationnelle est l’ensemble d’instances de ses relations
composantes BD = {r1, r2, ..., rn} ou chaque ri respecte les contraintes d'intégrité.

Université Constantine 2 Pr. F. Magra-Benchikha 14


Présentation du modèle relationnel / Définition des concepts de base

Exemple de BDR
Schéma logique ou Intension de la BDR « Gestion_Stock » :
PRODUIT (code_prod, nom_prod, prix)
DEPOT (id_depot, adr)
STOCK (code_prod*, code_depôt*, qté_stock)

Instance ou Extension de BDR :

Université Constantine 2 Pr. F. Magra-Benchikha 15


Présentation du modèle relationnel / Définition des concepts de base

Quelques règles à retenir


 une table a un nom unique (il n'existe pas deux tables avec le même nom dans la
même BD),
 l' ordre des attributs dans une table n'a pas d'importance,
 toutes les lignes d'une même table ont le même format et le même nombre
d'attributs,
 l'ordre des lignes n'a pas d'importance,
 il n'existe pas de tuples identiques,
 la clé primaire doit toujours avoir une valeur pour chaque tuple,
 la clé primaire est unique pour tous les tuples.

Fin

Université Constantine 2 Pr. F. Magra-Benchikha 16

Vous aimerez peut-être aussi