SQL Server 2005数据库应用技术 教学课件 ppt 作者 王亚楠 第4章 表

上传人:E**** 文档编号:89181160 上传时间:2019-05-20 格式:PPT 页数:43 大小:281.50KB
返回 下载 相关 举报
SQL Server 2005数据库应用技术 教学课件 ppt 作者 王亚楠 第4章  表_第1页
第1页 / 共43页
SQL Server 2005数据库应用技术 教学课件 ppt 作者 王亚楠 第4章  表_第2页
第2页 / 共43页
SQL Server 2005数据库应用技术 教学课件 ppt 作者 王亚楠 第4章  表_第3页
第3页 / 共43页
SQL Server 2005数据库应用技术 教学课件 ppt 作者 王亚楠 第4章  表_第4页
第4页 / 共43页
SQL Server 2005数据库应用技术 教学课件 ppt 作者 王亚楠 第4章  表_第5页
第5页 / 共43页
点击查看更多>>
资源描述

《SQL Server 2005数据库应用技术 教学课件 ppt 作者 王亚楠 第4章 表》由会员分享,可在线阅读,更多相关《SQL Server 2005数据库应用技术 教学课件 ppt 作者 王亚楠 第4章 表(43页珍藏版)》请在金锄头文库上搜索。

1、2010年6月,课件制作人:王亚楠,1,第4章 表,教学课件,2010年6月,课件制作人:王亚楠,2,目录,本章目标 了解:表的概念和类型 理解:表的设计要素 掌握:创建、修改与删除表结构的DDL语句 掌握:插入、更新与删除表数据的DML语句 掌握:约束的类型和实现方法,本章内容 4.1 表概述 4.2 设计表 4.3 定义表的结构 4.4 操纵表的数据 4.5 定义约束,2010年6月,课件制作人:王亚楠,3,4.1 表概述,4.1.1 表的概念 4.1.2 表的类型,表(Table)是按照行(Row)和列(Column)的格式组织和存储数据的数据库对象。 表的操作: 定义表的结构 :DDL

2、 操纵表的数据 :DML,2010年6月,课件制作人:王亚楠,4,4.1 表概述(续),4.1.1 表的概念 4.1.2 表的类型,(1)基本表 (2)分区表 (3)临时表 (4)系统表,2010年6月,课件制作人:王亚楠,5,4.2 设计表,4.2.1 表的设计要素 4.2.2 数据类型 4.2.3 表的设计实例,2010年6月,课件制作人:王亚楠,6,4.2.1 表的设计要素,关系模型已经建立(第3步),如何进行物理结构设计?(第4步),学生(学号,姓名,出生日期,性别,家庭地址,联系电话,所属班号FK),2010年6月,课件制作人:王亚楠,7,4.2.1 表的设计要素(续),表的属性信息

3、:列、列的数据类型、基本属性; 空值属性(Null ability) 计算列(Caculated column) 标识列(Identity column) 设置约束的位置及约束的类型; 设置索引的位置及索引的类型。,2010年6月,课件制作人:王亚楠,8,4.2.2 数据类型,系统数据类型 别名数据类型(T-SQL UDT) 用户定义类型(CLR UDT),字符:char、varchar 精确数值:int、money 近似数值:float、real 二进制:binary、image 日期时间:datetime unicode、特殊,CREATE TYPE schema_name. type_n

4、ame FROM base_type ( precision , scale ) NULL | NOT NULL ,【例4-2】创建别名数据类型name,基于系统数据类型varchar(10),允许空值。,2010年6月,课件制作人:王亚楠,9,4.2.3 表的设计实例,2010年6月,课件制作人:王亚楠,10,4.3 定义表的结构,4.3.1 创建表结构:CREATE TABLE 4.3.2 查看表结构 4.3.3 修改表结构:ALTER TABLE 4.3.4 删除表结构:DROP TABLE,2010年6月,课件制作人:王亚楠,11,4.3.1 创建表结构,1. 使用SQL Server

5、 Management Studio创建表结构 2. 使用T-SQL语句创建表结构,【例4-3】创建班级表class,表结构参见表4-8,不包括约束信息。,2010年6月,课件制作人:王亚楠,12,4.3.1 创建表结构(续),CREATE TABLE table_name ( column_name data_type NULL |NOT NULL INDENTITY (seed, increment) |column_name AS computed_column_expression ,n ,n ),【例4-4】创建学生表student,表结构参见表4-9,不包括约束信息。 【例4-5】

6、创建带有标识列、计算列的表,表名为compute_table。,2010年6月,课件制作人:王亚楠,13,4.3.2 查看表结构,语法格式: sp_help objname = name 功能: sp_help系统存储过程查看数据库对象的结构,2010年6月,课件制作人:王亚楠,14,4.3.3 修改表结构,1. 使用SQL Server Management Studio修改表结构 2. 使用T-SQL语句修改表结构,【例4-7】修改表compute_table,在该表上增加一列column5,数据类型为int;在该表上删除列column4;重命名该表的表名为compute。,2010年6月

7、,课件制作人:王亚楠,15,4.3.3 修改表结构(续),ALTER TABLE table_name ALTER COLUMN column_name data_type NULL|NOT NULL |ADD column_name data_type NULL| NOT NULL ,n |DROP COLUMN column_name ,n |ADD ,n |DROP CONSTRAINT constraint_name ,n ,【例4-8】修改学生表student,向表中增加2列。增加“民族”列,列名为st_nation,数据类型为char(2),允许空值;增加“籍贯”列,列名为st_n

