第 1 章 数据库概述

Post on 10-Jan-2016

65 views 2 download

description

第 1 章 数据库概述. 冯万利. 本章的重要概念. 数据管理技术发展的三个阶段 人工管理阶段、文件系统阶段、数据库系统阶段及各阶段的特点。 DB 、 DBMS 和 DBS 的概念; SQLServer2005 关系数据库的主要功能、数据类型、实用程序及常用工具。. 主要内容. 数据库系统的产生与发展 数据库、数据库管理系统与数据库系统 SQL Server 2005 关系型数据库简介. 前 言. 从 20 世纪 50 年代中期开始,计算机的应用由科学研究部门逐渐扩展到企业、行政部门。至 60 年代,数据处理已成为计算机的主要应用。 - PowerPoint PPT Presentation

Transcript of 第 1 章 数据库概述

第 1 章 数据库概述

冯万利

本章的重要概念

※数据管理技术发展的三个阶段人工管理阶段、文件系统阶段、数据库系统阶段及各阶段的特点。

※DB 、 DBMS 和 DBS 的概念;※SQLServer2005 关系数据库的主要功能、数

据类型、实用程序及常用工具。

主要内容

※数据库系统的产生与发展 ※数据库、数据库管理系统与数据库系统 ※SQL Server 2005 关系型数据库简介

前 言

※从 20 世纪 50 年代中期开始,计算机的应用由科学研究部门逐渐扩展到企业、行政部门。至60 年代,数据处理已成为计算机的主要应用。

※在 60 年代末,数据库技术作为数据处理中的一门新技术发展起来的。

※经过 30 多年的发展,数据库技术已是计算机软件领域的一个重要分支,形成了较为完整的理论体系和实用技术。

1.1 数据库系统的产生与发展

主要内容

※数据和数据管理技术※数据管理发展的三个阶段

数据库系统的产生与发展

※ 1963 年,美国 Honeywell 公司的 IDS ( Integrated Data Store )系统投入运行,揭开了数据库技术的序幕。

※ 20 世纪 70 年代是数据库蓬勃发展的年代,网状系统和层次系统占据了整个数据库商用市场,而关系系统仅处于实验阶段。

※ 20 世纪 80 年代,关系系统由于使用简便以及硬件性能的改善,逐步代替网状系统和层次系统占领了市场。

※ 20 世纪 90 年代,关系数据库已成为数据库技术的主流。 ※ 进入 21 世纪以后,无论是市场的需求还是技术条件的成

熟,对象数据库技术、网络数据库技术的推广和普及已成定局。

数据和数据管理技术

※数据是数据库系统研究和处理的对象。数据与信息是分不开的,它们既有联系又有区别。

※数据通常指用符号记录下来的、可以识别的信息。数据是载荷信息的媒体 , 它包括数值型数据和非数

值型数据。※信息与数据之间存在着固有的联系:

数据是信息的符号表示或称为载体;信息则是数据的内涵,是对数据语义的解释。

数据和数据管理技术

※ 数据管理:数据管理是指对数据的分类、组织、编码、存储、查询和维护等活动,是数据处理的中心环节。

※ 数据处理: 数据处理是指从某些已知的数据出发,推导加工出一些新的数据,这些新的数据又表示了新的信息。

※ 数据管理与数据处理关系 数据处理量的增长,产生了数据管理技术。 数据管理技术的优劣,将直接影响数据处理的效率。 数据管理技术的发展,与计算机硬件(主要是外部存储器)、

系统软件及计算机应用的范围有着密切的联系。

数据管理技术的发展过程

※人工管理※文件系统※数据库阶段

人工管理阶段

※20 世纪 50 年代中期以前,计算机主要用于科学计算,其他工作还没有展开。

※外部存储器只有磁带、卡片和纸带等,还没有磁盘等字节存取存储设备。

※软件只有汇编语言,尚无数据管理方面的软件。※数据处理的方式基本上是批处理。

人工管理阶段的数据管理特点

※数据不保存在计算机内。 ※没有专用的软件对数据进行管理。 ※只有程序( program )的概念,没有文件( f

ile )的概念。数据的组织方式必须由程序员自行设计与安排。

※数据面向程序。即一组数据对应一个程序。

文件系统阶段

※20 世纪 50 年代后期至 60 年代中期,计算机不仅用于科学计算,还用于信息管理。

※需要:随着数据量的增加,数据的存储、检索和维护问题成为紧迫的需要,数据结构和数据管理技术迅速发展起来。

※条件:外部存储器已有磁盘、磁鼓等直接存取存储设备。软件领域出现了高级语言和操作系统。操作系统中

的文件系统是专门管理外存的数据管理软件。数据处理的方式有批处理,也有联机实时处理。

文件系统阶段的数据管理特点

※数据以“文件”形式可长期保存在外部存储器的磁盘上。

