数据库应用系统

关键词: 诞生 计算机信息 数据库 编程

数据库应用系统(精选十篇)

数据库应用系统 篇1

关键词:数据库,软件开发,编程

数据库的诞生和发展给计算机信息管理带来了一场巨大的革命。三十多年来, 国内外已经开发建设了成千上万个数据库, 它已成为企业、部门乃至个人日常工作、生产和生活的基础设施。同时, 随着应用的扩展与深入, 数据库的数量和规模越来越大, 数据库的研究领域也已经大大地拓广和深化了。30年间数据库领域获得了三次计算机图灵奖, 更加充分地说明了数据库是一个充满活力和创新精神的领域。

一、数据库管理信息系统计算模式

在一般应用系统中。对数据库的处理是必不可少的部分, 甚至大多数MIS系统的主要功能都是围绕着后台数据库的增、删、改、查询等功能展开。对数据库处理成为MIS系统的核心与关键部分。常常对整个系统运行和维护起到决定性的作用, 因此, 整个应用系统的数据库结构模式就显得尤为重要。

采用多层结构的分布式应用系统有很多优点, 如提高了系统的性能、可伸缩性、灵活性、可靠性、可管理性、可重用性、可移植性等;服务器构件可以根据应用需求迅速地加以更改, 并且在网络中的位置与应用无关, 系统管理员可以重新配置系统的负载, 分布式系统非常适合构建大数据量、开放的、跨地域的商务系统。

二、数据库前端开发工具

数据库系统是在文件系统的基础上逐步演变而来的, 它的发展经历了层次数据库、网状数据库、关系数据库三个阶段。当前, 数据库技术已经面向对象数据库和数据仓库的方向发展, 但尚未得到广泛应用。关系数据库技术经过几十年的发展, 在理论上已相当成熟, 目前已成为数据库技术领域的主流。在如今的数据库前端开发工具中, 有3种工具排在首位:Power Builder、Delphi、Developer。

1.Power Builder

Power Builder是美国著名的数据库应用开发工具生产厂商Power Soft推出的成功产品, 其第一版于1991年6月正式投入市场。它是完全按照客户/服务器体系结构研制设计的, 采用面向对象技术, 图形化的应用开发环境, 是数据库的前端开发工具。其特点:它支持应用系统同时访问多种数据库, 其中既包括Oracel、Sybase之类的大型数据库, 又包括FOXPRO之类支持ODBC接口的小型数据库, Power Builder是完全可视化的数据库开发工具, 它提供了大量的控件, 大大加快了项目的开发速度, 也使开发者更容易掌握数据库的开发。

2.Delphi

Delphi的功能比Powerbuilder更强大 (因为它把一些底层的工具提供给了程序人员) , 因此更适合程序员一类的人去编写。其不但包括对操作系统API的调用, 并且对数据库、网络的支持也很强大, 其报表工具Repo-Builder也非常实用。

3.Developer

在Oracle Developer环境中, 可以使用可视化的Form Builder、Report Builder、Graphics Builder、Query Buf.der、Procedure Builder等设计工具来设计数据库和应用程序。只需要告诉这些DEVELOPER工具作些什么.而不用费心告诉它们怎样去作。使用者可以轻松得到所需要的数据库数据的各种表单、报表和图形。显然, 这能够大大提高应用程序的开发效率。OARCLE 8DEVELOPER提供了PL/SQL编程环境和ODBC接口环境。当然, 与其他数据库开发工具一样, 它也具有数据库的操作界面。

三、数据库应用系统的开发流程

一个数据库应用系统 (计算机信息系统范畴) 的开发大体需要经过系统规则、系统分析、系统设计、系统实施、系统运行与维护等几个阶段。信息系统的开发是一个比较复杂的过程, 应用程序的开发只是其中一个很小的环节。最关键的阶段主要有以下几点。

首先, 系统规则:系统规划阶段的任务就是对企业的目标、环境、现行状况进行初步的考察, 根据企业目标和发展战略, 确定信息系统的开发方式, 对整个需求做出初步分析和预测。同时, 充分考虑所要开发的系统可会受到的各种约束因素, 分析开发该系统的可能会受到的各种约束因素, 分析开发该系统的必要性和可行性。在以上工作的基础上。给出拟建系统的各种各选开发方案, 并对这些方案进行可行性分析, 写出可行性分析报告。当可行性分析报告被审议通过后, 将系统的建设方案及实施计划编写成系统设计任务书。系统规划阶段是信息系统开发过程的萌芽阶段, 其主要任务是进行整个目标系统的宏观考察和规划。

其次, 系统设计:系统设计阶段是根据系统说明中所规定的功能要求, 考虑各种实际, 具体设计实现逻辑模型的技术方案, 即设计整个系统的物理模型, 包括系统的总体结构、数据库的设计方案、应用程序的用户界面等。系统设计阶段结整时需要编制出有关的技术文档, 即系统设计说明书。

最后, 系统实施:系统实施阶段是将所设计的系统付诸实施的阶段。此阶段的主要包括:应用程序的开发与调试、数据库系统的实现、系统设备的购置、系统的安装与调试、人员培训等。系统实施阶段的特点是多个相互联系、相互制约的任务同时展开, 因而必须统筹规划、精心安排、合理组织。系统的实施是按实施计划分阶段完成的, 每个阶段都应该写出实施进度报告。整个系统的测试完成后还应写出实施进度报告和系统测试分析报告。

参考文献

[1] (美) Ioseph Phillips著:《实用IT项目管理》, 北京:机械工业出版社, 2003年

[2]李奇明刘家国:信息化工程监理的几个关系探讨[J], 江苏:中国制造业信息化, 2004, (5)

[3]葛乃康:信息工程建设监理[M], 北京:电子工业出版社, 2002

数据库应用系统设计简历 篇2

民 族: 汉族 出生年月: 1985年6月12日

证件号码: 婚姻状况: 未婚

身 高: 154cm 体 重: 45kg

户 籍: 广东湛江 现所在地: 广东广州

毕业学校: 广州大学 学 历: 专科

专业名称: 网络 毕业年份:

工作年限: 一年以内 职 称:

求职意向

职位性质: 全 职

职位类别: 财务/审计/税务-会计

IT-品管、技术支持及其它-技术文员/助理

职位名称: 会计 ; 文员 ;

工作地区: 湛江市 ; 广东广州 ; 广东深圳 ;

待遇要求: 可面议 ; 需要提供住房

到职时间: 一个月内

技能专长

语言能力: 英语 A级 ; 普通话 标准

计算机能力: 证书 全国计算机等级考试一级 ;

IT技能: 数据库应用系统设计工程师技术水平证书

IT技能: 数据库应用系统设计工程师技术水平

教育培训

教育经历: 时间 所在学校 学历

9月 - 7月 湛江市爱周职业技术学校 高中

数据库应用系统的性能设计优化策略 篇3

关键词:数据库应用系统;性能;设计;优化

中图分类号:TP311.13 文献标识码:A文章编号:1007-9599 (2011) 06-0000-01

The Performance Design Optimization Strategies

of Database Application System

Lin Shubin

(Agricultural School of Zhangzhou City,Zhangzhou363000,China)

Abstract:With the expanding database applications,enterprise-class database applications have become an important data storage and query method.Database performance and design optimization for the data structure to simplify and optimize the query process is important.This article discusses the importance of SQL databases optimization,detailed

analysis of the SQL database optimization strategy.

Keywords:Database applications system;Performance;Design;

Optimization

在一个基于数据库的应用系统的运行过程中,影响系统效率的原因是多方面的,对于目前常用的三层(N层)Web结构应用架构来说,如果系统运行效果不理想,需要判断性能损失来自于操作系统、Web层应用系统或者数据库,单独测试以确定瓶颈所在。

一、优化SQL数据库的意义

如果脱离Web层应用组件测试仍然存在性能问题,需要进一步跟踪数据库应用,判断开销主要来源于SQL还是PL/SQL,然后再进一步做性能分析。在数据库方面的原因 ,可能来源于数据库结构设计是否合理,磁盘空间和表空间的规划是否合理,SGA区设置是否合理,数据库参数设置是否合理,以及SQL语句的编写质量等。一般来说,数据库的结构设计、空间规划及参数调整、甚至是项目结构调整通常根据系统的需求而定,主要由系统分析员和数据库管理员来共同完成。实际上,不同的SQL实现方式之间的效率差异可能会非常大,尤其是在大数据量复杂数据库环境下表现尤为明显,对于千万级别数据量的数据库,执行一条关联几个大表的SELECT语句可能会消耗几十分钟,SQL语句的低效直接导致系统性能低下。高效的SQL语句来自于满足SQL语句的优化原则,使用充分的连接条件,优化的WHERE子句,以及适当的索引设计。可以利用一些工具,例如执行计划及跟踪文件等,帮助调试SQL语句以获得最优效果。下面先了解在构造SQL语句时应当遵循的一般优化原则。

二、SQL优化策略

(一)在SQL语句中,查询所有列时尽量不使用“*”’符号

我们在查询某个表的所有列时,经常使用SELECT*FROM table这种方式,注意“*”,符号的确是SQL语法许可的查询所有列的方式,但是这种查询方式,数据库服务器需要额外地去查询数据字典,把“*”符号转换为表的所有列,再将查询结果返回给用户。这个额外地查询数据字典的动作是会消耗系统时间的,所以建议在写SQL语句时,把实际列名写出,即使包含全部列,也就是使用SELECT deptno,dname,loc FROM dept而不用SELECT*FROM dept。

(二)编写SQL时使用相同的编码风格

SQL语句被发送到服务器进程后,要经过语句解析、语句执行以及返回结果几个步骤。在语句解析阶段,首先判断在共享的SGA区中是否能找到完全相同的SQL语句,如果找到就省去解析步骤,直接使用现有的执行计划,否则再去执行解析步骤。所谓完全相同是指SQL中的字段位置、大小写、空格个数等完全等价,SQL中所指的对象必须完全相同。

(三)使用TRUNCATE语句替代DELETE

如果要删除表的全部记录,可以使用不带WHERE子句的DELETE语句实现。但TRUNCATETABLE速度更快,并占用更少的系统资源和事务日志资源。DELETE属于DML语句,每次删除一行,同时在事务日志中记录删除动作,在UNDOSEGMENT中保存删除的信息,以备操作撤销,而TRUNCATE语句只在事务日志中记录所释放的数据页,不保留任何所删除的数据,所以速度比DELETE更快。执行DELETE语句后,表所占用的空间是不释放的,而TRUNCATE语句释放表所占用的全部空间。所以TRUNCATE是执行删除全部表记录时效率比较高的操作。

(四)在确保业务逻辑的前提下及时COMMlT提交事务

因为业务逻辑的要求,经常需要在事务中执行一系列DML语句,建议在保证业务逻辑一致的前提下,尽可能的多用COMMIT提交事务,这样可以及时结束事务,释放事务所占用的资源,例如回滚段中的空间占用、DML语句造成的锁、重做日志缓存区的空间以及Oracle Server为维护事务的内部开销。

(五)EXISTS和IN

在编写SQL语句时,经常需要在子查询中获取一个值列表,在主查询中使用IN去比较列数据是否在值列表中,这种方式实现SQL比较简单和结构清晰。OracleServer采用的是先对子查询中的表做全表扫描,获得查询结果,然后再执行主查询。而EXIST则是首先执行主查询,再运行子查询直到找到第一个匹配项。在大多数SQL调优的观点中,建议在业务密集的SQL当中尽量不采用I_N操作符,而使用EXIST替代IN,效率会提高。具体在选择IN或EXIST操作时,要根据主表和子表的数据量大小来具体考虑。如果两个表数据量相差悬殊,EXIST适合外表小而内表大的情况,N适合外表大而内表小的情况。

三、结束语

数据库是数据资料管理、存储与处理的重要技术,数据库系统的性能是决定信息资源使用效率的根本,如果在保证数据查询准确的同时提高数据查询的速度,是影响数据库系统应用效率的重要因素,只有完成性能优化才能保证数据库的高效利用,达到更高的资源应用要求、产生更高的价值。

参考文献:

[1]张君枫.Oracle数据库性能调整与优化[J].电脑知识与技术,2008,29

[2]朱建东,翁正平,柳庆武.Oracle数据库在属性数据管理中的另类用法[J].微机发展,2005,06

网络数据库应用系统安全研究 篇4

关键词:Web,数据库,安全

1. 引言

计算机日益发展到今天,其应用已经与人类的生活学习工作密不可分,在21世纪的信息社会,人与人之问的隐私保护问题显得尤为重要,安全问题已经成为世界的现实问题,没有安全的系统,就没有完全意义上的国家安全、集体安全、个人安全。因此,安全问题是我们当前数据库开发系统中的一大主要问题。而网络数据库应用系统的安全性问题更为严峻,其安全性直接关系到企业的兴衰,国家的安全,因此其安全问题非常重要。

在数据库应用系统中,由于数据的集中管理,随之而来的数据存取,数据库的安全问题已经占据了信息系统的主导地位,因此,研究基于Web数据库应用系统的数据库安全技术对于信息系统的安全保护有着很重要的实际意义。

2. 网络数据库

网络数据库是以后台数据库为基础的,加上一定的前台程序,通过浏览器完成数据存储、查询等操作的系统。即一个网络数据库就是用户利用浏览器作为输入接口,输入所需要的数据,浏览器将这些数据传送给网站后台服务器,而后台服务器再对这些数据进行处理,例如,将数据存入数据库,或者对数据库进行查询操作等,最后网站服务器将操作结果传回给浏览器,通过浏览器将结果告知用户。

3. 网络数据库应用系统安全性设计

为了实现一个Web数据库应用系统的安全,就必须将各个方面的不安全因素尽可能详尽的考虑到,必须结合多方面多层次考虑才能更好的构筑安全可靠的Web数据库应用系统。数据库系统安全机制的核心问题是:作为用计算机保存数据和信息记录的数据库管理系统,应当提供对信息的安全存取的服务:即在向授权用户提供可靠的信息和数据服务的同时,又要拒绝非授权者对数据的存取访问请求,以保证数据库管理下的数据完整性、一致性和可用性,进而保护数据库所有和使用者的合法权益。

3.1 工作环境的安全

3.1.1 计算机管理因素

对计算机自身的管理是安全性的一个重要的方面,客户端的计算机和服务器端的计算机都应设置好用户的使用权限并管理好事务日志记录,以便出现问题及时恢复或追踪审查,定时检查电脑的各性能,若发现有硬件或软件方面的损坏,应及时更新或升级,以便造成不必要的数据丢失。应配备专门的并且专业的计算机管理人员进行严格的管理和对系统的维护及定期的系统性能测试检查。

3.1.2 程序设计因素

在编制Web数据库应用程序时,应充分考虑程序本身的漏洞,以及如何避免,尽可能做到高容错性以及在不同情况下的应变能力。通常包括设置登录Web数据库站点的用户名和口令;为不同级别的用户设定不同的操作权限,访问各自级别的数据库层次;一旦受到攻击,能有效记录被攻击的时间及IP地址:在服务器端和客户端建立安全有效的传输通道,必要时可采用虚拟专用网(多适用与军事方面);在网络传输前能对被传输数据进行加密和对接收到的数据进行解密;可通过数字签名来验证用户的真实性等。

