dolibarr-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Dolibarr-dev] Schéma BDD - clés étrangères, clés primaires


From: Gael Canal
Subject: [Dolibarr-dev] Schéma BDD - clés étrangères, clés primaires
Date: Mon, 05 Dec 2005 01:48:31 +0100

Salut à tous,

Je poursuis mon entreprise de modélisation à postériori de la BDD de
dolibarr, mais je rencontre quelques obstacles.

Notament :

1. Clés étrangères
Selon ce que je devine, les clés étrangères sont en général dans
dolibarr identifiées par fk_xxxx ou xxx correspond en général
(encore :-) ) au nom de la table destination, parfois abrégé (fk_soc).

Cependant, dans certains cas, des fk_xxx existent sans que la table
cible ne contienne de clé primaire (ex: llx_expedition /
llx_expedition_det) 

2. Clés primaires
Y a-t-il une règle qui préside au nommage des clés primaires ? 
on trouve souvent des rowid, parfois des idp, parfois d'autres choses...


Tout ceci m'amène en toute humilité à vous proposer d'adopter (si ce
n'est déjà fait) une charte de nommage de base pour les tables qui a
déjà fait ses preuves :
suffixer le nom de la table de _id (pour la clé primaire), _cod (pour le
code "rapide" dans une table de référence ), _lib (pour le libellé
toujours dans une table de référence)
Dans cette optique, les clés étrangères deviennent 'tablecible_id' tout
simplement, ce qui les rend facile à identifier, et qui permet par la
même occasion un reverse engineering automatisé par les softs de
modélisation.

exemple : 

create table country ( country_id integer unsigned not null, country_cod
varchar(2), country_lib varchar(50), primary key (country_id));

create table ville ( ville_id integer unsigned not null, ville_cod
varchar(5), ville_lib varchar(80), country_id integer unsigned not null,
primary key (ville_id), foreign key (country_id) references country
(country_id));


++
Gael





reply via email to

[Prev in Thread] Current Thread [Next in Thread]