第3章--关系数据库标准语言SQL(上)幻灯片

上传人:日度 文档编号:147935031 上传时间:2020-10-14 格式:PPT 页数:112 大小:2.12MB
返回 下载 相关 举报
第3章--关系数据库标准语言SQL(上)幻灯片_第1页
第1页 / 共112页
第3章--关系数据库标准语言SQL(上)幻灯片_第2页
第2页 / 共112页
第3章--关系数据库标准语言SQL(上)幻灯片_第3页
第3页 / 共112页
第3章--关系数据库标准语言SQL(上)幻灯片_第4页
第4页 / 共112页
第3章--关系数据库标准语言SQL(上)幻灯片_第5页
第5页 / 共112页
点击查看更多>>
资源描述

《第3章--关系数据库标准语言SQL(上)幻灯片》由会员分享,可在线阅读,更多相关《第3章--关系数据库标准语言SQL(上)幻灯片(112页珍藏版)》请在金锄头文库上搜索。

1、1,第3章 关系数据库标准语言SQL,SQL是Structured Query Language(结构化查询语言)的缩写。可以说查询是SQL语言的重要组成部分,但不是全部,SQL还包含数据定义、数据操纵和数据控制功能等部分。SQL已经成为关系数据库的标准数据语言,所以现在所有的关系数据库管理系统都支持SQL。,2,学习目标,了解SQL的发展过程和主要功能; 熟练掌握SQL的CREATE TABLE语句和数据完整性约束的定义方法; 熟练掌握SQL的数据操作语句,深刻理解数据完整性约束的作用; 熟练掌握SQL SELECT语句,能够运用该语句完成关系数据库上的各种查询; 理解关系数据库的视图概念,

2、掌握视图的定义和使用方法。,3,重点难点,SQL语言本身就是学习数据库的重点,所以要求学生要熟练掌握,具体就是要熟练掌握SQL CREATE TABLE语句、SQL INSERT语句、SQL DELETE语句、SQL UPDATE语句和SQL SELECT语句。 本章学习的难点是CREATE TABLE语句中有关数据完整性约束的定义,以及SQL SELECT中复杂的连接和嵌套查询。,4,3.1 SQL语言概述,SQL标准源于1986年10月的ANSI标准 1987年6月正式成为ISO标准 SQL89提出了完整性特征 SQL92标准逐步完善(基本、标准和完全级 ) SQL99增加了面向对象等 最

3、新的标准是2003年发布的SQL2003 SQL标准只是一个建议标准,主流产品一般也只达到了基本级的要求,5,SQL语言的主要特点,SQL是一种一体化的语言 SQL语言是一种高度非过程化的语言 SQL语言非常简洁 SQL语言可以直接以命令方式交互使用,也可以嵌入到程序设计语言中以程序方式使用,6,样本数据库,图3-1 样本数据库,7,数据定义功能与数据完整性约束的实现,SQL的定义功能包括模式、表、视图、存储过程、触发器、规则、默认值等的定义。,8,SQL中的模式(Schema),组织数据库对象的一种逻辑结构 把一个数据库中的所有对象按用途划分为若干集合,9,模式组织举例,产品模式 订购模式

4、销售模式,10,定义模式,模式通常由DBA创建 也可以由得到CREATE SCHEMA授权的用户创建 使用短语AUTHORIZATION owner_name可以指定模式的管理者(默认是创建者),CREATE SCHEMA schema_name AUTHORIZATION owner_name,11,删除模式,只有在模式为空、即模式中不包含任何对象时才可以删除模式。,DROP SCHEMA schema_name,12,表的定义,一个表由若干列构成,自SQL Server 2005不仅可以定义实列(简称列,column_definition), 而且还可以定义虚列(即计算列,computed

5、_column_definition) 理解: ,CREATE TABLE schema_name.table_name ( | ,.n ),13,定义列(),CREATE TABLE schema_name.table_name ( | ,.n ),column_name NULL | NOT NULL CONSTRAINT constraint_name PRIMARY KEY | UNIQUE | FOREIGN KEY REFERENCES schema_name . referenced_table_name ( ref_column ) ON DELETE NO ACTION |

6、CASCADE | SET NULL | SET DEFAULT ON UPDATE NO ACTION | CASCADE | SET NULL | SET DEFAULT | CHECK ( logical_expression ) DEFAULT constant_expression ,14,定义列(),列名(column_name)和数据类型()必须指定,在SQL Server 2005中可以使用的数据类型如表3-1所示 其他项目是各种约束,column_name NULL | NOT NULL CONSTRAINT constraint_name PRIMARY KEY | UNI

