Creation de ma base de donnée : logique...

Creation de ma base de donnée : logique... - SQL/NoSQL - Programmation

Marsh Posté le 09-07-2003 à 22:32:22    

Bonjour,
 
j'ai une question concernant la creation logique de ma base.
 
Le but est de stocker des articles(ça peut etre n'importe quoi, le site est virtuel).
Ces article sont contenu dans une dizaine de categorie differente. Chacun peut faire plusieur page.
 
Je pense donc afin de pouvoir creer facilement (en php) l'index de faire une table contenant : un id unique de l'article, sa date, titre, auteur, et intro (de quoi afficher le tout debut dans la page d'index).
 
Et alors de faire dans dans une autre table juste le contenu + id unique.
 
ça vous parait correct ? comment feriez vous ?

Reply

Marsh Posté le 09-07-2003 à 22:32:22   

Reply

Marsh Posté le 09-07-2003 à 22:50:01    

- une table des articles (id, auteur, date, catégorie...)
- une table des pages : chaque entrée étant identifiée par le couple numéro d'article (id de la table précédente) / numéro de page

Reply

Marsh Posté le 09-07-2003 à 23:22:04    

c'est ce que j'ai fait :
 
j'ai donc une table ou chaque article est identifie par un ID et ensuite j'ai cat, auteur...
 
et une autre table ou la je reprend chaque page sur une nouvelle ligne. chaque ligne est identifiee par un id (le meme que pour l'autre table, il n'est donc pas unique) et alor j'ai contenu, sous titre , numero de page (pour reclasser)
 
Je suis content d'avoir su appliquer et retenir ce que j'avais lu dans divers bouquin  :)  
 
j'ai encore une question pour toi bebert : pour ce qui est des clé : je dois les paramétrer comment ? primary unique... :??:
 
Merci :jap:

Reply

Marsh Posté le 09-07-2003 à 23:25:38    

L'identifiant d'article, c'est une clé -> primary key
Si ca t'es utile, tu peux la définir en auto-incrémenté
 
Pour l'autre table, tu peux définir une clé sur (id, numéro_page)
(une clé peut porter sur plusieurs champs)
Comme ca, il l'indexera, ce sera plus rapide pour accéder à une page en particulier :)


Message édité par mrbebert le 09-07-2003 à 23:26:19
Reply

Marsh Posté le 09-07-2003 à 23:34:24    

j'ai ceci pour la table index des article (sans contenu):
 

Code :
  1. Nom de la clé Type Cardinalité Action Champ
  2. PRIMARY  PRIMARY  1   Supprimer  Modifier  id 
  3. id  UNIQUE  0   Supprimer  Modifier  id 
  4. id_2  INDEX  Nulle   Supprimer  Modifier  id


 
et ceci pour la table de contenu :
 

Code :
  1. Nom de la clé Type Cardinalité Action Champ
  2. id  INDEX  2   Supprimer  Modifier  id


 
je sais pas trop comment faire ... le champ du numero page s'apelle "page" :p

Reply

Marsh Posté le 09-07-2003 à 23:37:01    

Tu vois ca avec PHPMyAdmin ?
 
Dans ce cas, on verra demain, j'ai pas de phpmyadmin sous la main [:proy]  
 
Tu as un accès direct à la base (ligne de commande) ?


Message édité par mrbebert le 09-07-2003 à 23:37:42
Reply

Marsh Posté le 09-07-2003 à 23:47:01    

je vois ça avec phpmyadmin.
 
si tu veux je peux faire un dump...
 
au fait c justement que je sais pas trop comment fonctionne phpmyadmin...
 
mais je connais l'adresse de la base. ya moyen que j'y arrive en ligne de commande donc je suppose.. ?

Reply

Marsh Posté le 10-07-2003 à 11:01:26    

Elle est hébergée où cette base ? Si elle est chez un provider, tu pourra pas y accéder directement [:proy]  
 
Dans phpmyadmin, quand tu vas sur une table, tu as une case à rempli "créer une clé sur [] colonnes". Ensuite, tu choisis tes 2 colonnes (l'id de l'article et le numéro de page), et c'est bon :)

Reply

Marsh Posté le 10-07-2003 à 11:03:14    

oki merci je vais faire ça et je te dis quoi
 
pour la base : mysql.firstream.net

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed