1.1 数据库系统概述
1.1.1 数据库的4个基本概念
1.数据(data)
数据(data)是数据库中存储的基本对象。数据的种类包括:数字、文字、图形、图像、音频、视频、学生的档案记录等。
数据的含义成为数据的语义,数据与其语义是不可分的。
例如 93是一个数据
语义1:学生某门课的成绩
语义2:某人的体重
......
2.数据库(database)
数据库(database,简称db)是长期储存在计算机内、有组织的、可共享的大量数据的集合。
数据库有如下基本特征:数据按一定的数据模型组织、描述和储存;可为各种用户共享;冗余度较小;数据独立性较高;易扩展。
3.数据管理系统
数据管理系统是位于用户和操作系统之间的一层数据管理软件,它是一个基础软件,是一个大型复杂的软件系统,它能够科学地组织和存储数据、高效地获取和维护数据。
数据管理系统主要拥有以下几个功能:
数据定义功能:提供数据定义语言(DDL),定义数据库中的数据对象;
数据组织、存储和管理;
数据操纵功能:提供数据操纵语言(DML),实现对数据库的基本操作(查询、插入、删除和修改);
数据库的事务管理和运行管理;
数据库的建立和维护功能;
其他...
4.数据库系统
数据库系统(DBS)是由数据库、数据库管理系统、应用程序和数据库管理员构成的,它的总体结构如图所示:
1.1.2 数据管理技术的产生和发展
数据管理技术的发展分三个阶段:人工管理阶段、文件系统阶段和数据库系统阶段。
1.人工管理阶段(20世纪50年代中之前)
计算机发展的初期,科学计算,无直接存取存储设备,没有操作系统,数据的管理者:用户(程序员)。
2.文件系统阶段(20世纪50年代末--60年代中)
计算机发展的第二个阶段,有操作系统,有文件系统,磁盘、磁鼓存储,数据的管理者:文件系统。
3.数据库系统阶段(20世纪60年代末--现在)
超大规模集成电路的计算机时代,大规模数据管理,大容量磁盘、磁盘阵列,有数据库管理系统。
1.1.3 数据库系统的特点
1.数据结构化
2.数据的共享性高,冗余度低且易扩充
3.数据独立性高
4.数据由数据库管理系统统一管理和控制
1.3 数据库系统的结构
从数据库应用开发人员角度看,数据库系统通常采用三级模式结构,是数据库系统内部的描述结构。
新建一个数据库需要的步骤:
1.3.1 数据库系统模式的概念
“型”和“值”的概念:
型(Type):对某一类数据的结构和属性的说明
值(Value):是型的一个具体赋值
其实对应的也就是常说的模式和实例。在数据库系统中,模式(Schema)是数据库逻辑结构和特征的描述,是型的描述,不涉及具体值,反映的是数据的结构及其联系,模式是相对稳定的;而实例(Instance)是模式的一个具体值,反映数据库某一时刻的状态,同一个模式可以有很多实例,实例随数据库中的数据的更新而变动。
1.3.2 数据库系统的三级模式结构
数据库系统的三级模式结构是由外模式(External Schema)、模式(Schema)和内模式(Internal Schema)构成。
1.模式 (Schema)
一个数据库只有一个模式
模式指的是数据的逻辑结构(数据项的名字、类型、取值范围等),数据之间的联系以及数据有关的安全性、完整性要求。
2.外模式(External Schema)
外模式也称子模式或用户模式,它是数据库用户(包括应用程序员和最终用户)使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。模式与外模式是一对多的关系,而外模式与应用也是一对多的关系。
在实际应用中,外模式一般用于保证数据库安全性,每个用户只能看见和访问所对应的外模式中的数据。
3.内模式(Internal Schema)
内模式也称存储模式,它是数据物理结构和存储方式的描述,是数据库在数据库内部的表示方式,包括:记录的存储方式;索引的组织方式;数据是否压缩存储;数据是否加密;数据存储记录结构 的规定。
在一个数据库中只有一个内模式!!!
1.3.3 数据库的二级映像功能与数据独立性
二级映像在数据库管理系统内部实现这三个抽象层次的联系和转换:
外模式 / 模式映像 和 模式 / 内模式映像
二级映像模式保证了数据的逻辑独立性、物理独立性以及数据库外模式的稳定性。
例子:
1.4 数据库系统的组成
数据库、数据库管理系统(及其开发工具)、应用程序和数据库管理员。
1.硬件平台及数据库
(1)要有足够大的内存,存放操作系统、数据库管理系统的核心模块、数据缓冲区和应用程序
(2)有足够大的磁盘或磁盘阵列等设备存放数据库,有足够大的磁带(或光盘)作数据备份
(3)要求系统有较高的通道能力,以提高数据传送率
2.软件
数据库系统的软件主要包括:
(1)数据库管理系统
(2)支持数据库管理系统运行的操作系统
(3)具有与数据库接口的高级语言及其编译系统,便于开发应用程序
(4)以数据库管理系统为核心的应用开发工具
(5)为特定应用环境开发的数据库应用系统
3.人员
不同的人员设计不同的数据抽象级别,具有不同的数据视图,如下图所示:
(1)数据库管理员(DBA)具体职责:
决定数据库中的信息内容和结构;决定数据库的存储结构和存取策略;定义数据的安全性要求和完整性约束条件;监控数据库的使用和运行;数据库的改进和重组。
(2)系统分析员具体职责:
负责应用系统的需求分析和规范说明;与用户及数据库管理员结合,确定系统的硬软件配置;参与数据库系统的概要设计。
(3)数据库设计人员的具体职责:
参加用户需求调查和系统分析;确定数据库中的数据;设计数据库各级模式。
(4)应用程序员的具体职责:
设计和编写应用系统的程序模块;进行调试和安装。
(5)用户:
最终用户通过应用系统的用户接口使用数据库。