什么是数据库?什么是数据库管理系统DBMS?
-
数据库——大规模 集成的数据集合;面向企业的相关数据的集合
-
数据库作用:真实世界的建模(描述)
-
数据库重要数据:实体(有形和无形都行)+ 客观实体之间的联系
-
数据库管理系统是一个软件被设计用于存储和管理数据库
文件和数据库之间的关系
-
文件也可以存储数据 但文件是操作系统提供的最简单的存储系统的机制;
-
文件只是一个平滑的字符流 没有结构 只有create open read write lseek等简单的功能;
-
文件不能满足我们对数据处理的需求
-
-
DBMS提供了底层的功能 而文件只有底层功能操作(不太准确 原文是special code for different queries)
-
数据库可以避免很多并发用户对数据库的访问造成数据的不一致问题
-
数据库有故障恢复功能
-
数据库有安全和访问控制的功能
总的来说数据库系统就是建立在操作系统文件系统之上的
为什么要使用数据库
-
支持数据的独立性和对数据的有效访问
-
减少应用开发时间
-
数据完整安全性
-
统一管理
-
并发访问、数据恢复
为什么学习研究数据库
-
从计算向信息管理的转移;信息管理会有各种问题 ①低端:争夺网络空间 ②高端:科学应用
-
数据的总类和规模极速膨胀
-
DBMS的实现包含了计算机发展的绝大多数成果
数据、数据模型和数据模式
-
Data:数据是描述现实世界的符号。数据是信息存在的形式。
-
Data Model:数据模型是描述数据的一组概念和定义;数据模型就是一种数据结构
-
Data Schema:用给定的数据模型对给定企业进行描述所产生的结果叫做数据模式
-
relational model of data:关系数据模型模型起源于上世纪,是现在使用最广泛的模型;
-
重点:关系基于一张表格的行(元组)与列(属性),在关系数据模型中只有表;
-
每种关系都有模式,这种模式描述了表的结构
-
数据抽象级别(三种模式,两个映射,两级独立性)
-
物理模式 physical schema——描述数据在磁盘上是怎么储存的
-
逻辑模式\概念模式 conceptual/logical schema——有多少张表、表的属性和结构式什么;定义了逻辑存储结构
-
(基表:用某种模式存储在磁盘上)
-
-
视图\外模式 views——外模式定义了有多少用户在看数据,同时也限制了用户可以看到的数据;通过外模式映射出不同的视图给不同的用户来用
例子——大学数据表
-
conceptual schema 由三张表组成
-
physical schema 描述了物理存储方式
-
external schema 每个学生只能看到自己的成绩、老师可以看到所有学生的成绩
-
外模式是根据基表算出来的——映射
数据独立性——基于映射
-
基于数据库开发的应用程序和数据的具体结构还有数据存储方法之间是相互隔离的。
-
逻辑数据独立性:由数据库系统开发的应用程序不受数据库逻辑变化的影响
-
物理数据独立性:数据物理结构发生变化的时候依旧不影响应用的使用
数据独立性是使用数据库管理的最大优势之一
数据库结构发展的历史及其分类
-
基于数据模型的发展分类
-
1960s前:无管理阶段,计算机仅用于计算
-
计算机的非数据应用:管理数据——使用文件系统,只可以做简单的数据管理应用
-
在数据量越来越大之后数据库管理系统应运而生
-
1964,第一个DBMS管理系统:IDS,采用网状数据模型
-
1969,IBM推出了第一个商用数据管理系统,使用层次数据模型
-
1970,IBM提出关系数据模型(跨时代)
-
-
-
DBMS体系结构的发展分类
-
集中式数据库系统
-
并行数据库系统——多个CPU,但是数据还是集中存放
-
分布式数据库系统——多台独立计算机形成一个系统,共同协调完成一个完整的事物;联邦式数据库
-
移动数据库系统
-
-
基于数据库系统的应用系统的发展分类
-
集中性结构:host+terminal
-
分布式结构:联网的计算机室平等的
-
client Server结构
- 三层或多层体系结构
-
- 特点:前段简单,客户端不用实现安装应用程序、信息系统升级非常的容易,用户的活动范围大
数据库系统的应用领域的应用发展
- OLTP——事物化的数据,数据库的传统应用领域
- 时态数据库:时间管理
- 空间数据库:管理时空地理信息——卫星、遥感
- 数据仓库
- 数据挖掘
数据库系统
-
应用+DBMS+数据库+DBA
-
DBMS是系统的核心
-
提供了高级的用户接口。对用户十分易于理解
-
支持有效的关系处理和优化
-
只有有效的系统管理
-
有效的并发控制和恢复机制
-
完善的完整性约束和完整性约束检查
-
访问控制,确保了安全性
-
数据库系统的生命周期
-
规划阶段:采用什么样的架构、什么样的服务器
-
数据库设计:什么样的数据模式
-
创建加载数据
-
运行管理维护数据库
-
数据库的扩充和重构