Base de Données 2 Julie Dugdale [email protected] Matière/Sources: Daniel Bardou,...
-
Upload
adelard-brisset -
Category
Documents
-
view
107 -
download
2
Transcript of Base de Données 2 Julie Dugdale [email protected] Matière/Sources: Daniel Bardou,...
Base de Données 2
Julie Dugdale
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