Re: [Fwd: héritage de table]

From: "Stéphane A(dot) Schildknecht" <stephane(dot)schildknecht(at)postgresqlfr(dot)org>
To: Pgsql Fr Generale <pgsql-fr-generale(at)postgresql(dot)org>
Subject: Re: [Fwd: héritage de table]
Date: 2009-03-26 09:18:28
Message-ID: 49CB4864.80108@postgresqlfr.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-fr-generale

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Stéphane A. Schildknecht a écrit :
> Bonjour,
>
> Une erreur d'aiguillage a fait arriver ce message dans la boîte de
> l'administrateur de la liste.
>
> Je le retransmets à la liste.
>
> Stéphane
>
> -------- Message original --------
> Sujet: héritage de table
> Date: Thu, 26 Mar 2009 09:33:40 +0100
> De: Pascal Brognez <pascal62fr(at)free(dot)fr>
> Pour :: pgsql-fr-generale-owner(at)postgresql(dot)org
>
> Bonjour,
>
> Question:
> Que faire pour la clé primaire de la table "fonctionnalite" hérité de la
> table "logiciel", utiliser un serial? Ou prendre les 7 champs de la
> table comme clé primaire? ...
>
>
> Ce que je veux faire:
>
> J'ai une table "logiciel" dont l'identifiant est la concaténation de 5
> champs.
>
> 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"
>
>
> Le problème est que cet identifiant est bien long si je dois l'utiliser
> en clé étrangère dans une autre table.
>
> La solution simple est de remplacer l'identifiant (5 champs) par un
> identifiant serial.
>
>
> je me demande si l'héritage des tables peut être utilisé.
>
> Par exemple pour la table "fonctionnalite"
> Elle hérite de "logiciel" et j'ajoute deux colonnes (fonction, extension)
>
> Exemple:
> "Alternatif";"OpenOffice.org";"3.0";"Fr";"Linux";"modifier
> PDF";"extension PDF SUN"
>
> "Alternatif";"OpenOffice.org";"3.0";"Fr";"Linux","generer PDF";"0"
>
> Dans l'exemple l'identifiant de "logiciel" se retrouve dans 2 lignes de
> la table "fonctionnalite" ("Alternatif";"OpenOffice.org";"3.0";"Fr";"Linux")
>
> Question:
> Que faire pour la clé primaire de la table "fonctionnalite" hérité de la
> table "logiciel", utiliser un serial? Ou prendre les 7 champs de la
> table comme clé primaire? ...
>
>
> A mardi

Bonjour,

Personnellement, j'aurai plutôt vu une clé primaire sous la forme d'un serial
dans la table "logiciel" et une clé étrangère sur logiciel dans la table
"fonctionnalité".

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

Stéphane
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFJy0hkA+REPKWGI0ERAjoAAJ0Qp6ZUolTzzA5OL2luyPbytjvn0QCgo/7Q
+bRmhsf9oIlsZh0YgIr52+Q=
=+18I
-----END PGP SIGNATURE-----

In response to

Responses

Browse pgsql-fr-generale by date

  From Date Subject
Next Message Pascal Brognez 2009-03-26 10:23:27 Re: [Fwd: héritage de table]
Previous Message Pascal Brognez 2009-03-26 09:11:57 Re: [Fwd: héritage de table]