Otherwise, they serve very different purposes and each is governed by its own set of rules.That said, they can often be related to each other in very important ways, but they still remain separate entities.
If a clustered index already exists, then you have no choice but to create a nonclustered index on the primary key.Like a primary key, a foreign key is also a type of constraint placed on one or more columns in a table.Other columns might also contain unique values, but a table can contain only one primary key.Because the primary key must be able to identify each row, no columns that participate in a primary key can contain values.In addition, if you create a composite primary key (more than one column), the individual columns can contain duplicate values, but the columns collectively cannot and together must provide the unique identifiers for each row.
For example, the table When you create a primary key, SQL Server automatically creates an index based on the key columns.
The foreign key establishes a link between the key columns and related columns in another table.
(You can also link the foreign key columns to columns within the same table.) The table that contains the foreign key is considered the child table, and the table that the foreign key references is the parent table.
There are many differences between primary keys and foreign keys.
In fact, the only real similarity is that you can define each of them on one or more columns in a SQL Server table.
If nullability has not been defined on the columns that participate in the primary key, the database engine will automatically configure those columns as .