数据库笔记整理--基于《数据库系统概论》第五版王珊一书|第三章--关系数据库标准语言SQL知识整理和课后习题答案

该系列的博客都是基于《数据库系统概论》第五版王珊一书

前提:
因为最近要升学的原因,再加上重温数据库部分内容,所以整理一份比较详细且重点的笔记。适合有考研升学需求的人收藏
————————————————
B站里也是有该老师的上课视频:链接放在下面:
https://www.bilibili.com/video/BV1pW411W7Do?from=search&seid=17230259822734539218
(不过年代比较久远,而且画质一般,有兴趣的可以听听)

第三章 :关系数据库标准语言SQL(重点)

//了解

    SQL语言发展过程
    关系数据库技术和关系数据库管理系统RDBMS产品的发展过程

掌握

  • SQL语言的特点和优点
  • 面向过程的语言和SQL语言的区别
    关系数据库系统为数据库应用系统的开发提供良好环境,减轻了用户负担,提高用户生产率的原因
    用SQL语言完成对数据库的增删改查,特别是各种查询

SQL的特点

综合统一 SQL语言集数据定义语言DDL、数据操纵语言DML、数据控制语言DCL的功能于一体

高度非过程化 用 SQL 语言进行数据操作, 只要提出 “做什么”,而无需指明 “怎么做”,因此无需了解存取路径,存取路径的选择以及 SQL 语句的操作过程由系统自动完成

面向集合的操作方式 SQL 语言采用集合操作方式,不仅操作对象、查找结果可以是元组的集合,而且一次插入、删除、更新操作的对象也可以是元组的集合。
以同一种语法结构提供两种使用方式。 sQL 语言既是自含式语言,又是嵌入式语言。作为自含式语言, 它能够独立地用于联机交互的使用方式; 作为嵌入式语言, 它能够嵌入到高级语言程序中,供程序员设计程序时使用。
语言简捷,易学易用。

在DROP TABLE时,RESTRICT和CASCADE的区别(删除整个表时特别要注意这两个的区别,会直接影响结果)

RESTRICT表示表的删除是有限制条件的。要删除的基本表不能被其他表的约束所引用,不能有视图,不能有触发器,不能有存储过程或函数等。如果存在这些依赖该表的对象,则表不能被删除
一句话:要删除的表是没有和任何一张表有外键连接的,否则删除就会失败(默认是Restrict)

CASCADE表示表的删除没有限制条件,在删除基本表的同时,相关的依赖对象(如视图)都将被删除
一句话:不管你有什么外键之类的,我就是要删掉!

基本表是本身独立存在的表,在SQL中一个关系就是对应一个基本表

视图?优点?更新?

视图是从一个或几个基本表导出的表,视图本身不独立存储在数据库中,是一个虚表。

优点:

  1. 视图能够简化用户操作
  2. 视图使用用户能以多种角度看待同一数据
  3. 视图对重构数据库提供了一定程度的逻辑独立性
  4. 视图能够对机密数据提供安全保护

基本表的行列子集视图一般是可更新的。
若视图的属性来自聚集函数,表达式,则该视图肯定不可以更新的

课后答案

  • 对表中数据进行删除的操作是DELETE
  • 建立索引的目的是为了加快存取速度
  • 视图是数据库系统三级模式中的外模式
  • SQL语言具有 数据定义,数据查询,数据操纵和数据控制的功能
  • SQL语句中用来消除重复的关键词是distinct
  • 若一个视图是从单个基本表导出的,并且只是去掉了基本表的某些行和某些列,但保留了主码,这类视图称为 行列子集视图
  • SQL语言的数据定义功能包括模式定义,视图定义和索引定义等
    - 相关子查询:在嵌套查询中,如果子查询的查询条件依赖父查询称为相关子查询;反之,则为相关子查询

特别补充: IN(子查询) 把in中的子查询的结果做为值放在in()里去执行下个操作

AND和OR的优先不一样,关系型运算符优先级高到低为:NOT>AND>OR

你可能感兴趣的:(数据库系统概论王珊第五版)