SQLserver创建与主外键的看法
一个.背景
最初研究的相关内容数据库。仅仅是正式。从来没有练过,只能慢慢漂流,现在做的客房时,,非常多的知识需要使用视图,慢的实践。
视图:我理解的就是一张表。它把我们所须要的某个表或某几个表中的部分信息提取出来,形成了一张暂时的表。
它主要有两个长处:1.简单,它呈现给我们的数据就是我们想要的数据。没有多余的。
2.安全,提供给用户它们权限范围内的数据
我为什么会用到视图?举一个简单的样例,在查询用户信息时,我们可能会用到两张表中的内容。那么这个时候我就须要将两张表中我须要的数据提取出来形成一张虚拟的表。当我使用的时候。我就能够直接从这张虚拟的表中看到我想要看的数据。这张虚拟的表就是视图。
二、实战
可是这次做的时候遇到一些小问题,假设在一张表中每一个数据记录仅仅有一条。而还有一张表中相应的数据却相应者多条,此时假设直接建视图。得到的结果会出现非常多反复。
怎样解决呢?
当然是利用主键和外键来进行约束。这样在视图中会自己主动归纳对应的数据记录。在外键表中存在的记录会自己主动与主键表中的匹配
三、外键的创建
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvd2FuZ3l5MTMw/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
在加入的表上右击关系:
点击表和列规范。设定主键表和外键表的列名
这里必需要设置好。上面表中标出的“Insert和Update规范”中的几种规范。
刚開始我选的是不运行不论什么操作,可是当我删除主键表中的记录时。就会报错。由于外键表中依赖的记录消失了,那么就不存在这个外键值了,所以外键表中的记录也必须删除,所以当涉及到删除操作时,我们应该选择“级联”,也就是外键表中的数据随着主键表的更新而更新。
详细设置例如以下:选择自己想要设置的列名就可以
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvd2FuZ3l5MTMw/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
这样两张表的主键外键关系就大致建好了
四、视图的创建
版权声明:本文博客原创文章,博客,未经同意,不得转载。
SQLserver创建与主外键的看法的更多相关文章
- 数据库的SQL语句创建和主外键删除操作
create table UserType ( Id ,), Name nvarchar() not null ) go create table UserInfo ( Id ,), LoginPwd ...
- sqlserver创建和删除外键约束
x先找出约束名字然后删除它我给个例子 --测试环境--主表create table test1(id int primary key not null,value int)insert test1 s ...
- 通过SQL脚本来查询SQLServer 中主外键关系
在SQLServer中主外键是什么,以及主外键如何创建,在这里就不说了,不懂的可以点击这里,这篇文章也是博客园的博友写的,我觉得总结的很好: 此篇文章主要介绍通过SQL脚本来查看Sqlserver中主 ...
- MySQL创建数据表并建立主外键关系
为mysql数据表建立主外键需要注意以下几点: 需要建立主外键关系的两个表的存储引擎必须是InnoDB. 外键列和参照列必须具有相似的数据类型,即可以隐式转换的数据类型. 外键列和参照列必须创建索引, ...
- SQL Server语句创建数据库和表——并设置主外键关系
简单的创建数据库的 SQL 语句: use master go if exists(select * from sysdatabases where name='Test') begin select ...
- 经典SQL语句大全_主外键_约束
一.基础(建表.建约束.关系) 约束(Constraint)是Microsoft SQL Server 提供的自动保持数据库完整性的一种方法,定义了可输入表或表的单个列中的数据的限制条件(有关数据完整 ...
- 在PowerDesigner中设计物理模型1——表和主外键
原文:在PowerDesigner中设计物理模型1--表和主外键 在PD中建立物理模型由以下几种办法: 直接新建物理模型. 设计好概念模型,然后由概念模型生成物理模型. 设计好逻辑模型,然后由逻辑模型 ...
- MySql不支持主外键
创建表不支持主外键,能够添加外键成功,但是无法外键约束.查资料发现MySql的默认ENGINE 为MyISAM ,不支持外键,需要修改为 INNODB 修改前: Create Table CREAT ...
- SQLSERVER清空(Truncate)被外键引用的数据表
前言:我们知道SQLSERVER清空数据表有两种方式Delete和Truncate,当然两者的不同大家也都知道(不清楚的可以MSDN).不过这个错误“Cannot truncate table be ...
随机推荐
- 0x00000000该内存不能为read
0X000000存储器不能read解决方案 有这种现象方面,首先,在硬件,这有问题的内存,二,软件,其中有许多问题. 一:先说说硬件: 一般来说,电脑硬件不easy生病.内存故障的可能性并不大(非你的 ...
- 【JUnit4.10来源分析】0导航
JUnit靠GOF 中的一个Erich Gamma和 Kent Beck 单元测试框架编写一个开源,yqj2065分析JUnit的主要目的是源 中学习对设计模式的运用. JUnit也是一个学习Java ...
- as3文本框的动态拖拽和编辑
如今非常多软件都支持了编辑界面的文本拖拽和点击编辑来直接改动数值, 这样便于操作, 并且体验性也好, 抛砖引玉吧 于是就用好久没编写的as3来写了一下: 由于用的flash ide写的没有提示, 就临 ...
- 关于.net MVC5+EF6 网站部署的问题
创建mvc web application,采用code first 的方式,MVC5,EF6.0 整了一个网站.开发完之后.直接publish.就这样部署到服务器上了. 在使用过程中发现,网站打开的 ...
- FTP文件操作之获取文件列表
前面已经介绍了很多关于FTP对文件的操作,今天再跟大家介绍一个获取文件列表的功能.这个功能应该算是最简单的一个了,它只是获取了一下文件信息,而没有进行实质上的数据传输. 下面是是该功能的核心代码: ...
- Maven学习笔记(十一年):柔性结构
一个典型的项目将是开发环境.测试环境和生产环境,这些环境的数据库配置是不一样的,并使用正确的配置. Maven为了支持构建的灵活性,内置了三大特性,即属性.Profile和资源过滤.本章将介绍这些特性 ...
- Convert View To Bitmap
public static Bitmap convertViewToBitmap(View view) { view.destroyDrawingCache(); view.measure(View. ...
- Java equals的一个坑
public class StringEqualsObject { public static void main(String[] args) { String name="Tom&quo ...
- [LeetCode145]Binary Tree Postorder Traversal
题目: Given a list, rotate the list to the right by k places, where k is non-negative. For example:Giv ...
- 【UML】概念、关联、画画(一)
最近画UML画画,于UML观看视频后还没有学会.它是的结果UML九图是不是太懂,我想加深绘制过程的理解,我一个新的水平. 现在我觉得是时候..地介绍一下UML.了解一下它的基本内容.达到深入浅出的效果 ...