当前位置:首页 > 表间关系和外键约束1
表间关系和外键约束
一、 实验目的
什么是外键以及作用 会创建表间关系。 二、 实验设备
Sql server 2000一部 三、 实验步骤
1、 创建外键 2、 举例:数据库schoolinformation中的班级表class和学生表 student之
间存在着链接,在班级和学生之间存在着逻辑联系。 3、 本节中,来为学生表student中建立一个名为classID的列,让他与班级
表class中的主键classID相对应,这样班级表class中的classID主键列,就是到学生表student表的外键列。
4、 打开student表的设计视图,在列studentName上点击右键——插入
列——在列名框中输入classID,数据类型为int,长度变为4,不用去修改。如图:
5、 当然这个Student表中的ClassID列是不允许空值存在的,去掉ClassID
列允许空的勾,点击工具栏上的——关系按钮——student的属性对话框——切换到关系选项卡——新建按钮——系统会增加一个表间关系的外键——名称为FK_ClassStudent_Class,在class与student表之间:class主键、classStudent是外键——在class表下拉框选择,classID列;classStudent表下拉框中选择,classID列——我们要让这两个表之间,通过 classID来建立链接——下面复选框中有个:创建中检查现存数据这个选项:是设置我们在创建这个外键值后,是否检查表中已经存在的数据;另外当一个班级被删除了之后,这个班级的学生也是没有意义的。如图:
四、 实验总结
外键:它是用于建立和加强两个表数据之间链接的一列或多列。 主键:外键与主键不同,担有着紧密的联系。
通过,将保存表中主键值的列或多列,添加到另一个表中可以创建两个表的链接,这样这个列就成为了第二个表的外键。
创建中检查现存数据这个选项:是设置我们在创建这个外键值后,是否检查表中已经存在的数据;另外当一个班级被删除了之后,这个班级的学生也是没有意义的。
如果这个班级被删除之后,系统能够自动删除这个班级所有学生的资料,在一定情况下是很有吸引力的,联机删除相关的记录就是这项功能。
勾选上后,只要在 class表中删除一个班级,student表中所有属于这个班级的学生,就会自动被删除——点击关闭按钮,回到设计视图中,点击保存按钮。
提示:
上面两个表保存到数据库中,前面只打开了student表的设计视图并修改了这个表的结构,只是对class表没有进行修改,这个提示说明class表和student表都已经被修改,这说明在class表和student表之间建立了表间联系了。
注意提示错误的,如图:
处理结果:创建中检查现存数据这个选项,在class表中没有选中,而student表中选中了,所以提示这个错误;这个选项去掉即可。
ClassID表中的ClassID 也是123478,那么ClassStudentC中的classID也是123478必须一致否则出错。
允许空的话,外键可以不用输入内容,就可以。
共分享92篇相关文档