Vous êtes sur la page 1sur 48

Université Hassan 1er

Faculté des Sciences et Techniques

Bases de Données

Pr. Khalid SRAIDI

khalid.sraidi@gmail.com
2021/2022
2022/2023
Plan du cours

Introduction
Introduction
• Rappels et Défitions
Définitions, Modèles du SGBD.

 Conception d’une base de données


• Entité-Association

 Modèle logique de données (Relationnel)


• Du E/A au Modèle relationnel

 Langage de manipulation des données SQL


• Commandes, Fonctions.

2
Motivation

Chapitre 2
Conception d’une base de données

3
Introduction

Chapitre 2
Conception d’une base de données

3
Secteurs d'utilisation des bases de données (1)

Chapitre 2
Conception d’une base de données

3
Secteurs d'utilisation des bases de données (2)

Chapitre 2
Conception d’une base de données

3
Donnée ?

Chapitre 2
Conception d’une base de données

3
Système d'information

Chapitre 2
Conception d’une base de données

3
Chapitre 2
Conception d’une base de données

3
Les supports de stockage de données

Chapitre 2
Conception d’une base de données

3
Le stockage dans les fichiers

Chapitre 2
Conception d’une base de données

3
Les limites de stockage dans les fichiers (1)

Chapitre 2
Conception d’une base de données

3
Les limites de stockage dans les fichiers (2)

Chapitre 2
Conception d’une base de données

3
Base de Données ?

Chapitre 2
Conception d’une base de données

3
Apports de l'approche BD (1)

Chapitre 2
Conception d’une base de données

3
Apports de l'approche BD (2)

Chapitre 2
Conception d’une base de données

3
Objectifs du Chapitre

 Maîtriser les concepts de base du modèle entité association


(entité, association, attribut, etc.)

 Elaborer, à partir d’une description textuelle, un diagramme


entité/association

4
Entité-Association

5
Introduction
 Quand nous construisons directement les tables d’une base de données dans
un logiciel de gestion de bases de données(Oracle, MySQL, PostGre,…), nous
sommes exposés à deux types de problèmes:

• Nous ne savons pas toujours dans quelle table placer certaines colonnes(par exemple l’adresse
de livraison se met dans la table des clients ou dans la table des commandes?);

• Nous ne savons pas prévoir les tables de jonction intermédiaires( par exemple, la table des
interprétations qui est indispensable entre les tables des commandes et la table des produits).

 Il est donc nécessaire de recourir à une étape préliminaire de conception.

6
Phases de conception d’une base de données relationnelle

Analyse du
Système
d’information (esprit
du client) ou à partir
du cahier de charge Conception du Modèle
(s’il existe) Entité/association ou
MCD

Passage du MCD au
MLD Serveur
BDD

Création des Tables


dans le SGBDR à partir
du MLD 7
Phases de conception d’une Base de données relationnelle

 Quatre phases :
 Analyse du problème
 Modèle conceptuel des données (MCD)
 Modèle logique des données (MLD)
 Modèle physique (réalisation dans le SGBD)

8
Modélisation des données ?
 La modélisation des données est l'analyse et la conception
de l'information contenue dans le système d'information.
 afin de représenter la structure de ces informations et de
structurer le stockage et les traitements

9
Modèle Conceptuel de Données
 Modèle Conceptuel de Données (MCD) est une représentation
graphique formalisée avec des entités et associations, qui tente de
représenter et historier les données métier d'un système d'information.

 Ce schéma obéit à quelques conventions graphiques très simples et à


quelques règles de construction ou de normalisation précises.

 Il manipule essentiellement deux concepts : les entités et les


associations

 Il fait partie des modèles conceptuels proposés par la méthode d’analyse


et conception des systèmes d’information française « Merise ».

10
Aperçu sur la méthode Merise

 Merise: Méthode d’Etude et de Réalisation Informatique pour les Systèmes


d’Entreprise.
 Merise est une méthode d’analyse et de conception des Systèmes
d’Information (SI) des entreprises.

 La démarche Merise étudie le Système d’Information d'une entreprise en


procédant à 3 découpages sur 4 niveaux
 3 découpages : communication, traitement et données
 4 niveaux :