※数据的逻辑结构与物理结构有了区别,但比较简单。

※文件组织已多样化。有索引文件、链接文件和直接存取文件等。

※数据不再属于某个特定的程序,可以重复使用,即数据面向应用。

※对数据的操作以记录为单位。

文件系统阶段的数据管理缺陷

※数据冗余( redundancy ) ※数据不一致( inconsistency )※数据联系弱( poor data relationship )

数据库阶段

数据管理技术进入数据库阶段的标志是 20 世纪 60 年代末的三件大事:

※1968 年美国 IBM 公司推出层次模型的 IMS 系统 。

※1969 年美国 CODASYL 组织发布了 DBTG报告,总结了当时各式各样的数据库,提出网状模型。

※1970 年美国 IBM 公司的 E.F.Codd 连续发表论文,提出关系模型,奠定了关系数据库的理论基础。

数据库阶段的数据管理具有以下特点

※采用数据模型表示复杂的数据结构。 ※有较高的数据独立性。※数据库系统为用户提供了方便的用户接口。 ※数据库系统提供以下四方面的数据控制功能:

数据库的并发控制,数据库的恢复,数据的完整性和数据安全性。

※增加了系统的灵活性

数据库系统的结构

数据库整体逻辑结构用户的局部逻辑结构 数据库的物理结构

逻辑数据独立性

物理数据独立性

程序和数据间的联系

数据库管理系统

DBMS

应用程序 1

应用程序 2

应用程序 n

…数据库

数据库阶段信息处理方式的演变

输入 输出程序

文件

(a) 传统方式输入

应用程序

输入

报表联机终端

查询处理程序

要求

报表生成程序

输出

数据库

应用程序

输入 输出

(b) 数据库方式

1.2 数据库、数据库管理系统与数据库系统

主要内容

※数据库※数据库管理系统※数据库系统

数据库的概念

※数据库是指计算机系统中集中存储的一批数据的集合,它是计算机系统的工作对象。

※定义 1.1 数据库( DataBase ,简记为 DB )是指长期存储在计算机内、有组织的、统一管理的相关数据的集合。 DB 能为各种用户共享,具有较小的数据冗余度、数据间联系紧密而又有较高的数据独立性等特点。

※ 特别需要指出的是,数据库中的存储数据是“集成的”和“共享的”。

※集成是指把某个特定应用环境中的与各种应用相关的数据及其数据之间的联系(联系也是一种数据)全部集中并按照一定的结构形式进行存储,或者说,把数据库看成为若干个性质不同的数据文件的联合和统一的数据整体,并且在文件之间局部或全部消除了冗余,这使数据库系统具有整体数据结构化和数据冗余小的特点。

※共享是指数据库中的一块块数据可为多个不同的用户所共享,即多个不同的用户使用多种不同的语言,为了不同的应用目的同时存取数据库,甚至同时存取同一块数据。共享实际上是基于数据库是“集成的”这一事实的结果。

数据库的概念

数据库数据具有永久存储、有组织和可共享三个基本特点。

数据库管理系统

※数据库管理系统用于负责数据库存取、维护和管理。数据库系统各类用户对数据库的各种操作请求,都是由 DBMS 来完成的,它是数据库系统的核心软件。

※定义 1.2 数据库管理系统( DataBase Management System ,简记 DBMS )是位于用户与操作系统之间的一层数据管理软件(见图 1.4 ),它为用户或应用程序提供访问 DB 的方法,包括 DB 的建立、查询、更新及各种数据控制。

※ 接受应用程序的数据请求和处理请求;※ 将用户的数据请求(高级指令)转换成复杂的机器代码

(低层指令);※ 实现对数据库的操作;※ 从对数据库的操作中接受查询结果;※ 对查询结果进行处理(格式转换);※ 将处理结果返回给用户。

DBMS 的工作模式 (1)

DBMS 的工作模式

DBMS 的工作模式 (2)

※用户访问数据的过程

DBMS 的主要功能

※ 数据库的定义功能:定义语言 DDL 来定义数据库的三级结构、两级映象,定义数据的完整性约束、保密限制等约束。

※ 数据库的操纵功能:操纵语言 DML 实现对数据的基本操作,数据查询和数据更新。

※ 数据库的保护功能:数据库恢复、数据库的并发控制、数据完整性控制、数据安全性控制。

※ 数据库的维护功能:数据库的数据载入、转换、转储、数据库的改组以及性能监控工能。

※ 数据字典( DD ):对数据库的操作都要通过 DD才能实现, DD 还存放数据库运行时的统计信息。

DBMS 的模块组成

DBMS 使多种程序并发地使用数据库,更有效地及时地处理数据,并提供安全性和完整性。

※ 查询处理器有四个主要成分: DDL 编译器:编译或解释 DDL 语句,并把它登录在数据字典中。

