Bases de Données - intranet.ionis-stm.io · Appelé aussi modèle Entité-Relation, le MCD...

40
Bases de Données MySQL - M2 MSI Denis SIVORI 1

Transcript of Bases de Données - intranet.ionis-stm.io · Appelé aussi modèle Entité-Relation, le MCD...

Page 1: Bases de Données - intranet.ionis-stm.io · Appelé aussi modèle Entité-Relation, le MCD (modèle conceptuel des données) permet de représenter la structure des données et de

Bases de Données

MySQL - M2 MSI

Denis SIVORI1

Page 2: Bases de Données - intranet.ionis-stm.io · Appelé aussi modèle Entité-Relation, le MCD (modèle conceptuel des données) permet de représenter la structure des données et de

Objectif

Acquérir en 4 sessions de cours, les notions de base et les applications pratiques de MySQL

2

Page 3: Bases de Données - intranet.ionis-stm.io · Appelé aussi modèle Entité-Relation, le MCD (modèle conceptuel des données) permet de représenter la structure des données et de

Détail de l’objectif

Il demandé d’avoir acquis à la fin du module, les connaissances nécessairesà l’utilisation d’une base de données par un non-spécialiste :◉ Terminologie et vocabulaire,◉ Compréhension des mécanismes d’une base de données,◉ Modélisation d’une base de donnée,◉ Spécificité de MySQL,◉ Utilisation d’une interface graphique,◉ Création d’une base de données avec différentes méthodes,◉ Manipulation des données :

insertion, mise-à-jour, suppression, interrogation de données.

3

Page 4: Bases de Données - intranet.ionis-stm.io · Appelé aussi modèle Entité-Relation, le MCD (modèle conceptuel des données) permet de représenter la structure des données et de

Agenda

Cours :16 octobre 201713 novembre 201722 novembre 2017

Soutenance du projet :11 décembre 2017.

4

Page 5: Bases de Données - intranet.ionis-stm.io · Appelé aussi modèle Entité-Relation, le MCD (modèle conceptuel des données) permet de représenter la structure des données et de

IntroductionContexte

Types d’utilisationFonctionnalités

Types de bases de donnéesBases de données relationnelles

Systèmes de gestion de bases de donnéesNiveaux d’abstraction

Langage SQL

5

Page 6: Bases de Données - intranet.ionis-stm.io · Appelé aussi modèle Entité-Relation, le MCD (modèle conceptuel des données) permet de représenter la structure des données et de

Contexte

Dans la vie de tous les jours :Relevés bancaires, horaires de trains, Facebook, Gmail, wikipédia, allocine, …

Dans l’entreprise :Clients, produits, commandes, factures, RH, …

Différence entre donnée et information.Donnée : information formatée/codée

La donnée : Enjeu économique des entreprises.

6

Les données sont omniprésentes autour de nous.

Page 7: Bases de Données - intranet.ionis-stm.io · Appelé aussi modèle Entité-Relation, le MCD (modèle conceptuel des données) permet de représenter la structure des données et de

Utilisation des bases de données

Site internet dynamiques,

Base de données d’entreprise,

Logiciels métier,

Applications mobiles,

Les bases de données sont partout.7

Page 8: Bases de Données - intranet.ionis-stm.io · Appelé aussi modèle Entité-Relation, le MCD (modèle conceptuel des données) permet de représenter la structure des données et de

Fonctionnalités d’une base de données

◉ Convertir l’information en données◉ Structurer les données➥ Contrôler la redondance des données➥ Représenter des relations complexes entre les données➥ Vérifier les contraintes d'intégrité

◉ Maintenir les données à jour◉ Sécuriser l’accès aux données◉ Partager les données◉ Assurer l’indépendance des données◉ Exploiter de gros volumes de données

8

Page 9: Bases de Données - intranet.ionis-stm.io · Appelé aussi modèle Entité-Relation, le MCD (modèle conceptuel des données) permet de représenter la structure des données et de

Types de bases de données

Base de données (en : database) :Collection de données structurées, accessibles, sécurisées et mémorisées sur un seul support permanent.

Il existe plusieurs type de base de données :◉ hiérarchiques (1960),◉ en réseau (1970),◉ relationnelles (1980),◉ multidimensionnelles (en étoile – Business intelligence),◉ objet-relationnelles (stockage d’objets),◉ XML

