• Aucun résultat trouvé

(1)Cours de Bases de données Le Système d’Information Le MCD (Modèle Conceptuel de Données)

N/A
N/A
Protected

Academic year: 2022

Partager "(1)Cours de Bases de données Le Système d’Information Le MCD (Modèle Conceptuel de Données)"

Copied!
56
0
0

Texte intégral

(1)

Cours de Bases de données

Le Système d’Information

Le MCD (Modèle Conceptuel de Données).

Ph. CHOCHOIS

(2)

A quoi sert une base de données ?

Une base de données a pour objet de mémoriser des informations en grande quantité.

Les bases de données

(3)

Où trouve t-on des bases de données ? Partout ! (ou presque)

Moteurs de recherche : Google, Qwant, Bing Réseaux sociaux : Facebook, Twitter, WhatsApp Audiovisuel : Spotify, YouTube, Netflix, IMDb Photo : Picasa, Instagram, Flickr

Commerce : Amazon, eBay

Administrations: Mairies, Trésor public…

Voyage : Expedia, Trip advisor, AirBnB Encyclopédies : Wikipedia, DBpedia

Données scientifiques : GenBank, MEDLINE

Sociétés en entreprises: Banques, Constructeurs automobiles…

Les bases de données

(4)

Sollicitation des bases de données ?

Les bases de données

(5)

Problématique des bases de données:

Volume : gestion d’une importante quantité de données

Performance : rapidité du traitement des données (lecture, écriture)

Fiabilité : cohérence et pertinence des données dans le temps

Sécurité : protection contre la fuite de données, reprise sur panne

Partage : données distribuées, gestion d’accès concurrents

Indépendance : implémentation physique séparée du schéma logique

Les bases de données

(6)

Système de gestion de bases de données:

Un SGBD est un ensemble de logiciels permettant la création, la maintenance et la maintenance des bases de données

Fonctions d’un SGBD:

Représentation abstraite de la structure des données Description et vérification des contraintes sur les données

Manipulation des données, recherche, lecture, écriture Réorganisation virtuelle (vue) des données

Gestion de la concurrence et reprise sur panne

Organisation et gestion des données sur la mémoire physique

Les SGBD (Systèmes de Gestion de bases de données)

DBMS: Database Management Systems

(7)

Utilisateur:

Accès aux données par des interfaces applicatives spécifiques ou des requêtes (utilisateur confirmé)

Développeur:

Traduction des besoins de l’utilisateur en un schéma conceptuel

Définition du schéma logique et des vues

Conception et implémentation des applications utilisant la base de données

Administrateur:

Gestion du schéma physique et des performances Organisation physique et chargement des données Gestion de la sécurité et de la fiabilité

Utilisateurs d’une base de données

(8)

Cahier des charges:

Ce que doit contenir et gérer la base de données: Besoin des utilisateurs et fonctionnalités attendues

Etapes de développement d’une base de données

Modélisation:

Conception d’une base de données répondant aux besoins:

Modèle conceptuel (ou schéma Entités-Associations), Modèle logique (ou schéma relationnel)

Implémentation:

Organisation physique de la base de données: Optimisation, indexation, sécurisation, développement d’applications

(9)

Le cahier des charges est rédigé par la maîtrise d’ouvrage (MOA).

Etapes de développement d’une base de données

La conception d’une base de données est géré par les analystes (éventuellement avec l’assistance d’un DBA)

Implémentation:

L’optimisation, l’indexation, la sécurisation est géré par le DBA (Data Base Administrator).

Le développement d’applications est effectué par les

(10)

Etapes de développement d’une base de données

La conception d’une base de données est géré par les analystes (éventuellement avec l’assistance d’un DBA)

Cette étape est primordiale pour le fonctionnement efficace et efficient de la base de données. Il s’agit de comprendre et recenser les informations du cahier des charges pour les

organiser de façon cohérente.

