Vous êtes sur la page 1sur 42

Bases de données

Plan du cours

 Base de données et SGBD


 Modèle Entité-Relation
 Modèle relationnel et algèbre relationnelle
 Langages d’interrogations pour bases de données relationnelles
 La normalisation des relations
 Application
Définitions

 Base de données (BD)(DB) : ensemble de données conservées à long terme


sur un ordinateur
 Caractéristiques : grandes quantités / interrogation & modification aisées.
 Distinction entre schéma (plan) et instance (extension)
un ensemble de données structurées et intercorrélées, enregistrées avec
le minimum de redondance et pouvant être traitées par une ou plusieurs
applications, de façon optimale. La BD contient également la description
de ses données.

 Système de Gestion de Base de Données (SGBD) (DBMS): programme qui


permet la définition, la mise en œuvre, et l’exploitation d’une BD (à un niveau
plus abstrait que celui fournit par les OS usuels (gestion de fichiers)).
un ensemble de logiciels permettant aux utilisateurs de définir, créer,
maintenir, contrôler et accéder à la BD
Les principales fonctions d’un SGBD

 Stockage de données persistantes, très grands volumes (plusieurs Go (109),


Tera-o (1012)), avec des structures flexibles
 Langages de définition de données, d'interrogation et de manipulation
 Catalogue accessible aux utilisateurs
 Gestion des autorisations, des transactions et des accès concurrents
 Gestion de l'intégrité des données
 Outils divers
programmation, développement, administration, communication, aide à la
décision, …
Les vrais SGBD sont rares
Avancées significatives / systèmes de fichiers
Les principales composantes d'un SGBD

Administrateur Utilisateurs
Utilisateurs
Utilisateur Utilisateurs
Utilisateurs
Application

DDL Processeur de
(langage de description requêtes
Gestionnaire de
de données)
transactions
Moteur d'exécution
Journalisation

Gestionnaire Gestion des accès


d'index, relations, tuples concurrents

Gestionnaire
de stockage

Métadonnées
Données
Niveaux d’abstraction

Essentiellement trois niveaux :


 Vue de l’utilisateur
 BD conceptuelle (indépendance logique)
 Organisation des données de la BD
 BD physique (indépendance physique)
 Sur disque, fichiers …

Note : Indépendance si une modification à un niveau (par ex.


améliorer l’efficacité) ne nécessite pas de modification du niveau
supérieur
Modèle Entités-Relations

 Une BD est constituée


 d’un ensemble d’entités : ensembles d’objets de même
structure
 de relations entre (certains de) ces ensembles, i.e., un
sous-ensemble du produit cartésiens de (certains de) ces
ensembles.

 L’extension de chaque relation contient un certain nombre


d’éléments appelés k-tuples (k = degré de la relation).
I. Modèle Entités - Relations
2 - Modèle Entités - Relations

 Contenu
 Concepts de base
 Entités, attributs
 Relations
 Clés
 Multiplicités, cardinalités
 Concepts avancés
 Héritage
 Agrégation, Composition
 Entités faibles
Modèle Entités-Relations

 Un ensemble d’entités est décrit par un nom et un type (liste des


attributs)

 De même une relation est décrite par un nom et un type (liste


ordonnées des noms d’ensemble d’entités).
Modèle Conceptuel de Données

Il décrit l’organisation initiale des données sous forme d’entités et de


relations

Une entité est un être ou un objet (concret ou abstrait) qui peut


être distingué d’un autre objet.

Une entité est composée de champs (ou attributs)

Etudiant Cours
Nom Intitulé
Prénom Nbr heures
N°Etud …

Modèle Conceptuel de Données

Une association (ou relation) exprime une interaction entre une à


plusieurs entités. (Une association peut comporter des attributs)

Un étudiant suit 1 ou plusieurs cours

Etudiant suit Cours


0..n 1..n

Un cours est suivi par aucun ou plusieurs étudiants

La Cardinalité d’un couple entité – association permet de préciser


les nombres minimum et maximum de fois pour lesquelles une entité
est concernée par l’association
Modèle Conceptuel de Données

Exemple

Créer un MCD pour modéliser le problème suivant :

Une société de vente par correspondance met en vente des produits.

Chaque produit est identifié par un numéro, un prix unitaire et une


quantité en stock.

Un client identifié par un numéro de client, un nom, un prénom et une


adresse passe commande à une date donnée d’un ensemble de
produits.
Modèle Conceptuel de Données

