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

Post on 03-Apr-2015

107 views 2 download

Transcript of Base de Données 2 Julie Dugdale Julie.dugdale@upmf-grenoble.fr Matière/Sources: Daniel Bardou,...

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

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..

4

Le modèle relationnel

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

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

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

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

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.

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

11

Autre exemple

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 »

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

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

15

Définitions formelles

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

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#

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

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

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

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)

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

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}

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

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

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.

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.

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

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