L’ensemble des informations constitue le Système d’Information de l’organisation pour laquelle la base données doit être implémentée.

(11)

Un « système » est un tout constitué d’éléments unis par des relations.

L’entreprise peut être vue comme un système, composé de concepts ou

d’éléments tels que des « employés », des

« services », des « produits », etc.

Entre ces éléments, on trouve des relations, telles la relation « est rattaché » entre un

employé et son service.

Le Système d’Information

(12)

Le système d’information

Le système d’information d’une entreprise est l’ensemble des informations qui y

circulent ainsi que l’ensemble des moyens mis en oeuvre pour les gérer.

L’objectif d’un système d’information est de restituer l’information à la personne

concernée, sous la forme appropriée et en temps opportun pour prendre une décision ou effectuer un travail.

Le Système d’Information

(13)

Les fonctions du système d’information

1- Recueillir l’information (saisie )

2- Mémoriser l’information (stockage dans des fichiers ou bases de données)

Base de données: Ensemble de données structurées et

intercorrélées, enregistrées avec un minimum de redondance et pouvant être traitées par une ou plusieurs applications

informatiques de façon optimale.

3- Exploiter l’information (traitement)

a. Organiser b. Mettre à jour

c. Produire de nouvelles informations par des calculs

4- Diffuser l’information (consultation, édition, envoi)

Le Système d’Information

(14)

Le modèle :

Un modèle peut être défini comme étant une image de la réalité. Toute réalité complexe a besoin d’être représentée pour être comprise et maîtrisée.

Un modèle doit permettre de communiquer sans ambiguïté. Donc il faut utiliser un

formalisme normalisé.

La modélisation du Système d’Information

(15)

Merise est une méthode qui permet de construire un système d’information automatisé qui soit efficace, flexible et adapté à l’entreprise. C’est une méthode complète et complexe née en 1976 suite à un projet du Ministère de l’Industrie. Elle avait pour but de réduire le risque d’échec dans la réalisation de projets informatiques

Pour représenter et modéliser les données, nous allons utiliser le formalisme de la méthode Merise.

La modélisation du Système d’Information

(16)

La démarche Merise :

1- Approche globale du SI (Schéma directeur) 2- Etude des différentes solutions possibles puis choix (Etude préalable)

3- Spécifications fonctionnelles détaillées 4- Spécifications techniques complètes 5- Écriture des programmes (Réalisation)

6- Tests, essais, formation utilisateur et mise en oeuvre

7- Corrections et adaptations du logiciel (Maintenance)

La modélisation du Système d’Information

(17)

Les niveaux d’abstraction

Merise (dans sa version initiale) préconise de séparer l’étude des données et les traitements.

Chaque modèle de Merise concerne soit les données, soit les traitements, à un niveau d’abstraction donné.

NIVEAU DONNEES TRAITEMENTS

Conceptuel MCD

Modèle Conceptuel des données

MCT

Modèle Conceptuel des Traitements

Organisationnel MLD

Modèle logique des données

MOT

Modèle Organisationnel des Traitements

Physique MPD

Modèle physique des données

MOPT

Modèle Opérationnel des Traitements

La modélisation du Système d’Information

(18)

Objet du MCD

Représenter l’ensemble des informations à prendre en compte dans une organisation Respecter un certain formalisme :

modèle entité / association

Obtenir un résultat indépendant de considérations techniques ou

organisationnelles

Le modèle conceptuel de données : Rôle

(19)

Le modèle conceptuel de données : Exemple

Extrait du MCD d'une vidéothèque:

Donnez des exemples…

VOCABULAIRE ASSOCIE : - Entités : ACTEUR, FILM - Identifiants : numA, numF

- Propriétés : nomA, prenomA, … - Associations : JOUE

- Cardinalités : 1,n 0,n 1,1 …

1,n 1,n ACTEUR

NumA NomA PrenomA NationaliteA

