第6章SQLServer数据表管理.ppt

上传人:sccc 文档编号:5644175 上传时间:2023-08-05 格式:PPT 页数:48 大小:226.51KB
返回 下载 相关 举报
第6章SQLServer数据表管理.ppt_第1页
第1页 / 共48页
第6章SQLServer数据表管理.ppt_第2页
第2页 / 共48页
第6章SQLServer数据表管理.ppt_第3页
第3页 / 共48页
第6章SQLServer数据表管理.ppt_第4页
第4页 / 共48页
第6章SQLServer数据表管理.ppt_第5页
第5页 / 共48页
点击查看更多>>
资源描述

《第6章SQLServer数据表管理.ppt》由会员分享,可在线阅读,更多相关《第6章SQLServer数据表管理.ppt(48页珍藏版)》请在三一办公上搜索。

1、第6章 SQL Server 2008 数据表管理,本章学习目标熟练掌握数据表的创建、修改和删除方法;熟练掌握表数据的插入、修改和删除方法;熟练数据表的约束及其使用。,6.1 数据表,数据库是保存数据的集合,其目的在于存储和返回数据。如果没有数据库的表所提供的结构,这些任务是不可能完成的。数据库中包含一个或多个表,表是数据库的基本构造块。同时,表是数据的集合,是用来存储数据和操作数据的逻辑结构。表是由行和列所构成,行被称为记录,是组织数据的单位;列被称为字段,每一列表示记录的一个属性。,6.1.1 数据表的基本概念,在SQL Server中,数据表分为永久数据表和临时数据表两种,永久数据表在创

2、建后一直存储在数据库文件中,直至用户删除为止。而临时数据表用户退出或系统修复时被自动删除。,6.1.2 数据类型,在数据表中的每一个数据列都会有特定的属性,而这些属性中最重要的就是数据类型(Data Type),数据类型是用来定义储存在数据列中的数据,其限制了一个列中可以存储的数据的类型,在某些情况下甚至限制了该列中的可能值的取值范围。在SQL Server中,数据类型可以是系统提供的数据类型,也可以是用户自定义的数据类型。,1系统数据类型SQL Server系统数据类型有7类。,2用户自定义数据类型在系统数据类型的基础上,用户可以根据需要定制数据,称之为用户自定义数据类型。当用户自定义数据类

3、型时,需要指定该类型的名称、建立在其上的系统数据类型以及是否允许空值(NULL)等特性。,1)利用对象资源管理器创建用户自定义数据类型(1)使用“Windows身份验证”连接到数据库实例。(2)展开需要创建用户自定义数据类型的数据库,选择“可编程性”|“类型”,单击鼠标右键,然后从弹出的快捷菜单中选择“新建”|“用户定义数据类型”命令,打开“新建用户定义数据类型”对话框。(3)在“新建用户定义数据类型”对话框中,可以定义类型的架构、名称、数据类型、精度、允许为空值等。(4)完成设置后,单击“确定”按钮,创建用户自定义数据类型。,2)T-SQL语句创建用户自定义数据类型使用CREATE TYPE

4、来执行创建用户自定义数据类型的操作,其语法格式如下:CREATE TYPE type_name FROM base_type(precision,scale)NULL|NOT NULL;,参数说明如下。base_type:用户自定义数据类型所基于的数据类型,由 SQL Server 提供。precision:指定数据类型的精度。scale:对于decimal或numeric,指示小数点位数,它必须小于或等于精度值。NULL|NOT NULL:指定此类型是否可容纳空值。如果未指定,则默认值为 NULL。,6.2 创建数据表,创建数据表的一般步骤为:首先定义表结构,即给表的每一列取列名,并确定每一

5、列的数据类型、数据长度、列数据是否可以为空等;然后,为了限制某列数据的取值范围,以保证输入数据的正确性和一致性而设置约束;当表结构和约束建立完成之后,最后就可以向表中输入数据了。,创建数据表的关键是定义表的结构,通常创建表之前的重要工作是设计表结构,即确定表的名字、表中各个数据项的列名、数据类型和长度、是否为空值等。数据表的设计在系统开发中,占有非常重要的地位。在SQL Server 2008中,创建数据表可以通过表设计器来操作,也可以利用T-SQL语句来实现。,6.2.1 利用表设计器创建数据表,在SQL Server Management Studio中,提供一个前端的、填充式的表设计器以

