文章目录
基本概念
Database:有组织、冗余小、可共享、数据独立 、易扩展 的数据集合
DBMS:用户和操作系统之间的数据管理软件,用于组织、存取和维护数据。
DBS:加载数据库计算机系统
DBA:数据库管理员,全面辅助管理和控制数据库系统。
数据库技术应用现状
- 技术融合
- 数据模型
- 数据类型
- 数据分布
- 领域应用
DB的三级模式结构
优势
- 物理独立性:内模式变化后,模式、外模式和应用不改变
- 逻辑独立性:模式变化后,外模式和应用只有很少改变
数据库系统体系结构
- 集中式
- application + DBMS + DB 在一台计算机上 - 网络
- CS模式(Client/Server)
- BS模式 (Browser/Server)
- 多用户并行访问,数据共享,效率和安全受到网络传输的影响 - 分布式
- 逻辑上的整体,物理上的分布
- 协同能力强,可靠可用,效率高,够灵活,易扩充 - 并行
- DB技术+并行处理技术
- 在多处理器计算机或并行计算机系统上,采用多CPU 和多硬盘的并行工作方式,处理能力极强
关系模型
数据建模:准确的抽象 & 表达客观需求
数据模型三大要素
- 数据结构 (Data & relationship)
- 数据操作 (操作类型、操作方式)
- 约束条件(数据语义、数据间的约束)
三层数据库模型
- 概念(概念世界)
- ER、UML - 逻辑(信息世界)
- 关系模型
- 层次模型
- 网状模型
- 对象模型
- 半结构化数据模型 - 物理(计算机如何保存数据)
- 信息的物理表示
- 操作系统、文件、磁盘
关系模型和RDB
- 数据结构
- 表(关系) 表(关系)
- 数据操纵 数据操纵
- 查询、增加、删除、修改 查询、增加、删除、修改
- 集合操作(操作对象和操作结果都是关系) 集合操作(操作对象和操作结果都是关系)
- 完整性约束 完整性约束
- 实体完整性,参照完整性,用户定义完整性 实体完整性,参照完整性,用户定义完整性
基本概念
- 关系、元组、属性、分量
- 主码、候选码、超码、外码、全码
- 关系模式
- 关系的性质
- 实体完整性约束规则
- 参照完整性约束规则
优势&劣势
优势
- 数学基础
- 结构简单、明了,用户易懂易用
- 存取路径用户透明,数据独立性和安全性
劣势
- 查询效率低
- 查询的优化增加了开发数据库管理系统的难度
关系代数和SQL
关系代数
使用传统的集合运算 & 关系运算表达查询的 抽象语言
相关例子链接
SQL
- DDL:
- create、drop、alter
- index、view、role、procedure、trigger、constraint、domain
- 物化视图、关系模式
- DML:select、insert、update、delete
- DCL:grant、revoke
使用方式: 独立式,嵌入式
select:
- 单表查询
- 连接查询
- 嵌套查询
- IN ,ANY ,ALL ,EXIST
- DISTINCT
- 聚集函数
- AVG ,MIN ,MAX ,SUM ,COUNT
- ORDER BY
- GROUP BY
相关例子链接
高级SQL:
SQL是集合处理方式,宿主语言是淡季了处理方式,当SQL处理结果是多条记录时候,How to solve?
游标
- 是个数据缓冲区,存放SQL语句的执行结果
- 每一个游标区域都有名字
- 用户通过游标逐一获取记录,赋给主变量,然后宿主语言进一步处理
关系数据库设计
数据库与应用开发的生命周期
概念模型设计
数据抽象
- 抽象出客观世界中的概念、对象的本质特性 抽象出客观世界中的概念、对象的本质特性
- 需求分析阶段对数据分类和组织,从而形成实体 、实体的属性 ,实体的码 ,实体间联系等
E-R模型
基本元素:
- 实体 :客观存在的一个对象
- 属性 :实体所具有的性质,包括属性名和属性域
- 实体集 :相似实体的集合
- 联系 :至少1 个实体集之间的联系
- 联系的类型有1:1, 1:m 和m:n
- 联系可有属性
- 实体集间可有多种联系
ER图设计原则:
- 忠实性 忠实性
- 避免冗余(每件事情只说一次) 避免冗余(每件事情只说一次)
- 简单性考虑(不要添加更多的成分) 简单性考虑(不要添加更多的成分)
- 选择正确的联系(而不是所有的联系) 选择正确的联系(而不是所有的联系)
- 选择正确的元素种类(属性或实体)
关系模式
ER转关系模式:
- 一个
1:1
联系可以转换为一个独立的关系模式,也可以与任意对应的关系模式合并 - 一个
1:n
联系可以转换为一个独立的关系模式,也可以与n
端对应的关系模式合并 - 一个
m:n
联系转换为一个关系模式 - 三个或三个以上实体间的一个多元联系可以转换为一个关系模式
- 具有相同码的关系模式可以合并
特殊情况: 多值属性,弱实体,特殊化,一般化等
customer (customer_id, customer_name, customer_street, customer_city)
//customer_id是主码,有下划线