FILM numF titreF dureeF JOUE

(20)

Définition d’une entité

Elle permet de modéliser un ensemble d'objets concrets ou abstraits de même nature.

L’entité est décrite par des propriétés parmi lesquelles on trouve obligatoirement son identifiant.

A ne pas confondre avec les occurrences !

Les éléments d’une entité sont des occurrences.

Chaque occurrence est dotée des mêmes propriétés mais se différencie par ses valeurs.

Le modèle conceptuel de données: Les entités

(21)

Le modèle conceptuel de données: Les propriétés

Définition d’une propriété:

Une propriété correspond à une information. Elle permet de caractériser une entité ( ou association). Elle est décrite par un nom, un type et au besoin une désignation.

A ne pas confondre avec les valeurs. nomA est une propriété, « Depardieu » est une valeur.

Définition de l’identifiant:

L’identifiant d’une entité est une propriété de l’entité qui permet d’identifier sans ambiguïté chaque occurrence de l’entité. L’identifiant est souvent un numéro.

(22)

Règles concernant les entités

Règle de pertinence : seuls les objets ayant un intérêt doivent être représentés

Règle de caractérisation : les entités sont décrites par des propriétés.

Règle d’identification : toute entité doit être dotée d’un identifiant.

Règle d’homogénéité : toute propriété concerne toutes les occurrences de l’entité.

Règle d’atomicité : une propriété doit être élémentaire (ou atomique). Elle ne doit pas servir à stocker plus d’une valeur.

Une propriété ne doit pas être calculée à partir d’une autre propriété.

Le modèle conceptuel de données: Les entités

(23)

Le modèle conceptuel de données: Les entités

Comment définir une entité

1) Faire l’inventaire de toutes les propriétés

2) Vérifier les propriétés

3) Regrouper les propriétés en entités

(24)

Le modèle conceptuel de données: Les entités

Comment définir une entité

1) Faire l’inventaire de toutes les propriétés

Dictionnaire des données : Il reprend l’ensemble des données sous forme de tableau récapitulatif en indiquant:

Un code mnémonique de la propriété Le libellé de la propriété

Le type : définit le domaine de validité de la donnée (caractère, numérique entier ou réel, alphanumérique, date, ...)

Longueur

Remarques ou observations : permet par exemple de préciser les valeurs possibles ou admissibles .

(25)

Le modèle conceptuel de données: Les entités

Comment définir une entité

1) Faire l’inventaire de toutes les propriétés

Dictionnaire des données : exemple

Code Désignation Type Longueur Observations

nomA Nom d’un

acteur

Chaîne 30

poidsA Poids d’un acteur

Entier >0 et <200

(26)

Comment définir une entité

1) Faire l’inventaire de toutes les propriétés 2) Vérifier les propriétés

Vérifier l’unicité des propriétés : il faut donc éliminer les synonymes et les polysèmes.

Vérifier l’atomicité des propriétés Eliminer les données calculées

Compléter avec des données qui

n'apparaissent pas explicitement le cahier des charges.

Le modèle conceptuel de données: Les entités

(27)

Comment définir une entité

1) Faire l’inventaire de toutes les propriétés 2) Vérifier les propriétés

3) Créer les entités

Regrouper les propriétés par entité Rechercher les identifiants

Vérifier les dépendances fonctionnelles au sein d’une entité.

Chaque propriété doit dépendre fonctionnellement de l’identifiant. La valeur contenue dans une propriété doit

dépendre uniquement de la valeur contenue dans l’identifiant.

Le modèle conceptuel de données: Les entités

(28)

Exemple: Précisez les dépendances

fonctionnelles entre les propriétés afin de prouver que l’entité ci-dessous est correcte.

client numCli nomCli

prénomCli

Le modèle conceptuel de données: Les entités

(29)

Exercice : « Sinistre »

Pour les besoins d’informatisation d’un cabinet d’assurances, des propriétés de son système d’information ont déjà été

