目录
数据库居然是双语教学,太狠了
数据库(DataBase)
- 是大型的集成的数据集;
- 有大量的数据
- 数据是结构化,相互关联的
- 数据是集成度;
- 数据库在我们生活的方方面面中;
- 应用:银行,航空,大学,销售,制造业,人力资源;
数据库管理系统(Database Management System)
- 是存储管理数据的软件
- 功能:管理大量数据,支持高效获取数据,支持对数据的并发访问,支持安全的,原子级的访问;
- 终端用户(End users):通过接口查询更新系统(如淘宝);
- 数据库设计者(Database designers):设计数据库的模型;
- 数据库应用开发者(Database application developers):构建数据库接口连接的应用;
- 数据库管理员(Database administrators):装载数据,存储数据,为演示微调数据库;
- 数据库管理系统开发人员(DBMS implementors):在DBMS中开发应用新的技术去查询处理和优化DBMS;
数据库管理员(DBA)
- 职责:
模式定义
存储结构和连接方式定义
模式和物理组织修改
授予用户权限
指定完整性约束
定期监测并反馈
数据库系统的意义
-
用文件系统存储的坏处:
文件冗余和不一致(多种文件格式导致);
数据访问困难(需要编写一个新的程序去执行新任务);
数据隔离(多种文件和格式导致);
完整性问题(当账户>0时会被隐藏)(难以修改和增加);
原子级修改难(失败会处于不稳定状态)(如打钱可能打成功了也可能是虚晃一招);
多用户并发访问不便(并发访问可能导致不一致)(两个人阅读会导致同时更新);
安全性问题; -
为什么使用DBMS:
数据独立高效访问;
完整性和安全性;
统一数据管理;
可以并发访问,从崩溃中恢复;
节约应用开发时间;
传统的信息检索系统(Information Retrieval System)是DBMS吗(不是)
- IRS:
主要用于数据检索,不用于数据更新;
存储和管理自由结构化或半结构化文档;
支持面向语义的匹配;
考虑到没有数据一致性,并发性很容易实现; - DBMS:
支持数据访问和更新
存储和管理结构化数据
需要声明式查询语言支持
支持数据一致性、原子级事务、并发性控制和故障恢复
DBS的组成部分
- 硬件
- OS
- DBMS
- 数据库
- 数据库应用
数据模型
- 描述工具:
数据结构
数据关系
数据约束 - 实体关系数据模型(Entity-Relationship data model)(主要用于数据库设计)
- 关系模型(Relational model)
- 基于对象的数据模型(Object-based data models)(面向对象和对象关系)
- 半结构化数据模型(Semi-structured data model)(XML)
- 网络模型(Network model)
- 层次模型(Hierarchical model)
抽象层
- 物理层
- 逻辑层
- 视图层
数据定义语言(Data Definition Language)
- 定义数据规范表示
SQL
- 是广泛的非程序语言;
- 应用程序通常链接数据库通过允许嵌入SQL的语言扩展或是可以允许接收SQL查询的请求应用程序接口;
数据库设计
- 设计数据库结构的过程:
- 逻辑设计:取决于数据库模式(商务决定)(科技决定)
- 物理设计:取决于数据库的物理布局;
E-R 模型
- 是实体和关系的集合
- Entity(用矩形表示):事物
- Relationship(椭圆形):实体间的关系
数据库系统的构造
- 数据库系统的构造取决于数据库所在的下层电脑系统:
集中式
C/S或B/S
并行(多处理器)
分布式
数据库系统结构
存储管理
- 存储管理模块是一个提供在存储在数据库中的数据和允许查询的应用程序之间的接口的程序模块;
- 用处:和文件管理器的交互,高效存储、检索和更新数据;
- 要素:
存储链接
文件组织
索引和散列
事务管理
- 事务是在数据库应用程序中执行单个逻辑函数的操作的集合
- 事务管理组件确保数据库在系统故障(例如,电源故障和操作系统崩溃)和事务故障的情况下保持一致(正确)状态。
- 并发控制管理器控制并发事务之间的交互,以确保数据库的一致性。
有些是参照翻译的,表述可能不太准确,将就看看。