数据库原理及应用-引言
2018-01-21 16:31:36
数据库(Database):大规模的,集成的数据集合称为数据库。数据库是对现实世界的一个建模,将现实世界的数据存储下来。
数据库中有两类很重要的数据:实体数据(人,财,物等);实体间联系。
数据库管理系统(DBMS):是一个用来存储和管理数据库的软件称为数据库管理系统。
文件 vs 数据库:文件在操作系统中以字符流的形式存储,事实上是一种无结构化的存储,并且对文件的操作相对单一,只有create,open,write,read等初级的功能,在面对复杂问题的查询处理的时候显得捉襟见肘。而数据库则可以通过DBMS提供一种结构化的查询语言,大大简化了编程的复杂程度,同时,在实际应用中有很多并发的读取操作,数据库可以保证在并发的情况下,数据的操作不会产生不一致的情况。除此以外,数据库还提供了数据恢复,安全以及访问控制等功能。使用数据库可以保证数据的独立性。
使用DBMS的原因:
- 数据的独立性和有效访问
- 减少了应用开发的时间
- 对数据完整性和安全性的保证
- 支持对数据的统一管理,并发访问以及故障恢复等等
数据、数据模型和数据模式:数据是用来描述现实世界的符号,数据是信息存在的形式;
数据模型是用来描述和组织数据的一组概念和定义(最核心的概念);
数据模式是用一种给定的数据模型来组织数据的结果;
关系数据模型:只有一种数据结构,就是表。表中每一行称为元组,每一列称为属性。每张表有一个schema,也就是模式,使用schema来描述各个属性的定义。
数据库的三级模式:物理模式,逻辑模式,视图。
1)物理模式:表示的是文件具体在磁盘中的存储结构,是使用hashtable,还是RBT等进行存储。
2)逻辑(概念)模式:表示的是各个表的一些定义。逻辑模式中的表称为基表,每一张表都有一个物理模式与之对应,表征了其具体存储的方式。
3)外模式(视图):最终呈现给用户的形式。可以由基表中映射出各种视图,用户的表可以是不被实际存储的,可以是由基表映射出的表。
举个例子:
数据的独立性:三级数据模式中有两级映射,这两级映射保证了数据的独立性。
1)逻辑数据独立性:数据逻辑结构变化不影响应用程序。因为逻辑结构到视图之间有一层映射,所以当逻辑结构变化的时候,只需要改变映射关系,保证视图不变即可。
2)物理数据独立性:你可以将各个表存成hashtable,当然也可以存成RBT,这并不会改变逻辑结构,所以不会影响应用程序。
数据库的历史和分类:
数据库系统:Applications + DBMS + Database + DBA
DBMS是数据库系统的核心:提供了高级的用户接口;支持有效的查询处理和优化;支持有效的目录管理;并发控制和恢复功能;支持完整性约束的检查;提供了完善的访问控制。
数据库系统的生命周期:
- 数据库系统规划(选用什么软硬件,选用什么数据库等)
- 数据库设计
- 数据库创建和加载数据
- 数据库运行,管理和维护
- 数据库的扩充和重构