identifiées, vous n’avez plus qu’à les regrouper sous forme d’entités.

Cause du sinistre

Numéro de contrat

Libellé du bien assuré

Numéro du bien assuré

Date échéance du contrat

Montant du sinistre

Date d’effet du contrat

Adresse du bien assuré

Numéro de sinistre

Valeur du bien assuré

Le modèle conceptuel de données: Les entités

(30)

Exercice:

L’entité ci-dessous est-elle correcte ?

ACTEUR NumA NomA

DateNaissanceA AgeA

CodeNationalité LibelléNationalité

Le modèle conceptuel de données: Les entités

(31)

Soit 2 attributs A et B, il existe une DF de A vers B si et seulement si à chaque valeur de A

correspond une valeur unique de B.

A et B peuvent être des attributs composés (ensemble d'attributs)

On peut exprimer une DF en disant :

Il existe une DF de A vers B

A détermine B

Les dépendances fonctionnelles

(32)

Notation d'une DF : A B A : source

B : destination, cible

Exemple de DF : numE nom numE prenom numE dateN

Graphe des DF nœud : attribut arc : DF

numE

nom prenom dateN

Les dépendances fonctionnelles

(33)

Exemple 1 : Graphe des dépendances fonctionnelles

nom prenom numDep numE

libDep

(34)

DF et identifiant d’entité

DF A B A C A D A → E

Entité(A, B, C, D, E)

Si un attribut détermine tous les autres attributs de l’entité, il est identifiant de l’entité.

A

B C D E

ENTITE (A, B, C, D, E)

(35)

Propriétés des DF

Non commutatif A B

Transitivité A → B

B → C

Union A B A C

A, B → C

B A

A C

A B, C

A → C

n°E nomE

n°E UFR UFR → n°Resp

n°E nomE n°E dateN

n°E, matiere → note

nomE numE

n°E → n°Resp

n°E nomE, dateN

n°E → note

(36)

Exemple : Dépendances fonctionnelles

Soit : numE, nom, prenom, numDep, libDep

numE nom

numE prenom

numE numDep

numE libDep

numE codeUFR

numE libUFR

numdep libDep libdep numDep codeUFR libUFR codeUFR nomResp

Dessiner le graphe des dépendances fonctionnelles et déterminer les entités.

(37)

Exemple : Graphe des dépendances fonctionnelles

numE

libDep libUFR

nom prenom numDep codeUFR

NomResp

(38)

Les associations (ou relations) entre entités

L’association définit un lien (ou une relation) entre deux ou plusieurs

entités.

En décrivant les liens ou relations

entre entités, l’association traduit les règles de gestion du domaine étudié.

Remarque : L'association est (presque) toujours nommée à l’aide d’un verbe.

Le modèle conceptuel de données: Les associations

(39)

Le modèle conceptuel de données: Les associations

L’association binaire :

Elle associe 2 entités.

Exemple :

un acteur joue dans un ou plusieurs films.

Dans un film, participent un ou plusieurs acteurs

1,n 1,n ACTEUR

NumA NomA PrenomA NationaliteA

FILM numF titreF dureeF JOUE

(40)

Le modèle conceptuel de données: Les associations

L’association ternaire (ou n-aire) :

Elle associe 3 entités (ternaire) ou plus (n-aires).

Exemple: avec l'association ci-dessous, nous sommes capables de connaître :

Pour un établissement, les matières enseignées par professeur Pour un professeur, l'établissement où il enseigne une matière, Pour une matière, les établissements disposant de professeurs enseignant la matière

Règle de gestion correspondante: Un professeur enseigne des matières différentes selon les établissements

(41)

Le modèle conceptuel de données : Les cardinalités

Règle de gestion : un individu peut travailler ou non au sein d'une entreprise

0,1 1,n INDIVIDU

numInseeIndividu nom

ENTREPRISE numEntreprise nomEntreprise Travailler

(42)

Le modèle conceptuel de données : Les cardinalités

Règle de gestion (RG) : un salarié travaille dans un et un seul service

Dans cet exemple, il existe une Contrainte d’Intégrité Fonctionnelle (CIF).

La connaissance d’un salarié détermine le service.

NumeroMatriculeSalarie NomSalarie

SALARIE

NumeroService NomService

SERVICE travaille

1,1 1,n

(43)

Le modèle conceptuel de données : Les cardinalités

Règle de gestion: un salarié peut demander ou non de participer à des stages. Il lui est possible d'effectuer plusieurs demandes.

Mais à un stage correspond toujours au moins une demande .

(44)

Le modèle conceptuel de données : Les cardinalités

Règle de gestion : un film peut être joué par plusieurs acteurs

1,n 1,n ACTEUR

NumA NomA PrenomA NationaliteA

FILM numF titreF dureeF JOUE

(45)

Le modèle conceptuel de données

Exercice « Animal et Espèce »

Médor est un chien né le 18/12/2015.

Un chien a une durée de vie maximale de 18 ans et un poids à l’âge adulte compris entre 4 et 75 kg.

Georges est un chien.

Minou est un chat né le 1/09/2017. Les chats vivent 23 ans (durée de vie maximale) et pèsent entre 2,1 et 8,7 kg.

Minette est une chatte née le 1/01/2011 Représentez le MCD

(46)

Le modèle conceptuel de données:

Les associations porteuses de propriétés

Les acteurs jouent des rôles dans des films. Ce rôle peut être

« principal », « secondaire » ou « figurant ». Le rôle est une information à mémoriser. Il faut donc une propriété que nous appellerons « role » pour mémoriser le rôle joué par l’acteur dans un film donné..

Où placer cette propriété ?

(47)

Le modèle conceptuel de données:

Les associations porteuses de propriétés

Les acteurs jouent des rôles dans des films. Ce rôle peut être

« principal », « secondaire » ou « figurant ». Le rôle est une information à mémoriser. Il faut donc une propriété que nous appellerons « role » pour mémoriser le rôle joué par l’acteur dans un film donné..

Où placer cette propriété ?

(48)

Le modèle conceptuel de données:

Les associations porteuses de propriétés

Le rôle est-il une propriété de l’acteur ?

Dans l’affirmative, nous plaçons la propriété « role » dans l’entité

« ACTEUR ». Mais une propriété est élémentaire et ne contient qu’une seule valeur à un moment donné.

Or, de par la cardinalité maximale à n, nous savons qu’un acteur a pu jouer dans plusieurs films et il a pû occuper des rôles différents dans chaque film.

Donc le rôle n’est pas une propriété de « ACTEUR »

(49)

Le modèle conceptuel de données:

Les associations porteuses de propriétés

Le rôle est-il une propriété du film ?

Dans l’affirmative, nous plaçons la propriété « role » dans l’entité

« FILM ». Mais une propriété est élémentaire et ne contient qu’une seule valeur à un moment donné.

Or, de par la cardinalité maximale à n, nous savons que dans un film, plusieurs acteurs ont pu jouer.

Donc le rôle n’est pas une propriété de « FILM »

(50)

Le modèle conceptuel de données:

Les associations porteuses de propriétés

Le rôle dépend de l’acteur mais aussi du film. C’est bien le rôle joué par un acteur dans un film donné.

Donc le rôle dépend du couple ACTEUR et FILM.

Le rôle joué est donc une propriété de l’asssociation « jouer »

On dit que la propriété « role » est portée par l’association « jouer » On la représente comme ci-dessous.

(51)

Le modèle conceptuel de données

Exercices d'application…

(52)

Le modèle conceptuel de données: Exercices

1. Repérer pour chaque entité la rubrique pouvant être utilisé comme identifiant

2. En tenant compte des règles suivantes, déterminer les cardinalités minimales et maximales entre chaque entité et association

a) Un produit est livré par un fournisseur et un seul b) Un fournisseur livre un ou plusieurs produits

