当前位置: 首页 > >

网络通信安全管理员(中级)-10-数据库

发布时间:

网络通信安全管理员-中级
数据库

讲师:谢 诚 通信行业职业技能鉴定中心培训教程 2012年2月

第1章 数据库系统概述
学*目的和要求 ? 数据库管理系统出现的背景 ? 数据库管理系统基本功能、抽象层次 ? 数据库系统总体结构 ? 理解数据库原理、应用及设计三部分 间的关系 ? 数据库系统中的术语与基本概念

1.1 数据库管理系统及其总体概述
从最原始的观点出发来看如下问题:

一.从利用文件系统来开发管理软件和网络 共享观点来看待数据库管理系统的出现
1.利用文件系统的应用软件开发过程
★ 开发任务
简单学生管理系统,有学生注册、选课、学籍、和成绩等模块。

★ 开发工具及环境
C/C++、Windows操作系统的文件系统。

★ 开发任务分析及设计
注意:要完全抛开现成的数据库及工具。利用文件系统来模 拟数据库。

★ 数据结构及数据文件
struct Student { int nStudNo; char szStudName[20]; char cStudSex; int nStudAge; char szDept[30]; }; struct Course { int nCourseNo; char szCourseName[20]; char szDept[30]; }; struct Enrolled { int nStudNo; int nWhichTerm; char cEnrolled; char szMem[30]; }; struct Grade { int nStudNo; int nCourseNo; int nGrade; };

★ 数据管理操作 最基本的数据操作:增加、删除、修改和查询,简 称:增删改查询。业务操作或功能由这四个基本操作组合 而来。

2.文件系统的缺陷
※ 大容量数据存储,大数据量如500GB 1 KB (kilobyte) 1 GB (gigabyte) 1 TB (terabyte) = 1024 Byte = 1024 MB = 1024 GB

1 MB (megabyte) = 1024 KB

1 PB (petabyte) = 1024 TB

问题: (1)内存不够。 (2)32位计算机直接访问的地址为4GB。
在32位机上Linux、Windows NT、Windows 2000等操作系 统不允许硬盘上单个文件超过232B=4GB大小。

(3)大数据量下的查询速度。 ※ 多用户并发访问
并发访问下避免数据不一致;系统故障下如何保证数据一致。

※ 数据一致性 ※ 安全性

不同用户的授权问题等。

二.从文件系统缺陷及管理特点来看数据库管 理系统应具有的基本功能
通过将数据存储于DBMS中而不是文件系统中,可以以 一种强壮、高效的方式进行数据的管理,其优点为:

◆ 数据独立性(Data Independence):指应用程
序独立于数据的表示(逻辑)与存储(物理),通过将数 据的定义与存储从程序中独立出来实现。 ◆ 高效数据访问(Efficient Data Access):DBMS 利用许多复杂的技术来高效存储和检索数据,这对存于外 部存储设备上的数据相当重要。 Security):DBMS通过数据的完整性约束或限制 (Integrity Constraints)、访问控制来完成。

◆ 数据完整性与安全性(Data Integrity and

◆ 数据管理(Data Administration):数据的集中
管理可减少冗余。 and Crash Recovery):并发访问可使用户感到好象只有 他一个人在使用某个数据。 Development Time):有许多重要的数据管理及其相关的 任务由DBMS来完成,而非App. ※注:不使用DBMS的环境 (1)苛刻的实时(Real-Time)环境; (2)操作少,代码要求精炼; (3)操纵的数据不被查询语言支持,如文档数据。

