数据库系统复习之基础篇

Chapter 1 数据库系统概述

数据库系统的定义

宏观

  • 数据库
  • 数据库管理系统

微观

  • 数据库
  • 数据库管理系统
  • 数据库管理员
  • 应用开发工具
  • 应用系统
  • 数据库系统用户

数据库系统的特点

  • 支持数据共享
  • 控制数据冗余
  • 数据完整一致
  • 数据独立性高
  • 支持复杂结构
  • 三种数据抽象
  • 正确安全可靠

三级抽象与两级映射

三级抽象

  • 物理层
  • 逻辑层
  • 视图层

两级映射

  • 物理模式-逻辑模式映射
  • 逻辑模式-视图子模式映射

数据独立性

  • 数据库物理模式发生改变时,仅需修改物理模式-逻辑模式映射
  • 逻辑模式发生改变时,仅需修改逻辑模式-视图子模式映射

Chapter 2 关系数据库系统

关系数据库的数据结构

  • 元组: 用来指代关系表的行,由于关系是元组的集合,所以元组在关系中出现的顺序无关紧要。
  • 属性: 用来指代关系表的列, n n n元关系有 n n n个属性,列的顺序亦无关紧要。
  • 域: 每个允许取值的关系的属性都存在一个集合,称为该属性的域。
  • 码:
    • 超码:是一个或多个属性的集合,这些属性的组合可以在一个关系中唯一地标识一个元组。
    • 候选码:是关系的超码且任意真子集都不能成为 R R R的超码。
    • 主码:被数据库设计者选中的、主要用来在一个关系中区分不同元组的候选码。
    • 外码:如果一个关系中的一个属性是另外一个关系中的主码,则这个属性是外码。

完整性约束规则

  • 实体完整性约束: 如果 A A A是关系模式 R ( U ) R(U) R(U)的主属性(主码上的属性),则 A A A不能取空值。
  • 参照完整性约束: 在参照关系中任意元组在特定属性上的取值必然
    等于被参照关系中某个元组在特定属性上的取值。
  • 用户自定义完整性约束: 比如定义某个属性的取值范围是0~100。

关系代数

六种基本操作符

  • 选择(select): σ \sigma σ
  • 投影(project): π \pi π
  • 并(union): ∪ \cup
  • 差(difference): − -
  • 笛卡尔积(Cartesian product): × \times ×
  • 重命名(rename): ρ \rho ρ

Chapter 3 结构化查询语言SQL

SQL语言的组成

  • 数据定义语言(DDL)
  • 数据操纵语言(DML)
  • 完整性(integrity)
  • 视图定义(view definition)
  • 事务控制(transaction control)
  • 嵌入式SQL和动态SQL(embedded SQL and dynamic
    SQL)
  • 授权(authorization)

SQL语言数据定义

关系定义

CREATE TABLE <关系名>
    (<属性名1> <属性类型1>, 
    ...,
    <属性名n> <属性类型n>, 
    <完整性约束1>,
    ...,
    <完整性约束k>);

视图定义

CREATE VIEW <关系名> as
    SELECT ... FROM ... WHERE ...;

完整性约束的SQL语言表示

  • PRIMARY KEY(A1,A2,..An):声明属性( A 1 A_{1} A1, A 2 A_{2} A2,… A n A_{n} An)构成关系的主码,主码属性必须是非空且唯一的。
  • FOREIGN KEY(A1,A2,..An) REFERENCES s: 声明表示关系中任意元组在属性( A 1 A_{1} A1, A 2 A_{2} A2,… A n A_{n} An)上的取值必须对应于关系s中某元组在主码属性上的取值。
  • NOT NULL:在该属性上不允许为空值。

SQL语言查询

单(多)关系查询

SELECT ... FROM ... WHERE ...; /*查询指定列*/
SELECT * FROM ... WHERE ...; /*查询全部列*/

分组聚集

SELECT ..., func(...)
FROM ...
WHERE ...
GROUP BY ...;

SQL数据修改

删除

DELETE FROM ... WHERE ...;

插入

INSERT INTO ... VALUES(...); /*插入单个元组*/
INSERT INTO ... SELECT ... FROM ... WHERE ...; /*插入查询结果*/

更新

UPDATE ... SET ... = ... WHERE ...;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值