更新至第3章
第一章 数据库概览
数据库管理技术的进展
基本概念
数据:描述事物的符号记录
数据的种类很多,文本、图形、图像、声音等都是数据。
数据的特点:
1. 数据有 “型” 和 “值” 之分
2. 数据与其语义是不可分的
语义:数据的含义
数据与其语义是不可分的
数据管理:对数据进行收集、分类、组织、编码、存储、检索和传输,是数据处理的中心问题 (分类、组织、编码、存储、检索、维护)
数据库:长期存在计算机内、有组织、可共享的数据集合
数据库管理系统(DBMS)是位于用户与操作系统之间的系统软件。
数据管理技术三个阶段
数据管理技术三个阶段:人工管理阶段、文件系统阶段、数据库系统阶段
- 人工管理阶段:
- 数据不保存
- 应用程序管理数据
- 数据不共享
- 数据不具有独立性
- 文件系统阶段:
- 数据可以长期保存
- 由文件系统管理数据
- 数据共享性差,冗余度大
- 数据独立性差
- 数据库阶段:
- 数据整体结构化
- 数据共享性高、冗余度低、易于扩充
- 数据独立性高
- 数据由DBMS统一管理和控制
数据库系统实现整体数据的结构化。这是数据库系统与文件系统的根本区别。
数据独立性
数据独立性包括数据的逻辑独立性和数据的物理独立性
- 逻辑独立性:数据的逻辑结构改变了,程序不用改变
- 物理独立性:数据的物理存储改变了,程序不用改变
(由DBMS处理这种改变)
关系代数
- 投影:一属性的所有值 \(\pi_{Sdept}(Student)\)
- 连接:在R\(\times\)S中取满足关系的元组
- 一般连接:随便什么关系
- 等值连接:R的A属性与S的B属性相同
- 自然连接:R的B属性与S的B属性相同
- 除:R\(\div\)S:R(X,Y),S(Y,Z) R中的X的像集要包含S中的Y的所有值
基本表
基本表定义
CREATE TABLE <基本表名>( <列名> <数据类型> [ <列级完整性约束条件> ], <表级完整性约束条件>; );
1 | CREATE TABLE SPDGB ( |
定长字符串: char 变长字符串: varchar
修改基本表
1 | ALTER TABLE <基本表名> |
1 | ALTER TABLE SPB ADD 商品图片 image |
删除基本表
DROP TABLE <基本表名>
数据查询
单表查询
1 | SELECT ALL|DISTINCT <目标列表达式> |
- SELECT:指定要显示的属性列
- FROM:指定查询对象(基本表或视图)
- WHERE:指定查询条件
- GROUP BY:查询结果按指定列的值分组
- HAVING:筛选分组
- ORDER BY:查询结果按指定列值的升序或降序排序
WHERE Grade IS NOT NULL;