◆ 并发访问与故障恢复(Concurrent Access ◆ 缩短应用开发时间(Reduced Application

为了有效解决上述问题,将上述处理公共功能的代码提 取出来,形成了一个中间的、作为开发和应用的系 统“*台”,也就是

数据库管理系统
DBMS - DataBase Management System 是处理数据库访问的软件。 提供数据库的用户接口。 DBMS的目的: 提供一个可以方便地、有效地存取数据库信息的环 境
2012年2月17日 Designed by Tao Hongcai 9

数据库系统构成简图

最终用户

应用系统 应用开发工具 应用程序员 DBMS 操作系统 数据库
Designed by Tao Hongcai

数据库管理员 DBA
2012年2月17日 10

数据库管理系统应具有的基本功能

◆ 数据独立性 ◆ 并发控制 ◆ 故障恢复 ◆ 安全性 ◆ 完整性

三.从应用系统开发的角度来看待数据库的抽 象层次
现 实 系 统 视 图 抽 象

外 模 式 1

外 模 式 2

… …

外 模 式 n 概 念 抽 象

概 念 模 式 物 理 抽 象 内 模 式

磁 盘 数 据 库 管 理 系 统 抽 象 层 次

四. 从数据库的抽象层次来进行数据库应用管 理系统的设计与开发,及其设计工具
■ 抽象层次体现的正是数据库设计与开发的过程 ■ 自顶向下/自底向上 ■ 各阶段中使用不同的设计工具

五. 从对数据库管理系统的要求和操作来看待 SQL数据库语言
■ 数据定义 ■ 数据操作 ■ 系统管理 ■ SQL与ODBC、JDBC

2012年2月17日

Designed by Tao Hongcai

14

六. 数据库原理、应用与设计之间的联系
通过以上介绍应了解:数据库管理系统的原理与数据库应用系统的设 计与开发的联系是紧密相关的。
数据库应用部分 用户
C/S 模式 SQL 的交 互式 使用 SQL 语句 B/S 模式

浏览器
HTTP

现实系统

C/C++、 PB、 Delphi、 Java 应用程序

WEB 服务器
CGI/ISAPI

外模式 1

外模式 2



外模式 n

CGI/ASP/JSP 程序
SQL 的嵌入式使用

概念模式

ODBC/JDBC/OLE DB 数 据库 设 计部分
SQL 语句 SQL 定义语句

关系数据库管理系统 RDBMS

数 据 库 原 理部 分

利用 SQL DDL 将 关系模型存入数据库

并 发控制

故 障恢复

数 据库安 全

完 整性 限 制

DB

数据库系统总体结构图

七. 从实际应用需要来看待数据库技术的发展
▲ 文件系统
应用程序 1 文件 1

应用程序 2 存取 方法 … 应用程序 n

文件 2 … 文件 n

▲ 第一代数据库系统(层次与网状数据库系统) 代表:IMS、DBTG报告

▲ 第二代数据库系统(关系数据库系统RDBMS) 代表:System R、Ingres、Oracle、DB2(Informix)、 Sybase、MS SQL Server ▲ OLTP (Online Transaction Process) ▲ OLAP (Online Analysis Process) ▲ 数据仓库(Data Warehousing) ▲ 数据挖掘(Data Mining) ▲ 并行与分布式数据库 ▲ Internet 数据库 ▲ 面向对象数据库OODBMS,……

RDBMS
?

?

?

Oracle数据库系统目前的版本是Oracle9i,它在全球和中国 的销量都是第一。我国的主要用户是公安系统、金融系统和大 型企业。Oracle数据库系统非常复杂,可以按照用户的要求 进行组装。它支持Web功能,支持在数据库中存储大对象的 数据,如图象和图形、视频和音频数据等等。 Sybase公司的主打产品有两种:Sybase Adaptive Server Enterprise和Sybase Adaptive Server Anywhere。它在中国的销量 是第二,其主要用户有铁道部、金融系统和大型企业。成功的 案例有“98世界杯网站系统”,“全国铁路售票系统”(与民 航售票系统完全不同)。这些系统主要采用Sybase公司的数据复 制技术和主键冲突解决方案。 Microsoft公司的数据库产品是SQL Server,它最早是从Sybase 公司买的核心技术,目前的版本是7.0。它在全球的销量处于 第三位,处于第二位的是IBM的DB2,DB2主要专用于IBM的大 型机,用于并行存储与计算。而Microsoft公司的SQL Server在 我国的主要用户是中小型企业和教育机构。
2012年2月17日 Designed by Tao Hongcai 18

RDBMS
请参阅Microsoft公司的网站:http://www.microsoft.com

请参阅Sybase公司的网站:http://www.sybase.com

请参阅Oracle公司的网站:http://www.oracle.com

2012年2月17日

Designed by Tao Hongcai

19

1.2 数据库系统中的基本概念
一. 数据、数据库、数据库管理系统和 数据库系统
数据(Data) 是描述现实世界中各种具体事物或抽象 概念的可存储并具有明确意义的信息。 数据库(Database, DB) 是相互关联的数据集合。 数据库管理系统(Database Management System, DBMS) 是一个通用的软件系统,由一组计算机程序构成。 它能对数据库进行有效的管理,包括存储管理、安全性管 理、完整性管理等;同时,它也为用户提供了一个软件环 境,使其能够方便快速地创建、维护、检索、存取和处理 数据库中的信息。

数据库系统(Database System, DBS) 由数据库和数据
库管理系统构成,更广义的构成则为“DB+DBMS+数据库管 理员(DataBase Administration, DBA)+应用程序+用 户”。
D B A 或 用 户











































D B M

S

D B 数 据 库 系 统 环 境 示 意 图

数据字典(Data Dictionary, DD) 是数据库系统中的一个特
殊文件,用于存储数据库的一些说明信息,这些说明信息称为元 数据(Meta Data)。

数据库操作(Database Operation) 在数据库应用中,最常
见的数据库操作有:增加、删除、修改和查询。

大型数据库与微机数据库区别

二. 视图
视图(View) 对同一数据库的每一种理解即被称为该 数据库的一个视图。 数据库的分层视图

最 终 用户

I/O 视 图

用户图表 1

用户图表 2



用户图表 n

外 部 视图 应 用 程序 员 概 念 视图 DB A 内 部 视图 系 统 程序 员 物 理 视图

子模式 1

子模式 2



子模式 n

概 念 模式

内模式

物理

数据

组织

数 据 库分 层视 图

输入输出数据视图 即终端用户所见到的输入输出数
据结构描述,也就是最终用户所见到的数据库的样子。

外部视图(External View) 局部数据库逻辑结构称为 外部视图。这种视图在数据库设计时通常以图形的形式 (如E-R图)表示,有的又叫视图或用户视图。 概念视图(Conceptual View) 整个数据库系统的全局 逻辑结构。这种逻辑结构称为概念模型,它不包含任何数 据库的实现细节,如:何种DBMS、文件组织、存取方法等。 这种逻辑结构的形式化描述称为概念视图。在数据库设计 时,概念视图通常也以E-R图表示。

内部视图(Internal View)或存储视图特定的DBMS所 处理的数据库的内部结构称为内部模型,其形式化描述称 为内部视图或存储视图,它将数据库表示为”内部记录” 或”存储记录”的集合。存储记录仍然是逻辑性的,它不 存储设备上的物理记录或物理块,也不涉及任何具体设备 限制,如:柱面或磁道的大小等,所以存储视图还不是最 底层的物理层。存储视图还指明存储记录的物理顺序、以 及它们如何彼此关联。存储视图的语言形式定义称为内部 模式。 物理视图(Physical View) 数据库在存储设备上的物 理组织称为物理模型,其描述称为物理视图。它包含了所 使用设备特征、物理记录或块的组成、寻址技术和压缩存 储技术等的说明。

三. 数据抽象、数据模型与数据模式之关系
数据抽象(Data Abstraction) 即是将数据抽象化、 逻辑化,使用户不必了解数据库文件的物理存储结构、存 储位置和存取方法等细节,即可存取数据库。在数据库系 统中,有三种级别的数据抽象,即:视图级抽象、概念级 抽象和物理级抽象。 数据模型(Data Model) 即是对数据进行抽象化表示 的工具,主要使用逻辑概念(如对象、对象属性、对象联 系等)来表示数据。 由于抽象级别的存在,数据模型也存在相应的级别。 如:概念数据模型、逻辑数据模型、物理数据模型等。对 于抽象级别高的概念数据模型我们叫它语义(Semantic)数 据模型,如E-R模型。 数据模式(Data Schema) 根据数据模型来描述数据, 亦即是描述数据的模板。

四. 数据模型
通俗来讲,数据模型就是对现实世界的模拟、描述 或表示。数据模型应满足的三个要求: (1)比较真实地描述现实世界; (2)易为用户所理解; (3)易于在计算机上实现。

1.数据模型的三要素
(1)数据结构 用于描述系统的静态特性。数据结构不仅要描述数据 本身,还要描述数据之间的联系。

(2)数据操作 用于描述系统的动态特性。包括操作及有关的操作规 则。数据库的主要操作有:插入、删除、修改和查询。 (3)数据的约束条件 是一组完整性规则的集合。完整性规则是数据模型中 数据及其联系所具有的约束规则,用来限定数据库状态以 及状态的变化,以保证数据的正确。

2.数据模型应用现状
为何要使用多种数据模型? (1) 现实管理系统的用户与计算机管理系统的设计 人员之间的专业差异。 (2) 用户理解与计算机实现的矛盾。

3.传统数据模型回顾
(1)层次数据模型(Hierarchical Data Model) HDM是数据库系统中最早出现的数据模型。20世纪60 年代后期,IBM开发出IMS (Information Management System) DBMS,是层次数据模型的基础。 用树形结构表示各类实体以及实体之间的联系。 现实世界中许多实体之间的联系就呈现出一种很自然的 层次关系,如:行政机构、家庭关系等。层次模型是以记 录型为结点的有向树。

学生宿舍

学院

学生 学生



教师

按树的定义,层次模型有以下两个限制: ☆只有一个结点没有双亲结点,即根结点; ☆根以外的其他结点有且只有一个双亲结点。 因此,层次数据库系统只能处理一对多的实体关系。

层次模型中,每个结点表示一个记录类型,结点之间的 连线表示记录类型间的联系。这种联系只能是父子联系。 层次模型的另一个最基本的特点是:任何一个给定的的 记录值只有按其路径查看时,才能显出它的全部意义,没 有一个子女记录值能够脱离双亲记录值而独立存在。 (2)网状数据模型(Net Data Model) 用层次模型表示非树型结构很不直接,网状模型则可 克服这一弊病。 网状数据模型的典型代表是DBTG系统,亦称CODASYL 系统。是由美国数据库系统语言协会CODASYL (Conference On Data System Language)下属的DBTG (DataBase Task Group)于60年代末70年代初提出的一个 系统方案,形成DBTG报告。

网状模型比层次模型更具普遍性。 它去掉了层次模型的两个限制,允许结点有多个双亲结 点。可比层次模型更直接地描述现实世界。
学生宿舍 学院

学生

学生



教师

课程

五. 数据库语言、SQL语言
数据定义子语言(Data Definition Language, DDL) 用来定义数据库模式。 数据操纵子语言(Data Manipulation Language, DML) 用来表示用户对数据库的操作请求。由于数据库 语言其主要的功能是查询数据库中的信息,故经常称之为 数据查询语言。 SQL(Structured Query Language,结构化查询语言) 是一种集数据定义和数据操纵子语言为一体的、标准化 (20世纪80年代后期)的、关系型数据库语言。目前的标 准 化 版 本 为 SQL-92 , 被 ANSI(American National Standards Institute) 、 ISO(International Standards Organization)采纳。

SQL语言的第一个版本是由IBM公司SAN JOSE实验室 为SYSTEM R关系数据库管理系统设计的。 SQL语言既可以作为交互式(Interactive)数据库 语言使用,也可以嵌入(Embedded)到程序设计语言中作 为其子语言使用,这时前者称为宿主语言(Host Language),如:C/C++语言、PowerBuilder、Delphi等。 SQL标准有:SQL-86、SQL-89、SQL-92、SQL:1999。

本章结束,谢谢!




友情链接: