SQL外键关系

时间:2016-08-19 15:32:44

标签: sql sql-server foreign-keys relational-database foreign-key-relationship

我正在尝试在各个公司创建联系人的联系人数据库。联系人和企业将存储在数据库中的两个单独的表中。我希望每个联系人都与特定公司相关联。我是否应该对整个表中的所有列使用外键或者它是如何制作的?

联系表具有以下属性:

Firstname
Lastname
Email
Phone

公司表有:

Name

我不再需要列了!

1 个答案:

答案 0 :(得分:1)

评论太长了。为了解决您对FK应该如何看待的评论,这是您应该寻找的表结构:

Create Table Contact
(
    Id          Int Identity(1,1) Not Null Primary Key Clustered,
    Firstname   Varchar (20),
    Lastname    Varchar (20),
    Email       Varchar (50),
    Phone       Varchar (15),
    CompanyId   Int Not Null
)

Create Table Company
(
    Id          Int Identity(1,1) Not Null Primary Key Clustered,
    Name        Varchar (100)
)

Alter Table Contact 
Add Constraint FK_Contact_Company 
Foreign Key (CompanyId) References Company (Id)

您需要在表格中添加Identity列作为Primary Keys

接下来,您需要在CompanyId表格中添加Contact列以保持关系。

最后,您需要创建实际的Foreign Key Constraint

您的数据类型肯定与我所猜测的不同,但这是您应该用于外键关系的概念。