3.1.3 备份与故障恢复

备份与故障恢复是实现应用系统安全运行的重要技术之一,是确保系统因各种不测事件受到破坏时,能尽快投入再使用的重要保证。按照应用系统所收到的破坏程序,需要采取不同的恢复措施,对备份的要求不同。通常提供两种方式:备份恢复和向前滚动,保证意外故障恢复数据库的一致性和完整性。

3.2 应用系统的安全

3.2.1 外部网络的安全机制

(1)加强网络通信协议

在制定TCP/IP协议之初,并没有过多的考虑安全问题。随着TCP/IP协议的广泛应用,其安全问题已逐渐暴露出来,存在很多的安全弱点和漏洞。当前的网络协议存在安全性差,源接入地址不真实,源数据难标识和验证等不可信任因素。

针对以上协议的安全弱点,可采用如下措施:

(1)协议本身并没有提供良好的任何安全机制,如数据保密性、数据完整性、身份真实性以及不可否认性等,不能直接用于建立安全通信环境,必须通过附加安全协议来提供安全机制和安全服务,如IP安全协议、安全套接层协议等都是基于TCP/IP协议的安全协议;

(2)协议本身有安全隐患,往往被攻击者利用作为攻击网络的一种手段,如IP地址欺骗、ICMP等攻击,他们大都属于拒绝服务攻击。利用源地址验证技术可以阻塞IP欺骗,而ICMP攻击等可以安装相应的补丁来保证数据库系统的安全。

(2)防火墙技术

在内部网络和外部网之间构造保护层,阻止对信息资源的非法访问,目前广泛采用以应用层的代理技术为主,以网络层包过滤技术为辅的方式构建防火墙系统,通常具有以下三种结构形式:双穴网关防火墙、屏蔽主机防火墙和屏蔽子网防火墙。

(3)用户标识和身份认证

(4)存取访问控制

经过身份认证后用户登录入网络数据库后,并不意味着能够访问网络中的所有的资源。用户访问网络资源的能力将受到访问权限的控制。一般分为用户访问权限和资源访问权限两种。

(5)并发控制技术

网络数据库大多是应用在开放式的网络环境中,不同于银行系统或军用系统中使用专用网,因此,往往会出多个用户同时访问同一个数据库,鉴于每个用户其赋予的权限差别,从而带来多个用户程序并发的存取同一数据的情况,若对并发操作不加控制就会存取和存储不准确的数据,破坏数据的完整性。

所以,我们应考虑采用封锁机制,给数据加锁以后,使用户职能读取数据而不能修改数据,直到用户释放共享锁。

(6)入侵检测技术

该技术分为两类:基于网络的入侵检测和基于主机的入侵检测。基于网络的入侵检测技术主要采用原始的网络分组数据作为攻击分析的数据源,基于主机的入侵检测技术则是监视操作系统的事件和安全日志等。将这两种方式很好地结合起来,联合使用,提供集成化的攻击签名/检测/报告和事件相关联功能,入侵检测功能将更为强大。

(7)加密机制

网络通信的一个基本问题是,当涉及国家、企业或个人隐私的某些问题时,需要将信息加密后才能在网上发出。一般而言,将信息(明文)又称为报文分组,对每个分组明文加密后变成密文,需要又将每个分组密文解密为明文。

3.2.2 客户端安全机制

客户应用程序是网络数据库安全性的重要方面。它的特点是独立性强,而且实现较为方便,尤其易于根据需求变化而作出响应更改。客户端应用程序可以控制用户的合法登录、身份验证等,还可以直接设置数据。在DBMS自身安全性控制较弱的情况下,从应用程序上加强控制,能很好的保证应用系统的安全性。另外客户应用程序的编写具有很大的灵活性,同时也有很多技巧,可实现用户端灵活安全的有效管理。基于COM+组件应用程序实现的用户身份鉴定技术可大大提高应用端的安全管理,对于一般的企业级应用系统,使用该安全平台是一种好的方案。

3.2.3 服务器端安全机制

如何提高Web服务器安全,为网络数据库的安全访问提供一个可信的平台,其安全问题是一个值得深入研究和探讨的问题。

首先应充分考虑操作系统的选择,应为服务器端选择一种相对比较安全的操作系统。目前,常用的操作系统有Windows NT server/2000和Linux和Unix,安全级别有C1和C2级。主要涉及到密码策略,帐户锁定策略、审核策略、IP安全策略、用户权利指派、加密数据的恢复代理以及其它安全选项。

其次,当网络上的信息到达服务器端,需进行服务器的一系列操作时,应严密监测其合法性。

最后,还应注意对服务器端操作的审计追踪,记录非法操作。

4. 结语

网络数据库安全作为一个特殊的技术领域,有自己的特点,安全问题必须遵从整体性原则,是一个系统工程,系统的任何一个漏洞或隐患都可能造成整个系统的破坏,也时近年来备受关注的问题之一。本文综合分析了目前数据库设计中常用的一些安全措施,构成一套完整的安全策略,从而提高工作的针对性和目的性。

参考文献

[1]王惠琴,李明.基于Web数据库安全机制的研究.计算机工程与设计,2009(7).

案例 数据库管理系统综合应用-- 篇5

数据库管理系统综合应用

-------图书管理系统系统一、实验目的:

通过完成从用户需求分析、数据库设计到上机编程、调试和应用等全过程,进一步了解和掌握所讲解的内容。

二、实验简述:

一个简单的图书管理系统包括图书馆内书籍的信息、学校在校学生的信息以及学生的借阅信息。此系统功能分为面向学生和面向管理员两部分,其中学生可以进行借阅、续借、归还和查询书籍等操作,管理员可以完成书籍和学生的增加、删除和修改以及学生借阅、续借、归还的确认。

三、实验要求:

完成该系统的数据库设计;

用SQL实现数据库的设计,并在SQL Server上调试通过。

四、参考答案:

1、需求分析(1)学生

学生的操作流程如图B.1所示。

登录查询书籍预定书籍续借书籍注销图B.1 学生操作分类表

(2)管理员

管理员可完成书籍和学生的增加、删除和修改以及对学生借阅、续借、归还的确认,其操作流程如图B.2所示。

登录书籍信息维护学生信息维护借阅图书确认归还图书确认注销图B.2 管理员操作分类表

2、概念模型设计

数据库需要表述的信息有以下几种:(1)图书信息(2)学生信息(3)管理员信息

(4)学生预定图书信息

(5)学生借阅归还图书信息

可以用E/R模型表述该模型的设计,E/R图如图B.3所示。

姓名学号学生预定续借系别书号借阅作者出版社图书书名归还语种出版年管理员编号姓名图B.3 模型的E-R图

3、逻辑设计

通过E/R模型到关系模型的转化,可以得到如下关系模式:

(1)Book(BookID,Title,Author,Publisher,Pyear,Language)(2)Student(ID,Name,Dept)(3)Assistent(ID,Name)

(4)BBook(BookID,StdID,BDate)(5)RBook(BookID,StdID,RDate)

(6)Lend(StdID,AstID,BookID,LDate)

2(7)Return(StdID,AstID,BookID,RDate)

说明

(1)书号是图书的键码,每本书有惟一的书号,一个学生可同时借阅多本书。一个管理员可处理多个同学的借阅等事宜。

(2)一般情况下,学生、管理员和图书之间的联系为1:1:n,借书关系Lend作为连接关系,其键码为n端实体集的键码,即书号为借书关系的键码。这反映了如果还书时也把当初的借书记录删除,则书号就能惟一识别一个元组。

