29
Bases de données Ecole Marocaine des Sciences de l’Ingénieur © Yousra Lembachar

Bases de donnéesalumni.cs.ucr.edu/~ylemb001/chap2.pdfBases de données est un ensemble de tables ou relations. Personne Like Les attributs Chaque table a un ensemble de colonnes et

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Bases de donnéesalumni.cs.ucr.edu/~ylemb001/chap2.pdfBases de données est un ensemble de tables ou relations. Personne Like Les attributs Chaque table a un ensemble de colonnes et

Bases de donnéesEcole Marocaine des Sciences de l’Ingénieur

© Yousra Lembachar

Page 2: Bases de donnéesalumni.cs.ucr.edu/~ylemb001/chap2.pdfBases de données est un ensemble de tables ou relations. Personne Like Les attributs Chaque table a un ensemble de colonnes et

Chapitre 2

Le modèle relationnel

Page 3: Bases de donnéesalumni.cs.ucr.edu/~ylemb001/chap2.pdfBases de données est un ensemble de tables ou relations. Personne Like Les attributs Chaque table a un ensemble de colonnes et

Plan

• Les concepts d’un modèle relationnel

• Le passage du modèle entité-association vers le modèle relationnel

Page 4: Bases de donnéesalumni.cs.ucr.edu/~ylemb001/chap2.pdfBases de données est un ensemble de tables ou relations. Personne Like Les attributs Chaque table a un ensemble de colonnes et

Rappel

• Les systèmes de gestion de bases de données

• Le modèle entité-association

Page 5: Bases de donnéesalumni.cs.ucr.edu/~ylemb001/chap2.pdfBases de données est un ensemble de tables ou relations. Personne Like Les attributs Chaque table a un ensemble de colonnes et

Pourquoi le modèle relationnel?

Modèle relationnel

Modèle entité-association

Données du monde réel

Page 6: Bases de donnéesalumni.cs.ucr.edu/~ylemb001/chap2.pdfBases de données est un ensemble de tables ou relations. Personne Like Les attributs Chaque table a un ensemble de colonnes et

Le modèle entité-association

• Les différentes entités

• Les associations avec leur cardinalités

• Les attributs des entités et des associations

Personne née endroit1...1 0 ... n

Page 7: Bases de donnéesalumni.cs.ucr.edu/~ylemb001/chap2.pdfBases de données est un ensemble de tables ou relations. Personne Like Les attributs Chaque table a un ensemble de colonnes et

Le modèle relationnel

Page 8: Bases de donnéesalumni.cs.ucr.edu/~ylemb001/chap2.pdfBases de données est un ensemble de tables ou relations. Personne Like Les attributs Chaque table a un ensemble de colonnes et

Le modèle relationnel

• Utilisé dans les bases de données

• Consultable à partir de langages de haut niveau

• Efficace

Page 9: Bases de donnéesalumni.cs.ucr.edu/~ylemb001/chap2.pdfBases de données est un ensemble de tables ou relations. Personne Like Les attributs Chaque table a un ensemble de colonnes et

Les relations/tablesBases de données est un ensemble de tables ou relations.

Personne Like

Page 10: Bases de donnéesalumni.cs.ucr.edu/~ylemb001/chap2.pdfBases de données est un ensemble de tables ou relations. Personne Like Les attributs Chaque table a un ensemble de colonnes et

Les attributsChaque table a un ensemble de colonnes et d’attributs. Chaque attribut a un type (entier, chaine de caractères, etc.)

idPersonne nom idPersonne Like

Personne Like

Page 11: Bases de donnéesalumni.cs.ucr.edu/~ylemb001/chap2.pdfBases de données est un ensemble de tables ou relations. Personne Like Les attributs Chaque table a un ensemble de colonnes et

Les lignesLes données qui vont être stockées dans la base de données. Chaque ligne a une valeur pour chaque attribut.

idPersonne nom

1 Maya

2 Don

idPersonne Like

1 Confiture

2 Le football

Personne Like

Page 12: Bases de donnéesalumni.cs.ucr.edu/~ylemb001/chap2.pdfBases de données est un ensemble de tables ou relations. Personne Like Les attributs Chaque table a un ensemble de colonnes et

Les clés primaires

Un attribut ou un ensemble d’attributs qui identifie de manière unique une ligne.

idPersonne nom

1 Maya

2 Don

idPersonne Like

1 Confiture

1 Les revues

2 Le football

Personne Like

idPersonne est clé primaire dans Personne (idPersonne,Like) est clé primaire dans Like

Page 13: Bases de donnéesalumni.cs.ucr.edu/~ylemb001/chap2.pdfBases de données est un ensemble de tables ou relations. Personne Like Les attributs Chaque table a un ensemble de colonnes et

