From: | Ron Johnson <ron(dot)l(dot)johnson(at)cox(dot)net> |
---|---|
To: | pgsql-general(at)postgresql(dot)org |
Subject: | Re: IS it a good practice to use SERIAL as Primary Key? |
Date: | 2006-11-27 19:50:00 |
Message-ID: | 456B4168.9000109@cox.net |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
On 11/27/06 12:53, John McCawley wrote:
>
>> Yes, that's the point. They are legacy designs, and that portion of
>> the design is wrong.
>>
>>
>>
> I'll weigh in my my .02 on this subject. After much pain and agony in
> the real world, I have taken the stance that every table in my database
> must have an arbitrary, numeric primary key (generally autogenerated).
> I have found that this gets me into a lot of arguments with other
> database guys, but never seems to cause any problems for me.
> Conversely, I have seen innumerable problems in the real world caused by
> the usage of actual data as primary keys.
>
> Perhaps I am amazingly ignorant, but I have yet to find a case where my
> approach causes any real problems. What does using "real" data as a
> primary key buy you? The only real advantages I can see are that an
> individual record's data will be somewhat more human-readable without
> joining to other tables, and that your search queries can be simpler
> because they don't have to join against other tables.
Joshua Drake wrote an interesting blog article earlier this year
about what happened when a firm he was contracting for dropped the
natural key on an important table and retained only the synthetic
key. Unfortunately I can't find it... :(
> On the (many) occasions that I have worked on databases with "real" data
> as primary keys, I just saw so many problems arise. In the real world,
> data changes, even supposedly unchangeable data. When using arbitrary
> primary keys, all you have to do is change the data in the one table
> where it lives. If you are using real data as your keys, you have write
> complex queries or code to "fix" your data when the supposedly
> unchangeable data changes.
>
> Anyway, I'm sure this is a huge argument, but that's my 0.2
- --
Ron Johnson, Jr.
Jefferson LA USA
Is "common sense" really valid?
For example, it is "common sense" to white-power racists that
whites are superior to blacks, and that those with brown skins
are mud people.
However, that "common sense" is obviously wrong.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.5 (GNU/Linux)
iD8DBQFFa0FoS9HxQb37XmcRAt8ZAJ40c0KtB8zHifTymcsa/PBLwWkEuACfQ+dD
K+4NNU7m0RNTQLgeP9pNaqQ=
=SH10
-----END PGP SIGNATURE-----
From | Date | Subject | |
---|---|---|---|
Next Message | Brandon Aiken | 2006-11-27 19:51:13 | Re: IS it a good practice to use SERIAL as Primary Key? |
Previous Message | Ron Johnson | 2006-11-27 19:45:38 | Re: IS it a good practice to use SERIAL as Primary Key? |