6、简化表的设计工作,利用图形化的方法可以非常方便地创建数据表。,6.2.2 利用T-SQL语句创建数据表,CREATE TABLE database_name.schema_name.|schema_name.table_name(,.n)ON filegroup|“default”;:=column_name NULL|NOT NULL CONSTRAINT constraint_name DEFAULT constant_expression|IDENTITY(seed,increment)NOT FOR REPLICATION,参数说明如下。database_name:创建表的数据库的名称

7、,必须指定现有数据库的名称。如果未指定,则 database_name 默认为当前数据库。table_name:新表的名称。表名必须遵循标识符规则。column_name:表中列的名称。列名必须遵循标识符规则并且在表中是唯一的。ON filegroup|“default”:指定存储表的文件组。如果指定了“default”,或者根本未指定ON,则表存储在默认文件组中。,6.3完整性与约束,数据库中的数据现实世界的反映,数据库的设计必须能够满足现实情况的实现,即满足现实商业规则的要求,这也就是数据完整性的要求。在数据库管理系统中,约束是保证数据库中的数据完整性的重要方法。,6.3.1 完整性,数据

8、完整性是数据库设计方面一个非常重要的问题,数据完整性代表数据的正确性、一致性与可靠性,实施完整性的目的在于确保数据的质量。在SQL Server中,根据数据完整性措施所作用的数据库对象和范围不同,可以将数据完整性分类为实体完整性、域完整性和参照完整性等。,1实体完整性实体完整性把数据表中的每行看作一个实体,它要求所有行都具有唯一标识。在SQL Server中,可以通过建立PRIMARY KEY约束、UNIQUE约束、唯一索引,以及列IDENTITY属性等措施来实施实体完整性。,2域完整性域完整性要求数据表中指定列的数据具有正确的数据类型、格式和有效的数据范围。域完整性通过默认值、FOREIGN

9、 KEY、CHECK等约束,以及默认、规则等数据库对象来实现。,3参照完整性参照完整性维持被参照表和参照表之间的数据一致性。在SQL Server中,参照完整性通过主键与外键或唯一键与外键之间的关系来实现,通过建立FOREIGN KEY约束来实施。在被参照表中,当其主键值被其他表所参照时,该行不能被删除,也不允许改变。在参照表中,不允许参照不存在的主键值。,6.3.2 约束,约束是数据库中的数据完整性实现的具体方法。在SQL Server中,包括5种约束类型:PRIMARY KEY约束、FOREIGN KEY约束、UNIQUE约束、CHECK约束和DEFAULT约束。在SQL Server中,

10、约束作为数据表定义的一部分,在CREATE TABLE语句中定义声明。同时,约束独立于数据表的结构,可以在不改变数据表结构的情况下,使用ALTER TABLE语句来添加或删除。,1PRIMARY KEY约束表中经常有一列或多列的组合,其值能唯一地标识表中的每一行。这样的一列或多列称为表的主键(Primary Key),通过它可以强制表的实体完整性。一个表只能有一个主键,而且主键约束中的列不能为空值。如果主键约束定义在不止一列上,则一列中的值可以重复,但主键约束定义中的所有列的组合值必须唯一,因为该组合列将成为表的主键,如学生成绩表(stu_grade)中学生的“学号”和课程的“课程号”组合作为

11、主键。,1)使用表设计器创建PRIMARY KEY约束在表设计器中可以创建、修改和删除PRIMARY KEY约束。操作步骤如下:在表设计器中,选择需要设置主键的列(如需要设置多个列为主键,则选中所有需要设置为主键的所有列),单击鼠标右键,然后从弹出的快捷菜单中选择“设置主键”命令,完成主键设置,这时主键列的左边会显示“黄色钥匙”图标启动。,2)使用T-SQL语句创建PRIMARY KEY约束创建主键约束的语法形式如下:CONSTRAINT constraint_name PRIMARY KEY CLUSTERED|NONCLUSTERED(column_name,n)其中,CLUSTERED|

