Base de Données 2 Julie Dugdale [email protected] Matière/Sources: Daniel Bardou,...

29
Base de Données 2 Julie Dugdale [email protected] Matière/Sources: Daniel Bardou, Julie Dugdale & Vanda Luengo Cours 3

Transcript of Base de Données 2 Julie Dugdale [email protected] Matière/Sources: Daniel Bardou,...

Page 1: Base de Données 2 Julie Dugdale Julie.dugdale@upmf-grenoble.fr Matière/Sources: Daniel Bardou, Julie Dugdale & Vanda Luengo Cours 3.

Base de Données 2

Julie Dugdale

[email protected]

Matière/Sources: Daniel Bardou, Julie Dugdale &

Vanda Luengo

Cours 3

Page 2: Base de Données 2 Julie Dugdale Julie.dugdale@upmf-grenoble.fr Matière/Sources: Daniel Bardou, Julie Dugdale & Vanda Luengo Cours 3.

2

Sommaire Passage d’un MCD (Modèle Conceptuel de Données) à

MLD (Modèle Logique de Données) Le modèle relationnel

Définitions Informelles Table, Ligne, .. Clé Exemples de bases de données relationnel

Définitions formelles Relations Schema Tuple Domaine

Page 3: Base de Données 2 Julie Dugdale Julie.dugdale@upmf-grenoble.fr Matière/Sources: Daniel Bardou, Julie Dugdale & Vanda Luengo Cours 3.

3

Une fois le MCD écrit par les analystes, le travail du concepteur consiste à traduire ce modèle en un modèle plus proche du SGBD utilisé: le MLD (modèle logique de données).

Mais d’abord…

Il faut comprendre le modèle relationnel..

Page 4: Base de Données 2 Julie Dugdale Julie.dugdale@upmf-grenoble.fr Matière/Sources: Daniel Bardou, Julie Dugdale & Vanda Luengo Cours 3.

4

Le modèle relationnel

Page 5: Base de Données 2 Julie Dugdale Julie.dugdale@upmf-grenoble.fr Matière/Sources: Daniel Bardou, Julie Dugdale & Vanda Luengo Cours 3.

5

Le modèle relationnel

Proposé à partir de 1970 (travaux de CODD). L’idée était décrite dans l’article de Codd : "A Relational Model for Large Shared Data

Banks," Communications of the ACM, June 1970

Cet article causa une révolution majeure dans le domaine de la gestion de bases de données, et permis au Dr Codd de remporter l’Award de Turing ACM

Page 6: Base de Données 2 Julie Dugdale Julie.dugdale@upmf-grenoble.fr Matière/Sources: Daniel Bardou, Julie Dugdale & Vanda Luengo Cours 3.

6

Le modèle relationnel

Le modèle relationnel de données connaît un grand succès pour les raisons suivants:

1. Représentation simple à l’aide du concept unique de relation

2. Existence d’une démarche rigoureuse (normalisation) permettant la construction du schéma

3. Base de SGBD relationnels et de langages d’interrogation renommés

Page 7: Base de Données 2 Julie Dugdale Julie.dugdale@upmf-grenoble.fr Matière/Sources: Daniel Bardou, Julie Dugdale & Vanda Luengo Cours 3.

7

Le modèle relationnel

Idée de base:

Classes d’entités et associations sont stockées dans des tables appelées relations

Une BD relationnelle est une collection de tables (relations)

Ce sont ces tables qui doivent être créées puis manipulées avec le SGBD

Page 8: Base de Données 2 Julie Dugdale Julie.dugdale@upmf-grenoble.fr Matière/Sources: Daniel Bardou, Julie Dugdale & Vanda Luengo Cours 3.

8

Définitions Informelles

Informellement, une relation ressemble à une table de valeurs.

Une relation contient typiquement un ensemble de lignes.

Les éléments de données dans chaque ligne représentent certains faits qui correspondent à une entité ou relation du monde réel. Dans le modèle formel, les lignes sont

appelées des tuples

Page 9: Base de Données 2 Julie Dugdale Julie.dugdale@upmf-grenoble.fr Matière/Sources: Daniel Bardou, Julie Dugdale & Vanda Luengo Cours 3.

9

Définitions Informelles

Chaque colonne a une entête de colonne qui indique la signification des données contenues dans cette colonne. Dans le modèle formel, l’entête de

colonne est appelée un nom d’attribut (ou juste un attribut).

Toutes les valeurs d’une colonne sont du même type de données.

Page 10: Base de Données 2 Julie Dugdale Julie.dugdale@upmf-grenoble.fr Matière/Sources: Daniel Bardou, Julie Dugdale & Vanda Luengo Cours 3.

10

Exemple de BD relationnelleREFPROD DESIGN PRIXHT

1 Papillote 1.50

5 Bilboquet 23.00

9 Crécelle 17.50

7 Yoyo 12.00

NUMFACT DATFACT

6 13/12/06

2 11/12/06

3 16/12/06

NUMFACT REFPROD QTE

6 1 7

6 5 3

2 5 10

2 1 5

3 7 4

