在数据库中产生数据不一致的根本原因是冗余
一个数据库只有一个模式和一个内模式
外模式/模式映像可以保证数据与程序的逻辑独立性
在SQL命令的短语中,WHERE子句中不允许使用聚集函数
在物理设计阶段,形成数据的内模式
数据库的三级模式结构能够提高系统的安全性
三级模式结构可提供数据独立性
实体完整性要求:关系中任何一个元组在组成“主键”的属性上不能取“空值”
一个关系模式可以有多个“候选键”
SQL语言中,删除一个视图的命令是DROP
为保证数据库的正确性,必须先写日志文件,后写数据库
实体完整性和参照完整性是基本关系的两个不变性
子查询的SELECT语句中不能使用ORDER BY子句
数据库的安全性是指保护数据库以防止不合法的使用所造成的数据泄露、更改或破坏
当主外健不能保证参照完整性和数据一致性时,还可以选择触发器来实现
参照完整性是指在基本表中,主属性不能取空值(X)
- 参照完整性:关系数据库中的一种完整性约束,它指的是:如果属性(或属性组)F是关系R的外码,且对应了关系S的主码K(R和S可以是同一个关系),那么对于R中的每个元组中的F上的值,必须满足:要么F取空值,要么等于S中某个元组的主码的值
- 实体完整性:关系数据库中的另一种完整性约束,它指的是:若属性A是基本关系R的主属性,则属性A不能取空值(空值就是“不知道”或“不存在”或“无意义”的值)
域完整性是保证数据完整性的重要约束之一
在E-R图中,用来表示属性的图形是椭圆形
关系表中的每一行称为属性
- 关系表中的每一行通常被称为"元组"(Tuple)
- 关系表的每一列被称为"属性"(Attribute)
一个关系模式只能有一个“主键”
SELECT语句中的条件可以用WHERE或HAVING引出,但HAVING必须在GROUP BY之后使用
SELECT语句中的ORDER BY子句中,如果有多个排序标准,它们之间用分号分隔,查询结果与排序标准的先后顺序有关(X)
- 在标准的 SQL 中,ORDER BY 子句中多个排序标准之间应该用逗号 , 分隔,而不是分号 ;
- 多个排序标准的顺序定义了查询结果的排序优先级
ORDER BY子句仅对检索数据的显示有影响,并不改变表中行的内容顺序
用WHERE子句是为了限制GROUP BY子句返回的行个数(X)
- WHERE 子句: 用于在查询中对行进行筛选,它在数据进行分组之前起作用。WHERE 子句通常用于指定对表中的哪些行进行操作
- GROUP BY 子句: 用于将结果集按照一个或多个列进行分组,并且可以在分组上使用聚合函数(如 SUM、AVG、COUNT)。它通常用于对数据进行汇总和分析
- 如果你想在分组之前对数据进行筛选,可以使用 WHERE 子句
- 如果你想在分组后对分组结果进行筛选,可以使用 HAVING 子句
- 在大多数关系数据库管理系统(RDBMS)中,LIMIT 关键字用于限制查询结果的行数
- 在 SELECT * FROM books LIMIT 10 这个查询中,LIMIT 10 表示返回查询结果的前 10 行
- 具体而言,LIMIT 后面的数字指定了要返回的行数,而不是索引。在编程中,有些语言或系统可能使用从 0 开始的索引,但是在 SQL 中,LIMIT 后面的数字表示要返回的行数,而不是索引
如果想要查询结果中不显示重复的数据,可以使用DISTINCT关键字
SELECT语句不属于数据库对象
可以在表或临时表上创建视图
视图是一个虚拟表,并不表示任何物理数据,而只是用来查看数据的窗口而已
通过视图不可以修改表的属性
当一个操作数为真时,逻辑与运算的结果由另一个操作数决定
视图中可以包含基本表中被定义为非空的列
一个数据库只能有一个外模式,而概念模式和内模式则可有多个(X)
- 在数据库系统的设计中,通常使用了三个级别的模式:概念模式、外模式(或称为视图模式)、和内模式:
-概念模式(Conceptual Schema): 这是整个数据库系统的逻辑结构和组织的描述。概念模式描述了数据库中的实体、它们之间的关系以及对数据的约束。概念模式是数据库设计的核心部分,通常由数据库管理员或系统设计人员定义- 外模式(External Schema 或 View): 外模式是用户或应用程序看到和使用的部分,它定义了用户对数据库的某个特定部分的视图。每个用户或应用程序可以有一个或多个外模式,这些外模式定义了他们能够访问和操作的数据的特定视图。外模式提供了数据的逻辑独立性,使得用户不需要了解整个数据库的结构,只需了解与他们的应用相关的部分
- 内模式(Internal Schema): 内模式描述了数据在物理存储层面上是如何组织和存储的。它定义了数据的存储结构、索引方式、数据存储的位置等。内模式是数据库管理系统内部使用的,通常由数据库管理员设计和维护
- 每个数据库系统都可以支持多个外模式,以满足不同用户或应用程序的需求。每个用户或应用程序对数据库的访问通过他们使用的外模式来实现。但是,概念模式和内模式通常是唯一的,因为它们分别定义了数据库的逻辑结构和物理存储结构。
- 在左连接中,左边的表是主表,右边的表是从表。而在右连接中,右边的表是主表,左边的表是从表。两者之间的区别仅仅在于描述连接方向的词汇
- 这两个查询都将返回表1和表2中连接列匹配的所有行,同时包含表1中不匹配的行,而对于表2中不匹配的行,右连接会包含而左连接不会。在实践中,左连接更为常见,但两者可以互换使用
主键用于唯一标识表中的记录
循环语句和判断语句可以互相嵌套
主键约束的字段值要同时满足非空和唯一性
在回滚事务时,该事务内所有的操作都将撤销
SQL是关系型数据库语言的标准,所以不同数据库产品的SQL完全相同(X)
- SQL(Structured Query Language)是一种标准化的关系型数据库语言,但并不意味着不同数据库产品的 SQL 语法完全相同。尽管 SQL 遵循标准规范,但各个数据库管理系统(DBMS)会在某些方面有自己的实现和扩展
数据字典通常包括数据项,数据结构,数据流,数据存储,和处理过程五个部分
触发器主要是通过事件进行触发而被执行的,而存储过程可以通过存储过程名字而被直接调用
3NF 的模式也一定是 2NF 模式
已知系(系编号,系名称,系主任,电话,地点), 系关系的主码是系编号
外连接可以保留主表中与从表不匹配的记录
- 外连接(包括左外连接、右外连接和全外连接)可以保留主表中与从表不匹配的记录。这是外连接的一个主要特点,与内连接(包括等值连接和自然连接)不同
- 左外连接(LEFT OUTER JOIN): 保留左表(主表)中的所有记录,同时将右表(从表)中匹配的记录合并进来。如果右表中没有匹配的记录,那么结果集中右表的列将包含 NULL 值
- 右外连接(RIGHT OUTER JOIN): 保留右表(主表)中的所有记录,同时将左表(从表)中匹配的记录合并进来。如果左表中没有匹配的记录,那么结果集中左表的列将包含 NULL 值
- 全外连接(FULL OUTER JOIN): 保留左表和右表中的所有记录,无论是否匹配。如果某一边没有匹配的记录,那么结果集中对应一侧的列将包含 NULL 值
- 通过使用外连接,可以获取主表中的所有记录,即使它们在从表中没有匹配的记录
- 子查询(Subquery)是指在一个 SQL 查询语句中嵌套了其他的查询语句。子查询可以出现在 SQL 语句的不同部分,不仅限于 WHERE 或 HAVING 子句,它还可以出现在 SELECT 子句、FROM 子句等位置,具体取决于子查询的作用