7、QUE | FOREIGN KEY REFERENCES schema_name . referenced_table_name ( ref_column ) ON DELETE NO ACTION | CASCADE | SET NULL | SET DEFAULT ON UPDATE NO ACTION | CASCADE | SET NULL | SET DEFAULT | CHECK ( logical_expression ) DEFAULT constant_expression ,15,是否允许空值约束,空值的概念?,column_name NULL | NOT NULL CON

8、STRAINT constraint_name PRIMARY KEY | UNIQUE | FOREIGN KEY REFERENCES schema_name . referenced_table_name ( ref_column ) ON DELETE NO ACTION | CASCADE | SET NULL | SET DEFAULT ON UPDATE NO ACTION | CASCADE | SET NULL | SET DEFAULT | CHECK ( logical_expression ) DEFAULT constant_expression ,16,关于约束名称

9、,列级约束名,名称可以省略 用于命名主关键字、唯一性或参照完整性约束 省略名称不便于管理相应的完整性约束,column_name NULL | NOT NULL CONSTRAINT constraint_name PRIMARY KEY | UNIQUE | FOREIGN KEY REFERENCES schema_name . referenced_table_name ( ref_column ) ON DELETE NO ACTION | CASCADE | SET NULL | SET DEFAULT ON UPDATE NO ACTION | CASCADE | SET NULL

10、 | SET DEFAULT | CHECK ( logical_expression ) DEFAULT constant_expression ,17,主关键字和唯一性约束,PRIMARY KEY:主关键字约束,说明该列是主关键字 UNIQUE:惟一性约束,说明该列取值必须惟一 PRIMARY KEY和UNIQUE约束的区别?,column_name NULL | NOT NULL CONSTRAINT constraint_name PRIMARY KEY | UNIQUE | FOREIGN KEY REFERENCES schema_name . referenced_table_n

11、ame ( ref_column ) ON DELETE NO ACTION | CASCADE | SET NULL | SET DEFAULT ON UPDATE NO ACTION | CASCADE | SET NULL | SET DEFAULT | CHECK ( logical_expression ) DEFAULT constant_expression ,18,参照完整性约束,说明外部关键字,FOREIGN KEY可以省略 什么是外部关键字?外部关键字的作用? schema_name . referenced_table_name ( ref_column ) 指出参照的表

12、和列,默认模式时schema_name可以省略,列名相同时( ref_column )可以省略,column_name NULL | NOT NULL CONSTRAINT constraint_name PRIMARY KEY | UNIQUE | FOREIGN KEY REFERENCES schema_name . referenced_table_name ( ref_column ) ON DELETE NO ACTION | CASCADE | SET NULL | SET DEFAULT ON UPDATE NO ACTION | CASCADE | SET NULL | SE

13、T DEFAULT | CHECK ( logical_expression ) DEFAULT constant_expression ,19,参照完整性规则,ON DELETE和ON UPDATE说明在执行删除和更新操作时如何处理参照完整性 删除操作检查的完整性? 更新操作检查的完整性?,column_name NULL | NOT NULL CONSTRAINT constraint_name PRIMARY KEY | UNIQUE | FOREIGN KEY REFERENCES schema_name . referenced_table_name ( ref_column ) O

14、N DELETE NO ACTION | CASCADE | SET NULL | SET DEFAULT ON UPDATE NO ACTION | CASCADE | SET NULL | SET DEFAULT | CHECK ( logical_expression ) DEFAULT constant_expression ,20,CHECK约束,用来说明列的取值范围 本约束用逻辑表达式 ( logical_expression )进行说明 如果列值使表达式为真则是合法值,否则就是非法值,column_name NULL | NOT NULL CONSTRAINT constrain

15、t_name PRIMARY KEY | UNIQUE | FOREIGN KEY REFERENCES schema_name . referenced_table_name ( ref_column ) ON DELETE NO ACTION | CASCADE | SET NULL | SET DEFAULT ON UPDATE NO ACTION | CASCADE | SET NULL | SET DEFAULT | CHECK ( logical_expression ) DEFAULT constant_expression ,21,字段默认值,用常量表达式(constant_e

16、xpression)来说明列的默认取值,column_name NULL | NOT NULL CONSTRAINT constraint_name PRIMARY KEY | UNIQUE | FOREIGN KEY REFERENCES schema_name . referenced_table_name ( ref_column ) ON DELETE NO ACTION | CASCADE | SET NULL | SET DEFAULT ON UPDATE NO ACTION | CASCADE | SET NULL | SET DEFAULT | CHECK ( logical_expression ) DEFAULT constant_expression ,22,定义计算列,column_name AS computed_column_expression PERSISTED NOT NULL CONSTRAINT constraint_na

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

当前位置:首页 > 办公文档 > 教学/培训

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