Base de Donnees - Suite
Base de Donnees - Suite
Base de Donnees - Suite
DONNEES
2022-2023
PlanBASES DES DONNEES
INTRODUCTION AUX
Le processus de la Modélisation
Le processus de la Normalisation
Le modèle Relationnel
Introduction à SQL
2
INTRODUCTION AUX BASES DES DONNEES
BASE DE DONNEES
Définition:
Une base de donnés est un ensemble structuré de données, organisées à l’aide
d’un formalisme. Elle représente les informations nécessaires au
fonctionnement d’une entreprise.
Les données peuvent être exploiter par des différentes niveaux d’utilisateurs.
De plus, généralement la base de données est couplée au réseau afin de
pouvoir mettre en commun les informations.
4
INTRODUCTION AUX BASES DES DONNEES
SYSTÈME DE GESTION DE BASE DE DONNEES (SGBD):
Architecture d’un SGBD:
5
INTRODUCTION AUX BASES DES DONNEES
SYSTÈME DE GESTION DE BASE DE DONNEES (SGBD):
Architecture d’un SGBD:
6
INTRODUCTION AUX BASES DES DONNEES
OBJECTIFS ET ET AVANTAGES DU SGBD:
Ces principaux objectifs et Avantages:
7
INTRODUCTION AUX BASES DES DONNEES
FONCTIONS DES SGBD:
Un SGBD permet:
Description des données
Un SGBD offre le langage de description de données (LDD) pour créer une base de
données, et les Entités.
8
INTRODUCTION AUX BASES DES DONNEES
FONCTIONS DES SGBD:
D'autres commandes sont nécessaires pour créer le schéma interne.
9
INTRODUCTION AUX BASES DES DONNEES
FONCTIONS DES SGBD:
Mise à jours des données
Le concept de mise à jour intègre à la fois l'insertion de données dans la base, la
modification de données et la suppression de données.
10
INTRODUCTION AUX BASES DES DONNEES
FONCTIONS DES SGBD:
Mise à jours des données
La modification de données s'effectue en général par recherche des données à
modifier à l'aide d'une qualification, puis par renvoi dans la base des données
modifiées.
La commande peut être du style suivant :
11
INTRODUCTION AUX BASES DES DONNEES
FONCTIONS DES SGBD:
Mise à jours des données
Il est aussi possible de supprimer des tuples d'une base de données par la
commande très simple :
12
INTRODUCTION AUX BASES DES DONNEES
FONCTIONS DES SGBD:
L’interrogation des données
Un SGBD offre un langage d'interrogation permettant de retrouver les données par
le contenu sans préciser la procédure d'accès.
Exemple: Voici quelques questions simples afin d'illustrer les capacités
minimales d'un SGBD.
(Q2) Rechercher les Crus et les Millésime des vins de qualité Excellente:
13
INTRODUCTION AUX BASES DES DONNEES
FONCTIONS DES SGBD:
Contrôle de l’intégrité des données
On appelle contrainte d'intégrité toute règle implicite ou explicite que doivent suivre
les données, spécifiant les valeurs permises pour certaines données. permettant
d'assurer une certaine cohérence de la base de données/et Evite la redondance.
Par Exemples :
contrainte d'unicité de clé: Chaque entité doit posséder un identifiant unique
contrainte de domaine: Il est même possible de préciser le domaine de variation
permis pour un attribut
14
MODELISATION D’UNE BASE DE DONNEES
MODELE CONCEPTUEL DE DONNEES (MCD):
Qu’est ce qu’une formalisme Entité-Association ?
Qu’est ce qu’une Entité ?
Qu’est ce qu’une relation ?
Qu’est ce qu’une propriété ?
Qu’est ce qu’une occurrence ?
Qu’est ce qu’un identifiant ?
15
MODELISATION D’UNE BASE DE DONNEES
MODELE CONCEPTUEL DE DONNEES (MCD):
Qu’est ce qu’une formalisme Entité-Association ?
C’est un modèle abstrait de la Méthode Merise permettant de représenter
l’information graphiquement aux différentes service de l’entreprise.
Entité Propriété
Relation
Personne Logement
CIN 1;n 0;n Adresse
Nom Habité Type
Prénom Surface
Age
Cardinalité 16
MODELISATION D’UNE BASE DE DONNEES
MODELE CONCEPTUEL DE DONNEES (MCD):
Qu’est ce qu’une Entité ?
Une entité est une modélisation d’objet concrets ou abstrait utilisée dans
le système. Constituée par une population d'individus homogène.
Elle est représentée graphiquement généralement par un tableau à 2
lignes, et dans la 1ére colonne et dans la 1ère ligne on met le nom de
l’entité.
Exemple:
Personne Voiture Voyage
17
MODELISATION D’UNE BASE DE DONNEES
MODELE CONCEPTUEL DE DONNEES (MCD):
Qu’est ce qu’une Entité ?
Exemple: Le Client Rajao a passé sa commande hier soir.
Client Commande
18
MODELISATION D’UNE BASE DE DONNEES
MODELE CONCEPTUEL DE DONNEES (MCD):
Qu’est ce qu’une Relation ?
La relation modélise l’association entre les entités. Elle a une
signification précise entre plusieurs entités.
Donc, la liaison entre les entités ne sont pas directes
Entité 1 Entité 2
1;n Nom de la 0;n
relation
19
MODELISATION D’UNE BASE DE DONNEES
MODELE CONCEPTUEL DE DONNEES (MCD):
Qu’est ce qu’une Relation?
Exemple: Le Client Rajao a passé sa commande le mois de
Juillet.
Client Commande
1;n 0;n
Passer
20
MODELISATION D’UNE BASE DE DONNEES
MODELE CONCEPTUEL DE DONNEES (MCD):
Qu’est ce qu’une Propriété?
Une propriété est une modélisation d’une caractéristique d’un objets
(Entité). Elle est rattachée a une entité ou à une relation.
Elle est unique dans un modèle conceptuel de données et ne peut être
rattachée qu’a un seul concept (Entité/ ou relation).
-BERIZIKY
-Mario
- 26
22
MODELISATION D’UNE BASE DE DONNEES
MODELE CONCEPTUEL DE DONNEES (MCD):
Qu’est ce qu’un identifiant ?
Un identifiant est une ou plusieurs propriété permettant de distinguer
d’une manière unique les occurrences d’une entité (Objets) .
Exemple: Soit l’entité suivante
Entité Occurrences
-401 011 233
Personne
-RAKOTO
-N°CIN -Fréderic
-Nom Identifiant -28
-Prénom -401 011 100
-Ages -RANDRIA
-William
- 30
NB: - Une entité possède au moins un Identifiant 23
- Par convention, on souligne l’identifiant.
- Dans certaine cas, on peut avoir une combinaison de plusieurs propriété.
MODELISATION D’UNE BASE DE DONNEES
MODELE CONCEPTUEL DE DONNEES (MCD):
Qu’est ce qu’un identifiant ? Occurrences
Exemple: Soit l’entité suivante
Entité -8461ME
-PIAGGIO
-JAUNE
Vehicule
Identifiant -7221MF
-N°Immatriculation -TOYOTA
-Marque -NOIR
-8050ME
-Couleur -PIAGGIO
-JAUNE
Fournisseur Produits
- 1;n 0;n -
- Livrer
-
-
25
MODELISATION D’UNE BASE DE DONNEES
MODELE CONCEPTUEL DE DONNEES (MCD):
Variété des relations:
Cas d’une relation avec trois Entités:
Exemple: Soit l’expression suivante, qui fait participer trois Entités.
- Le client achète des produits dans un magasin.
Client Produits
- 1;n 0;n -
- Acheter
-
-
Magasin
-
-
26
MODELISATION D’UNE BASE DE DONNEES
MODELE CONCEPTUEL DE DONNEES (MCD):
Variété des relations:
Cas d’une relation avec une Entité:
Exemple: Soit l’expression suivante, qui fait participer une Entité.
- Une personne est père d’une autre personne.
Personne
-
Est père
-
27
MODELISATION D’UNE BASE DE DONNEES
MODELE CONCEPTUEL DE DONNEES (MCD):
Dimension d’une relation:
La dimension d’une relation c’est le nombre d’entités qui participent à
une relation.
Donc, une relation peut être de dimensions 1, 2, 3 ou plus.
28
MODELISATION D’UNE BASE DE DONNEES
MODELE CONCEPTUEL DE DONNEES (MCD):
Plusieurs relations peuvent partager les mêmes Entités:
Personne Logement
1;n Possède
0;n
- -
- -
- Habite
29
MODELISATION D’UNE BASE DE DONNEES
MODELE CONCEPTUEL DE DONNEES (MCD):
QU’EST CE QUE LA CARDINALITÉ ?
Entité
Min, max
Relation
30
MODELISATION D’UNE BASE DE DONNEES
MODELE CONCEPTUEL DE DONNEES (MCD):
QU’EST CE QUE LA CARDINALITÉ ?
Personne Cours
Code Min, max Min, max Code_Cours
S’inscrire
Nom Titre_Cours
Email
001
Base de données
100
RAKOTO
[email protected]
001
Algèbre
101
BEJOMA
[email protected]
002
Economie
32
MODELISATION D’UNE BASE DE DONNEES
MODELE CONCEPTUEL DE DONNEES (MCD):
Occurrences de l’entité personne Occurrences de l’entité cours
001
100
Base de données
RAKOTO
[email protected]
001
Algèbre
101
BEJOMA
[email protected] 002
Economie
33
MODELISATION D’UNE BASE DE DONNEES
MODELE CONCEPTUEL DE DONNEES (MCD):
QU’EST CE QUE LA CARDINALITÉ ?
Personne Cours
Code 1, n 0, n Code_Cours
S’inscrire
Nom Titre_Cours
Email
34
MODELISATION D’UNE BASE DE DONNEES
MODELE CONCEPTUEL DE DONNEES (MCD):
Typologies des associations binaires:
Association de type 1-1 (one-to-one):
E1 E2
x, 1 y, 1
R
35
MODELISATION D’UNE BASE DE DONNEES
MODELE CONCEPTUEL DE DONNEES (MCD):
Typologies des associations binaires:
Association de type 1-1 (one-to-one):
E1 E2
0, 1 1, 1
R
e1 e2
e1 e2
e1 e2
e1
36
MODELISATION D’UNE BASE DE DONNEES
MODELE CONCEPTUEL DE DONNEES (MCD):
Typologies des associations binaires:
Association de type 1-1 (one-to-many):
E1 E2
1, 1 0, n
R
e1 e2
e1 e2
e1 e2
e1 e1
37
MODELISATION D’UNE BASE DE DONNEES
MODELE CONCEPTUEL DE DONNEES (MCD):
Typologies des associations binaires:
Association de type n-m (many-to-many):
E1 E2
1, n 0, m
R
e1 e2
e1 e2
e1 e2
e1 e1
38
MODELISATION D’UNE BASE DE DONNEES
MODELE CONCEPTUEL DE DONNEES (MCD):
39
MODELISATION D’UNE BASE DE DONNEES
MODELE CONCEPTUEL DE DONNEES (MCD):
Les Règles et Normalisations:
La mise au propre du Modèle Conceptuel de Données (MCD) passe par la
normalisation.
La normalisation est un processus de décomposition d’une table universelle
en plusieurs tables qui sont dépourvu de redondances et d’incoherences.
41
MODELISATION D’UNE BASE DE DONNEES
MODELE CONCEPTUEL DE DONNEES (MCD):
R2: Normalisation des noms:
Le nom d’une entité, d’une association ou d’un attribut doit être unique.
42
MODELISATION D’UNE BASE DE DONNEES
MODELE CONCEPTUEL DE DONNEES (MCD):
R3: Normalisation des identifiants:
43
MODELISATION D’UNE BASE DE DONNEES
MODELE CONCEPTUEL DE DONNEES (MCD):
R4: Normalisation des attributs:
a) Attributs d’une entité:
normalisation
Fig.1
Fig.2
44
MODELISATION D’UNE BASE DE DONNEES
MODELE CONCEPTUEL DE DONNEES (MCD):
R4: Normalisation des attributs:
a) Attributs d’une association:
Les attributs d’une association doivent dépendre directement des
identifiants de toutes les entités en associations.
Fig. 1
45
MODELISATION D’UNE BASE DE DONNEES
MODELE CONCEPTUEL DE DONNEES (MCD):
R5: Normalisation des associations:
il faut éliminer:
- les associations fantômes (fig1),
- les associations redondantes ou en plusieurs exemplaires (fig2).
Fig. 2
46
MODELISATION D’UNE BASE DE DONNEES
MODELE CONCEPTUEL DE DONNEES (MCD):
R6: Normalisation des cardinalités:
une cardinalité minimale vaut 0 ou 1 (pas 2, 3 ou n) et une cardinalité
maximale est toujours 1 ou n (pas 2,3…)
- Si une cardinalité maximale est connue (>1) il faut la considérer comme n
- On ne peut pas modéliser une cardinalité minimale qui vaut >1
- Si une cardinalité maximale vaut 0 alors l’association n’aurait aucune
signification.
47
MODELISATION D’UNE BASE DE DONNEES
MODELE CONCEPTUEL DE DONNEES (MCD):
R7: Première Forme Normale (1FN):
Définition:
- Une table est en 1FN si tout les attributs sont en DF avec la clé de cette
table.
- Si un attribut de cette table prend plusieurs valeurs alors ces valeurs doivent
faire l’objet d’une entité supplémentaire, en association avec la première
La 1FN c’ est le premier point de départ vers les autres formes normales.
Une table satisfait à la 1FN si les valeurs de ses attributs sont constitués
des valeurs atomique.
La 1FN exige que chaque valeurs d’un attribut soit atomique.
Un attribut atomique est celui ayant une seule valeur
Un attribut non atomique est celui ayant plusieurs valeurs
50
MODELISATION D’UNE BASE DE DONNEES
MODELE CONCEPTUEL DE DONNEES (MCD):
R7: Première Forme Normale (1FN):
52
MODELISATION D’UNE BASE DE DONNEES
MODELE CONCEPTUEL DE DONNEES (MCD):
R8: Deuxième Forme Normale (2FN):
Condition pour passer à la 2FN:
Cette normalisation exige que les tables (ou les entités) soient en 1FN,
La 2FN ne concerne que les tables (ou Entités) à clé primaire (identifiants)
composées. (Composée de plusieurs attributs)
La règle impose que les attributs non-clé primaire (non identifiant)
dépendent de la totalité de la clé primaire.
Exemple: soit la table article commande suivante
N°Commande
N°Article
Designation
QtteCommandé 53
MODELISATION D’UNE BASE DE DONNEES
MODELE CONCEPTUEL DE DONNEES (MCD):
R8: Deuxième Forme Normale (2FN):
Cette table (entité) est en 1FN, car les attributs sont atomiques
Cette table (Entité) a une clé primaire (identifiants) composée.
N°Commande
N°Article
Designation
QtteCommandé
54
MODELISATION D’UNE BASE DE DONNEES
MODELE CONCEPTUEL DE DONNEES (MCD):
R9: Troisième Forme Normale (3FN):
Définition:
- Une table est en 3FN si elle est déjà en 2FN
- Touts les attributs doivent dépendre directement de l’identifiant mais pas et
d’aucun autre attribut. Si ce n’est pas le cas il faut placer une entité séparé
mais en association avec la première.
55
MODELISATION D’UNE BASE DE DONNEES
MODELE LOGIQUE DE DONNEES (MLD):
PASSAGE AU MODELE LOGIQUE DE DONNEES
56
MODELISATION D’UNE BASE DE DONNEES
MODELE LOGIQUE DE DONNEES (MLD):
PASSAGE AU MODELE LOGIQUE DE DONNEES
57
MODELISATION D’UNE BASE DE DONNEES
MODELE LOGIQUE DE DONNEES (MLD):
PASSAGE DU MCD au MLD-R (RELATIONNELLE)
MCD
NIVEAU CONCEPTUEL En Formalisme « Entité-Rélation »
ENSEMBLE DE REGLES
MLD
NIVEAU LOGIQUE
En Formalisme « MERISE »
58
MODELISATION D’UNE BASE DE DONNEES
MODELE LOGIQUE DE DONNEES (MLD):
PASSAGE DU MCD au MLD-R (RELATIONNELLE)
Transformation des entités:
Toute entité est transformée en table. Les propriétés de l'entité
deviennent les attributs de la table. L'identifiant de l'entité devient
la clé primaire de la table.
59
MODELISATION D’UNE BASE DE DONNEES
MODELE LOGIQUE DE DONNEES (MLD):
PASSAGE DU MCD au MLD-R (RELATIONNELLE)
Cet attribut est appelé clé étrangère. Les deux tables sont liées par
une flèche nommée selon la relation, qui pointe de la table à clé
étrangère vers la table qui contient la clé primaire correspondante.
60
MODELISATION D’UNE BASE DE DONNEES
MODELE LOGIQUE DE DONNEES (MLD):
PASSAGE DU MCD au MLD-R (RELATIONNELLE)
61
MODELISATION D’UNE BASE DE DONNEES
MODELE LOGIQUE DE DONNEES (MLD):
PASSAGE DU MCD au MLD-R (RELATIONNELLE)
Transformation des relations binaires du type (x,1) – (x,1):
Nous devons distinguer plusieurs cas. Sachant qu'une relation
binaire du type (1,1)-(1,1) ne doit pas exister il nous reste les 2
cas suivants:
- Relation binaire (0,1)-(1,1)
- Relation binaire (0,1)-(0,1)
62
MODELISATION D’UNE BASE DE DONNEES
MODELE LOGIQUE DE DONNEES (MLD):
PASSAGE DU MCD au MLD-R (RELATIONNELLE)
Transformation des relations binaires du type (x,1) – (x,1):
63
MODELISATION D’UNE BASE DE DONNEES
MODELE LOGIQUE DE DONNEES (MLD):
PASSAGE DU MCD au MLD-R (RELATIONNELLE)
Transformation des relations binaires du type (x,1) – (x,1):
64
MODELISATION D’UNE BASE DE DONNEES
MODELE LOGIQUE DE DONNEES (MLD):
PASSAGE DU MCD au MLD-R (RELATIONNELLE)
Transformation des relations binaires du type (x,1) – (x,1):
Relation binaire (0,1)-(0,1)
65
MODELISATION D’UNE BASE DE DONNEES
MODELE LOGIQUE DE DONNEES (MLD):
PASSAGE DU MCD au MLD-R (RELATIONNELLE)
Transformation des relations binaires du type (x,n) – (x,n):
On duplique la clé d'une des tables dans l'autre. Lorsque la
relation contient elle-même des propriétés, celles-ci deviennent
également attributs de la table dans laquelle a été ajoutée la clé
étrangère
On crée une table Porter, qui contient comme clé primaire une clé
composée de No-Commande et Code_Article. Elle contient également
la propriété Quantité issue de la relation Porter
66
MODELISATION D’UNE BASE DE DONNEES
MODELE LOGIQUE DE DONNEES (MLD):
PASSAGE DU MCD au MLD-R (RELATIONNELLE)
Transformation des relations ternaires:
On crée une table supplémentaire ayant comme clé primaire une clé
composée des clés primaires de toutes les tables reliées.
67
MODELISATION D’UNE BASE DE DONNEES
MODELE LOGIQUE DE DONNEES (MLD):
PASSAGE DU MCD au MLD-R (RELATIONNELLE)
Transformation des relations ternaires:
68
MODELISATION D’UNE BASE DE DONNEES
MODELE LOGIQUE DE DONNEES (MLD):
PASSAGE DU MCD au MLD-R (RELATIONNELLE)
69
MODELISATION D’UNE BASE DE DONNEES
MODELE LOGIQUE DE DONNEES (MLD):
PASSAGE DU MCD au MLD-R (RELATIONNELLE)
73
MODELISATION D’UNE BASE DE DONNEES
EXERCICES D’APPLICATION:
Information complémentaire:
74
MODELISATION D’UNE BASE DE DONNEES
EXERCICES D’APPLICATION:
1) N° Immatriculation 18) Lieu prise possession
2) N° Série 19) Heure prise possession
3) Marque 20) Date remise
21) Lieu remise
4) Modèle
22) Heure remise
5) Année
23) Nombre de jours de location
6) N° Tarif 24) Kilométrages parcouru
7) Tarif horaire 25) Montant facturé
8) Tarif Hebdomadaire
9) N° du client
10) Nom du client
11) Adresse client
12) Téléphone client
13) N° permis de conduire
14) Province permis
15) Pays permis
16) N° contrat de location
17) Date contrat
75
MODELISATION D’UNE BASE DE DONNEES
EXERCICES D’APPLICATION:
Soit l’ordonnance suivante:
Faire le modèle conceptuel de données relatives,
- Elaborer la liste d’information
à partir de l’ordonnance
77
MODELISATION D’UNE BASE DE DONNEES
1) LE DICTIONNAIRE DE DONNEES:
Définition:
C’est le document qui regroupe toutes les données que vous aurez à
conserver votre base (et qui figureront dans le MCD).
Pour chaque donnée, il indique:
Le code mnémonique: il s’agit d’un libellé désignant une donnée (par
exemple: « titre_l » pour le titre d’un livre)
78
MODELISATION D’UNE BASE DE DONNEES
1) LE DICTIONNAIRE DE DONNEES:
Définition:
Le type et taille de données:
Date: lorsque la donnée est une date
Booléen: vrai ou faux
79
80