dolibarr-dev
[Top][All Lists]
Advanced

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

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


From: Marc Barilley
Subject: Re: [Dolibarr-dev] Schéma BDD -c lés étrangères, clés primaires
Date: Mon, 5 Dec 2005 11:48:54 +0100

Ok pour la charte de nommage. Cependant, je pense que nous devrions conserver la "charte" actuelle et l'étendre là où elle n'est pas employée. En effet, il y a déjà un grand nombre de tables et je pense qu'il ne sera pas très productif de passer un bon moment à renommer les champs des tables actuelles. Tant pis pour DBdesigner... Par contre, on peut se permettre de remettre le nez dans le code des 2 ou 3 classes dont les tables ne respectent la "charte" actuelle, qu'il faudra aussi écrire quelque part. Je vais commencer sur le wiki.

Marc Barilley
Océbo

----- Original Message ----- From: "Gael Canal" <address@hidden>
To: "Discussions sur le developpement de Dolibarr" <address@hidden>
Sent: Monday, December 05, 2005 1:48 AM
Subject: [Dolibarr-dev] Schéma BDD -clés étrangères, clés primaires


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



_______________________________________________
Dolibarr-dev mailing list
address@hidden
http://lists.nongnu.org/mailman/listinfo/dolibarr-dev







reply via email to

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