Université Gustave Eiffel - IUT de Marne-la-Vallée - DUT MMI
Bases de données – 31/01/2020
Cours 1
Introduction, modèle relationnel
Philippe Gambette
• Contact
- Courriel : philippe.gambette@u-pem.fr
(M2203 doit apparaître dans le sujet du courriel).
- Avant ou après le cours.
- Possibilité de poser des questions, de demander des exercices supplémentaires d'entraînement.
• Enseignants
Cours, TP & TD par Thanh-Long Dang et Philippe Gambette
• Notes et devoirs
- travail de modélisation pour le projet tutoré de ce semestre (rendu le 1er avril avant 22h)
- devoir final le 4 juin 2020 (tous documents papier autorisés)
Présentation
• Cours de Tony Grandame à l'IUT de Marne-la-Vallée en 2010-2011
�• Cours de Mathieu Mangeot, IUT de Savoie
http://jibiki.univ-savoie.fr/~mangeot/Cours/BasesDeDonnees.pdf
�• Cours de Fabrice Meuzeret, IUT de Troyes
http://195.83.128.55/~fmeuzeret/vrac/
�• Livre de Laurent Audibert : Bases de données - de la modélisation au SQL
Version partielle sur :�http://laurent-audibert.developpez.com/Cours-BD/html/index.php
• Cours de SNT sur « les données structurées et leur traitement » en cours de réalisation avec Victor Rabiet pour les éditions Spartacus IDH
Sources
• Introduction aux bases de données
• Modèle relationnel
• Modèle logique des données
• Modèle physique des données, types et tables
• Le langage SQL
• Méthodes de modélisation (MERISE, UML)
Plan des cours
• Introduction aux bases de données
• Le modèle relationnel : entités et attributs
• Le modèle relationnel : relations et cardinalité
• Choix de modélisation
Plan du cours 1 – Introduction, modèle relationnel
• Introduction aux bases de données
• Le modèle relationnel : entités et attributs
• Le modèle relationnel : relations et cardinalité
• Choix de modélisation
Plan
Introduction aux bases de données
Pourquoi une base de données ?
Différents types de base de données
Exemples des sites avec une base de données
Livre géolocalisé interactif
Lisbonne par Fernando Pessoa�(http://lisbon.pessoa.free.fr)
Lieux, mots du texte.
Extraits de textes littéraires
Extraits d'ouvrages écrits par des femmes�(http://ledeuxiemetexte.fr)
Autrices, œuvres, extraits...
Les bases de données et le web
Les années 1990 : le web sans base de données
Les années 2000 : le web 2.0
Les années 2010 : le web des données
Page HTML
Code PHP
Code PHP
Base de données �SQL
Le code PHP inclus dans la page HTML interroge la base de données SQL pour récupérer des informations
Enjeux des systèmes de gestion de bases de données
SGBD = système informatique qui gère une base de données
Exemples : MySQL, Oracle Database
Différents types de bases de données
hiérarchique
Base hiérarchique
Lie les enregistrements dans une structure arborescente où chaque enregistrement n'a qu'un seul possesseur.
Exemple : arbre de Porphyre (III° siècle)
Différents types de bases de données
Base hiérarchique
Lie les enregistrements dans une structure arborescente où chaque enregistrement n'a qu'un seul possesseur.
Base en réseau
Est une base hiérarchique mais permet en plus d'établir des relations transverses.
Base relationnelle
Stocke les informations décomposées et organisées dans des matrices appelées relations ou tables. → SQL
Base objet
Stocke les informations groupées sous forme de collections d'objets persistants.
Base XML
S'appuie sur le modèle de données fourni par XML.
hiérarchique
réseau
relationnelle
Les dernières tendances en bases de données
NoSQL (not only SQL)
Pour manipuler d’énormes bases de données, réparties sur un grand nombre de serveurs.
→ Cassandra, MongoDB, etc.
@mfiguiere, ancien étudiant de l’UPEM
Le « web des données » :
interroger plusieurs bases de données disponibles sur le web
→ protocole SPARQL, modèle RDF
triplets�RDF
Les dernières tendances en bases de données
Serge Abiteboul, un des chercheurs en informatique français les plus cités : bases de données XML, web des données
• Introduction aux bases de données
• Le modèle relationnel : entités et attributs
• Le modèle relationnel : relations et cardinalité
• Choix de modélisation
Plan
Le modèle relationnel – modèle conceptuel des données
Définitions
Pour décrire un objet en informatique, on en isole des caractéristiques dont les valeurs sont appelées données.
Une donnée est une représentation d’une information destinée à être traitée ou transmise. Les données peuvent être structurées au sein d'une base de données, c’est-à-dire organisées de manière à faciliter leur traitement : ajout, suppression, recherche, filtre, tri, calcul, etc.
Les caractéristiques des objets sur lesquelles on choisit de stocker les données sont appelés attributs. Plusieurs objets qui partagent les mêmes attributs correspondent à une même entité.
Exemple : l’entité élève et ses attributs nom, prénom, classe.
Le modèle relationnel décrit les entités reliées les unes avec les autres par des relations. On le représente visuellement par un schéma relationnel
La modélisation
Créer un modèle relationnel, c’est :
La modélisation est une tâche qui ne nécessite pas de connaître un langage de programmation.
Elle demande de bien connaître le projet pour lequel on crée la base de données, notamment la cible : tâche à l’interface entre les besoins des utilisateurs (qui nécessitent de stocker des données) et la solution technique pour répondre à ces besoins.
Vidéo d’Oussama Ammar de The Family à propos �de l’utilité d’avoir une certaine connaissance des �aspects techniques quand on fonde une start-up, �même quand on les sous-traite :
Le modèle relationnel
L’entité
Concept concret ou abstrait du monde à modéliser.
Elle se représente par un cadre contenant son nom.
Présentation :
Exemple :
Nom
Etudiant
Etudiant
nom
prenom
groupe
formation
année
Nom
attribut 1
attribut 2
....
attribut n
Le modèle relationnel
L’attribut
Caractéristique d'une entité ou d'une association.
Les attributs sont listés dans l'entité.
Présentation :
Exemple :
Nom
identifiant
attribut 2
....
attribut n
Le modèle relationnel
L’identifiant (ou clé)
Attribut(s) particulier(s) permettant d'identifier chaque occurrence d'une entité.
Les attributs servant d'identifiant sont soulignés.
Présentation :
Exemple :
Etudiant
nom
prenom
groupe
formation
semestre
Etudiant
id
nom
prenom
groupe
formation
semestre
Nom
identifiant
attribut 2
....
attribut n
Le modèle relationnel
L’occurrence
Élément particulier d'une entité (ou d'une association).
L'occurrence ne fait pas partie du modèle relationnel mais est expliquée ici pour mieux comprendre l'entité.
Présentation :
Exemple :
id | nom | prénom | groupe | formation | semestre |
1 | Aubry | Alice | B | DUT MMI | 2006-S2 |
2 | Bourguignon | Antoine | D | DUT MMI | 2006-S2 |
3 | Boyard | Noa | A | DUT MMI | 2006-S2 |
4 | Cede | Eric | C | DUT MMI | 2006-S2 |
5 | Charrier | Garnet | B | DUT MMI | 2006-S2 |
id | nom | prénom | groupe | formation | semestre |
1 | Aubry | Alice | B | DUT MMI | 2006-S2 |
2 | Bourguignon | Antoine | D | DUT MMI | 2006-S2 |
3 | Boyard | Noa | A | DUT MMI | 2006-S2 |
4 | Cede | Eric | C | DUT MMI | 2006-S2 |
5 | Charrier | Garnet | B | DUT MMI | 2006-S2 |
Récapitulatif sur les entités, attributs et identifiants
entité Etudiant
identifiant
occurrences
valeur de l’attribut groupe pour�l’occurrence d’identifiant 5
attribut
• Introduction aux bases de données
• Le modèle relationnel : entités et attributs
• Le modèle relationnel : relations et cardinalité
• Choix de modélisation
Plan
L’association ou relation
Lie
attributs
Appartient
Les relations
L’association binaire
Permet de relier deux entités entre elles.
Elle se représente par le biais d'un ovale ou d'un losange contenant son nom et ses éventuels attributs.
Leur nom est généralement un verbe.
Présentation :
Exemple :
Entite_2
Entite_1
Formation
Etudiant
Les relations
L’association binaire
Permet de relier deux entités entre elles.
Elle se représente par le biais d'un ovale ou d'un losange contenant son nom et ses éventuels attributs.
Leur nom est généralement un verbe.
Présentation :
Exemple :
Entite_2
Entite_1
Lie
attributs
Formation
Etudiant
Appartient
semestre
Les relations
L’association binaire
Permet de relier deux entités entre elles.
Elle se représente par le biais d'un ovale ou d'un losange contenant son nom et ses éventuels attributs.
Leur nom est généralement un verbe.
Présentation :
Exemple :
Entite_2
Entite_1
Lie
attributs
Formation
Etudiant
Appartient
semestre�année
Lie
attributs
Les relations
Les cardinalités
Couple de valeurs indiqué à l'extrémité de chaque lien d'une association.
La cardinalité minimum indique le caractère optionnel (0) ou obligatoire (1) de la relation.
La cardinalité maximum indique le caractère unique (1) ou multiple (n) de la relation.
Présentation :
Exemple :
Entite_2
Entite_1
min,max
min,max
Formation
Etudiant
Appartient
semestre
0,1
0,n
Lie
attributs
Les relations
Les cardinalités
LA phrase :
Pour une occurrence d’Entité_1 donnée, elle est Liée à entre min et max occurrences de l’Entité_2.
Pour un étudiant donné, il appartient à entre 0 et 1 formation (une formation maximum, mais potentiellement aucune en cas d'année de césure).
Présentation :
Exemple :
Entité_2
Entité_1
min,max
min,max
Formation
Étudiant
Appartient
semestre
0,1
0,n
Pour une formation donnée, elle est suivie par entre 0 et n étudiants (elle peut être suivie par plusieurs étudiants et ne pas être ouverte une année s'il n'y a aucun étudiant qui la suit)
Les relations
Les cardinalités
Couples de cardinalités possibles
Card. | Lecture |
0 , 1 | Lien vers 0 ou 1 |
1 , 1 | Lien vers 1 |
0 , n | Lien vers 0 ou n |
1 , n | Lien vers 1 ou n |
Entite_1 | Entite_2 | Lecture |
1 | 1 | Association 1 à 1 |
1 | n | Association 1 à plusieurs |
n | 1 | Association 1 à plusieurs |
n | n | Association plusieurs à plusieurs |
Associations selon les cardinalités maximum
Les relations
L’association un à un
Est caractérisée par des cardinalités maximales à 1.
Ces associations sont à proscrire dans un modèle entité-association car les 2 entités peuvent être fusionnées.
Présentation :
Exemple :
Entite_2
Entite_1
Lie
attributs
min,1
min,1
Adresse
Etudiant
Habite
année
0,1
0,1
Les relations
L’association un à plusieurs
Est caractérisée par une cardinalité maximale à 1 et une cardinalité maximale à n.
Ici, une personne exerce au plus une profession et une profession peut être exercée par aucune ou plusieurs personnes.
Présentation :
Exemple :
Entite_2
Entite_1
Lie
attributs
min,n
min,1
Formation
Etudiant
Appartient
semestre
0,1
0,n
Les relations
L’association plusieurs à plusieurs
Est caractérisée par des cardinalités maximales à n.
Ici, une personne exerce aucune ou plusieurs professions et une profession peut être exercée par aucune ou plusieurs personnes.
Présentation :
Exemple :
Entite_2
Entite_1
Lie
attributs
min,n
min,n
Formation
année
Etudiant
Appartient
0,n
0,n
Lie
Lie
Les relations
L’association plurielle
Deux entités peuvent être liées par plusieurs relations.
Présentation :
Exemple :
Entite_2
Entite_1
Formation
Etudiant
Appartient
Est_délégué
Les relations
L’association n-aire
Il est possible d'associer autant d'entités que nécessaire.
Associations à des degrés supérieurs à 3 : rare
Présentation :
Exemple :
Entite_3
Entite_1
Lie
attributs
Min,Max
Min,Max
Entite_2
Min,Max
Matiere
Personne
Enseigne��jour
heure
0,n
0,n
Universite
0,n
Les relations
L’association réflexive
L’association réflexive permet d'associer une entité à elle-même.
Dans cet exemple, une personne est parent d'une autre personne.
Présentation :
Exemple :
Entite_1
Lie
attributs
Etudiant
même_projet
• Introduction aux bases de données
• Le modèle relationnel : entités et attributs
• Le modèle relationnel : relations et cardinalité
• Choix de modélisation
Plan
Choix de modélisation
Risques :
Choix de modélisation
Une base données doit permettre de stocker toutes les informations nécessaires à son utilisation.
Toute la complexité réside dans l’organisation de ces attributs.
Toute redondance est interdite.
Il faut essayer de créer un modèle à la fois évolutif mais aussi suffisant pour le besoin.
Choix de modélisation
Utiliser un attribut dans l'entité ou créer une association ?
id
nom
prenom
adresse
cp
ville
Adresse
Personne
id
voie
cp
ville
Reside
date_debut
date_fin
0,1
0,n
id
nom
prenom
Personne
OU
?
Choix de modélisation
Choix des cardinalités ?
Adresse
id
voie
cp
ville
Reside
date_debut
date_fin
1,n
0,n
id
nom
prénom
Personne
Adresse
id
voie
cp
ville
Reside
�
0,1
0,n
id
nom
prenom
Personne
Usages et conventions de nommage
Pour nommer les entités et les attributs, il est déconseillé d’utiliser espaces et accents.
Les relations sont nommées par des verbes à la forme active ou passive.
Attention à la casse, certaines bases de données y sont sensibles, d’autres non. Il est donc fréquent de devoir appliquer une normalisation propre au contexte (par exemple en entreprise).
Nous appliquerons dans ce cours les règles suivantes :
Aberrations
Toute répétition d’entité doit être supprimée.
Relations binaires un pour un déconseillées a priori : peuvent être remplacées par des attributs à ajouter pour une des deux entités, en supprimant l'autre.
Relations n-aires à utiliser avec parcimonie : souvent complexes à comprendre et à interpréter.