首页 > 代码库 > SQLserver中的视图与主外键的创建

SQLserver中的视图与主外键的创建

一.背景

原来学过数据库的相关内容,只是形式上的,从来也没有实践过,徐徐飘过而已,如今在做机房时,很多知识需要用到视图,才开始去慢慢的实践。

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

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

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

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

二、实战

但是这次做的时候遇到一些小问题,如果在一张表中每个数据记录只有一条,而另一张表中相应的数据却对应者多条,此时如果直接建视图,得到的结果会出现很多重复。

如何解决呢?

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

三、外键的创建

右击数据库关系图:

在添加的表上右击关系:

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

这里必须要设置好,上面表中标出的“Insert和Update规范”中的几种规范。刚开始我选的是不执行任何操作,但是当我删除主键表中的记录时,就会报错,因为外键表中依赖的记录消失了,那么就不存在这个外键值了,所以外键表中的记录也必须删除,所以当涉及到删除操作时,我们应该选择“级联”,也就是外键表中的数据随着主键表的更新而更新。

具体设置如下:选择自己想要设置的列名即可


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

四、视图的创建

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

以上是关于视图和主外键使用的一些相关操作,通过重构巩固了以前学过的知识,对SQL server中的知识又多了几分了解。