DML 编译器:对 DML 语句进行优化并转换成查询运行核心程序能执行的低层指令。

嵌入式 DML 的预编译器:把嵌入在主语言中的 DML 语句处理成规范的过程调用形式。

查询运行核心程序:执行由 DML 编译器产生的低层指令。※ 存储管理器有四个主要成分:权限和完整性管理器,事务管理器,文件管理器及缓冲区管理器。

数据库系统 (1)

应用系统

用户 用户 用户

应用开发工具

数据库管理系统

操作系统

数据库

数据库管理员

※ 数据库系统( DataBase System , DBS )是指在计算机系统中引入数据库后的系统,一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员构成。

数据库系统的软件

DBS 由硬件系统、数据库集合、 DBMS 、相关软件、 DBA 和用户组成。

数据库系统的软件主要包括:※ DBMS : DBMS 是为数据库的建立、使用和维护配置的系统软件。

※ 支持 DBMS 运行的操作系统。※ 具有与数据库接口的高级语言及其编译系统,便于开

发应用程序。※ 以 DBMS 为核心的应用开发工具。应用开发工具是

系统为应用开发人员和最终用户提供的高效率、多功能的应用生成器、第四代语言等各种软件工具。它们为数据库系统的开发和应用提供了良好的环境。

※ 为特定应用环境开发的数据库应用系统。

数据库系统人员

数据抽象级别 软件系统层次

外模式

模式

内模式

用户

DBA 和 系统分析 员

应用程序员

DBMS

OS

应用系统

DB

各类人员数据视图

※ 开发、管理和使用数据库系统的人员主要是:数据库管理员( DataBase Administrator , DBA )、系统分析员和数据库设计人员、应用程序员和最终用户。不同的人员涉及不同的数据抽象级别,具有不同的数据视图。

数据库管理员

※ 数据库管理员( DBA )在数据库环境下,有两类共享资源。一类是数据

库,另一类是数据库管理系统软件。因此需要有专门的管理机构来监督和管理数据库系统。 DBA 则是这个机构的一个(组)人员,负责全面管理和控制数据库系统。

※ DBA 的职责包括:决定数据库中的信息内容和结构;决定数据库的存储结构和存取策略; 定义数据的安全性要求和完整性约束条件;监控数据库的使用和运行; 数据库的改进、重组或重构; 定期对数据库进行重组织,以提高系统的性能; 数据库的重构造。

系统分析、数据库设计和应用人员

※ 系统分析员负责应用系统的需求分析和规范说明,要和用户及 DBA相结合,确定系统的硬件和软件配置,并参与数据库系统的概要设计。

※ 数据库设计人员负责数据库中数据的确定、数据库各级模式的设计。数据库设计人员必须参加用户需求调查和系统分析,然后进行数据库设计。在很多情况下,数据库设计人员就由数据库管理员担任。

※ 应用程序员负责设计和编写应用系统的程序模块,并进行调试和安装。

数据库用户

※ 用户是指最终用户( End User )。最终用户通过应用系统的用户接口使用数据库。常用的接口方式有浏览器、菜单驱动、表格操作、图形显示、报表书写等。

※ 最终用户可以分为如下三类: 偶然用户:这类用户不经常访问数据库,但每次访问数据库时往往需

要不同的数据库信息,这类用户一般是企业或组织机构的高中级管理人员。

简单用户:数据库的多数最终用户都是简单用户。其主要工作是查询和更新数据库,一般都是通过应用程序员精心设计并具有友好界面的应用程序存取数据库。银行的职员、航空公司的机票预定工作人员、旅馆总台服务员等都属于这类用户。

复杂用户:复杂用户包括工程师、科学家、经济学家、科学技术工作者等具有较高科学技术背景的人员。这类用户一般都比较熟悉数据库管理系统的各种功能,能够直接使用数据库语言访问数据库,甚至能够基于数据库管理系统的 API 编制自己的应用程序。

1.3 SQL Server 2005 关系型数据库简介

主要内容

※ 概述※系统数据库简介※数据类型※实用程序和常用工具简介

SQL Server 2005 关系型数据库简介

※ SQL Server 是 Microsoft 公司的一个关系数据库管理系统,从 20 世纪 80 年代后期开始开发。

※ SQL Server最初是由 Microsoft 、 Sybase 和 Aston-Tate 三家公司共同开发的。

※ 1988 年, Microsoft 公司、 Sybase 公司和 Aston-Tate 公司把该产品移植到 OS/2上。

※ 后来 Aston-Tate 公司退出了该产品的开发,而 Microsoft 公司、 Sybase 公司则签署了一项共同开发协议,这两家公司的共同开发结果是发布了基于 Windows NT操作系统的 SQL Server 。

