第三章 :关系数据库标准语言SQL(重点)
了解
SQL语言发展过程
关系数据库技术和关系数据库管理系统RDBMS产品的发展过程
掌握
SQL语言的特点和优点
面向过程的语言和SQL语言的区别
关系数据库系统为数据库应用系统的开发提供良好环境,减轻了用户负担,提高用户生产率的原因
用SQL语言完成对数据库的增删改查,特别是各种查询
SQL的特点
- 综合统一 SQL语言集数据定义语言DDL、数据操纵语言DML、数据控制语言DCL的功能于一体
- 高度非过程化 用 SQL 语言进行数据操作, 只要提出 “做什么”,而无需指明 “怎么做”,因此无需了解存取路径,存取路径的选择以及 SQL 语句的操作过程由系统自动完成
- 面向集合的操作方式 SQL 语言采用集合操作方式,不仅操作对象、查找结果可以是元组的集合,而且一次插入、删除、更新操作的对象也可以是元组的集合。
- 以同一种语法结构提供两种使用方式。 sQL 语言既是自含式语言,又是嵌入式语言。作为自含式语言, 它能够独立地用于联机交互的使用方式; 作为嵌入式语言, 它能够嵌入到高级语言程序中,供程序员设计程序时使用。
- 语言简捷,易学易用。
在DROP TABLE时,RESTRICT和CASCADE的区别(删除整个表时特别要注意这两个的区别,会直接影响结果
RESTRICT表示表的删除是有限制条件的。要删除的基本表不能被其他表的约束所引用,不能有视图,不能有触发器,不能有存储过程或函数等。如果存在这些依赖该表的对象,则表不能被删除
一句话:要删除的表是没有和任何一张表有外键连接的,否则删除就会失败(默认是Restrict)
CASCADE表示表的删除没有限制条件,在删除基本表的同时,相关的依赖对象(如视图)都将被删除
一句话:不管你有什么外键之类的,我就是要删掉!
基本表是本身独立存在的表,在SQL中一个关系就是对应一个基本表
视图?优点?更新?
视图是从一个或几个基本表导出的表,视图本身不独立存储在数据库中,是一个虚表。
优点:
视图能够简化用户操作
视图使用用户能以多种角度看待同一数据
视图对重构数据库提供了一定程度的逻辑独立性
视图能够对机密数据提供安全保护
基本表的行列子集视图一般是可更新的。
若视图的属性来自聚集函数,表达式,则该视图肯定不可以更新的
课后答案
对表中数据进行删除的操作是DELETE
建立索引的目的是为了加快存取速度
视图是数据库系统三级模式中的外模式
SQL语言具有 数据定义,数据查询,数据操纵和数据控制的功能
SQL语句中用来消除重复的关键词是distinct
若一个视图是从单个基本表导出的,并且只是去掉了基本表的某些行和某些列,但保留了主码,这类视图称为 行列子集视图
SQL语言的数据定义功能包括模式定义,视图定义和索引定义等
- 相关子查询:在嵌套查询中,如果子查询的查询条件依赖父查询称为相关子查询;反之,则为相关子查询
特别补充:
IN(子查询) 把in中的子查询的结果做为值放在in()里去执行下个操作
AND和OR的优先不一样,关系型运算符优先级高到低为:NOT>AND>OR