目录
数据库管理系统(Database Management System DBMS)
一.数据库基本概念
数据库(Database DB)
- 定义:一个大规模集成的数据集合
- 作用:
- 实体
- 联系(实体之间的联系)
数据库管理系统(Database Management System DBMS)
- 存储和管理数据库的一种系统软件
文件 VS. 数据库
- 数据库可以通过DBMS直接进行很多操作,操作系统的文件没有结构,只提供简单操作(create,open,read,write,lseak)
- 用文件的话,要针对不同的文件结构编写不同的代码。
- 由于实际应用中并发同时访问导致数据访问不一致。(文件没有解决办法,需要在应用软件层解决,而DBMS中有)不会破坏一致性
- 故障处理(文件系统不具备这个能力,但DBMS会自动恢复)
- 安全和访问控制
使用数据库的好处
- 支持数据的独立性和有效访问
- 减少了应用开发时间
- 支持对数据完整性和安全性的控制
- 支持并发访问
- 支持对故障的恢复
学习数据库的好处
- 社会角度:从计算到信息
- 企业,学校管理...
- 社会大众Web: QQ,微博
- 天文,核能...
- 管理数据种类多,量大
- DBMS是一个计算机科学的一个范例
二.数据库涉及相关术语
数据(Data)
- 描述现实世界的符号
- 信息存在的形式
数据模型(Data Model)
- 描述数据的一组概念和定义
- 一种数据结构,一种方法
- 一种程序设计语言
数学模式(Data Schema)
- 用模型对特定企业进行描述所产生的结果
- 一种程序设计语言设计出来的结果
关系数据模型
- 表
- 行:元组 列:属性
数据的抽象级别
- 第一级:物理模式Physical Schema
- 描述了数据在磁盘上是如何存储的
- 第二级:逻辑模式Conceptal Schema
- 概念结构
- 概念模式中的这些表称为基表,与物理模式的表一一对应
- 第三级:外模式many view
- 最终用户看到的数据的样子
- 例子:学生选课数据库
- 概念模式:
- 学生(学号,名字,年龄,GPA)
- 课程(课程号,课程名)
- 选课关系(学号,课程号,成绩)
- 物理模式:
- 用堆文件形式存储这三张表
- 在学生的某项信息中建立索引
- 外模式:
- 课程信息表(课程号,选课人数)
- 概念模式:
数据独立性
- 不管数据的具体结构和存储变化
- 数据库提供三级数据模式和两级映射
- 数据的逻辑独立性
- 不受数据逻辑结构的影响(理解:逻辑模式和外模式存在映射,应用程序基于外模式开发,当逻辑结构发生改变,基于表算出来的视图,表发生改变,只需改变表和视图之间的映射关系,保证视图不变)
- 数据的物理独立性
- 不受数据物理结构的影响(理解:存储方式变了,但是逻辑结构没变)
- 数据的逻辑独立性
三.数据库发展历史及其分类
数据模型的发展历史
- 无管理阶段
- 科学运算,不需要管理
- 非数值应用
- 管理,永久保存
- 出现操作系统
- 文件管理:简单的数据管理
- 数据库管理增强,DBMS出现
- 网状数据模型
- 层次数据模型
- 关系数据模型
- 面向对象,演绎,ER...
数据库管理系统的体系结果发展
- 集中式数据库系统
- 大型主机带一堆终端
- 集中存储
- 并行数据库系统
- 多个CPU,每个CPU带有自己的内存甚至硬盘
- 并行,但还是一台机器
- 集中存储
- 分布式数据库系统
- 微型计算机
- 移动数据库系统
- 无线通信发展
数据库应用系统的发展
- 集中式结构
- 分布式结构
- 客户/服务器结构
- 客户端安装应用程序
- 多个客户端访问一个服务器
- 三层/多层体系结构
- 多个服务器
- 分为Web 服务器
- APP服务器
- DB 服务器
- 客户端只要能跑浏览器
- 优点:
- 应用升级只需要升级app 服务器
- 客户端成本降低
- 活动范围增大
- 多个服务器
- 移动计算
- 网格计算/云计算
- 虚拟化
四.数据库系统
应用程序+DBMS+数据库+DBA(数据库管理员)
DBMS是数据库系统的核心
- 提供高级访问接口
- 支持有效的查询处理和优化
- 支持有效的目录管理
- 提供并发控制和恢复功能(不破坏数据库一致性)
- 提供完整性约束(保证数据一致性)
- 提供访问控制(合法用户)
数据库系统的生命周期
- 数据库系统的规划阶段
- 数据库设计
- 在数据库内创建加载数据
- 基于数据库开发应用程序、管理和维护
- 数据库扩充和重构