can foreign key take role of primary key?
Answer Posted / gaurav
Yes. This situation occurs in one-to-one relationships.
For example:
create table Table1
( T1_Id integer not null primary key
, T1_Data varchar(9) not null
)
create table Table2
( T2_Id integer not null primary key
, T2_Data varchar(37) not null
, foreign key (T2_Id) references Table1 (T1_Id)
)
Why would someone design two tables like this? If it's a
one-to-one relationship, couldn't you just include T2_Data
in Table1? Yes, you could, although then you would also need
to allow T2_Data to be NULL, if not every T1_Id has a
matching T2_Id—in this case it's actually a
one-to-zero-or-one relationship.
If it's a true one-to-one relationship, where every T1_Id
has a matching T2_Id, then you could combine them without
NULLs. Then the only reason why you might want separate
tables would be if T2_Data were (a) infrequently queried,
and (b) so large that it would result in many fewer physical
rows on a physical database page, which would imply poorer
performance for queries that used only T1_Data.
| Is This Answer Correct ? | 10 Yes | 0 No |
Post New Answer View All Answers
Explain different types of locks in sql server.
What are the steps to follow to configure SQL*Net?
How to create a login account in ms sql server to access the database engine using "create login" statements?
How to delete a login name in ms sql server?
What are scalar functions in sql?
What is the difference between sql server 2000 object owner and sql server 2005 schema? : sql server database administration
Explain what is dbcc?
What is the maximum size of column in sql server?
What is resource governor?
What are the elements of dbms?
Explain the dbcc pintable command when would you use it?
Explain primary key?
What are the diifferences between the ms sql server vs mysql?
between cast and convert which function would you prefer and why?
What is a select query statement in ms sql server?