12、NONCLUSTERED表示所创建的UNIQUE约束是聚集索引还是非聚集索引,默认为CLUSTERED聚集索引。,2FOREIGN KEY约束外键(FOREIGN KEY)用于建立和加强两个表(主表与从表)的一列或多列数据之间的链接,当数据添加、修改或删除时,通过外键约束保证它们之间数据的一致性。定义表之间的参照完整性是先定义主表的主键,再对从表定义外键约束。FOREIGN KEY约束要求列中的每个值在所引用的表中对应的被引用列中都存在,同时FOREIGN KEY约束只能引用在所引用的表中是PRIMARY KEY或UNIQUE约束的列,或所引用的表中在UNIQUE INDEX内的被引用列。,1

13、)使用表设计器创建FOREIGN KEY约束在表设计器中可以创建、修改和删除FOREIGN KEY约束。,2)使用T-SQL语句创建FOREIGN KEY约束创建外键约束的语法形式如下:CONSTRAINT constraint_name FOREIGN KEY REFERENCES referenced_table_name(,n)参数说明如下。referenced_table_name是FOREIGN KEY约束引用的表的名称。column_name是FOREIGN KEY约束所引用的表中的某列。,3UNIQUE约束UNIQUE约束用于确保表中某个列或某些列(非主键列)没有相同的列值。与P

14、RIMARY KEY约束类似,UNIQUE约束也强制唯一性,但UNIQUE约束用于非主键的一列或多列组合,而且一个表中可以定义多个UNIQUE约束,另外UNIQUE约束可以用于定义允许空值的列。例如在课程表(course_info)中已经定义“课程号”作为主键,而现在对于“课程名”也不允许出现重复,就可以通过设置“课程名”为UNIQUE约束来确保其唯一性。,1)使用表设计器创建UNIQUE约束在表设计器中可以创建、修改和删除UNIQUE约束。,2)使用T-SQL语句创建UNIQUE约束创建唯一性约束的语法形式如下:CONSTRAINT constraint_name UNIQUE CLUSTE

15、RED|NONCLUSTERED 其中,CLUSTERED|NONCLUSTERED表示所创建的UNIQUE约束是聚集索引还是非聚集索引,默认为NONCLUSTERED非聚集索引。,4CHECK约束CHECK约束用于限制输入到一列或多列的值的范围,从逻辑表达式判断数据的有效性,也就是一个列的输入内容必须满足CHECK约束的条件,否则,数据无法正常输入,从而强制数据的域完整性。例如在学生成绩表(stu_grade)中的“成绩”来讲,应该保证在0 100之间,又如在课程信息表(course_info)中的“学时”来讲,应该保证在0 80之间,而只用int数据类型是无法实现的,可以通过CHECK约束

16、来完成。,1)使用表设计器创建UNIQUE约束在表设计器中可以创建、修改和删除UNIQUE约束。,2)使用T-SQL语句创建CHECK约束创建检查约束的语法形式如下:CONSTRAINT constraint_name CHECK(check_expression)其中,check_expression 为检查表达式。,5DEFAULT约束若将表中某列定义了DEFAULT约束后,用户在插入新的数据行时,如果没有为该列指定数据,那么系统将默认值赋给该列,当然该默认值也可以是空值(NULL)。例如,假设学生信息表(stu_info)中的同学绝大多数都来自于“信息学院”,就可以通过设置“系别”字段的

17、DEFALUT约束来实现,简化用户的输入。,1)使用表设计器创建DEFAULT约束在表设计器中可以创建、修改和删除DEFAULT约束。其操作步骤如下:在表设计器中,选择需要设置DEFAULT值的列,在下面“列属性”的“默认值或绑定”栏中输入默认值,然后单击工具栏中的“保存”按钮,即完成DEFAULT约束的创建。,2)使用T-SQL语句创建DEFAULT约束创建默认值约束的语法形式如下:CONSTRAINT constraint_name DEFAULT(constraint_expression)其中,constraint _expression 为默认值。,6.4 管理数据表,在数据库的使用