• Conceptuel
• Organisationnel
• Logique
• Physique
11
Aperçu sur la méthode Merise

 Les quatre niveaux de description ou niveaux d’abstraction:


 – NIVEAU CONCEPTUEL: Ce qu’il faut faire
• QUOI ?

 – NIVEAU ORGANISATIONNEL: La manière de faire


• QUI ?, QUAND ?, COMBIEN ?, OU ?

 – NIVEAU LOGIQUE: Choix des moyens et ressources


• AVEC QUOI ? QUELS OUTILS ?

 – NIVEAU PHYSIQUE: Les moyens de le faire


• COMMENT ?
12
Méthodologie de Conception

 Face7 à une situation bien définie( soit à travers un énoncé précis, soit à travers
une collection de formulaires ou d’états ou à travers un cahier de charge,…),
vous pouvez suivre cette méthodologie afin de concevoir votre base de données
et établir le modèle Entité/Association:
1. Identifier les entités
2. Lister leurs attributs
3. Choisir un identifiant ou créer un
4. Établir les associations et ajouter leurs attributs s’ils existent
5. Calculer les cardinalités
6. Vérification du modèle
Modèle Conceptuel de Données (Modèle Entité/Association)

 Le modèle entité/association a été proposé au milieu des années 1970 par


le chercheur Chen. Il se base sur un ensemble de symboles graphiques.

 Motivation : les systèmes à base de données n'ont qu'une compréhension


limitée de la signification des données.

 Modèle de données –> décrire la réalité perçue à travers les données mises
en jeu (indépendamment des opérations que l’on effectuera ultérieurement)

 But: fournir des outils et un cadre rigoureux pour l’analyse des données et
de leurs liaisons.

 Concepts de base: entité, association, propriété (attribut) et valeur (et type de


valeur). 14
Le concept d’une entité (objet)

 Approche par l’Exemple

• Le client « client1 » a passé la commande C1 contenant les produits P1 et P2


• Le même client « client1 » a passé la commande C2 contenant les produits P2
et P3
• Le client « client2 » a passé la commande C3 contenant les produits P1 et P2
• Le même client « client2 » a passé la commande C4 contenant les produits P2
et P3
• La commande C1 a donné lieu à la facture F1
• La commande C2 a donné lieu à la facture F2
• La commande C3 a donné lieu à la facture F3
• La commande C4 a donné lieu à la facture F4
15
Le concept d’une entité (objet)

 Approche par l’Exemple

 4 ensembles (Client; Commande; Produit et Facture) Appelés ENTITES


16
Entité
 Définition
• On appelle entité un objet concret ou abstrait ayant une existence
propre présentant un intérêt particulier pour les informations à
modéliser
• Une entité forme un tout qui regroupe des occurrences de même
nature.
• Toutes les occurrences d'une entité sont décrites par un ensemble
de propriétés dont les valeurs changent d'une occurrence à l'autre.

 Exemple:
• Elles représentent soit une personne physique (les professeurs, les
étudiants….), soit une personne morale (les entreprises,…), soit une
chose (les compétences, les types de stage, les promos,..), soit des
événements (les stages,..).
17
Entité
 Représentation:
• Elle est représentée tout simplement par un rectangle composé de deux
compartiments le premier compartiment indique le nom de l’entité et le
deuxième compartiment contient la liste de toutes ses propriétés ou
attributs.
• Une entité possède au moins une propriété( qui est son identifiant)
 Exemple:

18
Attribut/propriété
 Définition:
• Donnée élémentaire permettant de décrire une entité ou une association.
 Exemple:
• Référence, libellé et prix unitaire se sont des attributs de l’entité produit.
• CNE, nom et prénom se sont des attributs de l’entité Etudiant.
 Un attribut a un nom et un type de données dont ses valeurs doivent le
respecter.
 L’entité et ses attributs doivent traiter qu’un seul sujet afin d’assurer une certaine
cohérence du modèle.
 Exemple:

19
Identifiant ou Clé

 Définition
• Identifiant ou Clé est un attribut qui permet d'identifier à coup et de façon
unique une occurrence de l’entité.
 Le plus souvent c'est un numéro, un code, une référence etc.
 Toute entité doit avoir un identifiant, en principe celui-ci est stable, c'est à dire
