@Database Systems— A practical Approach to Design, Implementation, and Management
Database Systems— A practical Approach to Design, Implementation, and Management 学习记录
简介
- notation改用了最新的面向对象建模语言UML。因为,符合工业标准;容易;应用于教育。
- 第一章的内容
第一章要点
chapter 1.1
- 数据库出现时间很短 很牛逼。
- 数据库是一组相关数据,DBMS是管理控制这些数据的软件。数据应用就是一个和其相互作用的程序。
1.超市的条码和商品库。
2.信用卡的日常支付与失窃后的支付管理。
3.订车位这些。
4.图书馆的索引等。
5.买保险所需要获取的个人信息。
6.用户租碟片的索引以及company的管理。
7.使用互联网。
8.大学生活(选课之类的)。
chapter1.2 基于文件的方法
它是前身,学了有好处。
1.2.1
-
File-based system : A collection of application programs that perform services for the end-users such as the production of reports. Each program defines and manages its own data.
-
就像保险箱一样。在数据量小或者只存储和索引下表现良好。交叉索引和处理信息不行。不是集中管理,而是权力下放,独自运行。
-
DreamHome例子 主要表现了对类似数据各部门分开处理的情况。
1.2.2 局限
- 数据的割裂与分离。 很难组合超过两个文件的数据
- 数据冗余
—没用;占空间; 数据完整性破坏 - 数据存在依赖性,很难修改结构,牵一发而动全身。
- 文件格式不相容。语言不通就没法调用
- 查询一成不变/应用系统需要翻新
归结的原因
- 数据定义与应用程序中,而不是独立存储。
- 除了应用程序规定之外的数据访问和操作无法得到控制。
1.3数据库方法
1.3.1数据库
Database: A shared collection of logically related data, and a description of this data, designed to meet the information needs of an organization.
数据库就是一个相关数据的集合和描述 设计来完成一个organization的需要
self-describing collection of integrated records
-
数据的描述被称为系统目录。
-
数据库数据的定义与应用系统分离。对象使用者只能看到外部定义。优势在于:
数据抽象。改变内部定义不会影响user -
实体 属性和关系(DreamHome示例ER图见67 Figure1.6)
1.3.2数据库管理系统(DBMS)
-
DBMS: A software system that enables users to define, create, maintain, and control
access to the database.
DBMS就是一个操作数据库的系统 - DBMS 提供
1. 通过Data Definition Language(DDL)定义数据库
2. 增删改提数据,通过Data Manipulation Language (DML)
3. 重要!对数据的查询使用查询语言。最常见的查询语言是Structured Query Language (SQL)。
4. 提供对数据库控制过程。
1.3.3(数据库)应用程序
-
Application program: A computer program that interacts with the database by issuing an appropriate request (typically an SQL statement) to the DBMS.
-
view机制 可以让用户看到想看的。好处
1. 安全
2. 自定义外观
3. 在结构变化时保持外观
1.3.4 DBMS的环境组成成分
硬件、软件、数据、过程、人(数据相当于桥)
- 硬件:前端 frontend 后端backend 客户端-服务器结构
- 软件:应用程序使用第三或第四代编程语言。
- 数据:数据库同时包含操作数据与元数据。数据库结构被称为模式(schema)。
- 规程
- 人
1.3.5 数据库设计:范型改变
methodology
1.4 数据库环境中的各种角色
将人分为: 数据与数据库管理者, 数据库设计者, 应用开发人员,终端用户
1.4.1 数据与数据库管理者
DA保证database的设计和发展方向
DBA负责database的物理实现,更加偏向技术。
1.4.2 数据库设计人员
逻辑数据库设计人员: 熟悉实体属性和关系 以及约束。 concerned with what
- 概念数据库设计:不需要实现细节
- 逻辑数据库设计:以特定模型数据相关。
物理数据库设计人员: 物理实现。 concerned with how
- 将逻辑数据库设计映射为一组表或者一组完整性约束
- 选择合适的存储结构和访问方法以达到好的效果
- 设计安全措施
1.4.3 应用程序开发
面向终端用户对数据库进行操作
1.4.4 终端用户
- 简单用户。 界面足够简单,让用户不需要database或DBMS的任何信息
- 高级用户。 使用SQL来完成查询操作等。
1.5 DBMS的历史
1.6 DBMS优缺点
优点(77 Table 1.2)
缺点(80 Table 1.3)