8、ative,数据类型为char(6),允许空值。,2010年6月,课件制作人:王亚楠,16,4.3.4 删除表结构,1. 使用SQL Server Management Studio删除表结构 2. 使用T-SQL语言删除表结构 DROP TABLE table_name ,n,2010年6月,课件制作人:王亚楠,17,4.4 操纵表的数据,4.4.1 插入数据:INSERT 4.4.2 更新数据:UPDATE 4.4.3 删除数据:DELETE,2010年6月,课件制作人:王亚楠,18,4.4.1 插入数据,插入数据:指将一条或多条记录添加到表中。 T-SQL使用INSERT语句实现数据插入

9、。 插入单个记录 插入多个记录,INSERT INTO table_name(column1, column2,) VALUES (value1, value2,),INSERT INTO table_name(column_list) SELECT select_statement,2010年6月,课件制作人:王亚楠,19,4.4.1 插入数据(续),【例4-12】向学生表student中插入一条记录:2005010101,王辰,1988-10-10,女,北京市朝阳区,84981234,01,该记录对应表中的所有列。,【例4-13】向学生表student的部分列中插入一条记录。学号:2005

10、010102,姓名:张意,出生日期:1989-12-1,性别:男,班号:01。,【例4-14】创建一个人员考评表kaoping_table,该表包括3个字段:编号id,数据类型为char(10);姓名name,数据类型为varchar(10);评价pingjia,数据类型为varchar(10)。将学生表student中的学号和姓名数据插入到考评表kaoping_table中。,2010年6月,课件制作人:王亚楠,20,4.4.1 插入数据(续),注意: INSERTVALUES语句一次只能向表中插入一条记录。 当向表中所有列插入数据时,列名可以省略不写,但列值必须与表中定义的列名顺序一致。建

11、议写出列名。 当向表中插入数据的顺序与列顺序不同时,必须写列名。 当向表中某些列插入数据,某些列不插入数据时,必须写列名。 INSERT语句不能为计算列、标识列指定列值。,2010年6月,课件制作人:王亚楠,21,4.4.2 更新数据,更新数据又称修改数据,指对表中的数据进行修改操作。 T-SQL使用UPDATE语句实现数据更新。,UPDATE table_name SET column = modified_value ,n WHERE search_condition,2010年6月,课件制作人:王亚楠,22,4.4.2 更新数据(续),【例4-15】修改学生表student中的一行记录,

12、将学号值为“2005010101”的学生的出生日期改为“1989-10-10”,电话改为“010_84981234”。,【例4-16】修改学生表student中的所有行记录,将学生的家庭地址改为“北京市海淀区”。,2010年6月,课件制作人:王亚楠,23,4.4.3 删除数据,删除数据是指对表中的数据进行删除操作。 T-SQL使用DELETE语句实现数据删除,DELETE FROM table_name WHERE search_condition,【例4-17】删除考评表kaoping_table的所有记录。,2010年6月,课件制作人:王亚楠,24,4.5 定义约束,4.5.1 约束概述

13、4.5.2 PRIMARY KEY约束 4.5.3 UNIQUE约束 4.5.4 FOREIGN KEY约束 4.5.5 CHECK约束 4.5.6 DEFAULT约束 4.5.7 数据库关系图,2010年6月,课件制作人:王亚楠,25,4.5.1 约束概述,1. 提出问题,学号值重复? 性别值不规范? 学生表student中的班号取值超出了班级表class中的班号取值的范围 ?,2010年6月,课件制作人:王亚楠,26,4.5.1 约束概述(续),2. 数据完整性 数据完整性:是指数据的一致性和正确性。 分类:4种 (1)实体完整性 (2)域完整性 (3)参照完整性 (4)用户定义完整性,2

14、010年6月,课件制作人:王亚楠,27,4.5.1 约束概述(续),3. 约束,约束的应用范围: 列级约束:是表中列定义的一部分,只能应用于表中的一个列属性。 表级约束:约束与列相同级别,允许应用于表的多个列属性。,2010年6月,课件制作人:王亚楠,28,4.5.1 约束概述(续),约束的定义格式,CONSTRAINT constraint_name ,关键字 约束名 约束类型 约束属性 CONSTRAINT pk_ PRIMARY KEY (主键列) CONSTRAINT ix_ UNIQUE (唯一键列) CONSTRAINT ck_ CHECK (逻辑表达式) CONSTRAINT d

15、f_ DEFAULT 默认值 FOR 默认列 CONSTRAINT fk_ FOREIGN KEY (外键列) REFERENCES 父表(主键列),2010年6月,课件制作人:王亚楠,29,4.5.1 约束概述(续),约束的定义方式 企业管理器:表的属性 T-SQL: 第一种方式是在创建表结构(CREATE TABLE)时,定义约束; 第二种方式是在修改表结构(ALTER TABLE)时,增加约束。,CREATE TABLE 表名 ( 列名 数据类型 NOT NULL 列级约束, 表级约束 ),ALTER TABLE 表名 ADD 表级约束,2010年6月,课件制作人:王亚楠,30,4.5.

16、2 PRIMARY KEY约束,主键(PRIMARY KEY)约束:通过设置主键来强制实体完整性。 主键(PRIMARY KEY)是指能够唯一标识表中的每一行记录的一个列或多个列,多个列组合而成的主键称为联合主键。 主键列不允许空值。 主键列不允许重复值,联合主键允许单列的取值重复,但所有列的组合值必须唯一。 表中只允许定义一个主键。,【例4-19】对班级表class的班号列cl_id定义主键约束。(SSMS),【例4-20】修改学生表student的表结构,对学号列st_id定义主键约束。 (T-SQL),2010年6月,课件制作人:王亚楠,31,4.5.3 UNIQUE约束,唯一键(UNIQUE)约束:用于确保记录在非主键列的值不重复 相同点:都用于强制实体完整性

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

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

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