数据库-ppt课件.ppt

上传人:飞****2 文档编号:71802201 上传时间:2023-02-06 格式:PPT 页数:55 大小:3.02MB
返回 下载 相关 举报
数据库-ppt课件.ppt_第1页
第1页 / 共55页
数据库-ppt课件.ppt_第2页
第2页 / 共55页
点击查看更多>>
资源描述

《数据库-ppt课件.ppt》由会员分享,可在线阅读,更多相关《数据库-ppt课件.ppt(55页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、2023/2/51第五章 教学要求理解数据库完整性控制的基本概念与方法。掌握SQL Server2005定义完整性约束的方法。2023/2/52第五章 教学重点数据库完整性控制的基本概念与方法。SQL Server2005定义完整性约束的方法。2023/2/53第五章 教学难点数据库完整性控制的基本概念与方法。SQL Server2005定义完整性约束的方法。2023/2/54第五章 教学内容 完整性约束条件SQL Server2005中对数据完整性控制2023/2/55创建、删除和修改约束 在SQL Server 2005中有5种约束:主键约束(primary key constraint)

2、唯一性约束(unique constraint)检查约束(check constraint)缺省约束(default constraint)外部键约束(foreign key constraint)2023/2/561.主键约束 主键的添加、删除和修改操作方法有两种:主键的添加、删除和修改操作方法有两种:(一)(一)Management Studio 操作法,在操作法,在Management Studio 中,用右键单击要操作中,用右键单击要操作的数据库表,从弹出的快捷菜单中选择的数据库表,从弹出的快捷菜单中选择“修改修改”选项,然后根据图示操作选项,然后根据图示操作。(二)(二)Transa

3、ct-SQL语句操作法。语句操作法。其语法形式如下:其语法形式如下:CONSTRAINT constraint_name PRIMARY KEY CLUSTERED|NONCLUSTERED (column_name,n)2023/2/572023/2/582023/2/592023/2/5102023/2/511按下shift键再用鼠标同时选中鼠标左键选中即可设置主键约束2023/2/512返回返回2023/2/5132023/2/514主键约束各参数的说明如下 constraint_name:用用于于指指定定约约束束的的名名称称,约约束束的的名名称称在在数数据据库库中中应应该该是是唯唯一一

4、的的。如如果果不指定,则系统会自动生成一个约束名。不指定,则系统会自动生成一个约束名。CLUSTERED|NONCLUSTERED:用用 于于 指指定定索索引引的的类类型型,即即聚聚簇簇索索引引或或者者非非聚聚簇簇索索引引,CLUSTERED为默认值。为默认值。column_name:用用于于指指定定主主键键的的列列名名。主主键最多由键最多由16个列组成。个列组成。2023/2/515例子在执行创建产品信息表的操作时,指定产品编号为在执行创建产品信息表的操作时,指定产品编号为主键值,并且创建一个聚簇索引。主键值,并且创建一个聚簇索引。create table products(id char(

5、10)not null,name char(20)not null,price money default 0.01,quantity smallint null,constraint pk_id primary key clustered (id)2023/2/5162.唯一性约束唯一性约束用于指定一个或者多个列的组合的值唯一性约束用于指定一个或者多个列的组合的值具有唯一性,以防止在列中输入重复的值。当使用具有唯一性,以防止在列中输入重复的值。当使用唯一性约束时,需要考虑以下几个因素:唯一性约束时,需要考虑以下几个因素:使用唯一性约束的字段允许为空值。使用唯一性约束的字段允许为空值。一个表中

6、可以允许有多个唯一性约束。一个表中可以允许有多个唯一性约束。可以把唯一性约束定义在多个字段上。可以把唯一性约束定义在多个字段上。唯唯一一性性约约束束用用于于强强制制在在指指定定字字段段上上创创建建一一个个唯唯一性索引。一性索引。缺省情况下,创建的索引类型为非聚簇索引。缺省情况下,创建的索引类型为非聚簇索引。2023/2/517创建和修改唯一性约束的操作方法创建和修改唯一性约束的操作方法有两种:创建和修改唯一性约束的操作方法有两种:(一一)Management Studio 操操作作法法,通通过过Management Studio 可可以以完完成成创创建建和和修修改改唯唯一性约束的操作。一性约束

7、的操作。(二)(二)Transact-SQL语句操作法。语句操作法。CONSTRAINT constraint_name UNIQUE CLUSTERED|NONCLUSTERED(column_name,n)下一页下一页2023/2/518此处可以创建唯一性约束2023/2/5192023/2/5202023/2/5213.检查约束 一个列级检查约束只能与限制的字段有关;一一个列级检查约束只能与限制的字段有关;一个表级检查约束只能与限制的表中字段有关。个表级检查约束只能与限制的表中字段有关。一个表中可以定义多个检查约束。一个表中可以定义多个检查约束。每个每个CREATE TABLE语句中每个

8、字段只能定义语句中每个字段只能定义一个检查约束。一个检查约束。在多个字段上定义检查约束,则必须将检查约在多个字段上定义检查约束,则必须将检查约束定义为表级约束。束定义为表级约束。当执行当执行INSERT语句或者语句或者UPDATE语句时,检查语句时,检查约束将验证数据。约束将验证数据。检查约束中不能包含子查询。检查约束中不能包含子查询。2023/2/522创建检查约束常用的操作方法有两种创建检查约束常用的操作方法有两种1.Management Studio 操作法。使用操作法。使用Management Studio 创建检查约束,根据图创建检查约束,根据图示进行操作。示进行操作。2.Trans

9、act-SQL语句操作法。检查约束的语句操作法。检查约束的Transact-SQL语句操作法,其语法形式如下:语句操作法,其语法形式如下:CONSTRAINT constraint_name CHECK NOT FOR REPLICATION (logical_expression)2023/2/5232023/2/5242023/2/5252023/2/526例子创建了一个学生信息表,其中输入性别字段值时,只能创建了一个学生信息表,其中输入性别字段值时,只能接受接受“F”或者或者“M”。create table student(Id char(8),name char(8),sex char

10、(2),phonenum int,constraint chk_sex check(sex in(F,M)2023/2/5274.缺省约束使用缺省约束时,应该注意以下几点:使用缺省约束时,应该注意以下几点:每个字段只能定义一个缺省约束。每个字段只能定义一个缺省约束。如果定义的缺省值长于其对应字段的允许长度,如果定义的缺省值长于其对应字段的允许长度,那么输入到表中的缺省值将被截断。那么输入到表中的缺省值将被截断。不能加入到带有不能加入到带有IDENTITY属性或者数据类型属性或者数据类型为为timestamp的字段上。的字段上。如果字段定义为用户定义的数据类型,而且有如果字段定义为用户定义的数据

11、类型,而且有一个缺省绑定到这个数据类型上,则不允许该一个缺省绑定到这个数据类型上,则不允许该字段有缺省约束。字段有缺省约束。2023/2/528例子创建了一个学生信息表,其中输入性别字段值时,创建了一个学生信息表,其中输入性别字段值时,只能接受只能接受“F”或者或者“M”,并且缺省设置,并且缺省设置sex为为“M”。create table student(Id char(8),name char(8),sex char(2)default m,phonenum int,constraint chk_sex check(sex in(F,M)2023/2/5292023/2/5305.外部键约

12、束外部键约束用于强制参照完整性,提供单个外部键约束用于强制参照完整性,提供单个字段或者多个字段的参照完整性。当使用外部字段或者多个字段的参照完整性。当使用外部键约束时,应该考虑以下几个因素:键约束时,应该考虑以下几个因素:外部键约束提供了字段参照完整性。外部键约束提供了字段参照完整性。外外部部键键从从句句中中的的字字段段数数目目和和每每个个字字段段指指定定的的数数据据类类型型必必须须和和REFERENCES从从句句中中的的字字段相匹配。段相匹配。外外部部键键约约束束不不能能自自动动创创建建索索引引,需需要要用用户户手动创建。手动创建。2023/2/531用用户户想想要要修修改改外外部部键键约约

13、束束的的数数据据,必必须须有有对对外外部部键键约约束束所所参参考考表表的的SELECT权权限限或或者者REFERENCES权限。权限。参参考考同同一一表表中中的的字字段段时时,必必须须只只使使用用REFERENCES子句,不能使用外部键子句。子句,不能使用外部键子句。一个表中最多可以有一个表中最多可以有31个外部键约束。个外部键约束。在临时表中,不能使用外部键约束。在临时表中,不能使用外部键约束。主键和外部键的数据类型必须严格匹配。主键和外部键的数据类型必须严格匹配。2023/2/532例:给SC表添加这样一个约束,使用户输入的学生学号必须要在Student表中的sno列中出现过的学生学号。a

14、lter table sc add constraint ref_stu_sno foreign key(sno)references student(sno)下一页2023/2/533演示过程建立检查约束2023/2/534演示过程建立检查约束2023/2/535演示过程建立检查约束2023/2/536演示过程建立默认值约束2023/2/537演示过程建立默认值约束2023/2/538演示过程建立检查约束2023/2/539演示过程建立检查约束2023/2/540演示过程-建立外键约束2023/2/541演示过程建立外键约束2023/2/542演示过程检查外键约束2023/2/543演示过程

15、检查外键约束2023/2/544演示过程删除外键约束2023/2/545索引操作创建索引 查看、修改和删除索引2023/2/546一、什么叫索引 数据库中的索引与书籍中的索引类似,在一数据库中的索引与书籍中的索引类似,在一本书中,利用索引可以快速查找所需信息,无须本书中,利用索引可以快速查找所需信息,无须阅读整本书。在数据库中,索引使数据库程序无阅读整本书。在数据库中,索引使数据库程序无须对整个表进行扫描,就可以在其中找到所需数须对整个表进行扫描,就可以在其中找到所需数据。书中的索引是一个词语列表,其中注明了包据。书中的索引是一个词语列表,其中注明了包含各个词的页码。而数据库中的索引是某个表中

16、含各个词的页码。而数据库中的索引是某个表中一列或者若干列值的集合和相应的指向表中物理一列或者若干列值的集合和相应的指向表中物理标识这些值的数据页的逻辑指针清单。标识这些值的数据页的逻辑指针清单。2023/2/547二、索引的作用二、索引的作用通过创建唯一索引,可以保证数据记录的唯一性。通过创建唯一索引,可以保证数据记录的唯一性。可以大大加快数据检索速度。可以大大加快数据检索速度。可可以以加加速速表表与与表表之之间间的的连连接接,这这一一点点在在实实现现数数据据的参照完整性方面有特别的意义。的参照完整性方面有特别的意义。在在使使用用ORDER BY和和GROUP BY子子句句中中进进行行检检索索

17、数数据据时时,可可以以显显著著减减少少查查询询中中分分组组和和排排序序的的时时间。间。使使用用索索引引可可以以在在检检索索数数据据的的过过程程中中使使用用优优化化隐隐藏藏器,提高系统性能。器,提高系统性能。2023/2/548聚集索引与非聚集索引聚集索引与非聚集索引聚集索引对表的物理数据页中的数据按列进聚集索引对表的物理数据页中的数据按列进行排序,然后再重新存储到磁盘上,即聚集索行排序,然后再重新存储到磁盘上,即聚集索引与数据是混为一体的,它的叶节点中存储的引与数据是混为一体的,它的叶节点中存储的是实际的数据。是实际的数据。非聚集索引具有完全独立于数据行的结构,非聚集索引具有完全独立于数据行的

18、结构,使用非聚集索引不用将物理数据页中的数据按使用非聚集索引不用将物理数据页中的数据按列排序。非聚集索引的叶节点存储了组成非聚列排序。非聚集索引的叶节点存储了组成非聚集索引的关键字值和行定位器。集索引的关键字值和行定位器。返回返回2023/2/549创建索引 SQL Server 2005创建索引的方法创建索引的方法(1)利用对象资源管理器直接创建索)利用对象资源管理器直接创建索引。引。(3)利用)利用Transact-SQL语句中的语句中的CREATE INDEX命令创建索引。命令创建索引。2023/2/550利用对象资源管理器直接创建索引利用对象资源管理器直接创建索引其具体步骤如下:其具体

19、步骤如下:()在对象资源管理器中,展开指定的服()在对象资源管理器中,展开指定的服务器、数据库,展开要创建索引的表,用右键单务器、数据库,展开要创建索引的表,用右键单击击“索引索引”,从弹出的快捷菜单中选择,从弹出的快捷菜单中选择“新建索新建索引引”选项,点击,则出现新建索引对话框。选项,点击,则出现新建索引对话框。(2)填写索引名称,选择索引类型,添加)填写索引名称,选择索引类型,添加建立索引的属性列,选择完成后单击建立索引的属性列,选择完成后单击“确定确定”按按钮,即可生成新的索引;单击钮,即可生成新的索引;单击“取消取消”按钮,则按钮,则取消新建索引的操作。取消新建索引的操作。2023/2/5512023/2/5522023/2/553利用利用Transact-SQL语句中的语句中的CREATE INDEX命令创建索引。命令创建索引。CREATE INDEX au_id_ind ON authors(au_id)CREATE INDEX emp_order_ind ON order_emp(orderID,employeeID)2023/2/554小结数据库完整性控制的基本概念与方法。SQL Server2005定义完整性约束的方法。2023/2/555思考题如何在SQL Server2005定义完整性约束的方法?

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