• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

SQL SERVER 数据库主键和外键的思考

mysql 搞代码 4年前 (2022-01-09) 17次浏览 已收录 0个评论

什么是主键: 主键是指表中一个列或者列的组合,其能够唯一的标识表中的每一个行。这样的一列或者多列成为表的主键,通过它可以强制表的实体完整性。当创建或者更改表时可以通过定义PRIMARY KEY约束来创建主键,一个表只能有一个主键约束,而且主键约束中的

什么是主键:

主键是指表中一个列或者列的组合,其值能够唯一的标识表中的每一个行。这样的一列或者多列成为表的主键,通过它可以强制表的实体完整性。当创建或者更改表时可以通过定义PRIMARY KEY约束来创建主键,一个表只能有一个主键约束,而且主键约束中的列不能是空值,由于主键约束确保唯一数据,所一经常来定义标识列。

每一个表都必须定义一个主键吗?

我个人认为这个问题要看我们的表的功能,利用来存储大量数据,并需要经常查询的,建立主键可以加快查询效率,从而降低服务器的负担,但是如果没有这样的需求,建立主键反而消耗资源,所以这种情况下就没有必要建立主键了。

有些人认为:虽然在有些数据库中,主键不是必须的,但是最好为每个表都设置一个主键,不管是但主键还是复合主键,它存在代表着表结构的完整性,表的记录必须得有唯一区分的字段,主键主要是用于其他表的外键关联,以及本记录的修改与删除。

主键的作用:

1、 从上面的定义可以看出,主键是用于唯一标识数据库表中一行数据的。

2、 作为一个可以被外键有效引

本文来源gao!%daima.com搞$代*!码网1

用的对象。

主键的设计原则:

1、 主键应当是对用户没有意义的,比如说用户登陆一个系统的时候的登录id;而这种情况就不可能了:“学生表”需要支持这样的需求“学生注销后,可以重新激活自己的信息,而且还要保持自己的号码跟原来的一直”,这样的话主键就不能满足要求了。

2、 唯一性,这个原则就不用多说了。

3、 非空性:主键的值是不可重复的,也不可以为空。

什么是外键:

外键是建立于表与表之间的联系,方便程序的编写。

外键的特点:

1、 外键保证了数据的完整性

2、 使用外键,简单直观,可以直接在数据模型中体现,无论是设计、维护等等。

3、 外键在调试程序的时候可能会带来一些麻烦。

如何插入外键:

如上图所示,数据库中有三个表,下面我们给news和category表设置关系

如图所示,邮件单击“数据库关系图”,选择“新建数据库关系图”

出现上面的“添加表”

选择要添加的表的名称,将这三个表全部添加到里面去(如下图所示)

我们将news的categoryId设置为category的Id的外键

单击添加按钮

选择上边的“表和列规范”左边的三个小点号的按钮,点开后如下图所示


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:SQL SERVER 数据库主键和外键的思考

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址