Cours de Bases de données
Le Système d’Information
Le MCD (Modèle Conceptuel de Données).
Ph. CHOCHOIS
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
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
Sollicitation des bases de données ?
Les bases de données
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
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
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
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
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
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.
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
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
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
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
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
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
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
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
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
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
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.
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
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
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 .
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
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
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
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
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
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
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
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
Exemple 1 : Graphe des dépendances fonctionnelles
nom prenom numDep numE
libDep
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)
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
⇐⇒
⇐⇒
⇒
⇐⇒
⇒
⇒
⇐⇒
⇒
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.
Exemple : Graphe des dépendances fonctionnelles
numE
libDep libUFR
nom prenom numDep codeUFR
NomResp
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
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
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
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
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
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 .
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
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
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é ?
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é ?
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 »
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 »
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.
Le modèle conceptuel de données
Exercices d'application…
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
Le modèle conceptuel de données: Exercices
1. Complétez le MCD suivant d’après votre compréhension du problème
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
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
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