Home > Database > Mysql Tutorial > body text

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

WBOY
Release: 2016-06-07 15:11:46
Original
1239 people have browsed it

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

什么是主键:

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

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

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

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

 

主键的作用:

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

2、  作为一个可以被外键有效引用的对象。

主键的设计原则:

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

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

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

什么是外键:

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

外键的特点:

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

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

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

如何插入外键:

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

 

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

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

 

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

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

 

出现上面的“添加表”

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

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

 

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


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

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

 

单击添加按钮


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

 

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

SQL SERVER 数据库主键和外键的思考
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!