PRODUIT

FACTURE

EST-FACTURE

Nom de Relation

Attributs

Tuples

Page 11: Base de Données 2 Julie Dugdale Julie.dugdale@upmf-grenoble.fr Matière/Sources: Daniel Bardou, Julie Dugdale & Vanda Luengo Cours 3.

11

Autre exemple

Page 12: Base de Données 2 Julie Dugdale Julie.dugdale@upmf-grenoble.fr Matière/Sources: Daniel Bardou, Julie Dugdale & Vanda Luengo Cours 3.

12

Définitions informelles

Clé d’une relation : Chaque ligne a une valeur d’un donnée (ou ensemble de

données) qui identifie de manière unique cette ligne dans la table.

Elle est appelée la cléDans la table ETUDIANT, NSS est la clé

La notion de clé a été rencontrée dans le modèle E-A utilisant le nom….?

Parfois des numéros séquentiels sont assignés comme clés pour identifier les lignes d’une table

On les appelle une clé artificielle ou une clé « surrogate »

Page 13: Base de Données 2 Julie Dugdale Julie.dugdale@upmf-grenoble.fr Matière/Sources: Daniel Bardou, Julie Dugdale & Vanda Luengo Cours 3.

13

clé

Exemples:

FOURNISSEURS (Nom: caractère (20), Adresse: caractère (30); clé NOM)

POSSEDE (Nom: caractère (20), NVoiture: caractère (10), Kilomètrage: entier, Année: entier; clé NomNVoiture)

L’attribut Nom constitue une clé pour la relation FOURNISSEURS, cad, que deux tuples de la relation ne peuvent avoir même valeur pour cet attribut

Page 14: Base de Données 2 Julie Dugdale Julie.dugdale@upmf-grenoble.fr Matière/Sources: Daniel Bardou, Julie Dugdale & Vanda Luengo Cours 3.

14

Le modèle relationnel