※ 1992 年,将 SQL Server移植到了 Windows NT平台上。※ 1996 年, Microsoft 公司推出了 SQL Server 6.5版本,接着在 199

8 年又推出了具有巨大变化的 7.0版,这一版本在数据存储和数据库引擎方面发生了根本性的变化。

※ 2000 年 9月布了 SQL Server 2000 ,其中包括企业版、标准版、开发版和个人版四个版本。

新增强功能 (1)

※ Notification Services 增强功能;※ Reporting Services 增强功能:※ Reporting Services设计时增强功能 ;※ Reporting Services 可编程性的增强功能 ;※ Reporting Services 可管理性和部署的增强功能 。※ 新增的 Service Broker 。 Service Broker 在实现 SQL Server 中的消

息传递方面具有以下优势:※ 高伸缩性;※ 消息协调、排序和锁定;※ 集成数据库数据 ; ※ 集成数据库安全性 。※ 数据库引擎增强功能 ;※ 数据访问接口方面的增强功能 ;※ SQL Server Analysis Services ( SSAS )的增强功能 ;※ Integration Services 的增强功能 ;※ 复制增强和实用工具增强功能 。

SQL Server Management Studio 的连接

※双击桌面上的“ SQL Server managenment Studio”图标,即打开 Microsoft SQL Server Manager 管理器,并弹出“接到服务器”对话框,如下图所示。

SQL Server Management Studio 的连接

※在“连接到服务器”对话框中,可以设置连接到的服务器,即服务器名称项,还可以设置以什么身份登录,共有两种: Windows身份验证和 SQL Server身份验证。默认是 Windows身份验证,如果选择 SQL Server身份验证,要输入用户名和密码,正确输入后,单击“连接”按钮即可打开 SQL Server Management Studio 。

※打开 SQL Server Management Smdio 后,界面如下图所示。

SQL Server 2005 系统数据库简介

※ SQL Server 2005 有 4 个系统数据库,它们分别为 Master 、 Model 、 Msdb 、 Tempdb 。

※ Master 数据库是 SQL Server 系统最重要的数据库,它记录了 SQL Server 系统的所有系统信息。这些系统信息包括所有的登录信息、系统设置信息、 SQL Server 的初始化信息和其他系统数据库及用户数据库的相关信息。因此,如果Master 数据库不可用,则 SQL Server 无法启动。在 SQL Server 2005 中,系统对象不再存储在 Master 数据库中,而是存储在 Resource 数据库中。

※ Model 数据库作用是在 SQL Server 实例上创建的所有数据库的模板。因为每次启动 SQL Server 时都会创建 Tempdb ,所以 Model 数据库必须始终存在于 SQL Server 系统中。当发出 CREATE DATABASE (创建数据库)语句时,将通过复制 Model 数据库中的内容来创建数据库的第一部分,然后用空页填充新数据库的剩余部分。如果修改 model 数据库之后创建的所有数据库都将继承这些修改。例如,可以设置权限、数据库选项或者添加对象,例如,表、函数或存储过程。

SQL Server 2005 系统数据库简介

※ Msdb 数据库是代理服务数据库,为其报警、任务调度和记录操作员的操作提供存储空间。

※ Tempdb 数据库是一个临时数据库,它为所有的临时表、临时存储过程及其他临时操作提供存储空间。 Tempdb 数据库由整个系统的所有数据库使用,不管用户使用哪个数据库,他们所建立的所有临时表和存储过程都存储在 Tempdb上。 SQL Server每次启动时, Tempdb 数据库被重新建立。当用户与 SQL Server断开连接时,其临时表和存储过程自动被删除。

SQL Server2005 数据类型

※在计算机中数据有两种特征:类型和长度。所谓数据类型就是以数据的表现方式和存储方式来划分的数据种类。

※SQL Server 中数据类型分为整型、浮点型、二进制数据型、逻辑型、字符型、文本型、图形型、日期时间型、货币型、特定数据型、自定义类型和表型。

实用程序和常用工具简介 (1)

※ 企业管理器是用来对本地或者远程服务器进行管理操作的服务器应用程序,如下图。企业管理器采用了类似于资源管理器的树型结构,在左边的树型结构图上,根节点是“控制台根目录”,表示它是所有服务器控制台的根。

※ 使用企业管理器可以完成下述工作:创建和删除数据库和表。启动、终止和配置服务器。创建和控制用户帐户和用户组。备份和恢复数据库以及事物处理日志。检查数据的一致性。

实用程序和常用工具简介 (3)

※ 查询分析器( Query Analyzer )※如下图,使用查询分析器可以执行输入的 SQ

L 语句,执行结果会显示在屏幕上, SQL 查询分析器不仅仅是一个 SQL 查询系统,它可以在同一个窗口中执行多个 Transact-SQL 语句,也可以执行脚本文件中的 SQL 语句。