From: | Gavin Flower <GavinFlower(at)archidevsys(dot)co(dot)nz> |
---|---|
To: | droberts <david(dot)roberts(at)riverbed(dot)com>, pgsql-general(at)postgresql(dot)org |
Subject: | Re: ID column naming convention |
Date: | 2015-10-13 19:34:13 |
Message-ID: | 561D5CB5.8000608@archidevsys.co.nz |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
On 14/10/15 06:36, droberts wrote:
> Hi, is there a problem calling ID's different when used as a FK vs table ID?
> For example
>
>
> mydimtable ()
> ID
> name
> description
>
>
> myfacttable ()
> my_dim_id # FK to ID above
> total_sales
>
>
> I 'think' if I don't enforce foreign key constraints, then this practice
> prevents tools from being able to generate ERD diagrams right?
>
>
>
> --
> View this message in context: http://postgresql.nabble.com/ID-column-naming-convention-tp5869844.html
> Sent from the PostgreSQL - general mailing list archive at Nabble.com.
>
>
My practice is to name the PRIMARY KEY as id, and foreign keys with the
original table name plus the sufiix_id.
By leaving the table name off the primary key name, and just using id,
makes it more obvious that it is a primary key (plus it seems redundant
to prefix the primary key name with its own table name!).
CREATE TABLE house
(
id int PRIMARY KEY,
address text
);
CREATE TABLE room
(
id int PRIMARY KEY,
house_id int REFERENCES house(id),
name text
);
There are exceptions like:
CREATE TABLE human
(
id int PRIMARY KEY,
mother_id int REFERENCES human (id),
father_id int REFERENCES human (id),
name text
);
Cheers,
Gavin
From | Date | Subject | |
---|---|---|---|
Next Message | Adrian Klaver | 2015-10-13 20:53:09 | Re: Drop or alter column under load give ERROR #42804 structure of query does not match function result type: |
Previous Message | Stefan Keller | 2015-10-13 19:09:42 | FOSDEM 2016, 30th and 31st January 2016, Brussels: Call for Participation |