Vous êtes sur la page 1sur 8

Base de donnes e

Boigelot Denis 22 aot 2006 u

Schma entits-associations e e

Pour modliser un univers dont on veut stocker les donnes on utilise le schma entits-associations. e e e e Une entit est un objet mis en association avec un autre1 . Les entits sont reprsentes par des e e e e rectangles et les associations par des ovales contenant la signication prcise de cette association. e Chaque entit est dtaille par des attributs qui sont inscrits dans le rectangle. Toutes les entits e e e e sont identies de mani`re unique grce ` un ou plusieurs de ces attributs qui seront souligns dans e e a a e le schma. Lorsquun attribut concerne deux entits, lattribut sera mis sur lassociation les reliant. e e Une entit est limite en nombre dassociations avec une autre entit par sa cardinalit qui peut e e e e tre dexactement 1, de 1 ` n (0 ` n) ou de m ` n . Une association binaire est de type: un ` un e a a a a si les deux cardinalits sont constantes, un ` plusieurs si une des deux cardinalits maximale vaut e a e n et plusieurs ` plusieurs si les deux cardinalits maximale valent n. a e Un type particulier dassociation est lhritage qui se symbolise par une che vers le cas gnral e e e e et ne poss`de pas de cardinalit2 . Un hritage sera partiel si le cas gnral peut exister seul et sera e e e e e total si le cas gnral est toujours utilis par un cas particulier. De plus, lhritage sera non exclusif e e e e si le cas gnral peut tre de plusieurs cas particuliers ` la fois et exclusif sinon. e e e a La gure 1 reprsente un environnement, o` un client identi par une clef et possdant un nom, e u e e peut passer un tas de commande. Ces commandes sont identies par un numro de commande, sont e e faites par un seul client et contiennent une certaine quantit darticles. Les articles sont identis e e par une clef, sont limits dans le stock et peuvent se retrouver dans nimporte quelle commande. e

Client - nom - clef 1...n passe

Commande 1 - n de 1...n commande

contient quantit commande

Article 0...n - clef - quantit en stock

Fig. 1 Exemple de schma entits-associations e e

Attention: tous les attributs dune entit doivent dpendre directement de son identie e ant et daucun autre attribut. Par exemple on pourrait ajouter dans client sa commune mais pas le nombre dhabitants de sa commune; en eet ce dernier ne dpend pas du e client mais bien de la commune. Il faudrait donc crer une nouvelle entit commune. e e
1 Le 2 Lhritage e

plus souvent on a des associations binaires (entre deux entits) mais on peut avoir des associations ternaires. e peut tre vu comme une association est avec la cardinalit 1 et 1...n. e e

Mod`le relationnel e

Le mod`le relationnel permet de modliser une base de donnes en un syst`me logique sur lequel e e e e il sera beaucoup plus simple de faire des requtes. Le vocabulaire ci-dessous y est utilis. e e Relation table ` deux dimensions contenant diverses informations. a Attributs noms des colonnes dune relation, reprs par un nom et un domaine de dnition, ee e cest-`-dire lensemble des valeurs acceptes. a e Tuple (ou n-tuple) ligne du tableau. Schma ensemble des attributs dune relation. e Population ensemble des tuples dune relation. Cardinalit nombre de tuples qui composent la relation. e Clef principale attribut (ou les attributs) permettant de dsigner de faon unique un tuple. e c Clef trang`re attribut permettant didentier de faon unique un tuple faisant partie dune e e c autre relation. Pour traduire un schma entits-associations en mod`le relationnel on applique les r`gles suivantes: e e e e 1. Toute entit devient une relation avec comme clef principale lidentiant de lentit; e e 2. Une association de type un ` un dispara au prot dune clef trang`re dans les deux tables; a t, e e 3. Une association de type un ` plusieurs dispara au prot dune clef trang`re dans la table a t, e e ct du 1; oe 4. Une association de type plusieurs ` plusieurs devient une table supplmentaire dont la clef a e principale est compose de deux clefs trang`res vers les deux entits en association; e e e e 5. Une association non binaire devient une relation avec autant de clefs trang`res que dentits e e e en association. Si on applique cela ` la gure 1, lon obtient les relations: Client(clef, nom), Commande(no de commande, a e clefC) o` clefC rfrence Client.clef, Article(clef, quantit en stock) et contient(ndeC, clefA, quanu ee tit commande) o` ndeC rfrence Commande.no de commande et clefA rfrence Article.clef e e u ee ee

Alg`bre relationnelle e

