Skip site navigation (1) Skip section navigation (2)

Peripheral Links

Header And Logo

PostgreSQL
| The world's most advanced open source database.

Site Navigation

Search archives
  Advanced Search

Re: [Fwd: héritage de table]


  • From: Pascal Brognez <pascal62fr(at)free(dot)fr>
  • To: pgsql-fr-generale(at)postgresql(dot)org
  • Subject: Re: [Fwd: héritage de table]
  • Date: Thu, 26 Mar 2009 11:23:27 +0100
  • Message-id: <49CB579F.1040703@free.fr> <text/plain>

Stéphane A. Schildknecht a écrit :

Bonjour,

Exemple table logiciel
"Alternatif";"OpenOffice.org";"3.0";"Fr";"Linux"
"Alternatif";"OpenOffice.org";"3.0";"Fr";"Mac OS X"
"Alternatif";"OpenOffice.org";"3.0";"Fr";"Windows"

 je trouve que la table "logiciel" dispose déjà de beaucoup
d'informations redondantes entre les lignes.

On s'écarte complètement de l'héritage de table. Je répond sans volonté de critiquer ton point de vue ni de défendre à outrance le mien; juste pour papoter ...

En première impression oui mais la table logiciel gère des produits à télécharger.
Elle ne dépassera pas quelques milliers de lignes dans quelques années.


Le premier champ est une clé étrangère (et ce n'est pas un serial).
Les 2ème, 3ème, 4ème, 5ème et 6ème colonnes forment un libellé (identifiant unique) de produit.

preuve par l'absurde que mon choix est bon
Je peux par exemple avoir une table OperatingSystem constituée d'une seule colonne OperatingSystem = "Linux , MacOS X , Windows"

ou alors je prend un serial comme identifiant pour cette table

OperatingSystem = " (1,Linux) ; (2,MacOS X) ; (3,Windows)"


Donc ajout d'une clé étrangère ce qui donne dans le deuxième cas
"Alternatif";"OpenOffice.org";"3.0";"Fr";"1"

Idem pour "Fr", "3.0".

"Alternatif";"OpenOffice.org";"1";"1";"1"
et même
"1;1;1;1;1"

Je gagne quoi à faire cela?


Par contre je vais prendre un serial comme Primary key pour la table "logiciel" et oublier cette histoire d'héritage.
D'où la nouvelle question (google):
Peux t-on avoir l'unicité pour un groupement de colonnes sans que celles-ci soient Primary Key?

A+
--
Pascal








Home | Main Index | Thread Index

Privacy Policy | About PostgreSQL
Copyright © 1996 – 2012 PostgreSQL Global Development Group