18、过程中,经常会发现原来创建的表可能存在结构、约束等方面的问题或缺陷。如果用一个新表替换原来的表,将造成表中数据的丢失。因此,需要有修改数据表而不删除数据的方法。另外,一个数据表如果不再具有使用价值,则可以将其删除。,6.4.1 修改数据表,1利用表设计器修改数据表(1)启动SQL Server Management Studio。(2)展开SQL Server实例,选择“数据库”|,然后从弹出的快捷菜单中选择“设计”命令。(3)在“表设计器”中,可以新增列、删除列和修改列的名称、数据类型、长度、是否允许为空等属性。(4)当完成修改表的操作后,单击工具栏上的“保存”按钮。,2利用T-SQL语句修

19、改数据表修改数据表的语法格式如下:ALTER TABLE table_name ALTER COLUMN column_name new data type(precision,scale)NULL|NOT NULL|ADD,n|DROP CONSTRAINT constraint_name|COLUMN column_name,n,参数说明如下。table_name:所要修改的表的名称。ALTER COLUMN:修改列的定义。ADD:增加新列或约束。DROP:删除列或约束。,6.4.2 删除数据表,1利用对象资源管理器删除数据表(1)启动SQL Server Management Studi

20、o。(2)展开SQL Server实例,选择“数据库”,打开“删除对象”对话框。(3)在“删除对象”对话框中,显示出删除对象的属性信息,单击“确定”按钮。,2利用T-SQL语句删除数据表删除数据表的语法格式如下:DROP TABLE table_name,n 其中,table_name为所要删除的表的名称。【例6-11】删除学生信息表stu_info。DROP TABLE stu_info 删除表只能够删除用户表,不能够删除系统表。删除表一旦操作完成,表中数据也一并被删除,而且是无法恢复的。,6.5 管理表数据,创建表的目在于利用表进行数据的存储和管理。对数据进行管理的前提是数据的存储,向表中

21、添加数据,没有数据的表是没有任何实际意义的;添加完成后,用户也可以根据自己的需要对表中数据进行修改和删除。在SQL Server 2008中,对于数据的管理包括插入、修改和删除,通过Management Studio来操作,也可以利用SQL语句来实现。,6.5.1 插入表数据,1利用对象资源管理器插入表数据(1)启动SQL Server Management Studio。(2)展开SQL Server实例,选择“表”,单击鼠标右键,然后从弹出的快捷菜单中选择“编辑前200行”命令。(3)在表窗口中,显示出当前表中数据,单击表格中最后一行,填写相应数据信息。,6.5.2 修改表数据,1利用对象

22、资源管理器修改表数据利用对象资源管理器修改表数据,与插入表数据操作类似。,2利用T-SQL语句修改表数据更改表数据的语法格式如下:UPDATE table_name SET column_name=expression,n WHERE search_conditions参数说明如下。table_name:所要更改数据的表的名称。column_name:要更改数据所对应的字段名。expression:要更新的值。search_conditions:更新条件,只有满足条件的记录才会被更新,如果不设置,则更新所有记录。,6.5.3 删除表数据,1利用对象资源管理器删除表数据利用对象资源管理器删除表数

23、据,与插入表数据操作类似,2利用T-SQL语句删除表数据使用DELETE语句可以从表中删除一条或多条记录,删除表数据的语法格式如下:DELETE FROM table_name WHERE search_conditions参数说明如下。table_name:所要删除数据的表的名称。search_conditions:删除条件,只有满足条件的记录才会被删除,如果不设置,则删除所有记录。,6.6 本章小结,本章介绍了SQL Server中数据表的相关知识,其内容主要包括数据表的基本概念、数据表的创建和管理、约束和完整性,以及如何管理表数据。数据表是一种重要的数据库对象,由行和列所构成,用于存储关系数据库中的数据。,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 建筑/施工/环境 > 农业报告


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号