Lalg`bre relationnelle a t introduite en 1970 par Edgar F. Codd, le directeur de recherche du e ee centre IBM de San Jos. Elle est constitue dun ensemble doprations formelles sur les relations. e e e La manipulation des donnes se fait selon le concept mathmatique de relation de la thorie des ene e e sembles. Il existe deux types doprations: les unaires et les binaires3 . Le rsultat de toute opration e e e est une nouvelle relation. Le langage SQL (voir 5) est un langage driv de lalg`bre relationnelle. e e e

3.1

Oprations unaires e

Projection opration ne retenant que certains attributs dans une relation. Elle se note [attributs]. e Le rsultat ne gardera que des tuples dirents. e e Slection opration ne retenant que certains tuples dans une relation. Elle se note [attribut op e e const ou attribut], o` op peut tre =, =, , , < et >. On peut mettre plusieurs expressions u e dans une slection avec les oprateurs logiques et . e e Renommage opration modiant le nom dun attribut pour rsoudre des probl`mes de compatie e e bilit entre noms dattributs. Ceci se note [nom attribut : nouveau nom]. e Attention: lordre dans lequel on met les oprations peut tre important. Par exemple e e si lon veut conna les capitales des petits pays on fera [nom, capitale] [surf ace < tre 100]P ays et non pas [surf ace < 100][nom, capitale]P ays.
3 Les

