SQL - Unique Key, Primary Key & Foreign Key
Asked Answered
V

3

12

What are the differences between Unique Key, Primary Key and Foreign Key with respect to concept of SQL?

How they are different from each other?

Verdieverdigris answered 25/4, 2015 at 9:27 Comment(4)
Any beginner's database book will teach you this ... or just search for a beginner's database design tutorial online - gotta find gazillions of hits....Animated
I just got 128K hits by pasting the subject text in a Google search.Allister
i just got reference to this page in a Google search, so why just not answer here?Griefstricken
@Jaipal Nice question...!Contrabass
V
27

A PRIMARY Key and UNIQUE Key constraints both are similar and it provide unique enforce uniqueness of the column on which they are defined.

Primary Key

  • Primary key cannot have a NULL value.
  • Each table can have only one primary key.
  • By default, Primary key is clustered index and data in the database table is physically organized in the sequence of clustered index.
  • Primary key can be related with another table's as a Foreign Key.
  • We can generated ID automatically with the help of Auto Increment field. Primary key supports Auto Increment value.

Unique Key

  • Unique Constraint may have a NULL value.
  • Each table can have more than one Unique Constraint.
  • By default, Unique key is a unique non-clustered index.
  • Unique Constraint can not be related with another table's as a Foreign Key.
  • Unique Constraint doesn't supports Auto Increment value.

Foreign Key

  • Foreign key is a field in the table that is primary key in another table.
  • Foreign key can accept multiple null value.
  • Foreign key do not automatically create an index, clustered or non-clustered. You can manually create an index on foreign key.
  • We can have more than one foreign key in a table.
  • There are actual advantages to having a foreign key be supported with a clustered index, but you get only one per table. What's the advantage? If you are selecting the parent plus all child records, you want the child records next to each other. This is easy to accomplish using a clustered index.
  • Having a null foreign key is usually a bad idea. In the example below, the record in [dbo].[child] is what would be referred to as an "orphan record". Think long and hard before doing this.
Verdieverdigris answered 25/4, 2015 at 9:27 Comment(0)
E
1

Note: we use constraint for enforce data integrity

Primary Key
1)can't insert null value
2) one table have one primary key

Unique key 1) insert null value one at time 2)one table have multiple unique key 3) you can refereed as candidate key also

foreign key 1) maintain the relationship between two table and also multiple Note: without any constraint you get data in multiple table but you can not get data peoperly

Earldom answered 30/12, 2016 at 12:47 Comment(0)
D
-1

A note about Unique key

The parent table in a Primary Key-Foreign Key relation is normally called as Primary Key table but PK is not mandatory in a parent table. A unique key/constraint in parent table is sufficient. As PK is always unique, it is often used as foreign key in another table. see this SO post

Divergent answered 20/7, 2017 at 6:35 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.