一、基本概念
- 数据库:长期存储在计算机内,有组织的、可共享的大量数据的集合。数据库中的数据按一定的数据模型组织、描述和储存,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种用户共享
- 数据库管理系统DBMS:位于用户和操作系统之间的一层数据管理软件
- 数据库系统:由数据库、数据库管理系统(及其应用开发工具)、应用程序和数据库管理员组成的存储、管理、处理和维护数据的系统
说实话,有点佶屈聱牙,但是考试要考,没办法。
二、数据库的历史
- 60年代末之前没有商用数据库管理系统,一般用的是文件系统,就像我们把自己的资源存在磁盘里一样。
当然,文件系统可以长久保存大量数据。
但是①不知道会不会哪天一出错就没了,②如果不知道文件存储位置,也访问不到这个文件(现在用的windows可以通过搜索文件名找到文件,那时候可没有这功能)③多个用户想同时使用这个文件系统怎么办?那先修改的那个人只能抱歉了 - 于是数据库系统应运而生。不过此时用起来还很麻烦,不支持高级查询语言,用户直接面对数据存储格式(树状、网状),查起来很麻烦
- 1970年,Ted Codd发表论文,提出了关系模型——数据库系统应将数据组织成表的形式(称之为关系)呈现给用户。
用户不用关心数据怎么存储的,只要知道怎么用高级查询语言查就行了 - 发展
(1)从只能运行在大型计算机上,发展到自己的笔记本也能用
(2)从只能存储GB,到现在TB,PB(当然,这种大小的数据库笔记本就用不起了,都是大企业专用服务器)。这种大小的存储,有时还会专门优化其数据结构
(3)文档的应用,扩展的模型语言XML,大量小文档的集合==数据库,查询、操作也不同于关系数据库
(4)信息集成,有重叠的几组数据怎么整合到一起,不造成混乱(就比如跨国公司,各家分公司的产品数据库,内容和存储形式可能会有不同。如果总部想整理一下怎么办)
①数据仓库:通过合适的转换技术,将来自多个数据库的信息周期性复制到中央数据库
②协调器/中间件:支持各类数据库数据的整合模型,实现整合模型和实际数据库模型之间的信息转换
(又佶屈聱牙了,但是这里不重要,照抄书上的罢了)
三、功能概述
- 数据库要有哪些功能
①使用数据定义语言建立新的数据库,并说明它们的模式(即数据的逻辑结构)
②使用查询语言、数据操作语言查询和更新数据
③超大数据量的长期存储,在查询和更新时有效存取数据(就是说不能查一个数据等一百年,或者查完,这个数据就消失了,等等情况)
④持久性,面对各种故障,用户瞎jb操作时,还能恢复
⑤多个用户同时操作时,不允许一个用户的操作影响另一个用户(独立性),不允许对数据的不完整操作(原子性) - 哪些人在操作
①用户和应用程序,查询和修改数据
②数据库管理员,建立和管理数据库(修bug之类?)