1.1 数据库系统的组成
数据库系统(Database System )是用于组织和存 取大量数据的管理系统,方便多用户使用计算机软、硬件资源组成的系统。它与文件系统的重要区别是数据的充分共享、交叉访问以及与应用(程序)的高度独立性。
数据库系统由计算机系统、数据库、数据库描述、数据库管理系统、数据库应用程序和用户组成。
1.1.1 计算机系统
计算机系统指的是用于数据库管理的计算机硬件资源和基本软件资源。硬件 资源包括CPU 、大容量内存(用于存放操作系统,数据库管理系统、应用程序、数据库等)、直接存取的 外部存储设备(硬盘)。软件资源包括操作系统和应用程序。
1.1.2 数据库
数据库是提供数据的基地。它能保存数据并让用户从它这里访问有用的数据。
数据库中的业务数据是以一定的组织方式存储在一起的相互有关的数据整体。数据库中保存的数据是相关数据,是一种相对稳定的中间数据。为了便于管理和处理这些数据,将这些数据存入数据库时必须具有一定的数据结构和文件组织形式(顺序文件、索引文件)。
“ 相关数据 ” 、 “ 一定的组织方式 ” 和 “ 共享 ” 是关系数据库的三个基本要素。
1.1.3 数据库管理系统(DBMS )
DBMS是 Data Base Management System 的缩写。它包括面向用户的接口功能和面向系统的维护功能两大方面。前者为用户存取数据库提供必要的手段,包括处理能力。后者为数据库管理者提供数据库的维护工具。具体为数据库定义,数据装入,数据库操作、控制、监督、维护、恢复、通信等。 DBMS 通常由三部分组成:数据库描述语言( DLL )、数据操纵( DML )或查询程序、数据库管理例行程序。
1.1.4 应用程序和用户
数据库管理员( DBA ): 是系统工作人员,负责对整个数据库系统进行维护。
应用程序员: 是后台专业用户,对数据库进行检索、插入、删除或更新等操作。
非程序员: 是终端用户,通过联机终端设备,由基本命令组成的询问语言对数据库进行检索、插入、删除或更新等操作。例如话务员,管理员,质检员。
总之,信息的集合是数据库,而DBMS 的软件可用于完成信息的存储 和检索。
1.2 数据模型的基本概念
数据模型是数据库系统的核心,是对客观事物及其联系的数据的描述,即实体模型的数据化。数据模型是表示实体与实体之间联系的模型。当前流行的数据模型有关系、层次、网状三种模型。
1.2.1 关系数据模型
这种模型是新的DBMS ,将数据简单地表示为一个或 多个表格的内容。其是由表格形式体现,这种“表”在数学上称为关系。表中的每一行称为记录,每个记录由若干字段组成,一个记录描述一个事物,它的各字段是该事物各种性质的描述,在关系数据库中这些字段称为属性。如 表1-1 所示:
teacher# | teacher_name | phone | salary |
303 | Dr. Horn | 257-3049 | 27540.000000 |
290 | Dr.Lowe | 257-2390 | 31450.000000 |
430 | Dr.Engle | 257-4621 | 38200.000000 |
180 | Dr.Cooke | 257-8088 | 29560.000000 |
560 | Dr.Olsen | 257-8086 | 31778.000000 |
784 | Dr.Sacango | 257-3046 | 32098.000000 |
最典型的关系数据库系统有DB2 、 INFORMIX 、 SYBASE 、 ORACLE 等。关系数据库系统流行的一个重要原因,是容易支持由计算机程序或直接由人访问数据的能力,非常适合查询。其中,表中每列都有一固定数据类型。分别为: int, char [ 20 ] , char [ 6 ]和 float 。
常用SQL Server 数据类型如 表1-2 所示。
数据类型 | 说明 | 串长度 |
CHAR(长度) | 定长字符串 | 255 |
VARCHAR (长度) | 变长字符串 | 2000 |
NUMBERIC(精度,比例) | 数字 |
|
DATE | 日期时间 |
|
LONG(长度) | 大型可变长度字符串 | 21亿 |
INT, SMALLINT | 整数 |
|
FLOAT | 实数 |
|
1.2.2 层次数据模型
也称树状模型,是一个以记录类型为节点的有根的定向树。层次数据模型的特点为:有且仅有一个实体,向上不与任何实体联系称为根;有若干实体,向下不与任何实体联系称为叶,其余的实体向下可以与若干实体联系,但向上只与唯一的一个实体联 系(一对多联系),称为中间节点。所有节点都处在某一层上。根节点在最高层,即第一层。同一层上的节点之间没有联系。具有这些特点的数据结构称为层次结构。例如大学行政组织结构,如 图1-1 所示。典型例子是IBM 的 IMS 。
1.2.3 网状数据模型
网状模型是以记录类型为节点网状结构,网状与树(层次结构)的区别主要有如下两点:
(1) 一个子节点可以有两个或多个父节点;
(2) 在两个节点之间可以有两种或多种关系。
在网络模型中用“系”表示这种关系,所谓系是一个二级树,它的根节点称为主节点,它的叶称为从节点。学生选课实体模型是网络数据模型如图。其数据库的直接用户是程序员,访问存储信息的方法是通过特殊的来自程序设计语言的调用,进行简单的特定查询,通常很困难。如 图1-2 所示。
小 结
数据库系统由计算机系统、数据库、数据库描述、数据库管理系统、数据库应用程序和用户组成。
数据库模型分为关系数据模型、层次数据模型、网状数据模型三种。
习 题
1-1 什么是数据库?
1-2 网状数据模型与层次数据模型的主要区别是什么?