数据库概论
文章目录
数据库概论
随着管理水平的不断提高和应用范围的日益扩大,信息已成为企业的重要财富和资源。同时,作为管理信息的数据库技术也得到了很大的发展,应用领域越来越广泛。数据库系统已经渗透到日常生活的方方面面,数据库中信息量的大小以及使用的程度已经成为衡量企业的信息化程度的重要标志。
数据库技术一般包括数据管理和数据处理两部分
数据库系统的本质是一个用计算机存储数据的系统,数据库本身可以看作一个电子文件柜,也就是说数据库是收集数据文件的仓库或容器。
1、基本概念
1.1 数据(data)
数据是描述事物的符号记录。文本、图形、图像、视频、音频、商品、销售情况等都是数据。数据和其语义的不可分开的。例如:某条记录的某个字段值为20,我们可以对这个数据20有不同的解释,可以解释为人的年龄为20岁,或者商品的价格为20元。因此只有当数据和语义在一起时,才能正确的表达其含义。
1.2 数据库(DataBase,简称DB)
将数据按照一定格式存储到计算机存储设备上的仓库。,举例:如下按照一定格式存储到计算机中
1.3 数据库管理系统(Database Management System,简称DBMS)
专门用于对数据进行管理和维护的系统软件,它位于用户程序和操作系统之间。如下图:
它具有以下功能:
- 数据库的建立与维护
- 数据定义功能,通过数据定义语言(Data Definition Language,DDL)来实现
- 数据组织、存储和管理功能
- 数据操作功能,通过数据操作语言(Data Manipulation Language,DML)来实现
- 事物的管理和运行功能
- 其他功能(与其他软件的通信,不同数据库之间的数据传输以及访问)
1.4 数据库系统(DataBase System,简称DBS)
一般由数据库、数据库管理系统(及相关实用工具)、应用程序、数据库管理员组成。其组成如下图:
数据库的专门维护人员成为数据库管理员(Database Administrator,DBA)。一般在不引起混淆的情况下,常常把数据库系统简称为数据库
2、 数据管理技术的几个阶段
起初(20世纪50年代中期以前)计算机主要用于科学计算。外部存储器只有磁带、卡片和纸带等还没有磁盘等直接存取存储设备。软件只有汇编语言,尚无数据管理方面的软件。数据管理仅靠人工,数据处理方式基本是批处理。后来随着计算机的发展(20世纪50年代后),人们希望使用计算机来帮助我们对数据进行存储和管理,于是出现了文件管阶段,在这一阶段需要通过编写应用程序来实现对数据的存储和管理,后来(60年代后期)随着人们对数据的要求的提高,希望达到的目的也越来越复杂,文件管理方式难以满足人们对数据的需求,由此产生了数据库技术。
2.1 人工管理阶段(40年代中–50年代中)
产生的背景
- 应用需求:科学计算
- 硬件水平:无直接存取存储设备
- 软件水平:没有操作系统
- 处理方式:批处理
特点:
- 数据的管理者:应用程序,主要用于科学计算,对数据保存需求尚不迫切。
- 数据面向的对象:某一应用程序
- 数据的共享程度:无共享、冗余度极大
- 数据的独立性:不独立,一组数据只能对应一个程序
- 数据的结构化:无结构
- 数据控制能力:应用程序自己控制
2.2 文件管理阶段(50年代中–60年代中)
产生的背景
- 应用需求:科学计算、信息管理
- 硬件水平:磁盘、磁鼓等外部直接存取的存储设备的出现
- 软件水平:高级语言和操作系统(有文件系统)
- 处理方式:联机实时处理、批处理
使用文件管理系统,用户必须编写应用程序来管理存储在文件中的数据,其操作模式如下图
缺点:
- 编写应用程序不方便
- 数据冗余不可避免
- 应用程序依赖性
- 不支持对文件的并发访问
- 数据间联系弱
- 难以按用户视图表示数据
- 无安全控制功能
2.3 数据库管理阶段(60年代后期)
数据管理技术进入数据库阶段的标志是20世纪60年代末的三件大事:
- 1968年美国IBM公司推出层次模型的IMS系统。
- 1969年美国CODASYL组织发布了DBTG报告,总结了当时各式各样的数据库,提出网状模型。
- 1970年美国IBM公司的E.F.Codd 连续发表论文,提出关系模型,奠定了关系数据库的理论基础。
产生的背景
- 应用背景 大规模管理
- 硬件背景 大容量磁盘
- 软件背景 有数据库管理系统
- 处理方式 联机实时处理,分布处理,批处理
数据库管理的操作模式:
对比数据库管理的操作模式和文件操作模式我们可以发现有以下两个区别:
- 数据库管理操作模式在操作系统和用户应用程序之间增加了一个系统软件——数据库管理系统,使得用户对数据的操作都是通过数据库管理系统实现的
- 有了数据库管理系统后,用户不需要有数据文件的概念,即不需要知道数据文件的逻辑和物理结构及物理存储位置,而只需要知道存放数据的场所——数据库即可
优点:
- 相互关联的数据的集合
- 较少的数据冗余
- 程序与数据相互独立
- 保证数据的安全、可靠
- 最大限度地保证数据的正确性
- 数据可以并发使用并能保证一致性