Client
1..1 1..n Produit
N°client
Nom N°produit
Prénom Libellé
Adresse Descriptif
passe qt contient Prix unitaire
é Qté en stock

1..n Commande 1..n


Date
Prix total
Rôle & Cardinalité

 La participation d’un ensemble d’entités à une relation est son rôle

 Pour chaque ensemble d’entités participant à une relation, i.e., pour


chaque rôle d’un ensemble d’entités, on précise – par un intervalle
(min,max) - dans combien de tuples de la relation, chaque entité
peu apparaître.
 En général,
 min = 0 ou 1
 max = 1 ou  (noté N ou *)
Diagramme Entités-Relations

Exemple 1 Employés_Université

(0,N) enseignant

Enseigne

(1,1) cours enseigné

Cours_Université
2 - Modèle Entités - Relations

Objectif du modèle de données

 Apporter une interprétation du contexte applicatif


 en soulignant les aspects fondamentaux
 en négligeant les détails
 Identifier les données gérées par la base de données et
leur relations
 Produire un diagramme, suivant un formalisme,
en vue de convertir le modèle de données en schéma de
base relationnelle
Modèle Systèmes
RÉALITÉ
Entité-Relation Relationnels

modeling mapping
2 - Modèle Entités - Relations

Entités et ensembles d'entités

 Entité
 "une chose" qui existe et qui peut être distinguée de façon unique.
Ex.: un étudiant, une voiture, une banque
 abstraite ou concrète
• Ensemble d'entités
 Une collection d'entités similaires, ayant les mêmes propriétés,
identifiées par l’ "organisation" ("entreprise" en sens large) comme
ayant une vie propre
Ex.: les étudiants d'une université, les comptes d'une banque, les
entreprises d'un pays, les voitures d'une société de location …

Remarque: s'il n'y a pas d'ambiguïté, on utilise le terme "entité" pour


indiquer un ensemble d'entités.
2 - Modèle Entités - Relations

Attributs

 Attribut
 propriété d’une entité
 prend des valeurs simples, par exemple entiers ou
