一、数据库(DB)
1、数据库就是存储数据的仓库,只不过这个仓库是在计算机存储设备上
2、严格的说,数据库是长期存储在计算机内、有组织的、统一管理的、可共享的相关数据的集合
3、数据库应是为一个特定目标而设计、构建并装入数据的,是逻辑上一致而且有某种内在含义的数据集合,不是数据的随机归类
4、数据管理的特点:
(1)数据库采用数据模型表示数据
- 数据模型不仅描述数据本身的特征,还要描述数据之间的联系
在文件系统中,尽管每个文件内部是有结构的,但文件之间是没有联系的,数据文件只存储数据,比如有关联的学生、课程以及学生选课信息分别存储在不同的文件中,而若在数据库中,采用主流的关系数据模型来组织数据,在一个关系数据库中用三个关系表来描述学生、课程以及学生选课文件中的数据,通过定义三个关系表中数据之间的对应关系,来描述数据之间的联系,然后由数据库管理系统保证各关系表中相关数据的一致性、共享数据不用存储等特性
(2)数据库中的数据面向整个应用领域
- 数据库采用数据模型将整个组织所涉及的相关数据集成在一个全局数据库中,被全组织不同的应用共享
例如:对于一个军事学院,有干部、教务、财务、营房等多个部门,可采用数据库来存储各部门所涉及的教员、学员、营房、营具、教材、课程等数据以及数据之间的联系 ,各部门可根据业务需要,访问数据库中的局部数据,数据库中的某个数据可为各业务部门的各类应用所使用
(3) 数据库中的数据由数据库管理系统(DBMS)统一管理和控制
数据库有了专门的管理软件即数据库管理系统,用户被进一步从繁杂的数据管理中解脱出来了。
数据库管理系统实现了应用程序中的数据与磁盘上的数据库中的数据之间的转换,用户只需在应用程序中使用数据库查询语言即可访问数据库
数据库管理系统还实现了对数据的完整性、安全性控制
(4)数据库管理数据最主要的特点——数据具有独立性
由于采用数据模型来表示数据库中的数据,在由数据库管理员设计和定义数据库后,由数据库管理系统将数据的描述信息,也称之为元数据,存储在系统数据库即数据库字典中,各类应用可通过数据库管理系统从数据字典中得到数据库中数据的存储结构信息,来存储数据库中的数据
对数据的存储结构的修改,只需要通过数据库管理系统修改数据库的定义即可 ,而无需修改应用程序,实现了程序与数据的分离
因此,同人工管理数据和文件系统管理数据相比,数据库中的数据按照一定的数据模型组织、描述和存储,由数据库管理系统进行统一管理与控制
5、数据库管理数据的优点
(1)数据的共享性高
(2)数据独立性高
(3)对数据的控制能力强
二、数据库管理系统(DBMS)(对数据库进行管理和控制)
目前常用的DBMS有Oracle、SQL Server、MySQL
1、数据库管理系统的功能:
如果把图书馆的图书仓库看做是一个数据库的话,图书管理员所要完成的工作就类似于数据库管理系统需要做的事情,图书管理员要负责把图书进行分类、编码、上架,这就是数据的组织、描述和存储,用户是无法直接存取图书的,必须由图书管理员才能更快地找到用户所需要的图书并提取出来,这就是数据的查询,有时可能会有多个人同时来借书,图书管理员为了提高效率一次拿几张借书单,把图书同时取出来。
为了保管好图书,还需要对仓库和进出仓库的人员进行管理,这就是数据的控制
为用户或应用程序提供访问数据库的方法,包括DB的建立、查询、更新及各种数据控制
(1)数据库的定义
- DBMS提供数据定义语言(DDL)来对数据库中的数据对象进行定义,指定其结构和约束等
(2)数据操纵
- DBMS提供数据操纵语言(Data manipulation Language,DML)来实现对数据库的基本操作,包括查询数据库以获得所需数据、更新数据库以反映现实世界的变化等
(3)数据大的组织存储和管理
- 分类组织、存储和管理各种数据,包括数据字典(存放数据库的额定义、数据库运行时的统计信息等)、用户数据、数据的存取存取路径
- 确定以何种文件结构和存取方式在磁盘上组织这些数据
- 实现数据之间的联系
(4)数据库的事务管理和运行管理(控制功能)
- 对数据库的建立、运用和维护等进行统一管理、统一控制,保证数据的安全性、完整性、多用户的并发操作和发生故障后的系统恢复
在数据库管理系统中包含有实现这些功能的子系统。
安全性控制是防止未经授权的用户存取数据库中的数据,以免数据的泄露、更改和破坏
完整性控制是保证数据库中的数据及语义的正确性和有效性,防止造成数据错误
并发控制是防止多个用户同时对同一个数据进行操作产生错误
恢复功能是保证数据库在被破坏或数据不正确时,系统有能力把数据库恢复到正确的状态
(5)数据库的维护
数据库管理系统带有一些实用的程序或管理工具实现对数据库的维护
- 数据库数据的载入、转换功能
- 数据库大的转储、恢复功能
- 数据库的重组和性能监视、分析功能
数据库管理系统还提供一些其它功能,如DBMS与网络中其它软件系统的通信功能,与其它软件的接口、不同DBMS间数据的转换、异构数据库之间的互操作等
由此可见,DBMS是一个大型复杂的软件系统
三、数据库系统(DBS)
定义:计算机系统中引入数据库的系统就是数据库系统
采用数据库技术存储、维护数据,向应用系统提供数据支持
各类管理信息系统(MIS)、办公信息系统(OIS)、地理信息系统(GIS)、Web应用系统等大多都是数据库应用系统
从图中可看出数据库管理系统DBMS是位于用户与操作系统之间的一层数据管理软件,数据库管理系统要在操作系统的支持下才能工作,目前常用的操作系统有Windows和linux。
硬件资源要有足够大的内存来存放操作系统、数据库管理系统的核心模块和应用程序等,还要有足够大的磁盘等外部存储设备来存放数据库
支撑软件中除了操作系统和DBMS外,还包括具有与DBMS接口的高级语言及其编译系统,以及以DBMS为核心的应用开发工具便于开发应用程序
因此,数据库系统一般由数据库、操作系统、数据库管理系统及其应用开发工具、应用系统等构成
一个数据库系统光靠数据库管理系统来进行管理是远远不够的,还需要专门的人员来管理
四、数据库管理员(DBA)
数据库管理员就是全面负责管理和控制数据库的人员
- 确定数据库中的信息内容和逻辑结构
- 确定数据库的存储结构和存取策略
- 定义数据的安全性和完整性约束条件
- 监控数据库的使用和运行
- 数据库的改进和重组重构
因此,数据库管理员可担当数据库设计人员,直接使用数据库定义语言(DDL)定义数据库模式,还可以使用DBMS提供的一些特权命令来创建账户、设置系统参数、授予账户权限、修改模式以及重组数据库存储结构等
开发、管理和使用数据库系统的人员除了数据库管理员外,还有专业用户、应用程序员和终端用户等 。专业用户,比如系统分析员和数据库设计人员,他们可使用数据库操纵语言(DML)直接操纵数据,实现满足其需求的复杂的查询;应用程序员负责设计和使用宿主语言和数据库模式语言编写满足需求的应用模块,并进行应用程序调试和安装、编写文档并维护程序;终端用户是通过应用系统的用户接口使用数据库的普通用户,例如银行的出纳员、车站的售票员、旅馆的前台服务员,目前大量通过手机APP进行各类应用的手机用户等,占数据库系统用户的绝大多数,终端用户主要操纵基于表单的或者基于菜单的等图形用户界面(GUI)提供的固化事务不断的查询和更新数据库
DBMS的查询处理器模块中的谁定义语言(DDL)编译器、数据操纵语言(DML)编译器、执行引擎等,负责接受各类用户提交给DBMS的操作并执行
五、小结
1、数据库是一种数据管理方式,也是研究如何在计算机中管理数据的计算机应用技术。
2、数据库系统是采用数据库技术在计算机中长期存储大量的相关数据,由DBMS在数据库建立、运用和维护时对数据库进行统一控制,使得数据库能为多用户共享,并向应用系统提供数据支持的计算机硬件、软件和数据资源组成的系统。