SQL Server 2008数据库应用与开发教程(第二版) 教学课件 ppt 作者 978-7-302-24453-0 第3章 表的建立与维护

上传人:E**** 文档编号:89361551 上传时间:2019-05-24 格式:PPT 页数:36 大小:491KB
返回 下载 相关 举报
SQL Server 2008数据库应用与开发教程(第二版) 教学课件 ppt 作者 978-7-302-24453-0 第3章 表的建立与维护_第1页
第1页 / 共36页
SQL Server 2008数据库应用与开发教程(第二版) 教学课件 ppt 作者 978-7-302-24453-0 第3章 表的建立与维护_第2页
第2页 / 共36页
SQL Server 2008数据库应用与开发教程(第二版) 教学课件 ppt 作者 978-7-302-24453-0 第3章 表的建立与维护_第3页
第3页 / 共36页
SQL Server 2008数据库应用与开发教程(第二版) 教学课件 ppt 作者 978-7-302-24453-0 第3章 表的建立与维护_第4页
第4页 / 共36页
SQL Server 2008数据库应用与开发教程(第二版) 教学课件 ppt 作者 978-7-302-24453-0 第3章 表的建立与维护_第5页
第5页 / 共36页
点击查看更多>>
资源描述

《SQL Server 2008数据库应用与开发教程(第二版) 教学课件 ppt 作者 978-7-302-24453-0 第3章 表的建立与维护》由会员分享,可在线阅读,更多相关《SQL Server 2008数据库应用与开发教程(第二版) 教学课件 ppt 作者 978-7-302-24453-0 第3章 表的建立与维护(36页珍藏版)》请在金锄头文库上搜索。

1、第3章 表的建立与维护,本章的学习目标:,掌握用SSMS和T-SQL创建表 熟悉各种列数据类型 掌握列的各种属性 掌握用SSMS和T-SQL修改、删除表 熟悉保持数据完整性的各种约束 掌握根据完整性规则的要求使用SSMS和 T-SQL设置表的主键、外键和约束等,3.1 表概述,在使用数据库的过程中,接触最多的莫过于表。表是存储数据的地方,是一种结构化的文件,可用来存储一些特定数据类型的数据,是数据库中最重要的部分。,3.1.1 什么是表,在关系数据库中,每一个关系都表现为一张表。表是用来存储数据和操作数据的逻辑结构,关系数据库中的所有数据都表现为表的形式,由列和行组成,如图3-1所示。关系数据

2、库由表、具体查询等对象组成,而查询等对象又是通过表来呈现的。,表的数据类型,使用SQL Server Management Studio创建表,使用T-SQL 语句创建表,CREATE TABLE database_name.owner.|owner. table_name ( |column_name AS computed_column_expression | ,n) ON filegroup | DEFAULT TEXTIMAGE_ON filegroup|DEFAULT := column_name data_type DEFAULT constant_expression |IDE

3、NTITY(seed,increment ) .n,3.2 列数据类型,在计算机中,按照数据描述信息的含义,将数据分为不同的种类,称之为数据类型。,3.2.1 数据类型的分类,SQL Server提供两类数据类型:一类是用户定义数据类型,用户可以根据需要创建自己的数据类型,会对数据组织带来一定的好处。一类是基本数据类型,是SQL Server系统提供的数据类型。本书只介绍基本数据类型。,SQL Server中常用的数据类型,3.2.2 数字数据类型,3.2.3 字符数据类型,3.2.4 日期时间数据类型,日期时间数据类型用于存储日期和时间信息。 在SQL Server 2008之前的版本中,日

4、期时间类型只包括datetime和smalldatetime两种类型。它们的差别在于其表示的日期和时间范围不同、时间精确度也不同。其中最常用的是datetime型数据。,3.2.5 二进制数据类型,二进制数据类型用于表示位数据流,包括binary(固定长度)、varbinary(可变长度)和image三种。 binary用于存储固定长度的二进制数据; varbinary用于存储可变长度的二进制数据,若存储的二进制大于8000字节,就必须使用varbinary(max)数据类型; image数据类型用于存储图像信息,在SQL Server 2008中,只有在数据的字节数超过了8KB的情况下,才使

5、用image数据类型,其他情况应使用varbinary(max)代替,其中max最大可以达到231-1字节;,3.2.6 其他数据类型,除了上述数据类型外,SQL Server还提供了其他几类常用数据类型,使用这些数据类型可以完成特殊数据对象的定义、存储和使用: timestamp sql_variant类型 uniqueidentifier唯一标识符类型,3.2.7 数据类型的选择,数据的使用情况:数据是用于数学运算?表示日期或者时间?存储文本信息?不同的使用情况决定了不同数据类型的选择; 数据的大小:选择的数据类型能否存放期望存储的最大值。例如,选择整型数据,要根据数据的取值决定使用INT

6、型数据还是BIGINT型数据;选择字符型数据,需要考虑实际需要的最大字符长度; 正确的存储信息:例如使用integer数据类型存储货币值,将造成小数部分丢失,这将导致不正确的值; 非英语字符:在SQL Server 2008系统中,如果某些列需要存储非英语字符(如中文字符),建议最好使用NCHAR、NVARCHAR数据类型。,3.3 列的其他属性,3.3.1 默认约束 默认约束指用户在进行插入操作时,没有显示地为列提供数据,那么系统将把默认值赋给该列。默认值约束所提供的默认值可以为常量、函数、系统函数、空值等,表中的每一列只能定义一个默认约束,对于具有IDENTITY属性和timestamp数

