SQLserver创建与主外键的看法

时间:2023-03-10 04:49:11
SQLserver创建与主外键的看法

一个.背景

最初研究的相关内容数据库。仅仅是正式。从来没有练过,只能慢慢漂流,现在做的客房时,,非常多的知识需要使用视图,慢的实践。

视图:我理解的就是一张表。它把我们所须要的某个表或某几个表中的部分信息提取出来,形成了一张暂时的表。

它主要有两个长处:1.简单,它呈现给我们的数据就是我们想要的数据。没有多余的。

2.安全,提供给用户它们权限范围内的数据

我为什么会用到视图?举一个简单的样例,在查询用户信息时,我们可能会用到两张表中的内容。那么这个时候我就须要将两张表中我须要的数据提取出来形成一张虚拟的表。当我使用的时候。我就能够直接从这张虚拟的表中看到我想要看的数据。这张虚拟的表就是视图。

二、实战

可是这次做的时候遇到一些小问题,假设在一张表中每一个数据记录仅仅有一条。而还有一张表中相应的数据却相应者多条,此时假设直接建视图。得到的结果会出现非常多反复。

怎样解决呢?

当然是利用主键和外键来进行约束。这样在视图中会自己主动归纳对应的数据记录。在外键表中存在的记录会自己主动与主键表中的匹配

三、外键的创建

右击数据库关系图:

SQLserver创建与主外键的看法

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvd2FuZ3l5MTMw/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

在加入的表上右击关系:

SQLserver创建与主外键的看法

 点击表和列规范。设定主键表和外键表的列名

SQLserver创建与主外键的看法

这里必需要设置好。上面表中标出的“Insert和Update规范”中的几种规范。

刚開始我选的是不运行不论什么操作,可是当我删除主键表中的记录时。就会报错。由于外键表中依赖的记录消失了,那么就不存在这个外键值了,所以外键表中的记录也必须删除,所以当涉及到删除操作时,我们应该选择“级联”,也就是外键表中的数据随着主键表的更新而更新。

详细设置例如以下:选择自己想要设置的列名就可以

SQLserver创建与主外键的看法

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvd2FuZ3l5MTMw/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

这样两张表的主键外键关系就大致建好了

四、视图的创建

视图的创建应该是比較easy的,仅仅要在视图下选择新建,选择自己想要的列名就可以。
在机房中使用视图时。我们应该注意的几点,我们会将视图看做一张表,所以在编写代码时,会新建一个实体类。来存放我们所须要的列数据。在D层查询表时,直接查询我们所创建的视图名称就可以,一般以V_开头。

以上是关于视图和主外键使用的一些相关操作,通过重构巩固一旦学到的知识。正确SQL server又多了一个小知识,了解。

版权声明:本文博客原创文章,博客,未经同意,不得转载。