que sa valeur pour une occurrence donnée ne change pas.
 Par construction il apparaît en tête des propriétés et il est souligné.

 Exemple:

20
Type d’identifiants ou Clés
 clé candidate: un ensemble minimal d’attributs qui identifie de façon unique
une occurrence d’entité
 clé primaire: une clé candidate choisie pour identifier de façon unique chaque
occurrence d’entité
 clé composée: une clé candidate composée de deux ou plusieurs attributs

 Exemple: dans la relation département, nom_d est une clé candidate


(à condition qu'il n'y ait jamais 2 département de même nom)
21
Association
 Définition
• Association est une liaison entre entités qui a une signification précise.
• Il est judicieux de nommer les associations par un verbe à l'infinitif car il y
a toujours plusieurs sens de lecture.
• La plupart des associations sont binaires, c'est à dire qu'elles relient deux
entités.
• Une association peut avoir des attributs (propriétés)
• Elle peut relier plusieurs entités ensemble

 Exemple:
• Effectuer associe étudiant et stage :
un stage est effectué par un étudiant et ce dernier peut effectuer plusieurs
stages : les deux sens de lecture sont chacun porteur de sens.

22
Association: Représentation
 Une association est représentée par un ellipse qui porte son nom (souvent un
verbe à l’infinitif)
 Une association peut aussi contenir des attributs (dite association porteuse)
 Exemple:

23
Types d’association

 Association binaire: liaison entre deux entités seulement.

 Association plurielles: Elle relie plusieurs entités à la fois, (une


association peut être ternaire, voire quaternaire, au delà c'est
beaucoup plus rare…)

 Association réflexive: lie l’entité à elle même

24
Types d’association
 Exemple d’association binaire:

 Exemple

25
Types d’association
 Exemple d’association plurielles(ternaire):

 Exemple
r

26
Types d’association
 Exemple d’association réflexive:

 Exemple

27
Cardinalité
 Combien de voitures minimum une personne peut-elle posséder ?
 Combien de voitures maximum une personne peut-elle posséder ?

La cardinalité d’un lien entre une entité et une association précise le minimum et
le maximum de fois qu’une occurrence de l’entité peut être concerné par
l’association.

28
Cardinalité

 La cardinalité d’une relation est une étape essentielle de la démarche de


conception de base de donnée.
 La cardinalité d’une entité par rapport à une association s’exprime par
deux nombres appelés cardinalité minimale et cardinalité maximale.
 La cardinalité minimale prend les valeurs 0 ou 1
 La cardinalité maximale prend les valeurs 1 ou n

Cardinalités (4 possiblités)
• 0,1 : au moins zéro, au plus 1
• 0,n : au moins zéro, au plus n
• 1,1 : au moins 1, au plus 1
• 1,n : au moins 1, au plus n
29
Cardinalité
 Cardinalités (4 configurations possibles)

30
Cardinalité
 Méthode pour définir les cardinalités:
• Pour calculer la cardinalité, SE POSITIONNER sur l'entité concernée et
regarder EN FACE combien de fois l'une de ses occurrences participe à
l'association.
• Puis se DEPLACER du côté de l'autre entité et faire la même chose dans
l'autre sens.
 Exemple

Concerner

31
Cardinalité
 Exemple 1:
 un client a au moins acheté un produit et peut acheter n produits (n étant
indéterminé), tandis qu’un produit peut avoir été acheté entre 0 et N fois
(même si ce n’est pas le même N que précédemment).

 Un client achète un ou plusieurs produits.


 Un produit est acheté par aucun ou plusieurs client.
32
Cardinalité
 Exemple 2:
 Reprenons l’exemple précédent et essayons de déterminer les cardinalités.

 Un client passe au minimum une commande donc la cardinalité est égale à


1.N. Par contre, une commande n’est passée que par un seul client d’où la
cardinalité 1.1.

33
Cardinalité
 Exemple 3:
 Côté étudiants, la question est : « un étudiant peut être inscrit à combien
de filière? »
 Côté filières, la question est: « une filière peut avoir l’inscription de
combien d’étudiants ? »

34
Cardinalité
 Exemple 4:

35

Vous aimerez peut-être aussi