En r�ponse � Klaus <[EMAIL PROTECTED]>:

> Salut,
> 
> je souhaite �crire un annuaire avec des ressources internet pour
> l'allemand. 

J'ai d�j� repondu une ou 2 fois � ta question, mais on peut essayer une 3eme fois ...

> et si j'en ai plusieurs, comment les lier ? Les possibilit�s que je
> vois:
> 
> - une seule table: trop lourd,

Si tu le dis ...  bizarre ta conclusion alors que tu te qualifies de d�butant dans le 
domaine.

> - 10 tables: une pour chaque sous-cat�gorie, avec image, url et
> commentaire

Faudrait �tre compl�tement cr�tin, tu serais oblig� de d�velopper 10 fois la m�me 
chose juste en changeant le nom de la table !


> - 3 tables: images_tbl, url_tbl et commentaire_tbl:

Heu, et tes cat�gories / sous cat�gories elles sont pass�es o� dans tes 3 tables ?

>  comment le lier et
> exploiter ? J'ai vu des solutions dans Wrox "Php Professionnel" pour
> lier les  tables "auteurs" et "documents" par une 3e table "auteursdoc" (p. 259),
> mais  je suis pas s�r que c'est la bonne solution dans mon cas.

Ben non paske dans ton cas la bonne solution c'est deux  tables !

dans le cas de auteurs et documents, on a la cardinalit� suivante :

Un auteur peut �crire plusieurs documents
Un document peut avoir �t� �crit par plusieurs auteurs
==> cardinalit� "n,n", ou en notation merise (0,n) (0,n)
Il faut donc une table qui serve de lien en contenant les identifiant de chaque table. 
La table auteursdoc aura donc la structure :
create table auteursdoc(
auteurid integer not null references auteurs,
docid integer not null references doc);
create unique index idx_pk_auteursdoc(auteursid,docid);

Dans ton cas pr�cis, cela n'a (presque) rien � voir puisque :

une URL poss�de 1 et 1 seul commentaire
une URL poss�de 1 et 1 seule image

Donc URL, commentaire et images, c'est la m�me table !

Ensuite, la question se pose :

une URL est elle dans 1 et une seule sous cat�gorie ?

si par exemple l'URL du minist�re de la culture tu veux le mettre � la fois dans la 
ss-categorie "Culture" et aussi "Administration" la reponse est NON.

Si une URL ne doit se trouver que dans une seule ss-categorie, la reponse est OUI.

Si la r�ponse est oui tu as 2 tables 
Si la r�ponse est NON tu as 3 tables

voici la 1ere table qui est toujours valable :
1 tables qui contient categorie/ss-categorie :
create sequence seq_idcateg; 
create table categories(
categ_id integer not null primary key default nextval('seq_idcateg'),
categ_parent integer, /* si c est une ss categ */
categ_name varchar);

La seconde table, si la reponse est OUI :
create table URL(
categ_id not null references categories, /*la sscateg a laquelle elle appartient*/
url varchar not null, /* http:// ... */
image varchar, /* nom du fichier image */
comment text);

Dans le cas de 3 tables, je te laisse deviner comment faire, tu as tout les �l�ments 
qu'il faut dans ce post.


> 
> J'ai d�j� pos� la question et j'ai re�u des r�ponses divergeantes
> (merci), 
> mais comme je suis d�butant, j'ai du mal � comprendre. Donc svp, une
> solution 
> simple et compr�hensible pour un n�ophyte. 
> A fur et � mesure de progresser, � un moment donn�, j'aurai peut-�tre
> envie 
> de construire des tables plus �labor�s, je ne sais pas si on peut
> pr�voir 
> cette possibilit� (flexibilit�) d�s le d�but
> 
> merci de vos r�ponses
> Klaus
> 
> 
> 
> 
> 
> 



-- 
H.Lefebvre  [EMAIL PROTECTED]
LINUX : Ne jetez plus votre argent par les fen�tres !

Répondre à