《网络通信安全管理员(中级)-10-数据库.pdf》由会员分享,可在线阅读,更多相关《网络通信安全管理员(中级)-10-数据库.pdf(35页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、网络通信安全管理员-中级数据库讲师:谢 诚通信行业职业技能鉴定中心培训教程2012年2月第1章 数据库系统概述第1章 数据库系统概述学习目的和要求学习目的和要求数据库管理系统出现的背景数据库管理系统出现的背景数据库管理系统基本功能、抽象层次数据库管理系统基本功能、抽象层次数据库系统总体结构数据库系统总体结构理解数据库原理、应用及设计三部分间的关系理解数据库原理、应用及设计三部分间的关系数据库系统中的术语与基本概念数据库系统中的术语与基本概念1.1 数据库管理系统及其总体概述数据库管理系统及其总体概述从最原始的观点出发来看如下问题从最原始的观点出发来看如下问题:一.从利用文件系统来开发管理软件和
2、网络共享观点来看待数据库管理系统的出现一.从利用文件系统来开发管理软件和网络共享观点来看待数据库管理系统的出现1.利用文件系统的应用软件开发过程利用文件系统的应用软件开发过程 开发任务开发任务 开发工具及环境开发工具及环境简单学生管理系统,有学生注册、选课、学籍、和成绩等模块。C/C+、Windows操作系统的文件系统。开发任务分析及设计开发任务分析及设计注意:要完全抛开现成的数据库及工具。利用文件系统来模拟数据库。数据结构及数据文件数据结构及数据文件struct Student intnStudNo;charszStudName20;charcStudSex;intnStudAge;char
3、szDept30;struct EnrolledintnStudNo;intnWhichTerm;charcEnrolled;charszMem30;struct CourseintnCourseNo;charszCourseName20;charszDept30;struct GradeintnStudNo;intnCourseNo;intnGrade;数据管理操作数据管理操作2.文件系统的缺陷文件系统的缺陷 大容量数据存储,大数据量如500GB最基本的数据操作:增加、删除、修改和查询,简称:增删改查询。业务操作或功能由这四个基本操作组合而来。大容量数据存储,大数据量如500GB最基本的数据
4、操作:增加、删除、修改和查询,简称:增删改查询。业务操作或功能由这四个基本操作组合而来。1 KB(kilobyte)=1024 Byte1 MB(megabyte)=1024 KB1 GB(gigabyte)=1024 MB1 TB(terabyte)=1024 GB1 PB(petabyte)=1024 TB问题:问题:并发访问下避免数据不一致;系统故障下如何保证数据一致。安全性安全性 数据一致性数据一致性不同用户的授权问题等。(1)内存不够。()内存不够。(2)32位计算机直接访问的地址为位计算机直接访问的地址为4GB。在在32位机上位机上Linux、Windows NT、Windows
5、2000等操作系统不允许硬盘上单个文件超过等操作系统不允许硬盘上单个文件超过232B=4GB大小。大小。(3)大数据量下的查询速度。)大数据量下的查询速度。多用户并发访问多用户并发访问二.从文件系统缺陷及管理特点来看数据库管理系统应具有的基本功能二.从文件系统缺陷及管理特点来看数据库管理系统应具有的基本功能 数据独立性数据独立性(Data Independence):指应用程序独立于数据的表示(逻辑)与存储(物理),通过将数据的定义与存储从程序中独立出来实现。高效数据访问高效数据访问(Efficient Data Access):DBMS利用许多复杂的技术来高效存储和检索数据,这对存于外部存储
6、设备上的数据相当重要。数据完整性与安全性数据完整性与安全性(Data Integrity and Security):DBMS通过数据的完整性约束或限制(Integrity Constraints)、访问控制来完成。通过将数据存储于DBMS中而不是文件系统中,可以以一种强壮、高效的方式进行数据的管理,其优点为:通过将数据存储于DBMS中而不是文件系统中,可以以一种强壮、高效的方式进行数据的管理,其优点为:数据管理数据管理(Data Administration):数据的集中管理可减少冗余。并发访问与故障恢复并发访问与故障恢复(Concurrent Access and Crash Recove
7、ry):并发访问可使用户感到好象只有他一个人在使用某个数据。缩短应用开发时间缩短应用开发时间(Reduced Application Development Time)(Reduced Application Development Time):有许多重要的数据管理及其相关的任务由DBMS来完成,而非App.注:不使用注:不使用DBMS的环境的环境(1)苛刻的实时)苛刻的实时(Real-Time)环境;(环境;(2)操作少,代码要求精炼;()操作少,代码要求精炼;(3)操纵的数据不被查询语言支持,如文档数据。)操纵的数据不被查询语言支持,如文档数据。2012年2月17日Designed by
8、Tao Hongcai9为了有效解决上述问题,将上述处理公共功能的代码提取出来,形成了一个中间的、作为开发和应用的系统“平台”,也就是为了有效解决上述问题,将上述处理公共功能的代码提取出来,形成了一个中间的、作为开发和应用的系统“平台”,也就是数据库管理系统数据库管理系统DBMS-DataBase Management System是处理数据库访问的软件。提供数据库的用户接口。是处理数据库访问的软件。提供数据库的用户接口。DBMS的目的:的目的:提供一个可以方便地、有效地存取数据库信息的环境提供一个可以方便地、有效地存取数据库信息的环境2012年2月17日Designed by Tao Hon
9、gcai10数据库数据库最终用户应用系统最终用户应用系统应用开发工具应用开发工具DBMS操作系统操作系统数据库管理员数据库管理员DBA数据库系统构成简图数据库系统构成简图应用程序员应用程序员数据库管理系统应具有的基本功能数据库管理系统应具有的基本功能 数据独立性数据独立性 并发控制并发控制 安全性安全性 故障恢复故障恢复 完整性完整性三.从应用系统开发的角度来看待数据库的抽象层次三.从应用系统开发的角度来看待数据库的抽象层次 外 模 式外 模 式 1 现 实 系 统现 实 系 统 概 念 模 式概 念 模 式内 模 式内 模 式 物 理 抽 象物 理 抽 象 概 念 抽 象概 念 抽 象 视
10、图 抽 象视 图 抽 象 数 据 库 管 理 系 统 抽 象 层 次 数 据 库 管 理 系 统 抽 象 层 次 外 模 式外 模 式 2外 模 式外 模 式 n磁 盘磁 盘四.从数据库的抽象层次来进行数据库应用管理系统的设计与开发,及其设计工具四.从数据库的抽象层次来进行数据库应用管理系统的设计与开发,及其设计工具 抽象层次体现的正是数据库设计与开发的过程抽象层次体现的正是数据库设计与开发的过程 各阶段中使用不同的设计工具各阶段中使用不同的设计工具 自顶向下自顶向下/自底向上自底向上2012年2月17日Designed by Tao Hongcai14五.从对数据库管理系统的要求和操作来看待
11、SQL数据库语言五.从对数据库管理系统的要求和操作来看待SQL数据库语言 数据定义数据定义 数据操作数据操作 系统管理系统管理 SQL与与ODBC、JDBC六.数据库原理、应用与设计之间的联系六.数据库原理、应用与设计之间的联系 CGI/ISAPIODBC/JDBC/OLE DB 概念模式概念模式 外模式外模式 1外模式外模式 n 外模式外模式 2现实系统现实系统 关系数据库管理系统关系数据库管理系统 RDBMS 利用利用 SQL DDL 将将 关系模型存入数据库关系模型存入数据库SQL 的嵌入式使用的嵌入式使用C/C+、PB、Delphi、Java 应用程序应用程序 数据库应用部分数据库应用
12、部分 用户用户SQL的交互式使用的交互式使用 数据库原理部分数据库原理部分 DB 数据库安全并发控制数据库安全并发控制 故障恢复故障恢复 完整性限制完整性限制数据库系统总体结构图数据库系统总体结构图数据库设计部分数据库设计部分 SQL 语句SQL 定义语句 C/S 模式 浏览器浏览器 WEB 服务器服务器B/S 模式HTTPSQL语句CGI/ASP/JSP 程序程序 通过以上介绍应了解:数据库管理系统的原理与数据库应用系统的设计与开发的联系是紧密相关的。通过以上介绍应了解:数据库管理系统的原理与数据库应用系统的设计与开发的联系是紧密相关的。七.从实际应用需要来看待数据库技术的发展七.从实际应用
13、需要来看待数据库技术的发展 文件系统 第一代数据库系统(层次与网状数据库系统)代表:IMS、DBTG报告应用程序应用程序 n应用程序应用程序 2文件文件 n文件文件 2应用程序应用程序 1文件文件 1存取方法存取方法 第二代数据库系统第二代数据库系统(关系数据库系统关系数据库系统RDBMS)数据仓库数据仓库(Data Warehousing)代表:System R、Ingres、Oracle、DB2(Informix)、Sybase、MS SQL Server OLTP(Online Transaction Process)数据挖掘数据挖掘(Data Mining)并行与分布式数据库并行与分布
14、式数据库 Internet 数据库数据库 面向对象数据库面向对象数据库OODBMS,OLAP(Online Analysis Process)2012年2月17日Designed by Tao Hongcai18RDBMSOracle数据库系统目前的版本是数据库系统目前的版本是Oracle9i,它在全球和中国的销量都是第一。我国的主要用户是公安系统、金融系统和大型企业。,它在全球和中国的销量都是第一。我国的主要用户是公安系统、金融系统和大型企业。Oracle数据库系统非常复杂,可以按照用户的要求进行组装。它支持数据库系统非常复杂,可以按照用户的要求进行组装。它支持Web功能,支持在数据库中存储
15、大对象的数据,如图象和图形、视频和音频数据等等。功能,支持在数据库中存储大对象的数据,如图象和图形、视频和音频数据等等。Sybase公司的主打产品有两种:Sybase Adaptive Server Enterprise和Sybase Adaptive Server Anywhere。它在中国的销量是第二,其主要用户有铁道部、金融系统和大型企业。成功的案例有“98世界杯网站系统”,“全国铁路售票系统”(与民航售票系统完全不同)。这些系统主要采用Sybase公司的数据复制技术和主键冲突解决方案。Microsoft公司的数据库产品是SQL Server,它最早是从Sybase公司买的核心技术,目前
16、的版本是7.0。它在全球的销量处于第三位,处于第二位的是IBM的DB2,DB2主要专用于IBM的大型机,用于并行存储与计算。而Microsoft公司的SQL Server在我国的主要用户是中小型企业和教育机构。2012年2月17日Designed by Tao Hongcai19RDBMS请参阅Microsoft公司的网站:http:/请参阅Sybase公司的网站:http:/请参阅Oracle公司的网站:http:/1.2 数据库系统中的基本概念1.2 数据库系统中的基本概念一.数据、数据库、数据库管理系统和数据库系统一.数据、数据库、数据库管理系统和数据库系统数据数据(Data)是描述现实
17、世界中各种具体事物或抽象概念的可存储并具有明确意义的信息。数据库数据库(Database,DB)是相互关联的数据集合。数据库管理系统数据库管理系统(Database Management System,DBMS)是一个通用的软件系统,由一组计算机程序构成。它能对数据库进行有效的管理,包括存储管理、安全性管理、完整性管理等;同时,它也为用户提供了一个软件环境,使其能够方便快速地创建、维护、检索、存取和处理数据库中的信息。数据库操作数据库操作DB A或用户或用户应用程序应用程序数据库管理系统数据库管理系统DB MS 数据库系统环境示意图 数据库系统环境示意图 DB数据库操作数据库操作数据库系统数据
18、库系统(Database System,DBS)由数据库和数据库管理系统构成,更广义的构成则为“DB+DBMS+数据库管理员(DataBase Administration,DBA)+应用程序+用户”。数据字典数据字典(Data Dictionary,DD)是数据库系统中的一个特殊文件,用于存储数据库的一些说明信息,这些说明信息称为元数据(Meta Data)。数据库操作数据库操作(Database Operation)在数据库应用中,最常见的数据库操作有:增加、删除、修改和查询。大型数据库与微机数据库区别视图大型数据库与微机数据库区别视图(View)对同一数据库的每一种理解即被称为该数据库的
19、一个视图。二.视图二.视图数据库的分层视图数据库的分层视图应应用程序员用程序员最终用户最终用户 DBA 系系统程序员统程序员 物理物理 数据数据 物理视图物理视图 内模式内模式 内部视图内部视图 概念模式概念模式 概念视图概念视图 子模式子模式 1 外部视图外部视图 子模式子模式 2 子模式子模式 n 用户图表用户图表 1 I/O 视图视图 用户图表用户图表 2 用户图表用户图表 n 数据库分层视图 数据库分层视图 组织组织 输入输出数据视图输入输出数据视图 即终端用户所见到的输入输出数据结构描述,也就是最终用户所见到的数据库的样子。外部视图外部视图(External View)局部数据库逻辑
20、结构称为外部视图。这种视图在数据库设计时通常以图形的形式(如E-R图)表示,有的又叫视图或用户视图。概念视图概念视图(Conceptual View)整个数据库系统的全局逻辑结构。这种逻辑结构称为概念模型,它不包含任何数据库的实现细节,如:何种DBMS、文件组织、存取方法等。这种逻辑结构的形式化描述称为概念视图。在数据库设计时,概念视图通常也以E-R图表示。内部视图内部视图(Internal View)或存储视图或存储视图特定的DBMS所物理视图物理视图(Physical View)数据库在存储设备上的物理组织称为物理模型,其描述称为物理视图。它包含了所使用设备特征、物理记录或块的组成、寻址技
21、术和压缩存储技术等的说明。处理的数据库的内部结构称为内部模型,其形式化描述称为内部视图或存储视图,它将数据库表示为”内部记录”或”存储记录”的集合。存储记录仍然是逻辑性的,它不存储设备上的物理记录或物理块,也不涉及任何具体设备限制,如:柱面或磁道的大小等,所以存储视图还不是最底层的物理层。存储视图还指明存储记录的物理顺序、以及它们如何彼此关联。存储视图的语言形式定义称为内部模式。三.数据抽象、数据模型与数据模式之关系三.数据抽象、数据模型与数据模式之关系数据抽象数据抽象(Data Abstraction)即是将数据抽象化、逻辑化,使用户不必了解数据库文件的物理存储结构、存储位置和存取方法等细节
22、,即可存取数据库。在数据库系统中,有三种级别的数据抽象,即:视图级抽象、概念级抽象和物理级抽象。数据模型数据模型(Data Model)即是对数据进行抽象化表示的工具,主要使用逻辑概念(如对象、对象属性、对象联系等)来表示数据。由于抽象级别的存在,数据模型也存在相应的级别。如:概念数据模型、逻辑数据模型、物理数据模型等。对于抽象级别高的概念数据模型我们叫它语义(Semantic)数据模型语义(Semantic)数据模型,如E-R模型。数据模式数据模式(Data Schema)根据数据模型来描述数据,亦即是描述数据的模板。四.数据模型四.数据模型通俗来讲,数据模型就是对现实世界的模拟、描述或表示
23、。数据模型应满足的三个要求:1.数据模型的三要素1.数据模型的三要素(1)数据结构(1)比较真实地描述现实世界;比较真实地描述现实世界;(2)易为用户所理解;易为用户所理解;(3)易于在计算机上实现。易于在计算机上实现。用于描述系统的静态特性。数据结构不仅要描述数据本身,还要描述数据之间的联系。(2)数据操作(2)数据操作用于描述系统的动态特性。包括操作及有关的操作规则。数据库的主要操作有:插入、删除、修改和查询。2.数据模型应用现状2.数据模型应用现状(3)数据的约束条件)数据的约束条件是一组完整性规则的集合。完整性规则是数据模型中数据及其联系所具有的约束规则,用来限定数据库状态以及状态的变
24、化,以保证数据的正确。为何要使用多种数据模型?(1)现实管理系统的用户与计算机管理系统的设计人员之间的专业差异。(2)用户理解与计算机实现的矛盾。3.传统数据模型回顾3.传统数据模型回顾(1)层次数据模型层次数据模型(Hierarchical Data Model)(Hierarchical Data Model)HDM是数据库系统中最早出现的数据模型。20世纪60年代后期,IBM开发出IMS(Information Management System)DBMS,是层次数据模型的基础。用树形结构表示各类实体以及实体之间的联系。现实世界中许多实体之间的联系就呈现出一种很自然的层次关系,如:行政机
25、构、家庭关系等。层次模型是以记录型为结点的有向树。按树的定义,层次模型有以下两个限制:只有一个结点没有双亲结点,即根结点;根以外的其他结点有且只有一个双亲结点。因此,层次数据库系统只能处理一对多的实体关系。学生学生学院学院 学生学生系系 教师教师学生宿舍学生宿舍层次模型中,每个结点表示一个记录类型,结点之间的连线表示记录类型间的联系。这种联系只能是父子联系。层次模型的另一个最基本的特点是:任何一个给定的的记录值只有按其路径查看时,才能显出它的全部意义,没有一个子女记录值能够脱离双亲记录值而独立存在。(2)网状数据模型网状数据模型(Net Data Model)用层次模型表示非树型结构很不直接,
26、网状模型则可克服这一弊病。网状数据模型的典型代表是DBTG系统,亦称CODASYL系统。是由美国数据库系统语言协会CODASYL(Conference On Data System Language)下属的DBTG(DataBase Task Group)于60年代末70年代初提出的一个系统方案,形成DBTG报告。网状模型比层次模型更具普遍性。它去掉了层次模型的两个限制,允许结点有多个双亲结点。可比层次模型更直接地描述现实世界。学院学院 学生学生系系 教师教师学生宿舍学生宿舍学生学生课程课程五.数据库语言、SQL语言五.数据库语言、SQL语言数据定义子语言数据定义子语言(Data Defini
27、tion Language,DDL)用来定义数据库模式。数据操纵子语言数据操纵子语言(Data Manipulation Language,DML)用来表示用户对数据库的操作请求。由于数据库语言其主要的功能是查询数据库中的信息,故经常称之为数据查询语言数据查询语言。SQL(Structured Query Language,结构化查询语言结构化查询语言)是一种集数据定义和数据操纵子语言为一体的、标准化(20世纪80年代后期)的、关系型数据库语言。目前的标准 化 版 本 为 SQL-92,被 ANSI(AmericanNationalStandards Institute)、ISO(International StandardsOrganization)采纳。SQL语言的第一个版本是由IBM公司SAN JOSE实验室为SYSTEM R关系数据库管理系统设计的。SQL语言既可以作为交互式(Interactive)数据库语言使用,也可以嵌入(Embedded)到程序设计语言中作为其子语言使用,这时前者称为宿主语言(Host Language),如:C/C+语言、PowerBuilder、Delphi等。SQLSQL标准有:SQL-86、SQL-89、SQL-92、SQL:1999。本章结束,谢谢!