Les clés étrangèresUn attribut dans une table faisant référence à une clé primaire dans une autre table.

idPersonne nom

1 Maya

2 Don

idPersonne Like

1 Confiture

1 Les revues

2 Le football

Personne Like

idPersonne est clé étrangère dans Like et fait référence à idPersonne dans Personne

Page 14: Bases de donnéesalumni.cs.ucr.edu/~ylemb001/chap2.pdfBases de données est un ensemble de tables ou relations. Personne Like Les attributs Chaque table a un ensemble de colonnes et

Le schémaLa structure de la base de données: Les noms de tables, les différents attributs et leur types.

idPersonne nom idPersonne Like

Personne Like

Page 15: Bases de donnéesalumni.cs.ucr.edu/~ylemb001/chap2.pdfBases de données est un ensemble de tables ou relations. Personne Like Les attributs Chaque table a un ensemble de colonnes et

L’instance

Les données dans la base de données à un moment précis.

idPersonne nom

1 Maya

2 Don

idPersonne Like

1 Confiture

1 Les revues

2 Le football

Personne Like

Page 16: Bases de donnéesalumni.cs.ucr.edu/~ylemb001/chap2.pdfBases de données est un ensemble de tables ou relations. Personne Like Les attributs Chaque table a un ensemble de colonnes et

Du modèle entité-association vers le modèle relationnel

Page 17: Bases de donnéesalumni.cs.ucr.edu/~ylemb001/chap2.pdfBases de données est un ensemble de tables ou relations. Personne Like Les attributs Chaque table a un ensemble de colonnes et

Etapes de transformation

Nom

Prénom

ID

Titre

ID

Artistechantesalle

Chanson0...n 1 ... n

Soit le modèle entité-association suivant:

ID

Adresse

néheure

1...10... nendroit

Page 18: Bases de donnéesalumni.cs.ucr.edu/~ylemb001/chap2.pdfBases de données est un ensemble de tables ou relations. Personne Like Les attributs Chaque table a un ensemble de colonnes et

Les équivalences

Modèle entité-association Modèle relationnel

Entité ou association Table

Attribut Attribut

IdentifiantClé primaire

et parfois clé étrangère

Page 19: Bases de donnéesalumni.cs.ucr.edu/~ylemb001/chap2.pdfBases de données est un ensemble de tables ou relations. Personne Like Les attributs Chaque table a un ensemble de colonnes et

Etape 1Toute entité est transformée en une relation. La clé primaire de la relation est l’identificateur de l’entité.

ID Titre

Artiste

Chanson

ID Nom Prénom

IDNomPrénom

Artiste

Titre ID

Chanson

Artiste(ID, Nom, Prénom)

Chanson(ID,Titre)

ID

Adresseendroit

ID Adresse

Endroit

Endroit(ID,Adresse)

Page 20: Bases de donnéesalumni.cs.ucr.edu/~ylemb001/chap2.pdfBases de données est un ensemble de tables ou relations. Personne Like Les attributs Chaque table a un ensemble de colonnes et

Etape 2Toute association ayant des cardinalités 0...n ou 1...n des deux côtés est transformée en une relation. La clé primaire de la relation est constituée des clés primaires des entités qui y participent (et peut contenir d’autres attributs de l’association).

ChanteIdArtiste IdChanson Salle

Nom

Prénom

ID

Titre

ID

Artistechantesalle

Chanson0...n 1 ... n

Chante(IdArtiste, IdChanson, Salle)

Page 21: Bases de donnéesalumni.cs.ucr.edu/~ylemb001/chap2.pdfBases de données est un ensemble de tables ou relations. Personne Like Les attributs Chaque table a un ensemble de colonnes et

Etape 3Les attributs d’une association qui a une cardinalité 0...1 ou 1...1 sont ajoutés à l’entité à laquelle elle est reliée avec cette cardinalité. La clé primaire de l’autre entité qui participe devient clé étrangère dans la première entité.

Nom

Prénom

ID

Adresse

ID

Artistené

heure endroit1...1 0... n

Artiste

ID Nom Prénom IdEndroit HeureArtiste(ID, Nom, Prénom,

IdEndroit, Heure)

NaissanceIdArtiste IdEndroit Heure

Page 22: Bases de donnéesalumni.cs.ucr.edu/~ylemb001/chap2.pdfBases de données est un ensemble de tables ou relations. Personne Like Les attributs Chaque table a un ensemble de colonnes et

Schéma relationnel

Artiste(ID, Nom, Prénom, IdEndroit, Heure)

IdEndroit est clé étrangère

Chanson(ID, Titre)

Endroit(ID, Adresse)

Chante(IdArtiste, IdChanson, Salle)

IdArtiste, IdChanson sont des clés étrangères