Le modèle relationnel est simple à comprendre et fidèle à un cadre mathématique (l'algèbre relationnelle).

Relation de la théorie des ensembles, qui se définit comme un sous-ensemble du produit cartésien de plusieurs domaines

Page 15: Base de Données 2 Julie Dugdale Julie.dugdale@upmf-grenoble.fr Matière/Sources: Daniel Bardou, Julie Dugdale & Vanda Luengo Cours 3.

15

Définitions formelles

Page 16: Base de Données 2 Julie Dugdale Julie.dugdale@upmf-grenoble.fr Matière/Sources: Daniel Bardou, Julie Dugdale & Vanda Luengo Cours 3.

16

Définitions formelles- Relation

Le degré d’une relation est le nombre d’attributs.

Par exemple, degré de?ETUDIANT (Nom, NSS, TelephoneDomicile,

Adresse, Age, Cours)

Réponse: 6

Page 17: Base de Données 2 Julie Dugdale Julie.dugdale@upmf-grenoble.fr Matière/Sources: Daniel Bardou, Julie Dugdale & Vanda Luengo Cours 3.

17

Définitions formelles- Schéma

Le schéma (ou description) d’une relation: Noté par R(A1, A2, .....An) R est le nom de la relation Les attributs de la relation sont A1, A2, ..., An

Exemple:CLIENT (Client-id, Client-nom, Adresse, Telephone#) CLIENT est le nom de la relation Quatre attributs : Client-id, Client-nom,

Adresse, Telephone#

Page 18: Base de Données 2 Julie Dugdale Julie.dugdale@upmf-grenoble.fr Matière/Sources: Daniel Bardou, Julie Dugdale & Vanda Luengo Cours 3.

18

Définitions formelles- Schéma

• Un autre exemple d’un schéma d'une relation POSSEDE (Nom, NVoiture, Kilomètrage, Année)

POSSEDE est le nom de la relation Quatre attributs : Nom, NVoiture, Kilomètrage, Année

Nom NVoiture Kilomètrage Année

Pierre Espace 3200 2005

Paul Golf 34500 2002

Hélène Navada 24600 1999

Marie Corsa 75000 1995

Page 19: Base de Données 2 Julie Dugdale Julie.dugdale@upmf-grenoble.fr Matière/Sources: Daniel Bardou, Julie Dugdale & Vanda Luengo Cours 3.

19

Chaque attribut a un domaine ou ensemble de valeurs valides (possibles). Par exemple, le domaine de Client-id est

l’ensemble de nombres à 6 chiffres.

Nous reviendrons sur la notion de domaine dans une minute

Page 20: Base de Données 2 Julie Dugdale Julie.dugdale@upmf-grenoble.fr Matière/Sources: Daniel Bardou, Julie Dugdale & Vanda Luengo Cours 3.

20

Définitions formelles- Schéma

Si

le schéma d'un table est l'ensemble d'attributs de la table,

par extension….

Qu’est-ce que le schéma d’une BD?

le schéma d'une BD est l'ensemble de toutes les tables

Page 21: Base de Données 2 Julie Dugdale Julie.dugdale@upmf-grenoble.fr Matière/Sources: Daniel Bardou, Julie Dugdale & Vanda Luengo Cours 3.

21

Définitions formelles- Tuple

Un tuple est un ensemble ordonné de valeurs ( ‘< … >’)

Chaque valeur est dérivée d’un domaine.Par exemple:

Une ligne de la relation CLIENT est un 4-tuple et consisterait de 4 valeurs, : <632895, John Smith, 101 Main St. Atlanta

GA 30332, (404) 894-2000>

Une relation est un ensemble de tels tuples (lignes)

Page 22: Base de Données 2 Julie Dugdale Julie.dugdale@upmf-grenoble.fr Matière/Sources: Daniel Bardou, Julie Dugdale & Vanda Luengo Cours 3.

22

Définitions formelles- Tuple

On utilise le produit cartésien d'un ensemble de domaines pour définir un ensemble de tuples.

Le produit cartésien d'un ensemble de domaines D1,D2,…,Dn que l'on écrit D1xD2x..xDn est un ensemble tuples <V1, V2,..,Vn> tel que Vi Di

Page 23: Base de Données 2 Julie Dugdale Julie.dugdale@upmf-grenoble.fr Matière/Sources: Daniel Bardou, Julie Dugdale & Vanda Luengo Cours 3.

23

Définitions formelles- Domaine

Un domaine est un ensemble fini ou infini de valeurs possibles Exemples:

Le domaine des entiers, Le domaine des couleurs {rouge, vert, bleu} Le domaine des voitures {Renault, VW,

Peugeot, Ford} Le domaine de “numeros_telephone_francais”

{l’ensemble des numéros à 10 chiffres valides en France}

Page 24: Base de Données 2 Julie Dugdale Julie.dugdale@upmf-grenoble.fr Matière/Sources: Daniel Bardou, Julie Dugdale & Vanda Luengo Cours 3.

24

Définitions formelles- Domaine

Exemple : Soit:

D1 = {durand, lefevre, martin} et

D2 = { christian, franck}

Le produit cartésien des domaines

donne.. Durand Christian

Durand Franck

Lefevre Christian

Lefevre Franck

Martin Christian

martin Franck

Page 25: Base de Données 2 Julie Dugdale Julie.dugdale@upmf-grenoble.fr Matière/Sources: Daniel Bardou, Julie Dugdale & Vanda Luengo Cours 3.

25

Définitions formelles- Domaine Une table relationnelle est un sous-ensemble du produit

cartésien d'une liste de domaines.

Personne D1 D2

Durand Christian

Lefevre Franck

Martin Christian

Une relation qui est un ensemble de 3 tuples de degré deux

Page 26: Base de Données 2 Julie Dugdale Julie.dugdale@upmf-grenoble.fr Matière/Sources: Daniel Bardou, Julie Dugdale & Vanda Luengo Cours 3.

26

Définitions formelles- Domaine

Autre exemple: Soit R(A1, A2) un schéma de relation :

Soit dom(A1) = {0,1} Soit dom(A2) = {a,b,c}

Alors dom(A1) X dom(A2) est l’ensemble de toutes les combinaisons possibles :{<0,a> , <0,b> , <0,c>, <1,a>, <1,b>, <1,c> }

Une table relationnelle est un sous-ensemble du produit cartésien d'une liste de domaines.

Page 27: Base de Données 2 Julie Dugdale Julie.dugdale@upmf-grenoble.fr Matière/Sources: Daniel Bardou, Julie Dugdale & Vanda Luengo Cours 3.

27

Définitions formelles- Domaine

Un domaine a aussi un type de données ou un format défini pour ce domaine.

Par exemple.. Le type de données pour le domaine ‘âge’ est:

entier positif Le type de données pour le domaine ‘solde d’un

compte en banque’ est: réel Les numeros_telephone_francais peuvent avoir un

format: cc cc cc cc cc où chaque c est un chiffre.

Page 28: Base de Données 2 Julie Dugdale Julie.dugdale@upmf-grenoble.fr Matière/Sources: Daniel Bardou, Julie Dugdale & Vanda Luengo Cours 3.

28

Définitions formelles- Résumé

Formellement, Etant donné R(A1, A2, .........., An) r(R) dom (A1) X dom (A2) X ....X dom(An)

r(R): un état spécifique (ou "valeur" ou “population”) de la relation R – c’est un ensemble de tuples (lignes) r(R) = {t1, t2, …, tn} où chaque ti est un tuple ti = <v1, v2, …, vn> où chaque élément vj est dans

dom(Aj) R(A1, A2, …, An) est le schéma de la relation R est le nom de la relation A1, A2, …, An sont les attributs de la relation

Page 29: Base de Données 2 Julie Dugdale Julie.dugdale@upmf-grenoble.fr Matière/Sources: Daniel Bardou, Julie Dugdale & Vanda Luengo Cours 3.

29

Résumé de définitions

Termes informels Termes formels

Table Relation

Entête de colonne Attribut

Toutes les valeurs possibles de colonnes

Domaine

Ligne Tuple

Définition d’une table Schéma de relation

Table remplie (ou peuplée)

Etat de relation