7、据类型的字段,不能使用默认约束,同时,定义的默认值长度不允许大于对应字段所允许的最大长度。,DEFAULT 约束,使用SSMS图形化界面创建默认约束,用Transact-SQL语句创建默认约束。其语法形式如下: CONSTRAINT constraint_name DEFAULT constraint_expression FOR column_name,3.3.2 空值约束,空值约束即是否允许该字段的值为NULL,即空值。主键列不允许为空值,否则就失去了唯一标识的意义。,NULL 约束,使用SSMS图形化界面设置空值约束。,用Transact-SQL语句创建空值约束。其语法形式如下: 直接在

8、相应的语句后书写 NULL | NOT NULL ,3.3.3 IDENTITY 的应用,identity表示的是最近一次向具有identity属性(即自增列)的表插入数据时对应的自增列的值,是系统定义的全局变量。比如有个表A,它的自增列是id,当向A表插入一行数据后,如果插入数据后自增列的值自动增加至101,则通过select identity得到的值就是101。,3.4 向表中添加数据,首先在需要添加数据的表上单击鼠标右键,从弹出的快捷菜单中选择“打开表”命令,出现如图3-8所示的“表”对话框,在其中可向打开的表添加数据。本节向各个表中添加的数据如表3-53-7所示。,3.5 查看表,3.

9、5.1 查看表中的有关信息 打开指定的数据库,在需要查看的表上单击鼠标右键,从弹出的快捷菜单中选择“属性”命令,将打开“表属性”对话框,如图3-10所示。“常规”选项页中显示了该表格的定义,包括存储结构、当前的连接及名称等属性,该选项页中显示的属性不能修改。,3.5.2 查看表中存储的数据,在表“课程表”上单击鼠标右键,在弹出的快捷菜单中选择“打开表”命令,显示“课程表”中的数据,如图3-11所示。,3.5.3 查看表与其他数据对象的依赖关系,在要查看的表上单击鼠标右键,从弹出的快捷菜单中选择“查看依赖关系”命令,打开“对象依赖关系”对话框,该对话框显示了该表依赖的其他数据对象和依赖于此表的依

10、赖对象。例如,查看“选课表”的依赖对象,如图3-12所示的对话框显示了选课表依赖于课程表与学生表。,3.6 修改表,3.6.1 使用SSMS图形化界面修改表 在“对象资源管理器”窗口中,展开“数据库”节点,再展开具体选择的数据库,然后展开“表”节点,用右键单击要修改的表,从弹出的快捷菜单中选择“设计”命令,打开“表设计器”,即可对表的定义进行修改,方法同创建表。,3.6.2 使用T-SQL语句修改表,ALTER TABLE 表名 (ALTER COLUMN 列名 列定义, ADD 列名 数据类型 约束, DROP 列名, ADD CONSTRAINT 约束名 约束, ),例【3-2】:在Adv

11、entureWorks数据库中,在 Sales下创建名为 CustomerOrders 的表;创建OrderID、OrderDate、CustomerID、Notes 列,并定义其数据类型为int、datetime、int、nvarchar(200)和可空性(Notes列为空),指定OrderID列为标志列。 T-SQL语句如下: CREATE TABLE Sales.CustomerOrders ( OrderID int identity(1,1), OrderDate datetime, CustomerID int, Notes nvarchar(200) NULL );,例【3-3】

12、:基于例3-2定义的 Sales.CustomerOrders 表,添加列和更改列的可空性。 - 修改 Sales.CustomerOrders 表的定义 - 在表中添加名为SalesPersonID 的列,并定义其数据类型为int,指其不可空 ALTER TABLE Sales.CustomerOrders ADD SalesPersonID int NOT NULL GO - 修改 Sales.CustomerOrders 表的定义 - 修改 Notes 列,并定义其数据类型为nvarchar(200),指定其不可空 ALTER TABLE Sales.CustomerOrders ALT

13、ER COLUMN Notes nvarchar(200) NOT NULL GO,3.6.3 使用INSERT SELECT语句,INSERT SELECT语句可以将其他数据源中的行添加到数据库中现有的表当中。这种方法用于插入的数据是不确定(一般都多于一条)。具体方法是:通过SELECT语句生成的结果集,再结合INSERT语句,就可以把结果集插入到指定的表中。,例【3-4】:求每个学生的平均成绩,并按学号、姓名、平均成绩存入学生信息数据库。 首先创建一个表: CREATE TABLE AG( 学号 CHAR(8)PRIMARY KEY, 姓名 CHAR(8), 平均成绩 SMALLINT)

14、GO;,3.6.4 使用SELECT INTO语句,SELECT INTO语句与INSERT SELECT语句不同的是:它可以将其他数据源中的任何查询结果或导入的数据都添加到数据库的新表当中。,例【3-5】:统计每个学生未通过课程的门数,将其保存到临时表#stuexam表。显示系名、学号、姓名、未通过门数,并按系名排序。 T-SQL语句如下: SELECT MIN(系名), SC.学号, MIN(姓名), COUNT(*) 未通过门数 INTO #stuexam FROM Student, SC WHERE Student.学号=SC.学号 AND 成绩 60 GROUP BY SC.学号 ORDER BY 系名;,3.7 删除表,1. 使用SSMS图形化界面删除表 在“对象资源管理器”窗口中,展开“数据库”节点,再展开所选择的具体数据库节点,然后展开“表”节点,用右键单击要删除的表,从弹出的快捷菜单中选择“删除”命令,打开“删除对象窗口”,,2. 使用T-SQL语句删除表,DROP TABLE 表名,例【3-6】:在AdventureWorks数据库中,删除CustomerOrders表,它的架构是Sales。 USE AdventureWorks GO DROP TABLE Sales.CustomerOrders,

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

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号