c) Un produit peut être stocké dans des entrepôts différents d) Un entrepôt sert pour plusieurs produits

3. Si nous souhaitions intégrer dans ce modèle la donnée « Quantité de produit stockée dans un entrepôt », où la placeriez-vous ?

ENTREPOT adresse surface code

PRODUIT prix unitaire reference désignation

FOURNISSEUR nomFour adrFour numCompte numTel

stocker livrer

(53)

Le modèle conceptuel de données: Exercices

1. Complétez le MCD suivant d’après votre compréhension du problème

(54)

Le modèle conceptuel de données: Exercices

Supposons maintenant que nous ayons modéliser l’activité de stage comme ci dessous : Ajoutez les propriétés de début et de fin de stage

(55)

Le modèle conceptuel de données: Exercices

1. Un client doit avoir passé au minimum une commande, voire plusieurs 2. Chaque dépôt est susceptible d’être chargée de plusieurs commandes

3. Une commande concerne au moins un produit mais peut en comporter plusieurs 4. Chaque produit appartient à une seule famille de produits

5. Chaque famille de produits est distribuée par un seul fournisseur

6. Un fournisseur livre au moins une famille de produits et peut en livrer plusieurs

7. Chaque commande est affectée en totalité à un seul dépôt qui se chargera de la livraison 8. Une famille de produits est composée d’un ou plusieurs produits