如果还书时不同时删除借书记录,则意味着同一本书前后可借给不同的学生,于是学生、管理员和图书之间的联系变为m:1:n,这时借书关系的键码为书号和学号的组合。

如果在不删除借书记录的情况下,同一学生再次借同一本书,这时,学生、管理员和图书之间的联系变为m:p:n,于是,借书关系的键码为书号、学号和管理员号的组合。但这里有一个隐含的信息,即同一学生前后两次借同一本书所遇到的管理员不同,而这种不同可能仅仅是“日期”不同。因此,借书日期成了必不可少的成分,也就是说,在这种情况下,属性全集才是借书关系的键码。

总之,借书关系的键码与图书管理模式有关,读者可按照自己的理解确定键码,并编写相应的事务处理流程。其他关系也有类似之处。

(3)要知道图书当前的状态,是在图书馆存放,还是被借阅等,需要在Book的模式中增加对应项用以表示图书当前的状态。比如我们增加State,并且约定取值和状态的对应关系如下:

1)在图书馆中并且没有被预定 2)在图书馆中并且已被除数预定 3)被借出并且没能被预定 4)被借出并且已被预定

4、物理设计

为了提高在表中搜索元组的速度,在实际实现的时候应该基于键码建立索引。下面是各表中建立索引的表项:

Book(BookID)

Student(ID)

5、用SQL实现设计(1)建立Book表 CREATE TABLE Book(BookID

varchar(20)PRIMARY KEY,Title

varchar(50)NOT NULL,Author

varchar(50),Publisher varchar(50),Pyear

char(4),Language char(1)DEFAULT ’c’,State

char(1)DEFAULT ’0’);

(2)建立Student表 CREATE TABLE Student 3(ID

varchar(6)PRIMARY KEY,Name

varchar(20)NOT NULL,Dept

varchar(20)NOT NULL);

(3)建立Assistent表 CREATE TABLE Assistent(ID

varchar(6)PRIMARY KEY,Name

varchar(20)NOT NULL,);

(4)建立BBook表 CREATE TABLE BBook(BID

varchar(20)NOT NULL,StdID

varchar(6)

NOT NULL,BDate

datetime

NOT NULL, CONSTRAINT FK_BBOOK_BID

FOREIGN KEY(BID)REFERENCES Book(BookID), CONSTRAINT FK_BBOOK_StdID

FOREIGN KEY(StdID)REFERENCES Student(ID));

(5)建立RBook表 CREATE TABLE RBook(BookID

varchar(20)NOT NULL,StdID

varchar(6)NOT NULL,RDate

datetime

NOT NULL, CONSTRAINT FK_RBOOK_BookID

FOREIGN KEY(BookID)REFERENCES Book(BookID), CONSTRAINT FK_RBOOK_StdID

FOREIGN KEY(StdID)REFERENCES Student(ID));

(6)建立Lend表 CREATE TABLE Lend(StdID

varchar(6)NOT NULL,AstID

varchar(6)NOT NULL,BookID

varchar(20)NOT NULL,4 LDate

datetime

NOT NULL, CONSTRAINT FK_LEND_StdID

FOREIGN KEY(StdID)REFERENCES Student(ID), CONSTRAINT FK_LEND_AstID

FOREIGN KEY(AstID)REFERENCES Assistent(ID), CONSTRAINT FK_LEND_BookID

FOREIGN KEY(BookID)REFERENCES Book(BookID));

(7)建立Return表 CREATE TABLE Return(StdID

varchar(6)NOT NULL,AstID

varchar(6)NOT NULL,BookID

varchar(20)NOT NULL,RDate

datetime

NOT NULL, CONSTRAINT FK_RETURN_StdID

FOREIGN KEY(StdID)REFERENCES Student(ID), CONSTRAINT FK_ RETURN _AstID

FOREIGN KEY(AstID)REFERENCES Assistent(ID), CONSTRAINT FK_ RETURN _BookID

FOREIGN KEY(BookID)REFERENCES Book(BookID));

(8)管理员操作 1)增加学生:

