[TNT] structure de la base

Guillaume Lelarge gleu at wanadoo.fr
Mar 28 Jan 12:09:52 PST 2003


Bonsoir tout le monde,
Le Lundi 27 Janvier 2003 14:42, vous avez écrit :
> suite aux recentes discutions sur la liste, je penses que la nouvelle
> structure de la base va bientot etre prete. Avec ca, je pourrais commencer
> le developpement actif de tnt.
>
Quelques réflexions sur ta proposition de base:

# --------------------------------------------------------
CREATE TABLE chapitre (
  id int(16) unsigned NOT NULL auto_increment,
  titre varchar(255) NOT NULL default '',
  id_livre int(16) unsigned NOT NULL default '0',
  id_parent int(16) unsigned default '0',
  PRIMARY KEY  (id)
) TYPE=MyISAM;
# --------------------------------------------------------
Pas de default pour le titre et l'id_livre. Je ne vois pas l'intérêt d'un 
chapitre avec un titre vide. Si il s'agit de protéger contre de mauvaises 
insertions, c'est une façon bien maladroites pour y arriver.
Je préfère une requête qui plante (ie qui ne s'exécute pas) qu'une requête qui 
insert des choses incohérentes.

# --------------------------------------------------------
CREATE TABLE fichiers (
  id int(16) unsigned NOT NULL auto_increment,
  nom varchar(32) NOT NULL default '',
  etat tinyint(4) unsigned NOT NULL default '0',
  chapitre_id int(16) unsigned NOT NULL default '0',
  traducteur_id int(16) unsigned default '0',
  date_traduction datetime default '0000-00-00 00:00:00',
  relecteur_id int(16) unsigned default '0',
  date_relecture datetime default '0000-00-00 00:00:00',
  PRIMARY KEY  (id)
) TYPE=MyISAM;
# --------------------------------------------------------
Pas de 's' à fichiers, pliz.
Pas de default pour nom et chapitre_id.

# --------------------------------------------------------
CREATE TABLE livre (
  id int(16) unsigned NOT NULL auto_increment,
  titre varchar(32) NOT NULL default '',
  rep_en varchar(255) NOT NULL default '',
  rep_fr varchar(255) NOT NULL default '',
  id_responsable int(16) unsigned NOT NULL default '0',
  PRIMARY KEY  (id)
) TYPE=MyISAM;
# --------------------------------------------------------
Pas de default pour titre, rep_en, rep_fr et id_responsable.

# --------------------------------------------------------
CREATE TABLE terme (
  id int(16) unsigned NOT NULL auto_increment,
  francais text NOT NULL,
  anglais text NOT NULL,
  PRIMARY KEY  (id)
) TYPE=MyISAM;
# --------------------------------------------------------
OK

# --------------------------------------------------------
CREATE TABLE utilisateurs (
  id int(16) unsigned NOT NULL auto_increment,
  nom varchar(32) default '-',
  prenom varchar(32) default '-',
  pseudo varchar(16) NOT NULL default '',
  email varchar(64) NOT NULL default '-',
  passwd varchar(64) default NULL,
  admin tinyint(1) unsigned default '0',
  afficher tinyint(1) unsigned default '0',
  ville varchar(32) default NULL,
  pays varchar(20) default NULL,
  derniere_connect datetime default '0000-00-00 00:00:00',
  nb_connect int(10) unsigned default '0',
  PRIMARY KEY  (id),
  UNIQUE KEY npp_u (nom,prenom,pseudo)
) TYPE=MyISAM;
# --------------------------------------------------------
De nouveau pas de 's' à utilisateurs.
Et pas de default pour nom, prenom, pseudo, email.

> je serais probablement seul au depart (meme si guillaume m'epaule bien).
En tout cas, j'essaie dans mes pauvres possibilités actuelles.

> guillaume, je ne connais rien du tout aux index/cles/etc alors si tu peux
> me filer un ptit coup de main, ou un cours ca m'interesse fortement.
>
Oublie les clés, ce ne sera pas utile vu la déclaration des tables. Quant aux 
index, oublie-les pour l'instant, il sera possible de les créer après.


-- 
Guillaume.
-- 
Unsubscribe: send email to listar at linuxfromscratch.org
and put 'unsubscribe lfs-traducfr' in the subject header of the message



More information about the lfs-traducfr mailing list