Ce cours traitera des bases de données relationnelles.

9

Page 10: Bases de Données - intranet.ionis-stm.io · Appelé aussi modèle Entité-Relation, le MCD (modèle conceptuel des données) permet de représenter la structure des données et de

Base de données relationnelle

Une base de données relationnelle est un ensemble structuré de données comprenant des relations dynamiques entre les différents objets contenus dans les tables.

Dans une base de données relationnelle, un produit peut, par exemple, être liée à des

fournisseurs et des acheteurs.

10

Page 11: Bases de Données - intranet.ionis-stm.io · Appelé aussi modèle Entité-Relation, le MCD (modèle conceptuel des données) permet de représenter la structure des données et de

Système de gestion de bases de données

Un Système de Gestion de Bases de Données (SGBD) est un outil (logiciel) qui permet de créer, utiliser et maintenir une base de données (BdD) :

◉ Organisation des données,

◉ Gestion des données,

◉ Accès aux données.

11

SGBD

Page 12: Bases de Données - intranet.ionis-stm.io · Appelé aussi modèle Entité-Relation, le MCD (modèle conceptuel des données) permet de représenter la structure des données et de

Exemples de SGBD

Il existe de nombreux Systèmes de Gestion de Bases de Données.

Systèmes propriétaires (licence) :

Oracle, Microsoft SQL Server, DB2, Access, …

Systèmes Open Source :

MySQL, PostgreSQL, SQLite, MariaDB…

12

Page 13: Bases de Données - intranet.ionis-stm.io · Appelé aussi modèle Entité-Relation, le MCD (modèle conceptuel des données) permet de représenter la structure des données et de

SQL

L’exploitation d’une base de données relationnelle se fait à l’aide d’un langage informatique normalisé, le SQL.

SQL : Structured Query Language, en français : langage de requêtes structuré

Il est utiliser pour :

◉ la définition de données (DDL,Data Definition Language) :➥ créer, modifier ou supprimer des tables

◉ la manipulation de données (DML, Data Manipulation Language) :➥ de sélectionner, insérer, modifier ou supprimer des données dans une table

◉ le contrôle de données (DCL, Data Control Language) :➥ de définir des permissions au niveau des utilisateurs d'une base de données

Les systèmes de gestion de bases de données utilisent des IHM interfaces homme/machine

13

Page 14: Bases de Données - intranet.ionis-stm.io · Appelé aussi modèle Entité-Relation, le MCD (modèle conceptuel des données) permet de représenter la structure des données et de

Niveaux d’abstraction

On distingue plusieurs niveaux de représentation ou d’abstraction des bases de données :◉ niveau conceptuel

Appelé aussi modèle Entité-Relation, le MCD (modèle conceptuel des données) permet de représenter la structure des données et de définir les dépendances ou relations entre les données.

◉ niveau logiqueDérivé du MCD, le MLD (modèle logique des données) définit la structure de données et précise le type de données utilisées.

◉ niveau physiqueLe MPD (modèle physique des données) implémente le modèle de données dans le SGBD en utilisant le langage SQL.

14

Page 15: Bases de Données - intranet.ionis-stm.io · Appelé aussi modèle Entité-Relation, le MCD (modèle conceptuel des données) permet de représenter la structure des données et de

Démarche de construction d’une BdB

MCD • Modèle conceptuel de données

MLD • Modèle logique de données

MPD • Modèle physique de données

15

Page 16: Bases de Données - intranet.ionis-stm.io · Appelé aussi modèle Entité-Relation, le MCD (modèle conceptuel des données) permet de représenter la structure des données et de

Ce qu’il faut retenir

◉ Information vs donnée

◉ La donnée = enjeu

◉ Un BdD pour structurer, stocker et sécuriser les données

◉ BdD relationnelle = ensemble structuré ou les objets ont des relations dynamiques entre eux

◉ SGBD exploite les BdD : organisation, gestion et accès aux données

◉ Le langage SQL : définition (LDD), manipulation (LMD) et contrôle (LCD) des données

◉ Modèle conceptuel ➟ Modèle logique ➟ Modèle physique

16

Page 17: Bases de Données - intranet.ionis-stm.io · Appelé aussi modèle Entité-Relation, le MCD (modèle conceptuel des données) permet de représenter la structure des données et de

Modélisation conceptuelleRègles d’or

Concepts de baseEntité, attribut, identifiant

AssociationCardinalité

Types d’associationEntité faible, forte

Exercice

17

Page 18: Bases de Données - intranet.ionis-stm.io · Appelé aussi modèle Entité-Relation, le MCD (modèle conceptuel des données) permet de représenter la structure des données et de

Introduction

Le modèle relationnel, aussi appelé le modèle Entité/Association (E/A) ou Entité/Relation est utilisé pour la conception de bases de données relationnelles.

Le modèle conceptuel de données (MCD) est la représentation des relations entre les entités.

18

Client ArticleAchète

Page 19: Bases de Données - intranet.ionis-stm.io · Appelé aussi modèle Entité-Relation, le MCD (modèle conceptuel des données) permet de représenter la structure des données et de

Modélisation : règles d’or

◉ Il n'existe pas de modèle de données idéalPlusieurs moyens pour répondre à un besoin

◉ Le modèle doit correspondre à un besoin précis

◉ Toute redondance est interditeLes données doivent être uniques et stockées une seule fois

◉ Un modèle de données doit être évolutif mais aussi suffisant pour le besoin

19

Page 20: Bases de Données - intranet.ionis-stm.io · Appelé aussi modèle Entité-Relation, le MCD (modèle conceptuel des données) permet de représenter la structure des données et de

MCD : Concepts de base

Les concepts de base du modèle conceptuel de données sont :

◉ Entité◉ Attribut◉ Identifiant◉ Association◉ Cardinalité

La conception d’un MCD est essentielle :◉ la structure des données est le fondement de tout,

◉ une erreur à la conception est difficilement récupérable ensuite.

20

Définition:Uneoccurrence estunélémentparticulierd’uneentitéoud’uneassociation.Ex:leclient "JeanDupont"estuneoccurrencedel’entitéclient.

Page 21: Bases de Données - intranet.ionis-stm.io · Appelé aussi modèle Entité-Relation, le MCD (modèle conceptuel des données) permet de représenter la structure des données et de

Entité, attribut, identifiant

Une entité peut être définie comme un objet concret ou abstrait du monde réel à modéliser

Ex : client, produit, article, …

Un attribut est une propriété distinctive d’une entité ou d’une association.

Ex : le nom d’un client est un attribut de l’entité client.

Un identifiant est une propriété ou groupe de propriétés qui sert à identifier une entité

Ex : le numéro client permet d’identifier de manière unique un client.

21

Page 22: Bases de Données - intranet.ionis-stm.io · Appelé aussi modèle Entité-Relation, le MCD (modèle conceptuel des données) permet de représenter la structure des données et de

Entité : représentation

22

PersonneNuméro de sécuritéCivilitéNomPrénomDate de naissance…

Entité

identifiant

attribut

Page 23: Bases de Données - intranet.ionis-stm.io · Appelé aussi modèle Entité-Relation, le MCD (modèle conceptuel des données) permet de représenter la structure des données et de

Association

Une association peut être définie comme un lien reconnu ou possible entre les entitésUne association peut avoir des attributs.

Ex : l'association "achète" lie les entités "clients" et "articles".Convention : ➥ une entité est représentée par un nom➥ une association est représenter par un verbe➥ un identifiant est souligné

23

ClientRéférenceNom…

AchèteArticle

Code articlePrix…

Page 24: Bases de Données - intranet.ionis-stm.io · Appelé aussi modèle Entité-Relation, le MCD (modèle conceptuel des données) permet de représenter la structure des données et de

Association : cardinalité

La cardinalité d’une association est constituée d’une borne minimale et d’une borne maximale

◉ Minimale : nombre minimum de fois qu’une occurrence de l’entité participe aux occurrences de l’association, 0 (optionnel) ou 1 (obligatoire)

◉ Maximale : nombre maximum de fois qu’une occurrence de l’entité participe aux occurrences de l’association, 1 (unique) ou n (multiple)

24

Client Achète Article0,3 1,1

La cardinalité 0,3 indique qu’un client peut être associé à 0, 1, 2, 3 articles. Il peut acheter 3 articles maximum