INSERT INTO Student(ID, Name, Dept)VALUES(#StdNo, #Name, #Dept);2)删除学生:

DELETE FROM Student WHERE(ID=#ID);3)修改学生信息:

UPDATE Student SET Name=#Name, Dept=#Dept WHERE(ID=#ID);4)增加书籍:

INSERT INTO Book(BookID, Title, Author, Publisher, Pyear, Language)VALUES(#BookID, #Title, #Author, #Publisher, #Pyear, #Language);5)删除书籍:

DELETE FROM Book WHERE(BookID=#BookID);6)修改书籍信息:

UPDATE Book SET Title=#Title, Author =#Author, Publisher =#Publisher,Pyear =#Pyear, Language =#Language WHERE(BookID=#BookID);7)学生借阅图书: BEGIN TRANSACTION INSERT INTO Lend(StdID, AstID, BookID, LDate)VALUES(#StdID, #AstID, #BookID, #LDate);5 UPDATE BOOK SET State=’2’ WHERE BookID=#BookID COMMIT;8)学生归还图书: BEGIN TRANSACTION INSERT INTO Return(StdID, AstID, BookID, RDate)VALUES(#StdID, #AstID, #BookID, #RDate);UPDATE BOOK SET State=’0’ WHERE BookID=#BookID COMMIT;(9)学生操作 1)预定图书:

CREATE PROC Book_Book

@BookID varchar(20),@StdID char(6), @BDate datetime AS DECLARE @TransName VARCHAR(20)SELECT @TransName=’Book_Book’ BEGIN TRANSACTION @TransName DECLARE @booked int, @book_state_before char(1), @book_state_after char(1)SELECT @booked=count(*)FROM BBook WHERE BID=@BookID IF @booked>0

ROLLBACK TRANSACTION @TransName ELSE BEGIN

SELECT @book_state_before=state FROM Book WHERE BookID=@BookID IF @book_state_before=’0’

SELECT @book_state_after=’1’ ELSE IF @book_state_before=’2’

SELECT @book_state_after=’3’

UPDATE Book SET state=@book_state_after WHERE BookID=@BookID INSERT INTO BBook(BID,StdID,BDate)VALUES(@BookID,@StdID,@BDate)

COMMIT TRANSACTION @TransName END GO 学生预定图书,假设图书已经被预定了,则不允许继续预定。否则的话应该根据图书是在馆内还是被借出去两种情况,修改图书当前的状态。最后在预定表中插入一条记录。修改记录和插入新记录应该发生或都不发生,所以将这个动作封闭成一个事务,保证这个操作的原子性。2)续借图书:

CREATE PROC Renew_Book

@BookID varchar(20),@StdID char(6), @RDate datetime AS DECLARE @TransName VARCHAR(20)SELECT @TransName=’Renew_Book’ BEGIN TRANSACTION @TransName DECLARE @booked int SELECT @booked=count(*)FROM BBook WHERE BID=@BookID 6 IF @booked=0 INSERT INTO RBook(BID,StdID,BDate)VALUES(@BookID,@StdID,@RDate)

COMMIT TRANSACTION @TransName END GO 学生续借图书,假设图书已经被预定了,则不允许续借。否则,在续借记录中插入一条记录就可以了。把这个动作封装成一个存储过程是为了使用方便明了。

由于这个数据库实际上更加偏重于模型化,而不是一个实际环境中的数据库,所以在实现应用模型的时候还需要对这个数据库的模型作一些修改。

6、实验总结

通过这次实验,进一步了解什么情况下使用事务。

应用性数据库管理系统的设 篇6

关键词:数据库管理系统;Access;数据库;实践应用

一、数据库管理系统的定义

数据库管理系统(database management system)是一种操纵和管理数据库的大型软件,是用于建立、使用和维护数据库,简称DBMS。它对数据库进行统一的管理和控制,以保证数据库的安全性和完整性。用户通过DBMS访问数据库中的数据,数据库管理员也通过DBMS进行数据库的维护工作。目前,常见的数据库管理系统产品有Oracle、Sybase、Informix、MicrosoftS QL Server、Microsoft Access、Visual FoxPro等,各以自己特有的功能,在数据库市场上占有一席之地。作为Microsoft Office组件之一的Microsoft Access是在Windows环境下非常流行的桌面型数据库管理系统。使用Microsoft Access无需编写任何代码,只需通过直观的可视化操作就可以完成大部分数据管理任务。在Microsoft Access数据库中,包括许多组成数据库的基本要素。这些要素是存储信息的表、显示人机交互界面的窗体、有效检索数据的查询、信息输出载体的报表、提高应用效率的宏、功能强大的模块工具等。它不仅可以通过ODBC与其它数据库相连,实现数据交换和共享,还可以与Word、Excel等办公软件进行数据交换和共享,并且通过对象链接与嵌入技术在数据库中嵌入和链接声音、图像等多媒体数据。本文以Access数据库为实例,分析数据库管理系统的设计与实现。

二、数据库管理系统(DBMS)的主要功能

数据库管理系统DBMS的主要目标是使数据作为一种可管理的资源来处理,其主要功能如下:数据定义:数据库管理系统(DBMS)提供数据定义语言;数据操作:数据库管理系统(DBMS)提供数据操作语言,供用户实现对数据的操作;数据库的运行管理:数据库管理系统(DBMS)的运行控制、管理功能,多用户环境下的并发控制、安全性检查和存取限制控制、完整性检查和执行、运行日志的组织管理、事务的管理和自动恢复。这些功能保证了数据库系统的正常运行;数据组织、存储与管理:数据库管理系统(DBMS)要分类组织、存储和管理各种数据,包括用户数据、存取路径等,需确定以何种文件结构和存取方式在存储级上组织这些数据,如何实现数据之间的联系。数据组织和存储的基本目标是提高存储空间利用率,选择合适的存取方法提高存取效率;数据库的保护:数据库中的数据是信息社会的战略资源,数据的保护至关重要。数据库管理系统(DBMS)对数据库的保护通过4个方面来实现:数据库的恢复、数据库的并发控制、数据库的完整性控制、数据库安全性控制。DBMS的其他保护功能还有系统缓冲区的管理以及数据存储的某些自适应调节机制等;数据库的维护:这一部分包括数据库的数据载入、转换、转储、数据库的重组合重构以及性能监控等功能,这些功能分别由各个使用程序来完成;通信:数据库管理系统(DBMS)具有与操作系统的联机处理、分时系统及远程作业输入的相关接口,负责处理数据的传送。对网络环境下的数据库系统,还应该包括DBMS与网络中其他软件系统的通信功能以及数据库之间的互操作功能。

三、数据库管理系统(DBMS)的需求分析与设计

1.创建主要的数据表及表间关系。在数据库的实际应用中,最常用的用途是两种:一种是信息资源处理,另一种是信息网络服务。数据库创建前,二维表的设计尤为重要,要对表的数量,名称,表结构等,有一个科学的分析设计。

如校园学生管理中,需要班级表,专业表,学生表,课程表,教师表,课程安排表,成绩表等等。表结构中,要定义不同字段的字段名称,数据类型,字段大小。

2.主要功能模块。功能模块用于实现信息的插入、删除、修改和查询。针对工作者所关心的数据信息设计查询功能,添加删除功能,显示功能等,要实现人机的互操作性

3.建立数据库中的查询、窗体、报表。数据库中的查询、窗体、报表要使用友好界面。数据库的工作是枯燥的,简易的操作界面可以减轻工作人员的疲劳程度。简单、快捷的报表设计,有利于工作成果的展现。数据库管理系统的质量评价指标有功能性、可靠性、易用性、效率、维护性、可移植性。要求数据库管理系统安全保密,成熟准确,易学易理解,适应性强。

四、结语

应用性数据库管理系统要满足不同层面应用人群的要求,具有科学性,可操作性,通过系统实现数据的集成管理。国内外的中小型数据库品种繁杂,数量巨大,不同的数据库可实现不同的应用性功能。不久的将来,人工智能,资源共享,互操作等技术都会集成到我们的数据库管理系统中,进一步实现我们对数据的有效管理。

参考文献:

[1]关雅莉.数据库技术-Access2003[M].电子工业出版社,2008.

[2]隋雪莉.《数据库管理系统VisualFoxPro6.0》的教学体会[J].福建电脑,2008,(5).

[3]孟小峰,周龙骧,王珊.数据库技术发展趋势[J].软件学报,VoL15,No.12.

[4]张立.数据库管理系统及其实现问题的研究[J].电脑知识与技术,2010.

[5]李惠琴.标准信息数据库管理系统的创建与应用[J].航天标准化,2010,(1).

[6]赵静.数据库管理系统的现状及发展方向[J].电脑编程技巧与维护,2009-02-30.

[7]周其乐.数据库管理系统的功能与组成[J].信息技术,2009.

[8]韩立毛,赵跃华,朱伟玲.安全嵌入式数据库管理系统的设计研究[J].通信技术,Vol.43,No.06,2010.

数据库应用系统 篇7

面向对象 (OO) 方法的核心思想, 是将系统问题域中的实体对象, 直接映射为软件的构成元素。认为客观世界本来是由许多不同种类的对象构成的, 在不同对象之间的相互联系和相互作用下, 才构成完整的事物。

面向对象方法学所引入的对象、方法、消息、类、实例、继承性、封装性等重要概念, 为软件开发的分析和设计带来新的思维过程和方法, 对于实现大型的、复杂的系统分析和设计奠定了良好的科学技术基础。

近年以来, 数据库开发商们都已经在关系数据库系统中很好地支持了对象到关系表的映射, 如Oracle8i、DB2-5等等。但是, 利用面向对象建模技术所建立起来的对象模型, 无法直接映射到关系结构中, 需要通过某种方法, 进行必不可少的转换。但是更重要的, 是概念上的混乱和额外开发负担所带来的问题。

面向对象数据库系统 (OODBS) 能直接对应面向对象 (OO) 数据模型, 支持自定义的各种数据类型和结构, 并提供数据建模基础上的复杂数据操纵能力, 包括:定义专用的控制运算, 定义语义关系运算, 以及事务管理运算, 等等。

OODBS是持久共享对象库的管理者;每个对象库对应模型所定义的对象集合。

2 面向对象数据库系统的特性

面向对象数据库系统 (OODBS) 赋予数据库设计和应用开发人员很强的面向对象能力, 从而大大扩展了数据库系统的应用领域, 提高了开发人员的工作效率和应用系统的质量。面向对象数据库系统具有以下特性:

(1) 具有表示和构造复杂对象的能力。

(2) 封装性和信息隐藏技术提供了程序的模块化机制。

(3) 能够表达继承和类层次的关系。

(4) 一般为原生数据库, 直接使用编程语言操作数据库, 提高程序员开发持久层阶段的效率。

3 开源的面向对象的数据库DB4O

DB4O (Database 4 Object) 就是一家来自加州硅谷的开源面向对象数据库公司db4objects设计和实现的一款开源的性能卓越的纯面向对象数据库。目前支持.NET和java两种编程语言。

db4o主要特性如下:

(1) 100%原生的面向对象数据库。

(2) 高性能db4o官方公布的基准测试数据, 如表1所示 (表中的数值表示相对速度) 。db4o比采用Hibernate/My SQL方案在某些测试线路上速度高出44倍之多!并且安装简单, 仅仅需要400Kb左右的.jar或.dll库文件。

(3) 支持多种平台db4o支持从Java 1.1到Java 5.0, 此外还支持.NET、Compact Framework、Mono等。

(4) 开源模式与其他ODBMS不同, db4o为开源软件, 通过开源社区的力量驱动开发db4o产品。

4 J2EE系统的设计

目前比较成熟的WEB应用的模型, 即J2EE系统的架构模型——MVC2, MVC+Struts, 如图1所示。

本研究结合面向对象数据库DB4O的特性和J2EE系统的特性, 以内容管理系统CMS (Content Management System) 作为实现的载体。

4.1 内容管理系统模块的设计

根据新闻管理系统的特殊性, 分为前台系统和后台管理系统。前台系统的功能模块如图2所示。

后台管理的系统功能模块如图3所示。

4.2 内容管理系统数据库设计

内容管理系统最为主要的数据库表的设计新闻这张表, 其他的表的设计都是围绕这张表进行, 所以整个系统的数据库表的设计如图4所示。

所有表的id都由系统生成唯一的标识, User作为News表的user属性的类型, Type作为News表的type属性的类型, Comment作为News表的comments属性的类型, 并且comments还是数组类型, 这样能够很好的体现此系统中每个数据表的对象关系。

4.3 内容管理系统的实现

由于面向对象数据库DB4O不同于传统的关系型数据库, 而其中最大的特点是不再有sql语句对数据库进行操作, 所以对于和数据库交互的开启、关闭、增、删、改、查的操作封装城公用类 (Base DAO) 进行相关的操作。而这些对数据库的操作中最有特点的则是查询, 因为没有sql语句, 所以在此封装了一个玫举用于判断对于某个字段的查询是相等, 相似, 大于, 小于, 还是不相等。查询操作符的玫举封装代码, 如图5所示。

在查询操作时就能够和关系数据库类似的进行相等、相似、大于、小于、不相等的查询。生成组合查询条件的代码, 如图6所示。

生成组合查询条件的代码说明:传入参数, query为查询条件的实例, fields为查询的字段名, values为对应查询字段具体的值, query Types为对应查询条件的操作类型即相等、相似、大于、小于、不相等之一。Fields, values, query Types为相同大小的数组, 并且按照数组下标一一对应。

4.4 新闻系统的特殊查询

新闻系统大部分的操作都是查看最新的新闻, 结合DB4O数据库在执行查询 (client.query () ) 时的一些特性, 即每次会取出数据库中此对象类的所有IDs, 此处为所有News对象的ID。所以, 单独对这部分操作进行处理。多个查询操作在一段短时间访问getNews List方法时, 在第一个查询操作还没有关闭数据库之前到来的查询, 继续使用第一个操作查询打开的连接和得到的数据集合对象 (Object Set) 由此提高性能。

5 结束语

面向对象的数据库在J2EE系统中的应用, 就目前而言应用不是很广泛, 但是就其自身的特性在某一些领域运用面向对象的数据库可能会起到优化系统, 提高性能的作用。目前DB4O是主要用于嵌入式应用开发的数据库, 但是它优良的性能, 而且比较优秀的事务管理, 同样能让其在企业应用中合理的应用能发挥很好的作用。此内容管理系统是把面向对象的数据库DB4O用于J2EE项目中的一次尝试, 并且取得了不错的效果。不过是不是适合更复杂的企业应用系统还需要进一步的探索和研究。

摘要:介绍了面向对象数据库系统 (OODBS) 的基本原理, 引入了利用基于开源的面向对象数据库DB4O实现OODBS的方法。在此基础上, 利用DB4O对“新闻信息系统中的内容管理器”进行了设计, 展示了利用DB4O实现OODBS具体应用的方法和途径。

关键词:面向对象数据库系统,数据模型,内容管理系统

参考文献

[1]夏素霞, 袁宗福, 金立平.OO模型中ODL语言的研究与实现[J].计算机应用与软件, 2005 (5) .

[2]王意洁.面向对象数据库的并行查询处理与事务管理[M].长沙:国防科技大学出版社, 2005.

[3]徐洁磐.面向对象数据库系统及其应用[M].北京:科学出版社, 2003.

[4]王珊, 萨师煊.数据库系统概念[M].北京:高等教育出版社, 2006.

[5] (印度) Kumar B V, Sangeetha S, Subrahmanya S V.深入浅出J2EE架构应用程序设计与部署的原理[M].北京:清华大学出版社, 2006.

[6] (美) Darren Broemmer.J2EE应用与实践技巧Java设计模式、自动化与性能[M].北京:电子工业出版社, 2004.

[7]Rosen Jiang, 张黄瞩, Chris.开源面向对象数据库DB4O之旅[EB/OL].http://www.ibm.com/developerworks/cn/java/j-db4o/

数据库应用系统的存储规划原则 篇8

通过建立适宜的信息化应用系统, 企业可以提升竞争力、获取良好经济效益。在选购存储产品时, 企业往往会慎重考虑容量满足度、可靠性、易实施性、易管理性、售后支持服务、投资保护、生产率增强能力等诸方面。然而, 在存储使用过程中, 由于缺乏合理的存储规划目标, 没有有效的存储规划原则, 数据库应用系统上线后导致I/O瓶颈, 影响系统的使用效果。

二、数据库应用系统架构

基于数据库的应用系统是目前企业建设的主流。图一给出了典型的数据库应用系统架构, 共分为网络层、数据库层、应用层和存储层。其中存储层是数据库I/O行为的具体执行者, 是应用处理的最终数据承接端, 其性能直接影响应用系统的处理效率和运行可靠性。

存储层的重要性主要表现在数据的安全性、存储的稳定性、运行效率等方面。处于数据安全和管理复杂性考虑, 企业对待存储层具有一定的惰性, 即一旦部署基本不动。因此事先的存储规划远远比事后的调优更重要。

三存储规划目标

存储规划目标从业务服务需求出发, 重点关注交易响应时间和交易处理的持续并发能力, 存储系统资源规划以部件响应能力为基础, 降低存储系统热点、容灾、利用率及维护对服务能力影响。

3.1降低主机磁盘响应时间。规划主机磁盘响应时间的关键因素, 涵盖数据处理IO特征、数据保护方法、部件利用率、数据处理并发性。

3.2降低资源热点对性能影响。规划存储连接端口、缓存、磁盘及磁盘控制卡, 以及交换机端口, 分析排查IO等待队列、Pending数据、命中率等数据特点。

3.3降低容灾保护对性能影响。规划容灾数据高写负载数据卷、容灾数据卷数据量及写数据的均衡能力, 以及容灾数据处理的链路响应等。

3.4降低部件故障对系统性能影响。规划存储连接端口、缓存、磁盘及磁盘控制卡, 以及交换机端口等系统部署冗余性, 分析排查系统冗余部件的耦合性。

四、存储规划原则

基于业务的服务要求和应用特征, 结合主机、数据库及存储资源配备情况和技术平台最佳实践, 在设定明确和切实的服务目标后, 为了获得很好交易处理响应时间和更强业务承载能力, 在存储规划时需要遵循一定的原则。

4.1有效合理的条带化方式。采用存储数据卷的META Stripe作为磁盘基本划分, 在此基础可以封装主机及数据库的Double Stripe方式, 通常LOG区域的Stripe Size建议保持64K。关键及重要业务系统建议采用Mirror方式, 卷组成员建议8-16的磁盘数量。Clone数据卷为了节省数据空间, 可以采用RAID5方式, 建议采用RAID7+1方式。

4.2全面细致的资源平衡。存储阵列系统的部署资源包括FACPU、FAPort、Cache、DA、磁盘, 以及数据卷Hyper卷在磁盘分布平衡。存储交换系统的部署资源包括交换机之间、ISL通道、Port、ASIC数据通路分布平衡。

4.3资源部署单元化降低故障影响面。存储阵列系统的部署资源包括FACPU、FAPort、Cache、DA、磁盘, 建议分布在不同控制卡中。存储交换系统的部署资源包括交换机之间、ISL通道、Port, 建议分布在不同交换机和控制卡内。

4.4降低数据和索引空间对LOG空间影响。数据库的数据和索引空间与数据库LOG空间进行独立磁盘划分、使用独立的磁盘。

4.5磁盘分组规划保护关键业务资源。对磁盘分组划分, 创建独立clone磁盘组作为Clone数据专用, 创建两个数据磁盘组和一个LOG磁盘组, 同时META数据卷的选择要求遍历不同磁盘。

4.6合理有效数据卷数量提供容灾性能保障。在保证使用容量数据卷的基础上, 尽可能多使用Hper数量, 建议采用META8数据划分。

4.7关键业务的支持环境部件性能利用率不超过50%。关键业务的存储阵列系统FACPU、FAPort、Cache、DA、磁盘部件利用率建议不超过50%。

4.8关键业务系统部件独享。关键业务系统使用独立的存储阵列系统FACPU、FAPort、磁盘组。

五、综述

本文结合目前数据库系统的业务需求和典型的系统架构, 结合数据库应用系统的存储规划目标, 给出了存储规划的原则。

摘要:随着信息技术的发展和国家层面的重视, 企业越来越重视数据库应用系统的建设。在系统架构设计过程中, 企业往往重视产品选型, 缺乏存储方面的规划, 导致系统上线后存在I/O方面的瓶颈。本文介绍了数据库应用系统的架构, 重点给出为实现存储规划的目标而需要遵守的原则。

数据库应用系统 篇9

一、数据完整性

数据的完整性是指数据库中数据的正确性、有效性和一致性。正确性是指数据的合法性;有效性是指数据是否在定义的有效范围;一致性是指表示同一个事实的两个数据应相同。数据完整性包括:参照完整性是指一个表的外部键必须在另一个表中找到或者为空。参照完整性反映了事物之间的相互联系;实体完整性, 它是指主键的值不能为空或部分为空, 如果主键为空或部分为空, 则失去了主键的惟一标识性;用户自定义完整性是针对具体应用环境数据必须满足的语义要求。

目前, 在这一领域的研究已经存在许多成果, 大体上可分为三大类: (1) 讨论多层/多级完整性模型; (2) 讨论数据完整性约束的实现方法; (3) 讨论数据完整性的控制、检测策略, 即利用关系型数据库中所提供的默认、约束、规则和嵌套触发器技术, 对来自客户端的数据进行合法性和有效性的检验, 有效地保证了数据完整性。

二、影响数据完整性的因素

数据完整性的影响因素是多重的, 主要是有以下四种:首先是来自人为错误, 因为个人的安全意识缺乏就有可能导致个人邮件或是聊天记录的数据泄露;第二种影响来自于内部用户, 这可以分为两种情况, 一种是恶意威胁, 这是对系统基础设施有意识的有目的的攻击, 而无意的威胁可能是来自于那些网络中的错误数据导致的危机信息安全;第三种因素是外部威胁, 这就包括了计算机网络的各种病毒, 包括木马、蠕虫、黑客等不安全策略对计算机产生的侵蚀所导致的计算机数据不完整;第四种是系统配置不当所引起的。而这四种因素对于数据完整性的意义重大。

三、实施数据完整性的设计

数据完整性策略实施的领地在数据库当中完成, 数据完整性的实施和设计方案很多, 而且特点各异, 对于应用系统而言, 主要策略是灵活多样, 因为数据不能保存完整性的原因我们前面分析过也是灵活多样的, 所以策略也应该有所改变:

首先是要对各种约束进行准确定义, 约束的大体笔者在前面章节已经进行了阐述, 可以采用服务器端的数据库触发器或是表定义的约束来实现对其准确定义, 这样可以降低客户端应用程序的开发量, 并且能够提高应用系统安全运行的可能性, 可靠性和可约束性。然后再通过一些有效途径转入的数据通过服务器数据库进行管来, 并且采用客户端应用程序来实现数据的完整性。这样, 一方面可在提交到数据库之前把非法数据就拒之门外, 另一方面可把操作信息及时反馈给使用户, 使客户作出正确的选择。

在我们的设计当中, 应该对控件有所选择, 应该利用PB控件来确保数据的完整性, 具体操作时, 可以在数据窗口对象的列校验属性来检查正确性, 界面可以采用下拉列表等控件, 而应用程序本身来进行确保完整时要谨慎, 因为可能会对应用程序本身造成影响。

本系统设计是基于客户端应用程式来实现的, 数据完整性实现过程中必须的设计在这里都有了其依据, 比如可靠、安全、互动性能好、强大的功能和编程所占程序太大等, 有利有弊, 但是总体来说, 设计还是利大于弊的。

四、数据完整性在数据库应用系统的应用

数据完整性的应用主要是保证存在于系统中的信息和数据处于一种未受损害和完整的状态。即在合法使用数据的前提下, 不会因为有意或无意的事件而将数据随意改变或丢失。那么其应用范围之广可见一斑了。一般而言, 广大企事业机构都是在SQL Server数据库应用系统中实现数据完整性。而对于公司尤其是其档案的完整性十分重要, 所以数据完整性研究的范围和实用性就非常强大。

对于各种数据, 要采用不同的方法来保持其完整性, 千万不可以以一对千, 同样的方法对这些不一样的数据无法共同适用。

比如对于通过窗口操作的数据, 可以用客户端程序来使之保持完整, 首先是可以在数据提交数据库前就将非法的不合理数据拒之门外, 第二就是把用户需要的数据和操作的反馈尽早反馈给用户和操作者, 得到正确和完整的应用。

另外, 如果是其他途径来的数据, 则需要服务器端的数据库来帮助实现数据完整, 因为这些数据未必接触到用户端, 所以在数据库之前就进行其完整对于数据流的安全等都具有着重要的作用。

第三, 在数据完整性的同时不要忽略数据的一致性维护, 由服务器数据库触发器或是表定义的约束来完成这个过程并且实现的情况, 对于数据完整性的应用和实施是极大的效率保证。

对于大型公司或是那些对数据完整性和安全性要求较高的大型数据库系统, 在维护其完整性的同时还应该采用多层保护来确保完整性和安全性, 可以进行双重约束和定义, 这样就可以设置几道屏障来完成数据完整和数据一致。

五、小结

数据完整性对于各个数据库来说都非常重要, 不仅仅因为数据本身的重要性, 而且数据流会影响到系统的方方面面, 所以保持数据完整和数据一致一直是数据研究的重点和难点, 目前来说只能做到越来越好, 但是如何能够百分之百的实现, 还需要进一步的研究和发现。

摘要:随着国家信息化建设的普及, MIS系统的应用也越来越广泛。而MIS中, 实现数据库中数据的完整性是一个必须解决的复杂问题。本文从数据完整性、保证数据完整性应遵循的几个原则、影响数据完整性的因素、数据库完整性约束条件、实施数据完整性的策略、数据完整性的保护策略等几个方面进行阐述, 望能对数据库中数据完整性的实现有一定的借鉴意义。

关键词:数据完整性,数据库,设计与实施

参考文献

[1]薛华成.管理信息系统.清华大学出版社, 1995.

[2]萨师煊, 王珊.数据库系统概论 (第三版) [M].北京:高等教育出版社.2004

数据库应用系统 篇10

随着信息化技术的不断发展, 越来越多的企业开始管理创新, 广泛的应用信息化管理系统, 从而提升企业的现代化管理水平。而信息化管理系统基本上都是建立在数据库系统的基础上的各种功能的实现, 因此数据库系统性能的高低, 就会直接影响应用系统的性能。而且一般来说当大型数据库在运行一段时间之后, 由于存在着大量的数据, 在运算速度上就会不同程度的受到影响, 而计算机操作系统、内存、应用程序算法以及数据库服务器等诸多元素都会对数据库系统的性能构成重要的影响。

2 数据库系统主要性能的评价指标分析

数据库系统性能评价指标主要有以下几点:

2.1 系统吞吐量

这个指标指的是单位时间里, 数据库系统所能够完成SQL语句的执行数量。通过是以每秒事务量 (tps) 来衡量。系统吞吐量越高, 那么系统反应时间和执行速度也会越快。

2.2 用户响应时间

这主要指的是用户向数据库提交SQL执行语句开始, 到数据库执行并向用户反馈结果集这段时间, 也就是应用系统的反应时间, 主要是以毫秒来衡量。通常分为CPU执行时间和用户等待时间两种。

2.3 数据库命中率

Oracle数据库系统中, 用户进程所使用到的数据都会先集中在缓冲区, 也就是会集中到系统内存中, 这样能够提升数据读取效率, 如果内存数据能够符合用户的需要, 那么命中率就会越高, 那么系统执行效率就会越高。第四, 内存使用情况。这主要体现在共享内存和运行内存以及永久内存三个存储空间的科学分配上, 内存利用效率越高, 系统性能就会越高。第五, 磁盘I/O速度。因为大量的数据都会存储在硬盘上, 因此从硬盘数据转移到内存单位时间I/O规模越大, 那么速度就会越快, 就能够有效缩短用户响应时间, 从而提升数据库系统性能。

3 Oracle数据库应用系统的优化技术分析

3.1 SQL语句的优化

SQL语句是操作数据库的脚本语言, 如果SQL语句能够在优化器的作用下, 能够充分利用数据库的索引表, 那么就能够有效减少数据库扫描索引表的I/O次数, 就能够提升数据执行效率。而优化SQL语句的主要步骤有以下几点:

(1) 查找存有问题的SQL语句, 对这些语句进行提前优化, 发现问题就能够有效降低错误的读取数据库的频度, 查找问题SQL语句的主要方法主要是通过搜集统计数据功能, 在Oracle数据库管理系统中含有DBMSSTATS包以及ANALYZE解析命令, 其中DBMSSTATS包主要是搜集有关链接数据行的相关统计数据, 语法结构为:exec DBMS_SATS.gather_table_stats (owname’, ’t ablename’, ’partnmae’) 。而ANALYZE解析命令则是分析数据簇的相关情况。其主要的语法结构为ANALYEZE CLUSTER Cluste_name Computer STATISTICS。然后再使用SQLTrace32对SQL语句进行分析, oracle中的udump管理区就会对SQL语句进行跟踪, 对语法的解析和执行以及CPU时间和语法执行时间和逻辑读取的次数等参数进行记录, 接着在通过Oracle Enterprise Manager Console图形工具获得数据库相应的性能指标信息, 从而为SQL语句优化提供重要的参考。

(2) 构建正确的SQL语句, 提升查询效率。在使用SQL语句时要规避索引不能够和用户表空间建立在同一个磁盘上, 这样会造成大量的资源浪费现象。另外WHERE的子句的查询顺序也要进行优化, 注意从上至下的顺序进行查询, 同时表之间的连接要出现在其他WHERE标识符之前, 这样就能够有效减少调用数据库的数据量, 从而提升SQL语句的执行效率。

3.2 Oracle内存优化调整

Oracle数据库管理系统中, 其内存结构相对其他数据库管理系统而言相对复杂, 主要影响的参数包括Shared pool, Database Buffer Cache以及Java Pool等。对于Oracle的内存结构的优化主要可以从下面几个方面着手:

3.2.1 对Shared pool进行优化

也就是对共享池的大小进行合理优化。共享池主要是缓冲区以及数据字典高速缓冲区的重要存放点, 如果数据库缓冲区设置较小, 那么就会影响到数据使用性能。如果缓冲区过大, 随着使用次数的不断增加, 就会造成大量的数据碎片, 于是也会逐渐降低系统的性能。通常提升数据库缓冲区的命中率可以通过下面的执行语句来进行优化:Select (1-sum (reloads/sum (pins) ) ) from v$librarycache。执行这个SQL语句之后, 返回的结果如果小于0.95, 那么就需要增加这个共享池大小, 来提升缓冲区命中率。而优化数据字典缓存则可以通过下面的SQL语句来优化:select sum (1- (getmisses) / (sum (gets) +sum (getmisses) ) ) from v$rowcache。如果这个SQL语句的执行值小于0.85, 那也要增大共享池大小来优化内存结构。

3.2.2 对高速缓存进行优化

如果缓冲区中包含的高速缓存空间越大, 那么载入到内存中的数据量就会越大, 那么I/O存取效率就会越高, 对此可以通过下面的语法来进行优化:select name, value from v$sysstat where name in (‘dbblokcgets’, ’consistent gets’, ’Physical reads’) 。执行这个SQL语句之后, 如果返回的值小于0.85, 那么就需要增加缓冲区高速缓存的值来提升数据库的性能。

3.2.3 优化日志缓冲区

如果日志缓冲区分配值太小, 那么就没有充分的空间来防止重做条目, 从而延长等待时间。对此可以从下面这个语句来查看日志缓存区是否满足需求:Select name, value from v$sysstat where name=’redo log space requests’。如果这个语句执行之后, 得到的结果为0, 那就不需要进行调整, 否则就需要增加日志缓存, 通常可以上调5%左右, 然后重复执行这个语法, 直到最终的返回值接近0。

3.3 针对oracle的表空间进行优化

表空间是Oracle数据库管理系统的重要创新, 合理使用表空间能够有效提升数据库的性能。对此可以从下面几个方面来着手优化:

3.3.1 科学规划表空间

将数据和索引分到不同的表空间, 这样能够有效降低I/O竞争。在修改应用上, 将重演日志和归档日志进行分开, 尽可能将90%以上的输入输出操作放在系统表空间中, 或者在索引表空间和回滚表空间中。

3.3.2 优化表空间的结构

对此首先就要分离系统表空间, 彻底规避在系统表空间中存储大量非系统用户对象, 这样就会造成数据维护的数据调用重复读, 从而降低数据库系能。然后就要分离索引段。特别要规避和相关的数据段存储在同一个表空间中, 如果调用同一个数据, 就会重复执行输入输出操作, 同时还容易出现冲突, 导致时间等待, 从而降低数据库利用效率。最后要分离临时表空间, 临时的表空间不应该和其他类型的段放在一起存储, 这对于数据库性能的影响也非常明显。

4 结语

总而言之, Oracle数据库管理系统的功能非常强大, 在应用Oracle数据库时, 需要结合相应的硬件环境, 同时在软件性能上采用科学的数据库布局模式, 再加上合理的内存分配, SQL语句的优化以及表空间的优化, 就能够有效提升Oracle数据库性能, 从而提升应用系统的性能。

摘要:数据库性能的高低, 对于企业管理水平和工作效率的提升都具有非常重要的作用。本文在分析数据库系统主要的性能评价指标基础上, 提出了Oracle数据库应用系统的主要优化措施, 从而为提升数据库性能提供一定的参考。

关键词:Oracle数据库,性能优化,内存分配

参考文献

[1]李可可.浅析Oracle数据库的性能优化方法[J].硅谷, 2011 (02) .

注:本文为网友上传,旨在传播知识,不代表本站观点,与本站立场无关。若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:66553826@qq.com

上一篇:赏识教育 下一篇:管理信息系统数据库