《数据库系统概论》十一章汇总--基于《数据库系统概论》第五版王珊一书|第三章 --关系数据库标准语言SQL(重点)

简介: 该系列的博客都是基于《数据库系统概论》第五版王珊一书,进行的知识总结和课后习题汇总,从第一章到第十一章,如果觉得不错记得收藏点个赞吧~你的小小支持,是我的大大动力!

第三章 :关系数据库标准语言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


目录
相关文章
|
6天前
|
SQL 存储 数据管理
SQL Server数据库
SQL Server数据库
19 11
|
13天前
|
SQL 安全 数据库
基于SQL Server事务日志的数据库恢复技术及实战代码详解
基于事务日志的数据库恢复技术是SQL Server中一个非常强大的功能,它能够帮助数据库管理员在数据丢失或损坏的情况下,有效地恢复数据。通过定期备份数据库和事务日志,并在需要时按照正确的步骤恢复,可以最大限度地减少数据丢失的风险。需要注意的是,恢复数据是一个需要谨慎操作的过程,建议在执行恢复操作之前,详细了解相关的操作步骤和注意事项,以确保数据的安全和完整。
27 0
|
17天前
|
前端开发 C# 设计模式
“深度剖析WPF开发中的设计模式应用:以MVVM为核心,手把手教你重构代码结构,实现软件工程的最佳实践与高效协作”
【8月更文挑战第31天】设计模式是在软件工程中解决常见问题的成熟方案。在WPF开发中,合理应用如MVC、MVVM及工厂模式等能显著提升代码质量和可维护性。本文通过具体案例,详细解析了这些模式的实际应用,特别是MVVM模式如何通过分离UI逻辑与业务逻辑,实现视图与模型的松耦合,从而优化代码结构并提高开发效率。通过示例代码展示了从模型定义、视图模型管理到视图展示的全过程,帮助读者更好地理解并应用这些模式。
30 0
|
17天前
|
SQL 数据处理 数据库
|
17天前
|
SQL 存储 调度
|
17天前
|
SQL 安全 数据库
|
17天前
|
Java 数据库连接 数据库
告别繁琐 SQL!Hibernate 入门指南带你轻松玩转 ORM,解锁高效数据库操作新姿势
【8月更文挑战第31天】Hibernate 是一款流行的 Java 持久层框架,简化了对象关系映射(ORM)过程,使开发者能以面向对象的方式进行数据持久化操作而无需直接编写 SQL 语句。本文提供 Hibernate 入门指南,介绍核心概念及示例代码,涵盖依赖引入、配置文件设置、实体类定义、工具类构建及基本 CRUD 操作。通过学习,你将掌握使用 Hibernate 简化数据持久化的技巧,为实际项目应用打下基础。
35 0
|
17天前
|
SQL 存储 监控
|
17天前
|
SQL 数据库 Java
HQL vs SQL:谁将统治数据库查询的未来?揭秘Hibernate的神秘力量!
【8月更文挑战第31天】Hibernate查询语言(HQL)是一种面向对象的查询语言,它模仿了SQL的语法,但操作对象为持久化类及其属性,而非数据库表和列。HQL具有类型安全、易于维护等优点,支持面向对象的高级特性,内置大量函数,可灵活处理查询结果。下面通过示例对比HQL与SQL,展示HQL在实际应用中的优势。例如,HQL查询“从员工表中筛选年龄大于30岁的员工”只需简单地表示为 `FROM Employee e WHERE e.age > 30`,而在SQL中则需明确指定表名和列名。此外,HQL在处理关联查询时也更为直观易懂。然而,对于某些复杂的数据库操作,SQL仍有其独特优势。
26 0
|
17天前
|
Java UED 开发者
当错误遇上Struts 2:一场优雅的异常处理盛宴,如何让错误信息成为用户体验的救星?
【8月更文挑战第31天】在Web应用开发中,异常处理对确保用户体验和系统稳定性至关重要。Struts 2 提供了完善的异常处理机制,包括 `exception` 拦截器、`ActionSupport` 类以及 OGNL 表达式,帮助开发者优雅地捕获和展示错误信息。本文详细介绍了 Struts 2 的异常处理策略,涵盖拦截器配置、错误信息展示及自定义全局异常处理器的实现方法,使应用程序更加健壮和用户友好。
24 0

热门文章

最新文章