Page 23: Bases de donnéesalumni.cs.ucr.edu/~ylemb001/chap2.pdfBases de données est un ensemble de tables ou relations. Personne Like Les attributs Chaque table a un ensemble de colonnes et

TDs

• Donner le modèle relationnel pour les modèles entité-association suivants:

• Définir les relations

• Définir les attributs

• Définir les clés primaires et les clés étrangères

Page 24: Bases de donnéesalumni.cs.ucr.edu/~ylemb001/chap2.pdfBases de données est un ensemble de tables ou relations. Personne Like Les attributs Chaque table a un ensemble de colonnes et

TD 1

contient0...1

0 ... n

Etudiantemprunte

date emprunt0...n 0 ... n

Nom

Prénom

ID

Livre

Titre

Auteur

ID

Modèle Relationnel pour une bibliothèque

Adresse

ID

Bibliothèque

Page 25: Bases de donnéesalumni.cs.ucr.edu/~ylemb001/chap2.pdfBases de données est un ensemble de tables ou relations. Personne Like Les attributs Chaque table a un ensemble de colonnes et

Correction du TD1Etudiant(ID, Nom, Prénom)

Livre(ID, Titre, Auteur, IdBibliothèque)IdBibliothèque est une clé étrangère qui fait référence à Bibliothèque(IdBibliothèque)

Bibliothèque(ID, Adresse)

Emprunt(IdEtudiant, IdLivre, dateEmprunt)IdEtudiant et IdLivre sont des clés étrangères qui font référence à Etudiant(IdEtudiant) et Livre(IdLivre), respectivement.

Page 26: Bases de donnéesalumni.cs.ucr.edu/~ylemb001/chap2.pdfBases de données est un ensemble de tables ou relations. Personne Like Les attributs Chaque table a un ensemble de colonnes et

TD 2

1...1

0... n

jouerôle

0...n 1... n

Nom

Prénom

ID Titre

ID

réalisedate de réalisation

Cinéma

Nom

Adresse

ID

affichehoraire

date

0...n

0...n

connaitPrénom

Nom

Acteur

0...n0...n

ID

Réalisateur

Film

Modèle relationnel pour un cinéma

Page 27: Bases de donnéesalumni.cs.ucr.edu/~ylemb001/chap2.pdfBases de données est un ensemble de tables ou relations. Personne Like Les attributs Chaque table a un ensemble de colonnes et

Correction du TD2Cinema(ID, Nom, Adresse)

Acteur(ID, Nom, Prénom)

Réalisateur(ID, Nom, Prénom)

Film(ID, Titre, IdRéalisateur, dateRealisation)

IdRealisateur est clé étrangère qui fait référence à Réalisateur(IdRéalisateur)

Affichage(IdCinema, IdFilm, Horaire, Date)

Joue(IdActeur, IdFilm, Role)

IdActeur et IdFilm sont des clés étrangères qui font référence à Acteur(IdActeur) et Film(IdFilm), respectivement

Connaissance(IdActeur, IdRealisateur)

IdActeur et IdRéalisateur sont des clés étrangères qui font référence à Acteur(IdActeur) et Réalisateur(IdRéalisateur), respectivement

Page 28: Bases de donnéesalumni.cs.ucr.edu/~ylemb001/chap2.pdfBases de données est un ensemble de tables ou relations. Personne Like Les attributs Chaque table a un ensemble de colonnes et

TD 3

Assiste

Cours

0...n

0...n

a lieu

HoraireNb heures

Nom

Prénom

Niveau

Nom

Numéro

Capacité

Salle

enseigneN° Salle

Professeur

Prénom

0...n

0...n

Nom

0...n

0...n

0...n

0...n

a

prend0...n 0...n

Nb matières

Nb heures

Modèle relationnel pour une école

ID

IDNom

Matière

ID

Etudiant

ID

Page 29: Bases de donnéesalumni.cs.ucr.edu/~ylemb001/chap2.pdfBases de données est un ensemble de tables ou relations. Personne Like Les attributs Chaque table a un ensemble de colonnes et

Correction du TD3Professeur(ID, Nom, Prénom, NbHeures)

Cours(ID)

Matière(ID, Nom)

Salle(Numéro, Nom, Capacité)

Enseigne(IdProfesseur, IdMatiere, Salle)

IdProfesseur et IdMatiere sont des clés étrangères qui font référence à Professeur(IdProfesseur) et Matière(IdMatiere), respectivement

LieuCours(IdCours, IdSalle, Horaire, NbHeures)

IdCours et IdSalle sont des clés étrangères qui font référence à Cours(IdCours) et Salle(Numéro), respectivement

estProfesseur(IdEtudiant, IdProfesseur)

IdProfesseur et IdEtudiant sont des clés étrangères qui font référence à Professeur(IdProfesseur) et Etudiant(IdEtudiant), respectivement