La cardinalité 1,1 indique qu’un article ne peut être acheté que par un seul client.

Page 25: Bases de Données - intranet.ionis-stm.io · Appelé aussi modèle Entité-Relation, le MCD (modèle conceptuel des données) permet de représenter la structure des données et de

Les types d’associations

Association "1 – 1"A une occurrence de l'entité E1 peut correspondre au plus une occurrence de l'entité E2, et vice versa.

Un enfant a une et seule seule maman.

25

EnfantIdentifiantPrénom…

possèdemère

IdentifiantPrénom…

(1,1)

Page 26: Bases de Données - intranet.ionis-stm.io · Appelé aussi modèle Entité-Relation, le MCD (modèle conceptuel des données) permet de représenter la structure des données et de

Les types d’associations

Association "1 - n" (un à plusieurs) : A une occurrence de l'entité E1 peuvent correspondre plusieurs occurrences de l'entité E2, mais à une occurrence de l'entité E2 peut correspondre au plus une occurrence de l'entité E1.

26

Unefemmepeutavoir1ouplusieursenfants

Unemèrea1ouplusieursenfants

EnfantIdentifiantPrénom

possèdeMère

IdentifiantPrénom

(1,n) (1,1)

EnfantIdentifiantPrénom

possèdefemme

IdentifiantPrénom

(0,n) (1,1)

Page 27: Bases de Données - intranet.ionis-stm.io · Appelé aussi modèle Entité-Relation, le MCD (modèle conceptuel des données) permet de représenter la structure des données et de

Les types d’associations

Association "n - n" (plusieurs à plusieurs) : A une occurrence de l'entité E1 peuvent correspondre plusieurs occurrences de l'entité E2, et vice versa.

27

Plusieursclientspeuventcommanderplusieursproduits

ProduitIdentifiantPrix

commandeClient

IdentifiantNom…

(1,n) (1,n)

Page 28: Bases de Données - intranet.ionis-stm.io · Appelé aussi modèle Entité-Relation, le MCD (modèle conceptuel des données) permet de représenter la structure des données et de

Entité faible, entité forte

Une entité faible est toujours identifiée par rapport à une entité forte.Exemple :

Une maison comporte plusieurs pièces.Une pièce est une partie de la maison. Pas de pièce sans maison.

28

Maison comporte Pièce

Page 29: Bases de Données - intranet.ionis-stm.io · Appelé aussi modèle Entité-Relation, le MCD (modèle conceptuel des données) permet de représenter la structure des données et de

Exercice

Pour organiser son catalogue de CD et le présenter sur son site internet, un magasin de disque veut créer une base de données qui lui permettra d’enregistrer le contenu de tous les CD qu’il propose à la vente.

Le commerçant veut pouvoir éditer la liste de tous les artistes, tous les titres (chansons) et le sommaire de chaque CD.

Réalisez le modèle conceptuel de données nécessaire à la création de la base de données.

29

Page 30: Bases de Données - intranet.ionis-stm.io · Appelé aussi modèle Entité-Relation, le MCD (modèle conceptuel des données) permet de représenter la structure des données et de

Solution

30

CDRéférence CDTitre_CD

ChansonIdentifiant chansonTitre_chanson

ArtisteIdentifiant artisteNom_artiste

Contient

Chante

(1,n) (0,n)

(0,1)

(0,n)

Page 31: Bases de Données - intranet.ionis-stm.io · Appelé aussi modèle Entité-Relation, le MCD (modèle conceptuel des données) permet de représenter la structure des données et de

Ce qu’il faut retenir

◉ Définition du modèle Entité/Association ou Entité/Relation

◉ Le MCD est essentiel

◉ Les règles d’or

◉ Définition et terminologie des éléments du MCD (entité, attribut, identifiant, associations, cardinalité,…)

◉ Les différents types d’associations

◉ Savoir établir un MCD

31

Page 32: Bases de Données - intranet.ionis-stm.io · Appelé aussi modèle Entité-Relation, le MCD (modèle conceptuel des données) permet de représenter la structure des données et de

Modélisation logiqueTraduction des entités

Traductions des relationsun à un ¤

un à plusieurs ¤plusieurs à plusieurs ¤

32

Page 33: Bases de Données - intranet.ionis-stm.io · Appelé aussi modèle Entité-Relation, le MCD (modèle conceptuel des données) permet de représenter la structure des données et de

