《数据库概述》PPT课件.ppt
2023/7/16,1,第1章 数据库概述,主要内容数据库系统的产生与发展 数据库、数据库管理系统与数据库系统 SQL Server 2005关系型数据库简介,2023/7/16,2,本章主要内容,(1)数据管理技术的发展的三个阶段。(2)数据库、数据库管理系统和数据库系统的定义。(3)数据库开发、管理和使用数据库系统开发人员。(4)SQL Server 2005关系型数据库简介。,2023/7/16,3,本章的重要概念,数据和数据管理技术;数据库系统结构;信息处理方式的演变方式;程序和数据的联系;DBMS和DBS的概念;DBA职责;SQL Server2005关系数据库的主要功能、数据类型、实用程序及常用工具。,2023/7/16,4,前 言,从20世纪50年代中期开始,计算机的应用由科学研究部门逐渐扩展到企业、行政部门。至60年代,数据处理已成为计算机的主要应用。在60年代末,数据库技术作为数据处理中的一门新技术发展起来的。经过30多年的发展,数据库技术已是计算机软件领域的一个重要分支,形成了较为完整的理论体系和实用技术。本章先回顾数据管理技术的发展过程,然后介绍数据库中的基本概念,以使同学们对数据库的概貌有所了解。,5,如何科学地组织和存储数据,如何高效地获取和处理数据,数据库技术研究的问题,2023/7/16,6,1.1 数据库系统的产生与发展,主要内容数据和数据管理技术数据管理发展的三个阶段,2023/7/16,7,数据库系统的产生与发展,1963年,美国Honeywell公司的IDS(Integrated Data Store)系统投入运行,揭开了数据库技术的序幕。20世纪70年代是数据库蓬勃发展的年代,网状系统和层次系统占据了整个数据库商用市场,而关系系统仅处于实验阶段。20世纪80年代,关系系统由于使用简便以及硬件性能的改善,逐步代替网状系统和层次系统占领了市场。20世纪90年代,关系数据库已成为数据库技术的主流。进入21世纪以后,无论是市场的需求还是技术条件的成熟,对象数据库技术、网络数据库技术的推广和普及已成定局。,8,数据(Data):数据是信息的载体。所谓的信息,就是指真实的可传播的消息。同时数据是数据库存储的基本对象。可以是数字(传统和狭义的数据理解),也可以是文字、声音、图片、图像等。,例:(张兵,男,21,1989.10,辽宁,计算机系,2005),(张兵,男,21,178,65,A),数据和数据管理技术,2023/7/16,9,数据和数据管理技术,数据是数据库系统研究和处理的对象。数据与信息是分不开的,它们既有联系又有区别。信息与数据之间存在着固有的联系:数据是信息的符号表示或称为载体;信息则是数据的内涵,是对数据语义的解释。,2023/7/16,10,数据处理发展的三个阶段,数据处理 数据处理是指从某些已知的数据出发,推导加工出一些新的数据,这些新的数据又表示了新的信息。数据处理是与数据管理相联系的,数据管理技术的优劣,将直接影响数据处理的效率。随着数据处理量的增长,产生了数据管理技术。数据管理技术的发展,与计算机硬件(主要是外部存储器)、系统软件及计算机应用的范围有着密切的联系。,2023/7/16,11,数据和数据管理技术,数据管理技术数据管理是指对数据的分类、组织、编码、存储、查询和维护等活动,是数据处理的中心环节。,2023/7/16,12,人工管理阶段,在人工管理阶段20世纪50年代中期以前,计算机主要用于科学计算,其他工作还没有展开。外部存储器只有磁带、卡片和纸带等,还没有磁盘等字节存取存储设备。软件只有汇编语言,尚无数据管理方面的软件。数据处理的方式基本上是批处理。,人工管理阶段的数据管理有下列特点:数据不保存在计算机内。没有专用的软件对数据进行管理。只有程序(program)的概念,没有文件(file)的概念。数据的组织方式必须由程序员自行设计与安排。数据面向程序。即一组数据对应一个程序。,2023/7/16,13,文件系统阶段(1),20世纪50年代后期至60年代中期,计算机不仅用于科学计算,还用于信息管理。随着数据量的增加,数据的存储、检索和维护问题成为紧迫的需要,数据结构和数据管理技术迅速发展起来。此时,外部存储器已有磁盘、磁鼓等直接存取存储设备。软件领域出现了高级语言和操作系统。操作系统中的文件系统是专门管理外存的数据管理软件。数据处理的方式有批处理,也有联机实时处理。,2023/7/16,14,文件系统阶段(2),文件系统阶段的数据管理有以下特点:数据以“文件”形式可长期保存在外部存储器的磁盘上。数据的逻辑结构与物理结构有了区别,但比较简单。文件组织已多样化。有索引文件、链接文件和直接存取文件等。数据不再属于某个特定的程序,可以重复使用,即数据面向应用。对数据的操作以记录为单位。,随着数据管理规模的扩大,数据量急剧增加,文件系统显露出三个缺陷:数据冗余(redundancy)数据不一致(inconsistency)数据联系弱(poor data relationship),2023/7/16,15,人工管理数据阶段程序与数据间的对应关系,文件系统阶段程序与数据间的对应关系,2023/7/16,16,数据库阶段(1),数据管理技术进入数据库阶段的标志是20世纪60年代末的三件大事:1968年美国IBM公司推出层次模型的IMS系统。1969年美国CODASYL组织发布了DBTG报告,总结了当时各式各样的数据库,提出网状模型。1970年美国IBM公司的E.F.Codd 连续发表论文,提出关系模型,奠定了关系数据库的理论基础。,2023/7/16,17,数据库阶段(2),数据库阶段的数据管理具有以下特点:采用数据模型表示复杂的数据结构。有较高的数据独立性。数据库系统为用户提供了方便的用户接口。数据库系统提供以下四方面的数据控制功能:数据库的并发控制数据库的恢复数据的完整性数据安全性增加了系统的灵活性,2023/7/16,18,数据库阶段(3),数据库系统的结构,图1.1 数据库系统结构,2023/7/16,19,数据库阶段(4),程序和数据间的联系,图1.2 程序和数据的联系,2023/7/16,20,数据库阶段(5),数据库阶段信息处理方式的演变,2023/7/16,21,1.2 数据库、数据库管理系统与数据库系统,主要内容数据库数据库管理系统数据库系统,2023/7/16,22,数据库的概念(1),数据库是指计算机系统中集中存储的一批数据的集合,它是计算机系统的工作对象。定义1.1 数据库(DataBase,简记为DB)是指长期存储在计算机内、有组织的、统一管理的相关数据的集合。DB能为各种用户共享,具有较小的数据冗余度、数据间联系紧密而又有较高的数据独立性等特点。特别需要指出的是,数据库中的存储数据是“集成的”和“共享的”。,2023/7/16,23,数据库的概念(2),集成是指把某个特定应用环境中的与各种应用相关的数据及其数据之间的联系(联系也是一种数据)全部集中并按照一定的结构形式进行存储,或者说,把数据库看成为若干个性质不同的数据文件的联合和统一的数据整体,并且在文件之间局部或全部消除了冗余,这使数据库系统具有整体数据结构化和数据冗余小的特点。共享是指数据库中的一块块数据可为多个不同的用户所共享,即多个不同的用户使用多种不同的语言,为了不同的应用目的同时存取数据库,甚至同时存取同一块数据。共享实际上是基于数据库是“集成的”这一事实的结果。,数据库数据具有永久存储、有组织和可共享三个基本特点。,2023/7/16,24,数据库管理系统,数据库管理系统用于负责数据库存取、维护和管理。数据库系统各类用户对数据库的各种操作请求,都是由DBMS来完成的,它是数据库系统的核心软件。定义1.2 数据库管理系统(DataBase Management System,简记DBMS)是位于用户与操作系统之间的一层数据管理软件(见图1.4),它为用户或应用程序提供访问DB的方法,包括DB的建立、查询、更新及各种数据控制。,图1.4 DBMS的工作模式,2023/7/16,25,DBMS的工作模式,接受应用程序的数据请求和处理请求;将用户的数据请求(高级指令)转换成复杂的机器代码(低层指令);实现对数据库的操作;从对数据库的操作中接受查询结果;对查询结果进行处理(格式转换);将处理结果返回给用户。,图1.5 DBMS的工作模式,2023/7/16,26,DBMS的主要功能,数据库的定义功能:定义语言DDL来定义数据库的三级结构、两级映象,定义数据的完整性约束、保密限制等约束。数据库的操纵功能:操纵语言DML实现对数据的基本操作,数据查询和数据更新。数据库的保护功能:数据库恢复、数据库的并发控制、数据完整性控制、数据安全性控制。数据库的维护功能:数据库的数据载入、转换、转储、数据库的改组以及性能监控工能。数据字典(DD):对数据库的操作都要通过DD才能实现,DD还存放数据库运行时的统计信息。,2023/7/16,27,DBMS的模块组成,查询处理器有四个主要成分:DDL编译器:编译或解释DDL语句,并把它登录在数据字典中。DML编译器:对DML语句进行优化并转换成查询运行核心程序能执行的低层指令。嵌入式DML的预编译器:把嵌入在主语言中的DML语句处理成规范的过程调用形式。查询运行核心程序:执行由DML编译器产生的低层指令。存储管理器有四个主要成分:权限和完整性管理器,事务管理器,文件管理器及缓冲区管理器。,DBMS使多种程序并发地使用数据库,更有效地及时地处理数据,并提供安全性和完整性。,2023/7/16,28,数据库系统(1),数据库系统(DataBase System,DBS)是指在计算机系统中引入数据库后的系统,一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员构成。,图1.6 数据库系统,2023/7/16,29,数据库系统的软件,数据库系统的软件主要包括:DBMS:DBMS是为数据库的建立、使用和维护配置的系统软件。支持DBMS运行的操作系统。具有与数据库接口的高级语言及其编译系统,便于开发应用程序。以DBMS为核心的应用开发工具。应用开发工具是系统为应用开发人员和最终用户提供的高效率、多功能的应用生成器、第四代语言等各种软件工具。它们为数据库系统的开发和应用提供了良好的环境。为特定应用环境开发的数据库应用系统。,DBS由硬件系统、数据库集合、DBMS、相关软件、DBA和用户组成。,2023/7/16,30,数据库系统人员,开发、管理和使用数据库系统的人员主要是:数据库管理员(DataBase Administrator,DBA)、系统分析员和数据库设计人员、应用程序员和最终用户。不同的人员涉及不同的数据抽象级别,具有不同的数据视图。,图1.7 各类人员数据视图,2023/7/16,31,数据库管理员(1),数据库管理员(DBA)在数据库环境下,有两类共享资源。一类是数据库,另一类是数据库管理系统软件。因此需要有专门的管理机构来监督和管理数据库系统。DBA则是这个机构的一个(组)人员,负责全面管理和控制数据库系统。具体职责包括:决定数据库中的信息内容和结构:数据库中要存放哪些信息,DBA要参与决策。因此DBA必须参加数据库设计的全过程,并与用户、应用程序员、系统分析员密切合作共同协商,搞好数据库设计。决定数据库的存储结构和存取策略:DBA要综合各用户的应用要求,和数据库设计人员共同决定数据的存储结构和存取策略,以求获得较高的存取效率和存储空间利用率。定义数据的安全性要求和完整性约束条件:DBA的重要职责是保证数据库的安全性和完整性。因此DBA负责确定各个用户对数据库的存取权限、数据的保密级别和完整性约束条件。,2023/7/16,32,数据库管理员(2),监控数据库的使用和运行:DBA还有一个重要职责就是监视数据库系统的运行情况,及时处理运行过程中出现的问题。比如系统发生各种故障时,数据库会因此遭到不同程度的破坏,DBA必须在最短时间内将数据库恢复到正确状态,并尽可能不影响或少影响计算机系统其他部分的正常运行。为此,DBA要定义和实施适当的后备和恢复策略。如周期性的转储数据、维护日志文件等。数据库的改进、重组或重构:DBA还负责在系统运行期间监视系统的空间利用率、处理效率等性能指标,对运行情况进行记录、统计分析,依靠工作实践并根据实际应用环境,不断改进数据库设计。不少数据库产品都提供了对数据库运行状况进行监视和分析的工具,DBA可以使用这些软件完成这项工作。另外,在数据运行过程中,大量数据不断插入、删除、修改,时间一长,会影响系统的性能。因此,DBA要定期对数据库进行重组织,以提高系统的性能。当用户的需求增加和改变时,DBA还要对数据库进行较大的改造,包括修改部分设计,即数据库的重构造。,2023/7/16,33,系统分析、数据库设计和应用人员,系统分析员负责应用系统的需求分析和规范说明,要和用户及DBA相结合,确定系统的硬件和软件配置,并参与数据库系统的概要设计。数据库设计人员负责数据库中数据的确定、数据库各级模式的设计。数据库设计人员必须参加用户需求调查和系统分析,然后进行数据库设计。在很多情况下,数据库设计人员就由数据库管理员担任。应用程序员负责设计和编写应用系统的程序模块,并进行调试和安装。,2023/7/16,34,数据库用户,用户是指最终用户(End User)。最终用户通过应用系统的用户接口使用数据库。常用的接口方式有浏览器、菜单驱动、表格操作、图形显示、报表书写等。最终用户可以分为如下三类:偶然用户:这类用户不经常访问数据库,但每次访问数据库时往往需要不同的数据库信息,这类用户一般是企业或组织机构的高中级管理人员。简单用户:数据库的多数最终用户都是简单用户。其主要工作是查询和更新数据库,一般都是通过应用程序员精心设计并具有友好界面的应用程序存取数据库。银行的职员、航空公司的机票预定工作人员、旅馆总台服务员等都属于这类用户。复杂用户:复杂用户包括工程师、科学家、经济学家、科学技术工作者等具有较高科学技术背景的人员。这类用户一般都比较熟悉数据库管理系统的各种功能,能够直接使用数据库语言访问数据库,甚至能够基于数据库管理系统的API编制自己的应用程序。,2023/7/16,35,1.3 SQL Server 2005关系型数据库简介,主要内容概述系统数据库简介数据类型实用程序和常用工具简介,2023/7/16,36,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版本,接着在1998年又推出了具有巨大变化的7.0版,这一版本在数据存储和数据库引擎方面发生了根本性的变化。又经过两年的努力开发,Microsoft公司于2000年9月布了SQL Server 2000,其中包括企业版、标准版、开发版和个人版四个版本。,2023/7/16,37,新增强功能(1),Notification Services增强功能;Reporting Services增强功能:Reporting Services设计时增强功能;Reporting Services可编程性的增强功能;Reporting Services可管理性和部署的增强功能。新增的Service Broker。Service Broker在实现SQL Server中的消息传递方面具有以下优势:高伸缩性;消息协调、排序和锁定;集成数据库数据;集成数据库安全性。数据库引擎增强功能;数据访问接口方面的增强功能;SQL Server Analysis Services(SSAS)的增强功能;Integration Services的增强功能;复制增强和实用工具增强功能。,2023/7/16,38,SQL Server Management Studio的连接,双击桌面上的“SQL Server managenment Studio”图标,即打开Microsoft SQL Server Manager管理器,并弹出“接到服务器”对话框,如下图所示。,2023/7/16,39,SQL Server Management Studio的连接,在“连接到服务器”对话框中,可以设置连接到的服务器,即服务器名称项,还可以设置以什么身份登录,共有两种:Windows身份验证和SQL Server身份验证。默认是Windows身份验证,如果选择SQL Server身份验证,要输入用户名和密码,正确输入后,单击“连接”按钮即可打开SQL Server Management Studio。打开SQL Server Management Smdio后,界面如下图所示。,2023/7/16,40,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 数据库之后创建的所有数据库都将继承这些修改。例如,可以设置权限、数据库选项或者添加对象,例如,表、函数或存储过程。,2023/7/16,41,SQL Server 2005系统数据库简介,Msdb数据库是代理服务数据库,为其报警、任务调度和记录操作员的操作提供存储空间。Tempdb数据库是一个临时数据库,它为所有的临时表、临时存储过程及其他临时操作提供存储空间。Tempdb数据库由整个系统的所有数据库使用,不管用户使用哪个数据库,他们所建立的所有临时表和存储过程都存储在Tempdb上。SQL Server每次启动时,Tempdb数据库被重新建立。当用户与SQL Server断开连接时,其临时表和存储过程自动被删除。,2023/7/16,42,SQL Server2005数据类型,在计算机中数据有两种特征:类型和长度。所谓数据类型就是以数据的表现方式和存储方式来划分的数据种类。SQL Server中数据类型分为整型、浮点型、二进制数据型、逻辑型、字符型、文本型、图形型、日期时间型、货币型、特定数据型、自定义类型和表型。,2023/7/16,43,实用程序和常用工具简介(1),企业管理器(Enterprise Manager)企业管理器是用来对本地或者远程服务器进行管理操作的服务器应用程序,如下图。企业管理器采用了类似于资源管理器的树型结构,在左边的树型结构图上,根节点是“控制台根目录”,表示它是所有服务器控制台的根。,2023/7/16,44,实用程序和常用工具简介(2),使用企业管理器可以完成下述工作:创建和删除数据库和表。启动、终止和配置服务器。创建和控制用户帐户和用户组。备份和恢复数据库以及事物处理日志。检查数据的一致性。,2023/7/16,45,实用程序和常用工具简介(3),查询分析器(Query Analyzer)如下图,使用查询分析器可以执行输入的SQL语句,执行结果会显示在屏幕上,SQL查询分析器不仅仅是一个SQL查询系统,它可以在同一个窗口中执行多个Transact-SQL语句,也可以执行脚本文件中的SQL语句。,