9. Une commande est passée par un client et un seul

DEPOT numDepot adresseDepot

PRODUIT reference prix unitaire désignation

FOURNISSEUR numFour nomFour adrFour numT el concerne

appartient

FAMILLE numFamile nomFamille

COMMANDE numCde dateCde

CLIENT numClient nomClient passe

affecter

distribue

(56)

Le modèle conceptuel de données: Exercices

Ajouter sur le modèle les informations suivantes

On désire connaître les salariés de l’établissement affectés sur des dépôts. On ne travaille que dans un seul dépôt à la fois.

On doit connaître pour chaque salarié son numéro, son nom, prénom, adresse et téléphone

Chaque dépôt a un employé responsable. Il faut savoir quel est le

responsable d’un dépôt, sachant qu’il est possible d’être responsable de plusieurs dépôts.

DEPOT numDepot adresseDepot

PRODUIT reference prix unitaire désignation

FOURNISSEUR numFour nomFour concerne

appartient

FAMILLE numFamile nomFamille

COMMANDE numCde dateCde

CLIENT numClient nomClient passe

affecter

distribue

Références

Documents relatifs

Le concept d’héritage permet d’exprimer qu’une entité « spécialisée » possède toutes les propriétés et les liens d’association d’une entité « mère »

Pour traduire qu’une entité est faible par rapport à une autre, c’est-à-dire que son identifiant est relatif à celui d’une autre entité, on encadre les cardinalités

Pour traduire qu’une entité est faible par rapport à une autre, c’est-à-dire que son identifiant est relatif à celui d’une autre entité, on encadre les cardinalités 1,1

Définition : toute occurrence de l’entité pivot participe à l’une ou l’autre des associations mais pas aux 2 Exemple : un matériel utilisé par l’organisation est soit loué,

Définition : toute occurrence de l’entité pivot participe à l’une ou l’autre des associations mais pas aux 2 Exemple : un matériel utilisé par l’organisation est soit

La pseudo-entité est un autre moyen de représenter que, ici, l’ensemble « CRENEAU – être séance – SALLE » permet former un ensemble qu’on appelle « pseudo-entité »

La pseudo-entité est un autre moyen de représenter que, ici, l’ensemble « CRENEAU – être séance – SALLE » permet former un ensemble qu’on appelle « pseudo-entité »

[r]