Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.server -> Re: Is Foreign Key an Index as well?

Re: Is Foreign Key an Index as well?

From: Brian Peasland <dba_at_nospam.peasland.net>
Date: Tue, 29 May 2007 09:53:19 -0500
Message-ID: <465c3214$0$16309$88260bb3@free.teranews.com>


aravind.kanda_at_gmail.com wrote:
> I have two tables TACCOUNT & TCUSTOMER joined by one to many. I have
> Account_sk in both tables which is used to join. When I create the
> account_sk in TCUSTOMER as a foreign key, is there any added advantage
> of having an index on the account_sk? Definitions of both tables are
> below:
>
> TCUSTOMER TABLE DEFINITION:
>
> CREATE TABLE TCUSTOMER
> (
> CUSTOMER_SK NUMBER(10) NOT NULL,
> CUSTOMER_ID CHAR(10 BYTE) NOT NULL,
> EFFECTIVE_DT DATE,
> EXPIRATION_DT DATE,
> ACCOUNT_SK NUMBER(10)
> );
>
> ALTER TABLE TCUSTOMER ADD (
> FOREIGN KEY (ACCOUNT_SK)
> REFERENCES TACCOUNT (ACCOUNT_SK)
> ON DELETE SET NULL);
>
> CREATE INDEX IDX_ACCOUNT_SK ON TCUSTOMER
> (ACCOUNT_SK);
>
> ALTER TABLE TCUSTOMER ADD (
> PRIMARY KEY (CUSTOMER_SK);
>
>
> ACCOUNT TABLE DEFINITION:
>
> CREATE TABLE TACCOUNT
> (
> EFFECTIVE_DT DATE,
> EXPIRATION_DT DATE,
> ACCOUNT_NM VARCHAR2(30 BYTE),
> ACCOUNT_SK NUMBER(10) NOT NULL,
> ACCOUNT_NO CHAR(10 BYTE)
> )
> ;
>
> CREATE UNIQUE INDEX IDX_TACCOUNT_ACCOUNT_NO ON TACCOUNT
> (ACCOUNT_NO);
>
>
> ALTER TABLE TACCOUNT ADD (
> PRIMARY KEY (ACCOUNT_SK)
>
>
> Many Thanks in Advance.
>

By default, there is no index on the FK columns. However, it is normally a good idea to index these columns. See the following:

http://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:292016138754
http://asktom.oracle.com/pls/asktom/f?p=100:11:29255896742093::::P11_QUESTION_ID:292016138754
http://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:1156435031319

HTH,
Brian

-- 
===================================================================

Brian Peasland
dba_at_nospam.peasland.net
http://www.peasland.net

Remove the "nospam." from the email address to email me.


"I can give it to you cheap, quick, and good.
Now pick two out of the three" - Unknown

-- 
Posted via a free Usenet account from http://www.teranews.com
Received on Tue May 29 2007 - 09:53:19 CDT

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US