版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、单击此处编辑母版标题样式单击此处编辑母版文本样式第二级第三级第四级第五级*第7章 计算机控制系统软件第7章 计算机控制系统软件Software of Computer Control System6/23/20221计算机控制系统分为硬件和软件两局部软件是任何系统的头脑、心脏和灵魂 -第七届软件工程国际会议主席 6/23/20222计算机控制软件概述操作系统数据结构计算机控制系统中的数据库工业组态软件简介本章主要内容6/23/202237.1 计算机控制软件概述 计算机软件根底 计算机控制系统软件功能 Software Summary of Computer Control System6/2
2、3/202247.1 计算机控制软件概述 软件是计算机系统中与硬件相互依存的另一局部,它是包括程序,数据及其相关文档的完整集合;程序是按事先设计的功能和性能要求执行的指令序列;数据是使程序能正常操纵信息的数据结构;文档是与程序开发,维护和使用有关的图文材料。 6/23/20225根据功能可以分为系统软件、支撑软件和应用软件三类。 应用软件支撑软件系统软件7.1 计算机控制软件概述-计算机软件分类6/23/20226系统软件用来管理计算机系统的资源,并以尽可能简便的形式向用户提供使用资源的效劳,包括操作系统、系统实用程序、系统扩充程序操作系统的扩充、汉化、网络系统软件、设备驱动程序、通讯处理程序
3、等。操作系统是最根本的系统软件,操作系统是一个功能强、规模大的管理程序。 7.1 计算机控制软件概述-计算机软件分类6/23/20227专用于单个微机,称为单用户操作系统,如DOS操作系统。专用于多个终端的主机,称为多用户操作系统,UNIX多用户操作系统。专用于网络系统,称为网络操作系统,NOVELL、Windows NT是网络操作系统。专用于嵌入式开发系统,称为嵌入式操作系统,如Win CE、Palm OS、Linux等。 操作系统分类:7.1 计算机控制软件概述-计算机软件分类6/23/20228支撑软件辅助软件开发人员进行软件开发工作使用的各种工具软件,借以完成软件开发工作,提高软件生产
4、效率,改善软件产品的质量等,它主要包括软件开发工具、软件评测工具、界面工具、转换工具、软件管理工具、语言处理程序、数据库管理系统、网络支持软件以及其他支持软件。 7.1 计算机控制软件概述-计算机软件分类6/23/20229应用软件是软件公司或用户为解决某类应用问题而专门研制的软件。主要包括科学和工程计算机软件、文字处理软件、数据处理软件、图形软件、图象处理软件、应用数据库软件、事务管理软件、辅助类软件、控制类软件等。 计算机控制系统软件属于应用软件,它主要实现企业对生产过程的实时控制和管理以及企业整体生产的管理控制 7.1 计算机控制软件概述-计算机软件分类6/23/202210计算机控制系
5、统软件组成 按CIMS模型结构体系,通常五局部组成,自底向上依次是:设备控制层:实现对车间各设备单独控制,保证设备按生产工艺要求正常工作过程控制层:按工艺生产过程实现控制,选择恰当控制策略和方案进行实时控制,使生产过程目标到达最优; 调度层:协调组织各车间、部门进行按方案进行生产,以满足企业市场要求;管理层:对生产过程、生产质量、人员、物料等生产管理要素进行管理;决策层:根据前面各层的数据,进行统计、分析,为企业领导提供决策支持;7.1 计算机控制软件概述-计算机软件分类6/23/202211实时数据采集:采集现场控制设备的数据,过程控制参数;控制策略:为控制系统提供可供选择的控制策略方案;闭
6、环输出:在软件支持下进行闭环控制输出,以到达优化控制的目的;报警监视:处理数据报警及系统报警;画面显示:使来自设备的数据与计算机图形画面上的各元素关联起来;7.1 计算机控制软件概述-计控系统软件功能 6/23/202212报表输出:各类报表的生成和打印输出;数据存储:存储历史数据并支持历史数据的查询系统保护:自诊断、掉电处理、备用通道切换和为提高系统可靠性和维护性所采取的措施;通信功能:各控制单元间、操作站间、子系统间的数据通信功能;数据共享:具有与第三方程序的接口,方便数据共享; 7.1 计算机控制软件概述-计控系统软件功能 6/23/202213衡量一个控制系统软件性能优劣的主要指标系统
7、功能是否完善,能否提供足够多的控制算法包括假设干种高级控制算法。系统内各种功能能否完善地协调运行,如进行实时采样和控制输出的同时,又能同时显示画面,打印管理报表和进行数据通信操作。人机接口是否良好,有丰富的画面和报表形式,较多的操作指导信息。另外操作要方便、灵活。系统的可扩展性能如何,即是否能不断地满足用户的新要求和一些特殊的需求。7.1 计算机控制软件概述6/23/2022147.2 操作系统 操作系统分类 操作系统功能常见操作系统 Opretion System6/23/202215操作系统OS:Operating System是建立在计算机硬件之上的一层软件,它行使着两种根本的职能:提供
8、计算机与用户的接口,管理计算机系统的资源。 通常的定义是:操作系统是以控制和管理计算机系统资源、方便用户使用计算机的程序的集合。 6/23/202216按机型分:大型机、中、小型机和微型机操作系统按用户的数目分:单用户和多用户按功能特征分:批处理操作系统、实时操作系统、分时操作系统按照应用模式分:嵌入式操作系统和通用操作系统,我们通常提到的操作系统一般是指通用操作系统。 7.2 操作系统操作系统分类 6/23/202217多道批处理系统 多道批处理系统以“批处理方式运行作业,用户将作业交给系统后失去了对作业控制能力,由操作系统根据作业控制卡控制作业处理,先将作业插入到磁盘上输入队列中,然后根据
9、一定原那么和当前存储器空闲状态选择一个或几个作业进入主存运行。作业运行结束后,先将结果放到磁盘上输出队列上,待I/O设备空闲时再输出,交给用户这类系统十分注意CPU和其他设备利用率,追求系统吞吐量,但缺少必要交互能力,多用于计算中心以科学计算和大量数据处理为主的大型计算机系统中 7.2 操作系统操作系统分类 6/23/202218分时系统 7.2 操作系统操作系统分类 所谓分时,是指多个用户同时分享使用同一台计算机。这种“分享是通过将计算机资源尤其是CPU时间在时间上进行分割来实现的,即把CPU工作时间分为一个个小时间片,并以时间片为单位将CPU分别提供给不同用户使用。每个用户依次轮流使用一个
10、时间片,从宏观上实现了多个用户同时使用一台计算机。分时系统具有如下的特点:同时性、独占性、及时性、交互性6/23/202219实时系统 7.2 操作系统操作系统分类 实时系统是指对随机发生的外部事件及时响应并进行处理的系统。可分为实时过程控制系统和实时信息处理系统。实时过程控制系统主要用于各种类型的过程控制,对由传感器送来的数据进行及时地加工处理,然后根据处理结果去控制相应的执行机构。实时信息处理系统多用于实时事务处理,接收从远地终端送来的效劳请求,在规定时间内对请求做出正确答复。如机场订票系统、银行出纳系统等6/23/202220网络操作系统 7.2 操作系统操作系统分类 网络操作系统是使网
11、络上各计算机能方便而有效地共享网络资源,为网络用户提供所需的各种效劳的软件和有关规程(如协议)的集合 网络效劳应用程序运行在网络操作系统上,为用户提供最根本的网络效劳功能,如文件和记录的锁定、查询共享数据库的信息、共享打印机等 。Novell操作系统是早期局域网络操作系统的代表,Windows 2000 Server和Windows 2003 Server那么是当今流行的局域网络操作系统 6/23/202221分布式操作系统 7.2 操作系统操作系统分类 所渭分布式操作系统就是为分布式计算机系统配置的操作系统。分布式计算机系统与计算机网络系统相似,可定义为通过通信网络将物理上分布的具有自治功能
12、的数据处理系统或计算机系统互连起来,实现信息交换和资源共享,协作完成任务 分布式操作系统具有的特点 :系统处理能力强 、处理速度大为提高 、可靠性高 6/23/202222嵌入式操作系统EOS7.2 操作系统操作系统分类 嵌入式操作系统是一种支持嵌入式系统应用的操作系统软件,是嵌入式系统(包括硬、软件系统)极为重要组成局部,通常包括与硬件相关的底层驱动软件、系统内核、设备驱动接口、通信协议、图形界面、标准化浏览器等。 与通用操作系统相比较,嵌入式操作系统在系统实时高效性、硬件的相关依赖性、软件固态化以及应用的专用性等方面具有较为突出的特点。 目前流行的嵌入式操作系统有:Windows CE、P
13、alm OS、Real-Time Linux、VxWorks、pSOS、PowerTV、OS-9邓。其中WinCE和VxWorks分别是非实时和实时嵌入式操作系统代表 6/23/202223进程管理7.2 操作系统操作系统功能 进程是一个具有一定独立功能的程序关于某个数据集合的一次运行活动。在多道程序系统中,并行运行的进程之间存在着不同的制约关系,这些关系可归纳为两类:同步和互斥。同步和互斥既是进程间的根本制约关系,也是进程间的一种通信方式,进程管理协调进程管理,使计算机资源获得充分的利用6/23/202224处理机管理( CPU管理)7.2 操作系统操作系统功能 CPU管理的根本功能是在多个
14、进程共享一个CPU的情况下,根据选定的策略对CPU实施分配与回收。一般来说,一个作业从进入计算机到占有CPU投入运行,要经过以下两级调度: 作业调度:确定哪个作业进入执行状态,有时也称为高级调度或宏调度; 进程调度:确定哪个进程可占有CPU,有时也称为低级调度或微调度。6/23/202225存储管理7.2 操作系统操作系统功能 存储管理的根本功能,主要包括以下三个方面: 内存分配:根据适当的算法分配和回收或称去配内存空间,保证操作系统和各个用户作业有必要的活动空间; 内存保护:防止在多道程序或多任务运行时,用户程序对系统程序或其它用户程序的破坏。存储保护需要硬件提供支持。 内存扩充:提供容量远
15、大于内存容量的虚拟存储器,以解决多任务环境下内存紧张及不够用的问题。 6/23/202226设备管理7.2 操作系统操作系统功能 设备管理的任务,一是对系统的输入/输出I/O设备进行统一的分配与管理,使有限的设备资源为多个用户共享;二是由操作系统代替用户来控制设备运行的细节,到达既方便用户,又可防止操作错误、保障设备平安的目的。主要功能: 设备分配:决定将设备分配给谁,按什么策略分配,在什么时机分配。但单用户系统不存在设备分配问题; 设备驱动:控制外部设备实施具体的输入/输出操作,并根据操作的结果是否正常,进行相应的处理; 虚拟设备:用一种设备或其它资源模拟另一种设备,借以提高设备的效率,这种
16、设备或资源就称为虚拟设备。6/23/202227文件管理7.2 操作系统操作系统功能 操作系统的文件管理应具有如下功能: 文件存储与检索:决定文件用什么方式存储到外存介质上,采用哪些存储结构与存取方法,以及外存空间如何分配与回收; 文件操作:向系统和用户提供文件操作功能,包括对文件的按名查找、建立、删除与读/写等,让用户对文件做到灵活、方便的使用; 文件保护与控制:防止文件被非法使用或破坏。 6/23/202228Windows类7.2 操作系统常见操作系统 这类操作系统是全球最大的软件开发商Microsoft公司开发的。Microsoft公司Windows系统不仅在个人操作系统中占有绝对优势
17、,在网络操作系统中也是具有非常强劲的力量。 微软的网络操作系统主要有:Windows NT 4.0 Server、Windows 2000 Server/Advance Server、Windows 2003 Server/ Advance Server等,工作站系统可采用任一Windows或非Windows操作系统,包括个人操作系统,如Windows 9x/ME/XP等。6/23/202229Windows几代典型的操系统启动界面6/23/202230Windows类7.2 操作系统常见操作系统 Windows CE是一个开放的、可升级的32位嵌入式操作系统,是基于掌上型电脑类电子设备操作系
18、统。Windows CE是精简的Windows 95,其图形用户界面相当出色。C代表袖珍Compact、消费Consumer、通信能力Connectivity和伴侣Companion;E代表电子产品Electronics。Windows CE不仅继承了传统的Windows图形界面,且在Windows CE平台上可使用Windows 95/98/2000上编程工具如VB、VC+等、使用同样的函数、使用同样的界面风格,使绝大多数应用软件只需简单修改和移植就可在Windows CE平台上继续使用。 6/23/202231NetWare类7.2 操作系统常见操作系统 NetWare操作系统虽然远不如早
19、几年那么风光,在局域网中早已失去了当年雄霸一方的气势,但NetWare操作系统仍以对网络硬件的要求较低工作站只要是286机就可以了而受到一些设备比较落后的中、小型企业,特别是学校的青睐。因它兼容DOS命令,应用环境与DOS相似,经过长时间开展,具有相当丰富的应用软件支持,技术完善、可靠。目前常用的版本有3.11、3.12、4.10、V4.11和V5.0等中英文版本,NetWare效劳器对无盘站和游戏的支持较好,常用于教学网和游戏厅6/23/202232UNIX系统7.2 操作系统常见操作系统 目前常用的UNIX系统版本主要有由AT&T和SCO公司推出的:UNIX SUR 4.0、HP-UX 1
20、1.0和Sun的Solaris 8.0等。支持网络文件系统效劳,提供数据等应用,功能强大。这种网络操作系统稳定和平安性能非常好,但由于它多数是以命令方式来进行操作的,不容易掌握,特别是初级用户。UNIX一般用于大型的网站或大型的企、事业局域网中,小型局域网根本不使用UNIX作为网络操作系统6/23/202233Linux7.2 操作系统常见操作系统 这是一种新型的网络操作系统,其最大特点是源代码开放,可以免费得到许多应用程序。目前也有中文版本的Linux,在国内得到了用户充分的肯定,主要表达在它的平安性和稳定性方面,它与UNIX有许多类似之处。目前这类操作系统目前使仍主要应用于中、高档效劳器中
21、。Linux在嵌入式操作系统方面也有广泛的应用,目前正在开发的嵌入式系统中,50%以上的工程选择Linux作为嵌入式操作系统,它现在已成为嵌入式操作的理想选择。6/23/202234Palm OS7.2 操作系统常见操作系统 Palm OS是一种32位的嵌入式操作系统。Palm OS是一套专门为掌上电脑开发的OS。在编写程序时,Palm OS充分考虑了掌上电脑内存相对较小的情况,只占有非常小的内存。Palm OS使掌上电脑与PC机上的信息实现同步,把台式机同样功能扩展到掌上电脑。Palm应用广泛,如:联络及工作表管理、电子邮件及互联网通信等。Palm外围硬件也十分丰富,有数码相机、GPS接收器
22、、调制解调器、GSM无线 、数码音频播放设备、便携键盘、语音记录器、条码扫描、无线寻呼接收器、探测仪。其中Palm与GPS结合的应用,不但可以作导航定位,还可以结合GPS作气候的监测、地名调查等。 6/23/2022357.3 数据结构 什么是数据结构 数据结构分类算法描述线形表定义和运算Data Struture栈定义和运算 队列定义和运算 树定义和运算 图定义和运算6/23/202236数据结构是以数据为组成对象的结构。当我们要描述某个计算问题时,总要对其加以抽象,获得一些与问题有关的数据及这些数据之间的关系。这种被抽象出的数据描述被称为数据的逻辑结构。当此结构在计算机中实现时,又要考虑如
23、何在计算机中表示这些成分,以及如何对它们进行存取,这就产生了存储结构6/23/202237数据Data是信息的载体,它能够被计算机识别、存储和加工、处理。它是计算机程序加工的“原料。 数据元素Data Element是数据的根本单位。有些情况下,数据元素也称为元素、结点、顶点或记录。有时,一个数据元素可以由假设干个数据项也可称为字段、域组成,数据项是具有独立含义的最小标识单位。 数据结构Data Structure指的是数据之间的相互关系,即数据的组织形式。 7.3 数据结构什么是数据结构 6/23/202238数据结构一般包括以下三方面的内容 *数据元素之间的逻辑关系,也称为数据的逻辑结构
24、(Logical Structure) *数据元素及其关系在计算机存储器内的表示,也称为数据的存储结构(Storage Structure) *数据的运算,即对数据施加的操作可将数据结构定义为:按某种逻辑关系组织起来的一批数据,按一定的存储表示方式把它们存储在计算机的存储器中,并在这些数据上定义了一个运算的集合,就叫做一个数据结构7.3 数据结构什么是数据结构 6/23/202239一般情况下,常将数据逻辑结构简称数据结构数据的逻辑结构有两大类 *线形结构 :有且仅有一个开始结点和一个终端结点,并且所有结点都最多只有一个直接前趋和一个直接后继。线形表就是一个典型的线形结构 *非线形结构:非线形
25、结构的逻辑特征是一个结点可能有多个直接前趋和直接后继。如树和图等 数据的存储结构有以下四种根本的方法 *顺序存储方法 *链接存储方法 *索引存储方法 *数列存储方法 7.3 数据结构数据结构分类 6/23/202240算法是由假设干条指令组成的有穷序列,须满足下述准那么: *输入:具有0个或多个输入的外界量,它们是算法开始前 对算法最初给出的量。 *输出:至少产生一个输出,它们是同输入有某种关系的量 *有穷性:每一条指令的执行次数必须是有限的。 *确定性:每条指令的含义都必须明确,无二义性。 *可行性:每条指令的执行时间都是有限的。7.3 数据结构算法描述 6/23/202241算法的含义与程
26、序的区别: 程序不一定满足有穷性。 例如操作系统,只要整个系统不遭破坏,它就永远不会停止,即使没有作业要处理,它仍处于一个等待循环中,以待新作业的进入。因此操作系统不是一个算法。程序中的指令须是机器可执行的,算法中的指令那么无此限制。7.3 数据结构算法描述 6/23/202242一个算法可用自然语言、数学语言或约定符号语言描述所有的算法都可以以如下过程或函数的形式表示:Procedure 过程名形式参数表; Begin 语句组 End; /过程名/Function 函数名形式参数表:类型名; Begin 语句组 End; /函数名/7.3 数据结构算法描述 6/23/202243一般情况下,
27、常将数据逻辑结构简称数据结构数据的逻辑结构有两大类 *线形结构 :有且仅有一个开始结点和一个终端结点,并且所有结点都最多只有一个直接前趋和一个直接后继。线形表就是一个典型的线形结构 *非线形结构:非线形结构的逻辑特征是一个结点可能有多个直接前趋和直接后继。如树和图等 数据的存储结构有以下四种根本的方法 *顺序存储方法 *链接存储方法 *索引存储方法 *数列存储方法 7.3 数据结构线形表定义和运算 6/23/202244线性表是n个数据元素结点a1,a2,an 组成的有限序列。 -数据元素的个数n定义为表的长度 -当n = 0时称为空表 -常将非空的线性表n0记作a1,a2,.an线性表的逻辑
28、特征:对于非空的线性表,有且仅有一个开始结点a1 ,它没有直接前趋,而仅有一个直接后继a2 ;有且仅有一个终端结点an 它没有直接后继,而仅有一个直接前趋an-1 ;其余的内部结点ai 都有且仅有一个直接前趋和一个直接后继。7.3 数据结构线形表 (Linear List) 定义和运算 6/23/202245线性表最常见的运算有如下几种: -置空表 -求长度 -取(或确定)表中的第i个结点 -按值查找 -插入 -删除 7.3 数据结构线形表定义和运算 6/23/202246栈是限制仅在表的一端进行插入和删除运算的线性表通常称插入、删除的这一端为栈顶Top,另一端称为栈底Bottom。当表中没有
29、元素时称为空栈。元素以a1,a2,an的顺序进栈,而退栈的次序是an,a2,a1即栈的修改是按后进先出原那么进行的,栈又称为后进先出的线性表,简称为LIFO表7.3 数据结构栈的定义和运算 6/23/202247栈的根本运算有五种: -置空栈 -判栈空 -进栈 -退栈 -取栈顶 7.3 数据结构栈的定义和运算 图7.3 栈的存取示意图a2.an栈顶栈底进栈退栈a16/23/202248队列是一种运算受限的线性表。只允许在表一端进行插入,而在另一端进行删除。允许删除的一端称队头,允许插入的一端称队尾。队列中新来的成员总是参加队尾即不允许“加塞,每次离开的成员总是队列头上的不允许中途离队。即先进入
30、队列的成员总是先离开队列,队列亦称作先进先出First In First Out的线性表,简称为FIFO表。7.3 数据结构队列的定义和运算 6/23/202249队列存取示意图队列根本运算: -置空队 -判队空 -取队头元素 -入队 -出队7.3 数据结构队列的定义和运算 队头图7.4 队列的存取示意图入队a1 a2 a3 an 出队队尾队列的存取示意图6/23/202250树(tree)是一种多分支多层次数据结构,由一组结点组成。由于它呈现与自然界的树类似的结构形式,所以称它为树。 树形结构反映了元素间的层次关系和分支关系,它类似于自然界中的树。树形结构在现实世界中广泛存在。如人类社会的族
31、谱和各种社会组织机构都可用树的形象表示。树在计算机领域中也得到广泛应用,DOS和Windows操作系统中对磁盘文件的管理就采用树形目录结构;在编译程序中,使用树型来表示源程序的语法结构;在数据库系统中,树形结构也是信息的重要组织形式之一。 7.3 数据结构树的定义和运算 6/23/202251一棵非空树由一个或多个结点组成的有限集T表示。使得 : -有且仅有一个特定的结点,称为根结点; -其余的结点分成m(mo)个互不相交的有限集T0,T1,Tm-1其中每个集合又都是一棵树,称T0,T1,Tm-1为根结点的子树 树的定义具有递归性,递归定义描述子树的递归持性:即一棵树是由根及假设干棵子树构成的
32、,而子树又可以由更小的子树构成 7.3 数据结构树的定义和运算 6/23/202252几种常见的树 :7.3 数据结构树的定义和运算 (a)只有树根的树 (b)有一个子树的树 (c)有两个子树的树 (d)有三个子树的树ABCABCABCDEFGKJIHA图7.5 几种常见的树 (a) (b) (c) (d) 6/23/202253二叉树是一种很重要的树,其中最重要的算法是赫夫曼算法,构造赫大曼树的算法称之为赫大受算法,算法具体步骤如下: 根据结定的n个权值w1,w2,wn构成n棵二叉树的集合FT1,T2,Tn其中每棵二叉树T1中只有一个带权叫w1的根结点,其左子树和右子树均为空; 在F中选取两
33、棵根结点的权值最小的二叉树作为左右子树构造一棵新的二叉树,且置新的二叉树的根结点的权值为其左、右子树上根结点的权值之和; 在F中删除上面选中的那两棵根结点权值最小的二叉树,同时将新得到的二叉树参加F中; 重复步骡和,直到F中只含一棵树为止。7.3 数据结构树的定义和运算 6/23/202254图(graph)G由两个集合V和E组成,记为G-(V,E)。V是顶点的有非空集合;E是边的集合,边是V中顶点的偶对。E可以是边的空集,假设E为空集,那么G中只合顶点没有边。 图的两个例如 :7.3 数据结构图的定义和运算 (a)有向图 (b)无向图 图7.6 图的示例(a) (b) V1V4V6V5V2V
34、3V3V6V1V2V4V56/23/202255图的存储结构表示方法有多种,主要有邻接短阵表示法、和邻接表表示法、十字链表表示法、多重链表表示法等 。 对图中最短路径的求解是非常重要的问题7.3 数据结构图的定义和运算 6/23/2022567.4 计算机控制系统中的数据库 数据库系统定义 数据库系统定义数据库系统主要特征数据库体系结构三级模式Database of Computer Control System数据模型 逻辑数据库设计 结构化查询语言 常见数据库管理系统6/23/202257数据库系统从根本上讲是一个以计算机为根底的记录保持系统,也就是说,它的总的目的是要记录和保持信息。一个
35、数据库系统要包括四个主要局部:数据、硬件、软件和用户。 数据:存储在数据库中的数据可以划分为一个或多个数据库。如产品数据、帐目数据、病人数据、学生数据和方案数据等。数据库的数据既是综合的,又是共享的。“综合指的是可以把数据库看成是假设干单个不同的数据文件的联合,在那些文件间局部或全部地消除了冗余。“共享指的是该数据库中一块块的数据可为多个不同的用户所共享,其意义是那些用户中的每一个都可存取同一块数据,并可将它用于不同的目的。 7.4 计算机控制系统中的数据库数据库系统定义 6/23/202258硬件:主要是指存储数据库数据的辅助存储器- 磁盘、磁鼓及其他附属设备。软件:在实际存储的数据或称物理
36、数据库和用户之间是一个软件层,通常叫数据库管理系统DBMS。用户存取数据库的所有请求都是由DBMS操作的。因此,DBMS提供了一种在硬件层之上的对数据库的观察,并支持用较高的观点来表达用户的操作。用户:数据库系统中的用户是指运用数据库进行各种业务处理工作的人或部门。用户的业务处理是通过专门的应用程序来实现的。 7.4 计算机控制系统中的数据库数据库系统定义 6/23/202259数据库系统的低级阶段:从20世纪60年代后期开始,存储技术取得很大开展,有了大容量的磁盘。为了提高效率,人们着手开发和研制更加有效的数据管理模式,提出了数据库的概念。英国IBM公司1968年研制成功的数据库管理系统标志
37、着数据管理技术进入了数据库系统阶段。在1969年美国数据系统语言协会公布了数据库工作组报告,对研制开发网状数据库系统起了重大推动作用。从1970年起,IBM公司的连续发表论文,又奠定了关系数据库的理论根底。从20世纪70年代以来数据库技术开展很快,得到了广泛的应用,已成为计算机科学技术的一个重要分支 。 7.4 计算机控制系统中的数据库数据库系统开展 6/23/202260数据库系统的高级阶段: 20世纪70年代中期以来,随着计算机技术的不断开展,出现了分布式数据库、面向对象数据库和智能型知识数据库等,通常被称为高级数据库技术,这个阶段通常被称为数据库系统的高级阶段 分布式数据库:分布在计算机
38、网络不同节点(size)上的数据的集合。两个主要特点,一是网络上每个节点上的数据库都只有独立处理的能力。多数数据处理就地完成,不能处理的才交其他处理机处理。另一个是计算机之间用通信网络连接。每个节点上的应用可访问本节点上数据库中的数据(局部应用),也可以通过网络访问其他节点的数据库的数据(全局应用)。分布式数据库在物理上是分散的,在逻辑上是统一的。 7.4 计算机控制系统中的数据库数据库系统开展 6/23/202261数据库系统的高级阶段:面向对象数据库:20世纪80年代产生了面向对象的数据库系统,一切概念上存在的小至单个整数或数字串,大至由许多部件构成的系统均称为对象。任何一个对象都有数据局
39、部和程序局部,例如职工张三是一个对象,他25岁,每月工资1500元。这个对象的数据局部是姓名张三,年龄25,工资1500元。修改对象张三的年龄或工资,或检索对象属性(例如姓名、年龄、工资)的值,所使用的程序构成了对象的程序局部。面向对象的数据库系统比一般数据库系统具有更多的特点和应用领域。未来的软件系统将建立在面向对象的概念上。7.4 计算机控制系统中的数据库数据库系统开展 6/23/202262数据库系统的高级阶段:智能型知识数据库:知识库是一门新的学科,它研究知识表示、结构、存储、获取等技术。知识库是专家系统、知识处理系统的重要组成局部。知识库系统把人工智能的知识获取技术和机器学习的理论引
40、入到数据库系统中,通过抽取隐含在数据库实体间的逻辑蕴涵关系和隐含在应用中的数据操纵之间的因果联系,形式化地描述数据库中的实体联系。在知识库系统中可以把语义知识自动提供给推理机,从已有的事实知识推出新的事实知识。7.4 计算机控制系统中的数据库数据库系统开展 6/23/202263数据结构化:在数据库中,数据是按照某种数据模型组织起来的,不仅文件内部数据之间彼此是相关的,而且文件与文件之间在结构上也有机地联系在一起,整个数据库浑然一体。较少的数据冗余度:非数据库系统中往往会导致存储数据的大量冗余,结果造成存储空间的浪费。防止不相容性:这也是减少数据冗余带来的必然结果。7.4 计算机控制系统中的数
41、据库 数据库系统主要特征6/23/202264数据共享: 数据共享不仅表现在现有的一些应用能共享数据库中的数据,而且表现在可对同样的存储数据开展一些新应用。换言之,不需要建立任何新的存储文件,新应用的数据要求即可满足。保持数据完整性: 完整性是指数据库中的数据是准确的。数据独立性: 数据独立性是数据库系统的一个主要目标。文件系统的应用都是数据依赖的,在数据库系统中,各种应用对存储结构和存取策略的改变不敏感。 7.4 计算机控制系统中的数据库 数据库系统主要特征6/23/202265依照美国国家标准学会所属标准方案和标准化报告,可把数据库分为三级:外模式、概念模式和内模式。外模式: 应用程序员所
42、看到的数据库的逻辑结构,也称为用户视图或外视图概念模式: 企业所有工作数据所表示的整体逻辑结构。它与数据的物理存储方式相比是较为抽象的形式,因此也可称其为概念视图内模式: 内模式是数据库的存储结构或称为物理结构,它是由内记录或称为存储记录类型的多个值构成的7.4 计算机控制系统中的数据库 数据库体系结构的三级模式6/23/2022667.4 计算机控制系统中的数据库 数据库体系结构的三级模式6/23/202267规划需求分析系统设计 程序编制 调试 运行维护 运行和维护 实现 物理设计逻辑设计概念设计需求分析规划软件生存期数据库生存期6/23/202268数据模型定义:数据模型是用来创立数据库
43、、维护数据库并将数据库解释为外部活动模型的工具,是数据库系统用户及DBA用来定义数据内容和数据间联系方式的工具的总称。数据库是模拟现时世界中企业活动的数据集合,模拟是通过数据模型来实现的,整个数据库的组织也是通过数据模型来实现的。数据模型大致分两类:一类是独立于任何计算机实现的,如实体-联系模型(E-R 模型)、语义网络模型等,这类模型完全不涉及信息在计算机系统中的表示问题,只用来描述某个特定的信息结构,又称信息模型或概念模型。另一类是直接面向数据库中数据的逻辑结构,又称根本数据模型或结构数据模型。目前使用最广泛的根本模型有网状模型、层次模型和关系模型数据模型的功能包括:数据内容的描述、实体间
44、联系的描述、数据语义的描述 7.4 计算机控制系统中的数据库 数据模型6/23/202269关系模型:关系数据模型是一种表格数据模型,在关系数据模型中仅有的数据结构就是关系。关系的定义与数学中关系的定义相同,其差异是数据库关系是随时间变化的,也即元素将被插入、删除和修改。关系数据库的定义是由一组关系组成的,关系用关系模式联系。每个关系模式由关系名和它对应的域名组成。在给定的关系中,有这样一个或一组属性,它在不同元组中的值是不同的,利用这个值可以把关系中的一个元组和其他元组区分开来,具有这样性质的属性称为关键字属性。关系中,可以唯一标识元组值的属性可能不止一个,这些具有唯一性的属性统称为侯选关键
45、字,被选做键的属性称为主关键字。7.4 计算机控制系统中的数据库 数据模型6/23/202270E R模型:在E R 模型中,现实世界中的每个事物都被看作是一个实体Entity。实体可以是具体的人和物,也可以是抽象的表格单据。同类实体的集合被看作是实体型实体由其所具有的特征,或称为属性(Attribute)描述。同一实体型中的实体具有相同的一组特征。实体并不是孤立地存在于现实世界中的,实体与实体之间存在着一定的联系。这种联系可以分为三种: 第一种是1:1的联系,它描述一个实体仅与另一个实体相关; 第二种是1:n的联系,它描述一个实体与多个实体间的相关性; 第三种是n:m的联系,它描述两个实体型
46、之间多个实体间的相互关系; 7.4 计算机控制系统中的数据库 数据模型6/23/202271E R模型:7.4 计算机控制系统中的数据库 数据模型实体联系属性ER模型图例老师学生教mn学号姓名专业班级职称性别姓名职号6/23/2022721:N 职工领导之间的上下级联系 职工工号姓名年龄性别领导1N1:1 运动员根据其得分来排定名次。运动员编号姓名性别名次顺序11零件零件号零件名规格数量组成MN工厂的零件之间存在着组合关系,一种零件由许多种子零件组成,而一种零件也可以是其他零件的子零件 6/23/202273使用E R 模型设计数据库的步骤是:首先确定要求解的应用的实体型;确定实体型之间的联系
47、及其联系类型;确定实体型和联系型的属性;画出局部应用的E R图;将局部E R图综合为全局E R图;优化全局E R图;设计逻辑数据库;编码,调试。 7.4 计算机控制系统中的数据库 数据模型6/23/202274现有的教学管理系统初步分析系统的对象根据效劳种类分析教师子模块局部E R图6/23/202275现有的教学管理系统初步分析系统的对象根据效劳种类分析学生子模块图5.21 学籍管理局部应用的分E-R图导师班级学生组成管理班主任档案材料宿舍住宿归档指导系有参加学会1N111NNN11NMN1具有社会关系1N局部E R图6/23/202276现有的教学管理系统初步分析系统的对象根据效劳种类分析
48、课程子模块图5.22 课程管理局部应用分E-R图1教室M1教科书教师担任课程系开设N1学生选修NMN上课PN局部E R图6/23/2022771合并后的教学管理E-R图1N1P1N1N1N1MMNNNN社会关系具有1NNM1系聘用承接项目参加设置院长学院主管NN111教师评定职称分配工作量111N档案材料归档参加学会1宿舍住宿教科书担任指导课程选修教室上课有1班级学生组成N开设N管理11教师管理1 1全部E R图6/23/202278ER模型到关系模型的转换实例零件零件号零件名规格数量组成MN仓库商品商店仓库号仓库名地址数量商店号商品名商品号商店名日期进货MNP零件零件号,零件名,规格组成零件
49、号,子零件号,数量 仓库仓库号,仓库名,地址商店商店号,商店名商品商品号,商品名进货商店号,商品名,仓库号,日期,数量 6/23/202279在进行数据库设计时,存在标准化化理论用来指导数据库设计,即数据库范式NF,存在五个范式:1NF:表中每个字段只能包含一种数据类,每个数据只在一个地方保存。1NF也称原子数据要求,即每个字段是不可分割的。 破坏1NF的情况: 一个字段中堆放相关数据。如供给商字段既放供给商名又放供给商地址。应分解为多个字段。 重复字段。如订单表中有这些字段商品编号1,数量1,商品编号2,数量2,商品编号3,数量3,等等 7.4 计算机控制系统中的数据库 逻辑数据库设计6/2
50、3/2022802NF:在1NF的根底上,包含一个且只有一个实体的数据。不能有嵌套实体。每个非键列都依赖于全键列,没有不完全相关,要完全相关。 例如选课关系 SCI(SNO,CNO,GRADE,CREDIT)其中SNO为学号,CNO为课程号,GRADEGE 为成绩,CREDIT 为学分。关键字为组合关键字(SNO,CNO)。在应用中使用以上关系模式有以下问题: 数据冗余,假设同一门课由40个学生选修,学分重复40次 更新异常,假设调整了某课程的学分,相应的元组CREDIT值都要更新,有可能会出现同一门课学分不同。 插入异常,如方案开新课,由于没人选修,没有学号关键字,只能等有人选修才能把课程和
51、学分存入。 删除异常,假设学生已结业,从数据库删除选修记录。某些门课程新生尚未选修,那么此课程及学分记录无法保存。7.4 计算机控制系统中的数据库 逻辑数据库设计6/23/2022812NF:在1NF的根底上,包含一个且只有一个实体的数据。不能有嵌套实体。每个非键列都依赖于全键列,没有不完全相关,要完全相关。 出现以上四个问题的原因为:非关键字属性CREDIT仅函数依赖于CNO,也就是CREDIT局部依赖组合关键字(SNO,CNO)而不是完全依赖。 解决方法为分成两个关系模式 SC1(SNO,CNO,GRADE),C2(CNO,CREDIT)。新关系包括两个关系模式,它们之间通过SC1中的外关
52、键字CNO相联系,需要时再进行自然联接,恢复了原来的关系 7.4 计算机控制系统中的数据库 逻辑数据库设计6/23/2022823NF:在2NF的根底上,所有非键列应直接依赖于主键列,而不是其他非键列如计算字段。每个表只包含一件事的信息,不要包含多个事实的信息。例如S1(SNO,SNAME,DNO,DNAME,LOCATION)各属性分别代表学号,姓名,所在系,系名称,系地址。关键字SNO决定各个属性。由于是单个关键字,没有局部依赖的问题,肯定是2NF。但这关系有大量冗余,有关学生所在的几个属性DNO,DNAME,LOCATION将重复存储,插入,删除和修改时也将产生类似以上例的情况。7.4
53、计算机控制系统中的数据库 逻辑数据库设计6/23/2022833NF:在2NF的根底上,所有非键列应直接依赖于主键列,而不是其他非键列如计算字段。每个表只包含一件事的信息,不要包含多个事实的信息。原因:关系中存在传递依赖造成的。即SNO- DNO。 而DNO- SNO却不存在,DNO -LOCATION, 因此关键列 SNO 对 LOCATION 函数决定是通过传递依赖 SNO- LOCATION 实现的。也就是说,SNO不直接决定非主属性LOCATION。 解决方法:每个关系模式中不能留有传递依赖,即分为两个关系S(SNO,SNAME,DNO),D(DNO,DNAME,LOCATION) 7
54、.4 计算机控制系统中的数据库 逻辑数据库设计6/23/2022844NF:一组相关实体之间存在相关性时,要将这种关系确切表示出来,而不要隐含与一个表中。如一个表中隐含有某种关系,应将这种关系用一个说明确表示出来。 5NF:分解为两个表会丧失信息,但可以分解为多个表而不会丧失信息。如果不符合前面几个范式时,都是将一个表分解为两个表。7.4 计算机控制系统中的数据库 逻辑数据库设计6/23/202285SQL语言性质SQL语言是一种关系数据库语言,提供数据的定义、查询、更新和控制等功能。SQL语言不是一个应用程序开发语言,只提供对数据库的操作能力,不能完成屏幕控制、菜单管理、报表生成等功能,可成
55、为应用开发语言的一局部;SQL语言不是一个DBMS,它属于DBMS语言处理程序 7.4 计算机控制系统中的数据库 结构化查询语言6/23/202286SQL语言命令数据定义语言(DDL) : 创立、修改或删除数据库中各种对象,包括表、视图、索引等。 命令:CREATE TABLE , CREATE VIEW, CREATE INDEX、ALTER TABLE , DROP TABLE , DROP VIEW, DROP INDEX 7.4 计算机控制系统中的数据库 结构化查询语言6/23/202287SQL语言命令查询语言(QL) : 按照指定的组合、条件表达式或排序检索已存在于数据库中的数据
56、,而不改变数据库中数据。 命令:SELECTFROMWHERE7.4 计算机控制系统中的数据库 结构化查询语言6/23/202288SQL语言命令数据控制语言(DCL) : 用来授予或收回访问数据库的某种特权、控制数据操纵事务的发生时间及效果、对数据库进行监视 命令:GRANT、REVOKE、COMMIT、ROLLBACK数据操纵语言(DML): 对已经存在的数据库进行元组的插入、删除、修改等操作 命令:INSERT、UPDATE、DELETE7.4 计算机控制系统中的数据库 结构化查询语言6/23/202289常用SQL语句介绍SELECT语句 : SELECT语句可从一个或多个表中选取特定
57、的行和列。因为查询和检索数据是数据库管理中最重要的功能,所以SELECT语句在SQL中是工作量最大的局部。SELECT语句的一般语法为: SELECT columns FROM tables WHERE predicate ORDER BY column ASC/DESC;例如,选择姓氏为Jones的所有雇员并按BRANCH_OFFICE按照升序排列的语句为: SELECT * FROM EMPLOYEES WHERE LAST_NAME = Jones ORDER BY BRANCH_OFFICE ASC; 7.4 计算机控制系统中的数据库 结构化查询语言6/23/202290常用SQL语句
58、介绍 INSERT语句 :用户可以用INSERT语句将一行记录插入到指定的一个表中。INSERT语句的语法图为 : INSERT INTO table (column1,columnN) VALUE (column1value,columnNvalue);例如,要将雇员John Smith的记录插入到EMPLOYEES表中,可以使用如下语句 : INSERT INTO EMPLOYEES VALUES (Smith,John,1980-06-10, Los Angles,16,450);7.4 计算机控制系统中的数据库 结构化查询语言6/23/202291常用SQL语句介绍 UPDATE语句
59、:UPDATE语句允许用户在的表中对现有数据的行进行修改。UPDATE语句的语法流图如下所示 : UPDATE table SET column1=value1,columnN=valueN WHERE predicate; 例如,我们刚刚发现Indiana Jones的等级为16,工资为$4,000.00,我们可以通过下面的SQL语句对数据库进行更新 : UPDATE EMPLOYEES SET GRADE = 16, SALARY = 4000 WHERE FIRST_NAME = Indiana AND LAST_NAME = Jones 7.4 计算机控制系统中的数据库 结构化查询语言
60、6/23/202292常用SQL语句介绍 DELETE语句 :DELETE语句用来删除表中的行。所有满足WHERE子句中条件的行都将被删除,由于SQL中没有UNDO语句或是“你确认删除吗?之类的警告,在执行这条语句时千万要小心。DELETE语句的语法流图如下所示 : DELETE FROM table WHERE predicate ; 如果断定取消Los Angeles办事处并解雇办事处的所有职员,这一工作可以由以下这条语句来实现 : DELETE FROM EMPLOYEES WHERE BRANCH_OFFICE = Los Angeles;7.4 计算机控制系统中的数据库 结构化查询语
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五年矿业权抵押融资合同示范3篇
- 二零二五年新型环保栏杆研发、生产安装合同3篇
- 二零二五版矿业权转让与安全生产监管服务合同集3篇
- 二零二五版建筑工程BIM模型优化与交付合同3篇
- 二零二五年混凝土施工安全生产责任书合同3篇
- 二零二五版挂靠出租车绿色出行奖励合同3篇
- 提前终止2025年度租赁合同2篇
- 商铺售后返租合同纠纷的司法解释与实践(2025年版)2篇
- 二零二五版畜禽养殖合作经营合同书3篇
- 二零二五年度废旧玻璃回收利用合同书3篇
- 专题6.8 一次函数章末测试卷(拔尖卷)(学生版)八年级数学上册举一反三系列(苏科版)
- GB/T 4167-2024砝码
- 老年人视觉障碍护理
- 《脑梗塞的健康教育》课件
- 《请柬及邀请函》课件
- 中小银行上云趋势研究分析报告
- 辽宁省普通高中2024-2025学年高一上学期12月联合考试语文试题(含答案)
- 青海原子城的课程设计
- 2023年年北京市各区初三语文一模分类试题汇编 - 作文
- 常州大学《新媒体文案创作与传播》2023-2024学年第一学期期末试卷
- 麻醉苏醒期躁动患者护理
评论
0/150
提交评论