Enseignant Responsable
PLAN
Chapitre 4. Normalisation
1
18/02/2021
Chapitre 1 :
Introduction générale
Notions de base
2
18/02/2021
3
18/02/2021
4
18/02/2021
Historique des BD
Cours BD © M.
10 TURKI (2020 / 2021)
10
5
18/02/2021
Utilisation des BD
Les smartphones
Enregistrer les paramètres des applications
Le stockage du carnet d’adresse et faciliter ainsi le tri des contacts
Données distantes mises en cache
Les navigateurs
Le stockage des signets
L’enregistrement des mots de passes
Le tri des vignettes de l’écran d’accueil
11
Utilisation des BD
Applications informatiques au sein des organisations
Exemples d’applications au sein de l’ISIMS : gestion des emplois du
temps, gestion des examens, gestion des stages, gestion de
scolarité,… stockage des données sur les étudiants, enseignants,
les examens, les filières, les notes, les salles,etc
Applications mobiles
12
12
6
18/02/2021
modélisation
13
Conception/Modélisation de données
Les applications informatiques et les utilisateurs ont conjointement subi
d’importantes évolutions qualitatives et quantitatives.
Comme conséquence de la vulgarisation de l’informatique dans divers
domaines et la complexité sans cesse croissante des applications à informatiser,
il y a eu nécessité d’avoir une représentation intermédiaire entre le réel
perçu et ce qui va être effectivement implanté.
Cette représentation intermédiaire vise la réduction de l’écart entre le réel à
informatiser et son implantation physique finale. Et ce, en utilisant un modèle
de représentation.
14
7
18/02/2021
Conception/Modélisation de données
Un modèle est donc une abstraction du réel à informatiser (on dit aussi
l’ensemble du discours) en utilisant un ensemble de concepts et un ensemble
de règles.
Les concepts ont pour rôle de fournir les moyens de représenter les entités
du monde réel et les relations qui existent entre elles.
Les règles sont définies sur les concepts du modèle et régularisent leur
utilisation.
Une méthode de conception est un ensemble de modèles avec un certain
nombre de démarches ou processus de conception ou étapes.
Les étapes de conception servent à guider progressivement la transformation
de l’application vers l’implantation ; C’est la modélisation.
15
16
8
18/02/2021
Application 3 :
Application 1 : Application 2 :
Gestion des
Planification des vols Gestion du personnel
réservations
P1 P2 P3
Chaque application possède ses propres programmes de traitement (qui reposent sur une bibliothèque commune)
Les applications PARTAGENT un réservoir commun de données
Absence de redondance -> plus d ’incohérences de mises à jour
Généricité des traitements -> minimisation des développements
Minimisation de la maintenance
Le SGBD contient également une description complète des structures et des contraintes, stockée dans le catalogue
(méta-données)
17
Un domaine donné
Modélisation
Schéma Relationnel
Transformation
en modèle
relationnel Normalisation
Modèle Entité/Association
Schéma Relationnel en BCNF
18
9
18/02/2021
Chapitre 2 :
Modèle Entité-Association
19
Elément de contenu
Introduction
Concepts fondamentaux
Entité
Association
Propriété
20
10
18/02/2021
Introduction
Il est difficile de modéliser un domaine sous une forme
directement utilisable par un SGBD. Une ou plusieurs
modélisations intermédiaires sont donc utiles.
Un modèle est une représentation d'un système réel, qu'elle
soit mentale ou physique, exprimée sous forme verbale,
graphique ou mathématique.
Le modèle Entité-Association (E/A), appelé aussi Objet-
Association ou Objet-Relation, constitue l’une des premières
et des plus courantes modélisations. Ce modèle, présenté par
Chen (1976), permet une description naturelle du monde réel
à partir des concepts d’entité et d’association.
21
Concepts fondamentaux
Par analogie avec la programmation et l'algorithmique, dans le
domaine des bases de données le modèle E/A joue le même
rôle qu’un algorithme, il intervient dans le cycle suivant :
Enoncé Programmation
Programme codifié
Analyse et
résolution Codification
Modélisation Traduction
Représentation graphique
des données
Diagramme
E/A
Cours BD © M. TURKI (2020 / 2021) 22
22
11
18/02/2021
Concepts fondamentaux
23
Concept « Entité »
Entité
Une Entité peut être un objet, une personne, un lieu, un statut, un
événement qui ont une existence dans le monde réel. Il peut être
physique (ou concret), virtuel, conceptuel, imaginaire, artificiel (ou
abstrait).
Le seul critère qui permet de juger de la pertinence d'une entité dans
un modèle est son utilité pour l'utilisateur.
Toute entité possède un certain nombre de caractéristiques
(attributs) qui lui sont spécifiques.
Exemples:
L’étudiant Mohamed Salah : objet concret
La commande N°123 : objet concret
Le cours Base de données : objet abstrait
Evénement SBB : objet abstrait
24
12
18/02/2021
Concept « Entité »
Type-entité
Un type d’entité est un ensemble d'entités qui possèdent les
mêmes caractéristiques.
Un type d’entité est donc décrit par son nom et ses attributs.
Représentation graphique d’un type d’entité :
Exemples :
Exemples de type-entité : Personne, Automobile, Région…
Exemples d'entité : Mohamed, Ahmed, Meriam, ma voiture, Sfax
Exemple de représentation graphique d'un type-entité :
Personne
25
Concept « Association »
Association
Une association (ou relation) est un lien entre plusieurs entités.
Une Association est une correspondance entre des entités et
éventuellement entre une entité et elle-même. De manière générale,
on désigne une association par un verbe.
Exemples :
Commander, livrer, enseigner, s’inscrire, participer, suivre, etc.
Type-Association
Un type-association(ou un type-relation) désigne un ensemble de
relations qui possèdent les mêmes caractéristiques. Le type-
association décrit un lien entre plusieurs type-entités. Les associations
de ce type-association lient des entités de ces type-entités.
Représentation graphique Type Association
26
13
18/02/2021
Concept « Association »
Exemples :
Liaison ENSEIGNER (ENSEIGNANT, COURS)
Liaison COMMANDER (CLIENT, COMMANDE)
« La voiture X appartient à la personne Y » est une association entre les
entités voiture X et personne Y.
Remarque :
Comme les type-entités, les type-associations sont définis à l’aide d’attributs qui prennent
leur valeur dans les associations.
Cours BD © M. TURKI (2020 / 2021) 27
27
Concept « Association »
Degré d’une association
Nombre de types d’entités qui interviennent dans cette association. Une
association entre deux éléments est une association binaire.
Exemple :
Voiture Appartient Personne
Type-association réflexif
Un type-association est qualifié de réflexif quand il matérialise une relation
entre un type-entité et lui-même.
Exemple :
Employé Diriger
28
14
18/02/2021
Concept « Association »
Cardinalités d’une association
C’est le nombre maximal de participations d’une instance
(occurrence) de l’entité dans l’association.
1-1 une entité de E1 est reliée à au plus une entité de E2; de plus,
une entité de E2 est reliée à au plus une entité de E1.
1-N une entité E1 est reliée à un nombre arbitraire d'entités de E2
(donc, il n'y a pas de maximum); de plus, une entité de E2 est reliée à
au plus une entité de E1.
M-N une entité E1 est reliée à un nombre arbitraire d'entités de E2
(donc, il n'y a pas de maximum); une entité E2 est reliée à un
nombre arbitraire d'entités de E1 (donc, il n'y a pas de maximum)
29
Concept « Association »
Cardinalités d’une association :
Les différents types de cardinalités peuvent êtres résumés par la figure suivante :
E1 E2 E1 E2 E1 E2
30
15
18/02/2021
Concept « Association »
Exemples :
Association de type 1-N : Liens hiérarchiques
1 N
Client Passer Commande
Une occurrence de Client permet de déterminer une ou plusieurs occurrences de Commande et une occurrence de
Commande correspond au plus à une occurrence de Client.
On n'a aucune restriction sur le nombre d'occurrences de Produit et de Commande intervenant dans l'association.
En effet, un produit peut être commandé dans plusieurs commandes et dans une commande on peut commander
plusieurs produits.
Le lien 1:1, exprime qu'à une occurrence de Commande correspond au plus une occurrence de Facture et inversement.
31
Concept « Propriété »
Propriété
Une propriété (ou un attribut) est une caractéristique associée
à un type-entité ou à un type-association. Les propriétés
décrivent une entités (ex : nom, âge, adresse, salaire …). Ce
sont les attributs des entités qui possèdent des valeurs.
Représentation graphique des propriétés :
Propriété1 Propriété1
Propriété2 Propriété2
….. …..
32
16
18/02/2021
Concept « Propriété »
33
Concept « Propriété »
Exemple: Type d’entité
DateNaiss 97002 … …
34
17
18/02/2021
Concept « Propriété »
Exemple Type-association
CodeFrs CodePr PUVente
FR1 PR2 21.000
FR2 PR1 19.500
FR2 PR3 35.000
FR3 PR1 19.000
… … …
La rubrique PUVente est ni descriptive de Fournisseur, ni descriptive de Produit, elle dépend à la fois
d’un Fournisseur et d’un Produit. C’est une rubrique de liaison (appelée aussi rubrique d’association).
La description de la Liaison :
FOURNIR (FORNISSEUR, PRODUIT) se présente comme suit :
FOURNIR [CodFrs, CodPr, PUVente]
Au niveau du type-entité ou du type-association, chaque attribut possède un domaine qui définit
l’ensemble des valeurs possibles qui peuvent être choisies pour lui (entier, chaîne de caractères,
booléen, . . .).
Au niveau de l’entité, chaque attribut possède une valeur compatible avec son domaine. Exemple :
code postal : numérique, code article : alphanumérique, date naissance : date, …
35
Concept « Propriété »
Domaines ou types des attributs :
C’est l’ensemble des valeurs que peut prendre l’attribut.
Exemple : Nom : Ali Tounsi, Mohamed Frikha, …
Propriété Identifiant
Un attribut ou groupe d’attributs dont la valeur (valeurs combinées)
diffère pour chaque entité de l'ensemble. Sa valeur permet d'identifier
chaque entité de façon unique. Elle correspond à la notion de clé
primaire.
Ensemble de propriétés dont la valeur ne peut pas appartenir à plus
qu’une entité.
Les propriétés identifiants doivent être :
Fixées pour chaque type-entité
Soulignées dans le diagramme ER
Cours BD © M. TURKI (2020 / 2021) 36
36
18
18/02/2021
Concept « Propriété »
Exemple: Référence de type-entité : Employé
Numéro
Nom
Dat-Nais
Fournir
Cod_frs
Cod_pr
PU_vente
37
Chapitre 3 :
Modèle Relationnel
38
19
18/02/2021
Elément de contenu
Introduction
Concepts fondamentaux
Domaine
Schéma de relation
Relation
Clé d’une relation
Schéma de BD et contrainte d’intégrité
Règles de passage du modèle E/A au modèle Relationnel
39
Introduction
Le modèle relationnel a été proposé par Edgar Frank Codd en
1970.
Il est souvent considéré comme le plus simple et le plus élégant
des modèles. Sa simplicité est due à une vision tabulaire des
données très intuitive. Son élégance résulte de bases formelles
issues de la théorie mathématique des ensembles.
Parmi les objectifs du modèle relationnel nous retenons deux :
Permettre un haut degré d'indépendance entre les applications
(programmes, interfaces) et la représentation interne des données
(fichiers, chemins d'accès)
Etablir une base solide pour traiter les problèmes de cohérence et de
redondance des données.
Cours BD © M. TURKI (2020 / 2021) 40
40
20
18/02/2021
Introduction
41
Concepts fondamentaux
42
21
18/02/2021
Notion de « Domaine »
Un domaine D est un ensemble de valeurs caractérisé par un
nom. Du point de vue du modèle relationnel, chaque valeur du
domaine est atomique et donc indivisible.
Cette notion permet de définir les ensembles de départ.
Un domaine peut être défini en extension en donnant la liste
des valeurs composantes ou en compréhension en définissant
une propriété caractéristique du domaine.
Du point de vue de la réalisation informatique, le domaine se
restreint à la notion de type de données.
Exemple :
Domaine(coleur) = { bleu, rouge, blanc,…}
Domaine(prénom) = { ali, salah,…}
43
44
22
18/02/2021
Notion de « Relation »
Une relation r dénotée r(R) du schéma de relation R(A1:D1,
A2:D2, ..., An:Dn) est un ensemble d'enregistrements.
Chaque enregistrement ei est une liste ordonnée de n valeurs ei
= <v1,v2,..,vn> ou chaque vi est une valeur du domaine de
l’attribut Ai ou une valeur nulle spéciale représentant l’absence
d’information.
Enregistrement : C’est une séquence ordonnée d’information.
Appelé également n-uplet ou tuple.
Degré de la relation : c’est le nombre de domaines.
Cardinalité de la relation : c’est le nombre de tuple.
45
Notion de « Relation »
Exemple
Degré (étudiant) = 4
Cardinalité (étudiant) = 2
Cours BD © M. TURKI (2020 / 2021) 46
46
23
18/02/2021
47
48
24
18/02/2021
Exemple :
ETUDIANT (MAT_ET, NOM_ET, ADR_ET, DATE_NAIS)
PRODUIT (NUM_PDT, DES_PDT, COUL_PDT)
49
Exemple :
PRODUIT (NUM_PDT, DES_PDT, COUL_PDT, #NUM_MAG)
MAGASIN (NUM_MAG, ADR_MAG, SRFACE,…)
50
25
18/02/2021
51
Exemple :
200000 ≤ SALAIRE ≤ 2000000
COULEUR є {bleu, rouge, jaune}
QTE_STK ≥ QTE_CDE
52
26
18/02/2021
53
54
27
18/02/2021
Chapitre 4 :
Normalisation
55
Elément de contenu
Qu’est ce que la normalisation
Les dépendances
Les dépendances fonctionnelles
Propriétés des dépendances fonctionnelles
Dépendances fonctionnelles élémentaires
Dépendances fonctionnelles directes
Le processus de normalisation
1ère forme normale (1FN)
2ème forme normale (2FN)
3ème forme normale (3FN)
Forme normale de BOYCE-CODD (BCNF)
56
28
18/02/2021
57
Les dépendances
58
29
18/02/2021
Dépendances fonctionnelles
59
Dépendances fonctionnelles
Remarques:
Si un attribut ou groupe d'attributs d'une relation R détermine par la
dépendance fonctionnelle tous les autres attributs de la même relation, on
dit que cet attribut (ou groupe d'attributs) constitue la clé de la relation (par
convention la clé est toujours soulignée).
Une clé A est dite clé candidate de la relation R, si et seulement si,∀ B un
attribut de R différent de A, B dépend fonctionnellement de A on a : AB et
il n'existe aucun sous attribut B'⊂ B qui peut dépendre fonctionnellement
d'un sous attribut A'⊂ A.
A ⊃A' B'⊂ B
Une clé A est dite clé primaire si et seulement si A est une clé candidate
de R et toutes les valeurs de A sont définies (A ne contient pas de valeurs
nulles).
60
30
18/02/2021
61 Cours BD
© M. TURKI (2020 / 2021)
61
62
31
18/02/2021
63
Exemples :
numCommande, codeArticle QteComArt : est élémentaire.
64
32
18/02/2021
Exemple :
codeP codTva, tauxTva : n'est pas directe car
codeP codTva et codeTva tauxTva
65
Fermeture transitive
66
33
18/02/2021
Processus de normalisation
67
68
34
18/02/2021
Exemple :
Employé (code, nom, caractéristiques)
E01 X architecte,12/01/2016
E02 Y programmeur,13/04/2018
On constate que les valeurs de l'attribut caractéristiques sont
hétérogènes (appartiennent à plusieurs domaines) donc non
atomiques. Si on les sépare, on obtient :
Employé (code, nom, fonction, date_embauche)
E01 X architecte 12/01/2016
E02 Y programmeur 13/04/2018
69
70
35
18/02/2021
Exemple :
Salarié (cod_s, cod_dip, nom, intitulé_dip, adresse)
Cette relation est en 1FN mais non en 2FN car les DF (cod_s,
cod_dip) nom, intitulé_dip, adresse ne sont pas élémentaires
puisque :
Cod_dipintitulé_dip et cod_s nom, adresse
71
72
36
18/02/2021
Exemple :
Produit (cod_pdt, design, cod_tva, tauxtva)
Cette relation est en 1FN et en 2FN mais non en 3FN car la DF
cod_pdttauxtva n'est pas directe puisque :
cod_pdtcod_tva et cod_tvatauxtva
73
74
37
18/02/2021
75
Application 1
Soit la relation : R (no_vol, jour, no_pilote, no_avion, typ_vol)
no_vol typ_vol
no_pilote no_vol
no_vol, jour no_pilote
no_vol, jour no_avion
Questions :
1. Trouver la fermeture transitive F+.
2. Trouver la clé de la relation.
3. Est-ce que cette relation est en BCNF ? Sinon procéder à sa
décomposition.
Cours BD © M. TURKI (2020 / 2021) 76
76
38