Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
Home -> Community -> Usenet -> c.d.o.misc -> Re: Is a primary key always desired?
Niall Litchfield wrote:
>"Odba1961" <odba1961_at_aol.com> wrote in message
>news:20031004093902.02137.00000391_at_mb-m01.aol.com...
>
>
>>You are right, there are small lookup tables that do not require a primary
>>
>>
>key.
>
>Perhaps an example would help.
>
>Create table us_states(
>abbreviation char(2),
>name varchar2(50));
>
>
>insert into us_states values(null,'Arizona');
>insert into us_states values('AZ','Arizona');
>insert into us_states values('FL','Arizona');
>
>commit;
>
>Not much good really is it.
>
>
>--
>Niall Litchfield
>Oracle DBA
>Audit Commission UK
>*****************************************
>Please include version and platform
>and SQL where applicable
>It makes life easier and increases the
>likelihood of a good answer
>******************************************
>
>
Why stop there. Take that table and now perform the following:
insert into us_states values('AZ','Arizona'); insert into us_states values('AZ','Arizona'); insert into us_states values('AZ','Arizona'); insert into us_states values('AZ','Arizona'); insert into us_states values('AZ','Arizona'); insert into us_states values('AZ','Arizona'); insert into us_states values('AZ','Arizona'); insert into us_states values('AZ','Arizona'); insert into us_states values('AZ','Arizona'); insert into us_states values('AZ','Arizona'); insert into us_states values('AZ','Arizona'); insert into us_states values('AZ','Arizona');commit;
Or just try to create a foreign key against the table as originally proposed.
There should be a requirement that these people pass a competency test before being given access to a keyboard.
-- Daniel Morgan http://www.outreach.washington.edu/ext/certificates/oad/oad_crs.asp http://www.outreach.washington.edu/ext/certificates/aoa/aoa_crs.asp damorgan_at_x.washington.edu (replace 'x' with a 'u' to reply)Received on Sat Oct 04 2003 - 17:22:10 CDT