Le modèle logique de données

Le modèle logique de données est la déclinaison du modèle conceptuel de données.

33

MCD ••Modèle conceptuel de données

MLD ••Modèle logique de données

Page 34: Bases de Données - intranet.ionis-stm.io · Appelé aussi modèle Entité-Relation, le MCD (modèle conceptuel des données) permet de représenter la structure des données et de

Traduction de l’entité

◉ Chaque entité du MCD devient une table,

◉ Chaque identifiant devient une clé,

◉ Chaque attribut devient un champ typé (texte, date, nombre, …)

MCD MLD

34

Maisonidentifiantmaisonadresse

MAISONid_maison [int]adresse [txt]

champ

clé

table

Page 35: Bases de Données - intranet.ionis-stm.io · Appelé aussi modèle Entité-Relation, le MCD (modèle conceptuel des données) permet de représenter la structure des données et de

Traduction de la relation

Association de un à unCe type d'association est est proscrire. Une association de un à un entre une entité A et une entité B revient à décrire une entité qui aurait les propriétés des entités A et B.

35

M

CD

PersonneId_personne…

possèdeN°SECU

Id_num_SECU…

(1,1) (1,1)

M

LD

PERSONNEid_personne [int]Numéro_SECU [txt]

champ

clé

table

Page 36: Bases de Données - intranet.ionis-stm.io · Appelé aussi modèle Entité-Relation, le MCD (modèle conceptuel des données) permet de représenter la structure des données et de

Traduction de la relation

Association de un à plusieursUne occurrence de l'entité A (maison) référence l’occurrence de B (pièce) qui lui est associée à l’aide d’une clé étrangère.Cette référence se fait de manière unique et suffisante à l’aide de l’identifiant.

36

M

CD

Maisonid_maisonadresse

comportePièce

id_piecesurface

(1,n) (1,1)

M

LD

MAISONid_maison [int]adresse [txt]

PIECEid_piece [int]FKid_maison [int]surface [int]champ

clécléétrangère

table

Page 37: Bases de Données - intranet.ionis-stm.io · Appelé aussi modèle Entité-Relation, le MCD (modèle conceptuel des données) permet de représenter la structure des données et de

Traduction de la relation

associations de plusieurs à plusieursUne table de liaison est utilisée pour lier les entités A et B. Un identifiant est nécessaire pour identifier la liaison qui comporte comme attributs les identifiants des entités liées.

37

M

CD

adresseidentifiantrue

habitepersonne

identifiantnom

(1,n) (1,n)

M

LD

PERSONNEid_personne [int]nom [txt]

ADRESSEid_adresse [int]rue [txt]

habiteid [int]FKid_adresse [int]FKid_personne [int]

Page 38: Bases de Données - intranet.ionis-stm.io · Appelé aussi modèle Entité-Relation, le MCD (modèle conceptuel des données) permet de représenter la structure des données et de

Exercice

Réalisez le modèle logique de données de l’exercice précédent.

38

CDRéférence CDTitre_CD

ChansonIdentifiant chansonTitre_chanson

ArtisteIdentifiant artisteNom_artiste

Contient

Chante

(1,n) (0,n)

(0,1)

(0,n)

Page 39: Bases de Données - intranet.ionis-stm.io · Appelé aussi modèle Entité-Relation, le MCD (modèle conceptuel des données) permet de représenter la structure des données et de

Solution

◉ MLD :

39

CDid_cd [Int]titre_cd [txt]

CHANSONid_chanson [Int]titre_chanson [txt]FKid_artiste [Int]duree [int]

ARTISTEid_artiste [Int]nom _artiste [txt]

CONTIENTFKid_cd [Int]FKid_chanson [Int]

Page 40: Bases de Données - intranet.ionis-stm.io · Appelé aussi modèle Entité-Relation, le MCD (modèle conceptuel des données) permet de représenter la structure des données et de

Ce qu’il faut retenir

◉ Comment traduire les entités d’un MCD dans un MLD

◉ Comment traduire les associations d’un MCD dans un MLD :➥ Association "1 à 1" à proscrire➥ Association "1 à plusieurs"➥ Association "plusieurs à plusieurs"

◉ Savoir établir un MLD

40