chaînes de caractères (domaine d'attribut)
Ensemble d'Entités Attributs Domaines
Voitures n°série entier (12)
marque chaîne de car. (8)
type chaîne de car. (10)

type Représentation
n°série marque sous forme de
voitures diagramme
2 - Modèle Entités - Relations

Clé des ensembles d'entités

 clé candidate: un ensemble minimal d’attributs qui identifie


de façon unique une occurrence d’entité
 clé primaire: une clé candidate choisie pour identifier de
façon unique chaque occurrence d’entité
 clé composée: une clé candidate composée de deux ou
plusieurs attributs

type n°d nom_d


n°série marque
voitures département

Clés candidates Clé primaire


Clé primaire
K1 = n°d K = n°d
K = n°série
K2 = nom_d
2 - Modèle Entités - Relations

Relations

 Une relation relie deux ou plusieurs ensembles d'entités


 Ex.:
 Des universités délivrent des diplômes
 Des étudiants sont inscrits dans des universités

n°u nom_u n°d titre

université diplôme
délivr
e
inscription
n°e nom_e
étudiant prénom_e
2 - Modèle Entités - Relations

Ensemble de relations

 La "valeur" d'une relation est l'ensemble des listes des


entités réellement associées par la relation. Chaque liste
est obtenue en correspondance des ensembles d'entités
en relation.
Exemple: valeur de la relation "délivre"
- l'université identifiée par u1
n°u n°d
délivre les diplômes identifiés
u1 d2
par d2, d3 et d5,
u1 d3

u1 d5
l'université identifiée par u100
…. …
délivre les diplômes identifiés
u100 d1
par d1 et d2
u100 d2
2 - Modèle Entités - Relations

Ensemble de relations (2)

 Soit r une relation entre k ensembles d'entités E1, E2, …, Ek. Un ensemble
d'entités peut apparaître plus d'une fois dans la liste.

 Soit un k-uplet (e1, ... ek)  r


 e1  E1, ... ek Ek sont associés par la relation r
 e1, ... ek est dit tuple de r
 k est le degré de la relation
 K = 1 : relation unaire (ou récursive, sur un même ensemble d'entités)
 K = 2 : relation binaire
 K = 3 : relation ternaire
 …
 K = n : relation n-aire
2 - Modèle Entités - Relations

Relations n-aires

 Une relation connectant plus de 2 ensembles d'entités permet


de restreindre les combinatoires entre les valeurs des entités
en relation
Ex.: des employés participent à des projets avec des rôles

n°p nom_p

projet n°p n°e n°r


n°r descr_r
p1 e2 r1
p1 e3 r2
rôle
particip p1 e5 r3
n°e e … … …
employé prénom_e p2 e2 r2
nom_e p2 e3 r1
2 - Modèle Entités - Relations

Exercices

Donner des exemples de relations de type (1), (2) et (3)

A r B
r A A r B
C
(1) (2)
(3)
2 - Modèle Entités - Relations

Type des relations binaires

Soit r une relation binaire


Le type de r est lié au nombre d’occurrences d’une entité
qui peuvent être associées avec une occurrence de l'autre
entité

E1 r E2
2 - Modèle Entités - Relations

Relations de type m-n

Dans une relation "plusieurs à plusieurs" ("many-many", m-n),


une entité de chaque ensemble peut être connectée à plusieurs entités
de l'autre ensemble

n°e nom_e n°p titre

employés participe projets

(n-m)

employés projets
2 - Modèle Entités - Relations

Relations de type 1-n

Dans une relation "un à plusieurs" ("one-many", 1-n),


 une entité d'un ensemble peut être connectée à au plus une entité du
second ensemble
 mais une entité du second ensemble peut ne pas être connecté à
aucune entité du premier ensemble, ou être connectée à une ou
plusieurs entité de cet ensemble

n°f nom_f n°série type

fabriquants produit voitures

(1-n) fabriquants voitures


2 - Modèle Entités - Relations

Relations de type 1-1

Dans une relation "un à un" ("one-one", 1-1),


une entité de chaque ensemble peut être connectée à au plus une
entité de l'autre ensemble
Exemple: une BD pour l'administration d'un pays
une personne possède au plus un passeport
et un passeport a un seul titulaire

n°p nom_p n°pass date_emission

personnes possède passeport

(1-1)
personnes passeports
2 - Modèle Entités - Relations

Synthèse sur les types des relations

A B A B A B

1-n n-m 1-1


2 - Modèle Entités - Relations

Exercice

Trouver des exemples de relations de type 1-n, n-m, 1-1. Pour


chaque exemple, spécifier les entités A et B, en indiquant leurs
attributs et clés, ainsi que la relation r.

A r B
2 - Modèle Entités - Relations

Attributs de relation

Propriétés dont la valeur dépend des tuples dans


l'ensemble de relations.

n°c date_c nom_p


n°p
commande concerne produit

quantité
2 - Modèle Entités - Relations

Exercice

 Trouver un exemple de relation binaire r: r associe les entités A et


B, et est munie d'un attribut C.
 Comparer les diagrammes (3) et (4).

A r B

C
(4)
2 - Modèle Entités - Relations

Cardinalités

 Les BD sont conçues dans l'hypothèse du "monde fermé"


Les ensembles d'entités sont FINIS !!
 Cardinalités
Couples (min, max) associés à chaque ensemble d'entité relié par une
relation r
 Si r est binaire, entre E1 et E2:
– le min (resp. max) associé à Ei (i=1,2) représente le nombre
minimum (resp. max) d'entités de Ej (j=2,1) associées à un
élément quelconque de Ei.
 Si r est n-aire:
– le nombre d’occurrences possibles d’entités associées dans cette
relation quand les autres (n-1) valeurs sont fixées

Min Max
0 1
1 n
2 - Modèle Entités - Relations

Exemples

n°f nom_f type n°série


1,n 1,1
fabriquant produit voitures

(1-n)

n°e nom_e titre n°p


0,n 1,n
employé participe projet

(n-m)
2 - Modèle Entités - Relations

Exemples

nom_p n°pass date_emission


n°p
0,1 1,1
personne possède passeport

(1-1)

est composée de
n°pièce
0,n
quantité
nom_p pièce
0,n

compose
2 - Modèle Entités - Relations

Exemple

n°p nom_p

projet
1,n n°r descr_r
0,n rôle
particip
n°e e 0,n
employé prénom_e
nom_e
Diagramme E-R - Exercices

 Représenter un diagramme E-R d’une BD de personnes liées par


des liens de paternité

 Modéliser le fait que des clients peuvent passer des commandes à


une centrale d’achat (qui possède la BD). Cette dernière a des
fournisseurs habituels pour les différents produits possibles et
décide par quel fournisseur quel produit doit être livré.
ER vers R
Algèbre Relationnelle

Vous aimerez peut-être aussi