oprations unaires sont prioritaires sur les binaires. Les valuations ont lieu de gauche ` droite. e e a

R A 1 2 3

B 2 5 2

C 3 -3 4

D 1 1 9

R A 1 2 3

B 2 5 2

C 3 -3 4

D 1 1 9

R1 A 1 3 5

B 2 4 6

R2 A 1 3 5

C 2 4 6

Fig. 2 Projection: [A, B]R; Fig. 3 Slection: [C > 0]R; Fig. 4 Renommage: R2 = e le gris sera supprim e la ligne en grise sera supprime [B : C]R1 e

3.2

Oprations binaires e

Produit cartsien opration qui construit toutes les combinaisons de tuples de deux relations. e e Ceci se note T1 T2 . Il faut que T1 et T2 naient pas dattributs de mme nom (pour viter e e cela on utilisera le renommage). Jointure opration crant toutes les combinaisons signicatives cest-`-dire portent la mme e e a e valeur pour les attributs de mme nom entre tuples de deux relations4 . Ceci se note T1 T2 5 . e Si T1 et T2 nont pas dattributs de mme nom la jointure aura leet dun produit cartsien. e e Le schma de la relation rsultante poss`de les attributs des relations initiales. e e e Union opration qui runit dans une mme relation les tuples de deux relations. Se note T1 T2 . e e e Lunion ne se fait quentre relations avec les mmes schmas. e e Intersection opration qui slectionne les tuples qui sont dans deux relations. Se note T1 T2 . e e Lintersection ne se fait quentre relations avec les mmes schmas. e e Dirence opration qui slectionne les tuples dune relation qui ne sont pas dans une autre. Se e e e note T1 T2 . La dirence se fait quentre relation avec les mmes schma. e e e Division opration permettant de traiter des requtes de style les... tels que tous les... Soit e e deux relations R(A1 , . . . , An ) et V (A1 , . . . , Am ) avec n > m et A1 , . . . , Am les mmes ate tributs dans les deux relations alors la division de R par V , note R/V , est lensemble des e < Am+1 , . . . , An > tel que < A1 , . . . , Am > V , < A1 , . . . , An > R. RS A B 1 2 1 2 4 7 4 7 R A 1 3 5 6 S B 1 2 1 7 8 RS A B 1 2 5 2 6 1 6 1

R A 1 4

B 2 7

S C 3 2

D 4 1

C 3 2 3 2

D 4 1 4 1

B 2 4 2 1

C 9 8 4 4 3

C 8 8 9 4

Fig. 5 Produit cartsien e

Fig. 6 Jointure naturelle

R1 A B 1 2 4 7

R2 B C 3 4 2 1

R 1 R2 A B 1 2 4 7 3 4 2 1

R1 A 1 3 5

B 2 4 2

R2 B 3 5 1

C 9 2 4

R 1 R2 A B 5 2

Fig. 7 Union

Fig. 8 Intersection

4 Il existe aussi la theta-jointure qui est une jointure entre attributs explicitement dnis: voir [3] et [4]. Dautres e jointures sont prsentes dans [5]. e e 5 La jointure se note aussi T T2 . 1

R1 A 1 3 5

B 2 4 2

R2 B 3 5 1

C 9 2 4

R1 R 2 A B 1 2 3 4 3 9 1 4

Fig. 9 Dirence e

R A 1 1 1 1 2 2 3 3 3

B 1 2 2 3 1 3 1 2 2

C 1 0 1 0 1 3 1 1 0

V B 1 2

C 1 0

R/V A 1 3

V B 3

C 5

R/V A

Fig. 10 Division de deux tables

Calcul relationnels

Avec lalg`bre relationnelle, une requte est exprime comme une squence doprations ` raliser e e e e e a e a ` partir des relations de la BD. Lobjectif du calcul relationnel, inspir du calcul des prdicats de la e e logique du premier ordre, est dexprimer une requte par la simple dnition du rsultat, en faisant e e e abstraction du mcanisme utilis par le SGBD (syst`me de gestion de base de donnes) pour la e e e e construction de ce rsultat. Ce sont donc des langages dclaratifs. Il existe deux types de calculs e e relationnels, le calcul tuples et le calcul de domaines, suivant que les variables utilises dans les e formules du calcul dsignent des tuples dune relation ou des valeurs dans un domaine. Les langages e QUEL (de 1975 pour INGRES) et QBE (de 1977 par IBM) sont des langages commercialiss drivs e e e du calcul relationnel (respectivement, tuples et de domaines).

4.1

Calcul tuples

Une requte dans le langage du calcul tuples peut tre dnie par la composition dune partie e e e dclarative et dune expression de calcul. e Partie dclarative association de variable aux relations de la BD: x R6 : x dsignera les tuples e e de la relation R (x porte sur R)7 . Expression formule sous la forme {x.A, y.B, . . . , z.D|fx,y,...,z } o` x, y, . . . , z sont des variables u dont la porte a t dclare dans la partie dclarative; A, B, . . . , D sont des attributs des e ee e e e relations correspondantes; fx,y,...,z est une formule valide (voir 4.1.1) ayant pour variables x, y, . . . , z. 4.1.1 R`gles e

Les formules valides sont construites ` partir des r`gles suivantes: a e 1. une condition de la forme x.A op a ou x.A op y.B est une formule valide (op dsigne =, =, e , , <, > et a est une constante); 2. si f, f1 et f2 sont des formules valides, alors (f ), f, f1 f2 et f1 f2 sont des formules valides; 3. si fx est une formule valide o` x est une variable, alors x(fx ) et x(fx ) sont des formules u valides; 4. rien dautre nest une formule valide. Par exemple pour retrouver les tudiants ayant russi dans les cours un et deux: e Etudiant, p e e Point; {e.nom, e.prnom | p (e.no tudiant = p.no tudiant p.note1 10 p.note2 10)}. e e e
6 Lon 7 La

peut utiliser lopration pour que x appartienne ` plusieurs relations qui ont le mme schma. e a e e partie dclarative peut se trouver dans la partie droite de lexpression sous la forme R(x). e

4.2

Calcul de domaines

Le calcul de domaines est similaire au calcul de tuples, mais les variables portent sur les valeurs dun attribut (et non sur les tuples dune relation). Partie dclarative association de variables aux valeurs des attributs de la BD: x R.A8 . e Expression formule sous la forme {x, y, . . . , z|fx,y,...,z } o` f est une formule valide (voir 4.2.1). u 4.2.1 R`gles e

Les formules valides sont dnies de la mme faon quen calcul tuples, ` ceci pr`s que les variables e e c a e ne sont pas suivies dun attribut et quon dnit un nouveau type de formule valide qui est la e formule dappartenance. Les formules dappartenance se notent R(A : v1 , B : v2 , . . .), o` A, B, . . . u sont des attributs de la relation R, et v1, v2, . . . sont soit des constantes soit des variables. Une condition dappartenance R(A : v1 , B : v2 , . . .) est vraie ssi dans la relation R il existe au moins un tuple ayant ` la fois v1 comme valeur pour lattribut A, v2 comme valeur pour lattribut B, ... a Par exemple pour retrouver les tudiants ayant russi dans les cours un et deux: n Etudiant.nom, e e p Etudiant.prnom, no Etudiant.no tudiant Point.no tudiant {n, p | no n1 n2 (Etue e e diant(nom:n, prnom:p, no tudiant:no) Inscription(no tudiant:no, note1:n1, note2:n2) n1 10 e e e n2 10}.

SQL

La commande de base en SQL scrit select [distinct] attributs1, attributs2, ... from e e relations1, relations2, ... [where condition logique]. Elle slectionne les attributs attributs1, attributs2, ...9 des tuples de la relation relations1, relations2, ... selon la condition condition logique qui sert entre-autre pour la slection. Loption distinct sert ` e a supprimer les doublons. Le renommage se fait en faisant suivre le nom dun attribut ou dune relation par as nouveau nom. Le rsultat de toute requte SQL est une relation. Il est donc simple e e de faire les oprations dunion, dintersection et de dirence avec les mots-clefs union, intersect e e et except prcds et suivis par une relation. Pour la jointure, on place les deux relations ` joindre e e e a apr`s le from spares par un inner join, le tout suivi de where avec pour condition que la clef e e e principale dune relation gal la clef trang`re de lautre. La division T1 (A, B)/T2 (B) se fait avec e e e les commandes SELECT A FROM T1 WHERE B IN ( SELECT B FROM T2 ) GROUP BY A HAVING COUNT(*) = ( SELECT COUNT (*) FROM T2 ); Linstruction group by permet de regrouper des tuples pour lesquels une valeur est calcule. Les e dirents calculs sont avg qui retourne la moyenne du regroupement, count qui retourne le nombre e de tuples du regroupement, max qui retourne la valeur maximale dun regroupement, min qui retourne le minimum dun regroupement et sum qui retourne la somme des valeurs pour chaque regroupement. Linstruction compl`te sera donc de type select attributs, calcul (attribut) e e from relation group by attributs. La clause having condition logique est mise juste apr`s le group by et permet de spcier des crit`res de regroupement qui peuvent porter sur les valeurs e e calcules. Enn, order by attribut [desc] permet de classer les donnes; loption desc provoque e e un tri descendant. Toute commande SQL se termine par un point-virgule (;). De nombreuses autres commandes existent; voir [7] et [9].
8 Lon 9 Pour

peut utiliser lopration pour que x prenne plus de valeurs possibles. e slectionner tous les attributs on se contentera de mettre une toile (*) ` la place des attributs. e e a

Normalisation

Une bonne modlisation peut tre obtenu par intuition, par exprience, en utilisant un mod`le e e e e expressif comme le schma entits-associations, etc. Les rsultats ne seront pas toujours les mmes e e e e selon la technique utilise et la personne qui lutilise. Pour mesurer la qualit dune relation on lui e e associe un degr de normalisation. La normalisation nous permettra aussi damliorer une relation. e e Il ne sera pas toujours utile de normaliser jusquau plus haut niveau. En eet, dans les plus grand degr, on aura des relations plus petites et plus nombreuses, do` une augmentation de liens et e u donc du temps de calcul lors des requtes. e Attribut complexe attribut constitu dautre attributs comme une adresse ou une date. Un e attribut non complexe est dit simple. Attribut multivalu attribut qui peut prendre plusieurs valeurs par tuple comme des prnoms e e ou des numros de tlphones. Un attribut non multivalu est dit monovalu. e ee e e

6.1

Dpendances et graphes e

Soit une relation R(X, Y, Z), il existe une dpendance fonctionnelle (abrg DF) de Y vers Z, e e e note Y Z, si pour tous tuples de R de mme valeur pour Y , alors ils ont mme valeur pour Z. e e e Par exemple, pour la relation Fournisseur(NF, nomF, prix, nomProd) on trouve les DF suivantes: NFnomF, nomFNF, (NF, nomProd)prix et (nomF, nomProd)prix. Les DF sont transitives. La DF X D est non lmentaire sil existe Y D tel que Y est un sous-ensemble de X. ee Le graphe des DF est un graphe orient reprenant toutes les DF dune relation. Le graphe minimal e sobtient en ne prenant que les DF qui sont lmentaires et ne pouvant pas tre dduites grce ` ee e e a a la transitivit. On utilisera toujours le graphe minimal dans la normalisation. Un identiant dune e relation est un ensemble minimal dattributs ` partir desquels on peut atteindre tous les autres a attributs du graphe. En cas de cycle, il y aura donc plusieurs identiants possibles. On appelle dpendance multivalue10 (abrg DM), note X e e e e e Y | Z, la proprit suivante: si (x1, y1, z1) et ee (x1, y2, z2) sont des tuples de R alors (x1, y1, z2) et (x1, y2, z1) sont dans R.

nomF prix

NF

nomF prix

NF ou

nomF prix

NF

nomProd

nomProd

nomProd

Fig. 11 Graphe de lexemple et ses deux graphes minimal possibles Thor`me de Heath si une relation R(X, Y, Z) admet la DF X Y alors elle est dcomposable e e e sans perte dinformation en R1 = [X, Y ]R et R2 = [X, Z]R11 .

6.2

Axiomes dArmstrong

1. Transitivit: si X Y et Y Z alors X Z e 2. Augmentation: si X Y alors XZ Y 3. Rexivit: si X contient Y alors X Y e e 6.2.1 Proprits dduites e e e

1. Union: si X Y et Y Z alors X Y Z 2. Pseudo-transitivit: si X Y et W Y Z alors W X Z e 3. Dcomposition: si X Y et Z contenu dans Y alors X Z e


10 Les 11 La

dpendances multivalues sont parfois appeles dpendances multi-ensembles. e e e e relation R1 est de degr 3NF (voir section 6.3). e

6.3

Degrs de normalisation e

La liste qui suit prsente cinq degrs de normalisation12 . Pour tre dun certain degr, il faut ltre e e e e e de tous ceux den dessous aussi. Toutes relations peuvent toujours tres dcomposes jusquen 3NF e e e sans aucune perte. 1NF Premi`re forme normale Une relation est 1NF si ces attributs sont simples et monovalus. e e Si ce nest pas le cas, on dcompose tous les attributs complexes en attribut simple. Ensuite, e on fait une table spare pour chaque ensemble dattributs multivalu, et lon donne ` chaque e e e a table une clef primaire et une clef trang`re. e e 2NF Deuxi`me forme normale Une relation est 2NF si ces attributs, qui ne font pas partie dun e identiant, dpendent dun identiant entier. Pour le savoir, on trace le graphe de DF et lon e vrie la condition. Si ce nest pas le cas, on divise la relation en relations 2NF en appliquant e le thor`me de Heath sur chaque source dirente de DF. e e e 3NF Troisi`me forme normale Une relation est 3NF si tous ces attributs dpendent directement e e de son identiant13 . Pour devenir 3NF il sut de scinder en plusieurs relations 3NF. BCNF Forme normale de Boyce-Codd Une relation est BCNF si toute source compl`te de DF e est un identiant entier. Plusieurs techniques existent pour rendre une relation BCNF, mais elles ne sont pas parfaites... 4NF Quatri`me forme normale Une relation est 4NF si elle ne contient pas de dpendance e e multivalue. Rendre une relation 4NF se fait en adaptant le thor`me de Heath au DM. e e e

6.4

Exemples et intrts des degrs e e e

Dans la relation de la gure 12, il y a un attribut multivalu, on spare donc la relation en deux. Ceci e e permet de rechercher plus facilement dans lattribut multivalu. De plus, des SGBD ne permettent e pas dutiliser de tel attribut, une relation 1NF est donc obligatoire. Une relation non 2NF est illustre ` la gure 13. Son gros dsavantage est de contenir des redondance: pour chaque tuples e a e nous aurons le numro du fournisseur avec son nom et un numro de produit avec son prix. Des e e probl`mes se posent aussi lors de mise ` jour ou de suppression. En eet, il faudra souvent rentrer e a des informations dj` dans la base et un changement ncessite de changer plusieurs tuples; si on ea e supprime momentanment les produits dun fournisseur, il ne sera plus prsent dans la base de e e donnes. Pour arranger a, on coupe la relation en trois: Fourn(no , nomF), Prod(no , poids) et e c Stock(no F, no P, prix). La gure 14 illustre le probl`me expliqu en n de section 1. Le passage e e en 3NF vite des redondances et facilite ainsi les mises ` jour. Lexemple de la gure 15 nest pas e a BCNF ce qui pose le probl`me suivant: si un professeur change de spcialit, il faut changer tout e e e les tuples o` il appara Pour rgler ceci, on peut diviser en (prof, mati`re) et (no etud, prof) mais u t. e e on perd la DF (no etud, mati`re) Prof qui devient une contrainte dintgrit. Il nexiste pas de e e e solution parfaite pour ce cas. La derni`re image est une relation avec A e B | C. En eet, pour toutes valeurs de A correspond un ensemble de B avec tous les mmes C. Elle nest donc pas 4NF, e sauf si on la dcompose en R(A, B) et S(A, C), pour sparer les faits multivalus indpendants. e e e e R2 D A 1 1 2 1 3 2 4 2 5 3

R R1 R2 A B C 1 P a,b 2 J b,c 3 A c

R1 A 1 2 3

B P J A

C a b b c c

Nfourn prix nomF

Nprod

poids

Fig. 13 Relation non 2NF Fig. 12 Relation avec attributs multivalus e


12 Il

13 Le

existe encore dautres degrs voir [10]. e graphe doit donc tre un arbre de profondeur maximale un. e

nom

commune

Netud prof

matire

nb d'habitants
Fig. 14 Relation non 3NF

A 1 1 1 1 2

B a a b b z

C avec

dduit

Fig. 15 Relation non BCNF

Fig. 16 Relation dpendance multivalu e e

Rfrences ee
[1] Esteban Zimnyi. INFO 364 - Bases de donnes. [en ligne]. [rfrence du 27 novembre 2005]. a e ee Disponible sur Web: <http://cs.ulb.ac.be/cours/info364/>. [2] Cyril Gruau. Conception dune base de donnes. [en ligne]. 17 octobre 2005 [rfrence du 1 e ee dcembre 2005]. Disponible sur Web: <http://cyril-gruau.ftp-developpez.com/ConceptionBD. e pdf>. [3] Le mod`le relationnel. [en ligne]. [rfrence du 25 novembre 2005]. Disponible sur Web: <http: e ee //www.commentcamarche.net/relation/>. [4] Stefano Spaccapietra. Lalg`bre relationnelle. [en ligne]. 14 dcembre 2004 [rfrence du 25 noe e ee vembre 2005]. Disponible sur Web: <http://lbdwww.ep.ch/f/teaching/courses/SlidesBDR/ Algebre 6.pdf>. [5] Lalg`bre relationnelle applique au SGBDR. [en ligne]. [rfrence du 25 novembre 2005]. Dise e ee ponible sur Web: <http://www.laltruiste.com/annexe/algebre relationnelle.html>. [6] Stefano Spaccapietra. Chapitre 7 - Langages de manipulation relationnels: les calculs relationnels. [en ligne]. 06 novembre 2002 [rfrence du 27 novembre 2005]. Disponible sur Web: ee <http://lbdwww.ep.ch/f/teaching/courses/poly1/chapitre7.pdf>. [7] Le langage SQL. [en ligne]. [rfrence du 25 novembre 2005]. Disponible sur Web: <http: ee //www.laltruiste.com/courssql/sommaire.html>. [8] Victor M. Matos et Rebecca Grasser. A simpler (and better) SQL approach to relational division. [en ligne]. [rfrence du 27 novembre 2005]. Disponible sur Web: <http://www.jise. ee appstate.edu/13/085.pdf>. [9] SQL Tutorial. [en ligne]. [rfrence du 25 janvier 2006]. Disponible sur Web: <http://www. ee w3schools.com/sql/>. [10] Rules of data normalization. [en ligne]. Mis ` jour 13 juin 2005 [rfrence du 20 janvier 2006]. a ee Disponible sur Web: <http://www.datamodel.org/NormalizationRules.html>. [11] Stefano Spaccapietra. Normalisation dun schma relationnel. [en ligne]. 03 mai 2005 e [rfrence du 25 janvier 2006]. Disponible sur Web: <http://lbdwww.ep.ch/f/teaching/ ee courses/SlidesBDR/normalisation 6.pdf>. [12] Marie-France Lasalle. Mod`le relationnel Normalisation. [en ligne]. 27 aot 2001 [rfrence du e u ee 25 janvier 2006]. Disponible sur Web: <http://lifc.univ-fcomte.fr/lasalle/modelerelationnel/ page3.htm>. [13] Patrice Boursier. Bases de Donnes Notes de cours. [en ligne]. Fvrier 2002 [rfrence du 26 e e ee mai 2006], pp 19-21. Disponible sur Web: <http://perso.univ-lr.fr/pboursie/BD NotesCours Niv1.PDF>. [14] ISO TC46/SC9. Information et documentation Rfrences bibliographiques Partie 2: Docuee ments lectroniques, documents complets ou parties de documents. [en ligne]. Mis ` jour 22 aot e a u 2002. [rfrence du 26 octobre 2005]. Disponible sur Web: <http://www.collectionscanada.ca/ ee iso/tc46sc9/standard/690-2f.htm>. Egalement disponible sur: <http://www.lac-bac.gc.ca/ iso/tc46sc9/standard/690-2f.htm> Ce texte sinspire pour beaucoup du cours de base de donnes de Stefano Spaccapietra que je e vous recommande de lire, et qui est disponible sur internet: <http://lbdwww.ep.ch/f/teaching/ courses/poly1/>. 8

Vous aimerez peut-être aussi