发布时间:2022-12-31 07:49:18
序言:写作是分享个人见解和探索未知领域的桥梁,我们为您精选了8篇的数据库设计样本,期待这些样本能够为您提供丰富的参考和启发,请尽情阅读。
中图分类号:TP311.13
一般来说数据库的设计与系统运行的效率有很大关系,一定要全面顾及到数据的统一性、全面性、可靠性以及其延伸性。数据库设计需达到的一个标准,达到这些标准的数据库都有下述一些共同的优点:结构分明、简洁,而且不会出现插入、删除以及更新等操作问题。我将数据库设计经验以及技巧作为切入点,进行深入的分析,相关内容如下所述。
1 数据库的类型
一般都会按照使用的需求去选用相应的数据库。在目前的市场中,基本将数据库分为下述几类:大型数据库,中小型数据库以及小型数据库。
其基本原则为下述:
(1)系统数据量较多,对相关的性能需求较高,数据的密级高,要顾及到优化等问题,这样的情况一般使用大型数据库。
(2)系统数据信息不多,容易进行操作且方便管理,数据库基本可以保持稳定,这样一般都会使用中小型数据库。
(3)系统数据量很小,其系统投资少,这样就可以选择使用小型数据库。
2 数据库对象以及物理模型设计技巧
针对对象的模型设计,要与客户进行交流,深入地了解客户所想要的,且要顾及到客户的需求延伸。基于IPO设计理念进行工作,深化功能模块的处理、输出以及输入,且具体到所有属性,全面地掌握和本系统有关的外部接口以及数据。用建模工具构建ER图表,且在每一字段细致地做出标注以及详解,对对象命名进行规范化处理,以便进行维护。
表设计的标准以及规范化。数据的硬性指标是以范式去定义的,常规的数据库设计都是依附于第三范式,由于第三范式被认为在延伸性、数据全面性以及性能等方面都达到最佳的平衡。不过很多时候,为了其效率与特殊的需求,可以选择非常规范式指标的设计。
第一点,编码与参数要利用表维护,字段命名要构建相同命名的规范,中文详解要尽可能地细致。
第二点,顾及到一些改变。在构建数据库表字段的时候,要全面顾及到哪些字段以后会出现变更的情况。
第三点,选择自定义出现次数多的字段,这样以便于进行修改以及调整。比如日期、备注以及金额等。
第四点,设计那些较为常用的隐藏字段去实现一些特殊要求,如加设删除标记的字段、数据构建的日期以及数据调整的日期等。
一般的视图是为应用程序对数据抽象而构建的,全面利用视图能够深化数据库设计的多元性。针对视图构建要防止非关联查询操作。一般的视图设计要采用相应的数据库性能分析软件,从根本整合视图性能,持续地去改进。
较为繁重的数据运算、业务参数处理一般都是利用存储过程去完成的,因为性能较为优异、处理效率高以及易于修改。存储环节编写要利用性能分析软件实施检测并予以分析,持续优化存储。针对核心代码,要予以必要的加密功能。
不要轻易使用触发器,那样会在调试环节为你造成很多不必要的麻烦。一般设计过程中要了解触发的先决条件,通过一定的分析而去选择触发模式,而且还要顾及到此表的操作是不是影响到其余表。
3 文件管理
一般来说数据库配置文件可以把数据与日志文件放到系统可靠并有一定空间的位置;数据文件可以设置成增量扩展,而且还能按照数据量的多少予以设置;可以将数据库设置成差异备份,按时进行较为全面的备份。
4 对数据进行全面性设计技巧
要实体全面性。利用主键以及联合主键进行控制,可以使用系统编码,而不是使用业务编号进行控制。父表里的插入、删除以及更新数据。删除方式要利用级联删除,权限删除以及置空值等;插入操作则利用权限插入以及递归插入方法;对数据进行更新则利用级联更新,权限更新以及置空值等技巧。用户定义的全面性,NOT NULL,触发器以及CHECK。针对松散耦合数据,不需要利用数据库设计去确保数据的全面性以及完整性,尤其是业务的约束,利用应用程序去完成,从而不会因为系统受到过多的局限,而发生数据库异常的情况。
5 针对表设计相应技巧
经常对应很多编码的字段,如果应用十分繁杂,且数据量较多,那么就要考虑在表中加设冗余字段,可以加上设备的编号,也可以增加设备的命名字段等,从而就能够防止过多的操作其他表,以便于程序的编写以及提升系统的运行效率。加设记录日志以及数据版本的字段,这样有利于系统实施管理与跟踪,按照相应的实际情况进行设计。针对数据量多,且需保存的数据库表,可以使用历史表,从而去保存出现的数据,以便提供数据的备份以及对现有数据的使用。
6 检查数据库设计以及帮助文档的技巧
在数据库的设计过程里,都会选择一些数据库设计软件,其中包括Power Desiger,数据库表设计结束后,要有检查数据库表设计的良好习惯。
数据库设计工作者要深化经常查阅数据库帮助文档的工作习惯,认真地比对以及检查相应功能函数与设计措施的迥异。
7 总结
针对数据库设计过程中的侧重点,是要在数据库设计的过程里去感受、对比、总结以及分析的。一个优秀的系统与数据库的设计密不可分,所以数据库工作者对数据库的设计要有较为深入的认识以及灵活多变的设计技巧。
参考文献:
[1]姚卿达.汉字情报检索系统CCIRS研究报告(Ⅱ)――数据库设计的多级方法[J].中山大学学报(自然科学版),2010,14(22):1814-1819.
[2]申玉静,谭业武.数据库案例教学在计算机专业专科教育职业化改革中的应用与研究[J].福建电脑,2010,12(16):1031-1036.
[3]姜卉芝,钱丽瑾.LotusNotes数据库设计[A].数据库研究进展2012――第十四届全国数据库学术会议论文集(下),2012,11(12):1004-1006.
[4]王正山.在ASP中利用SQL语句实现动态网页与WEB数据库的连接[J].安庆师范学院学报(自然科学版),2011,13(03):293-295.
[5]马垣,张红云,李晓瑞,刘刚,张小平,马文胜.关系数据库中基于拓扑空间的聚类方法[A].第十八届全国数据库学术会议论文集(研究报告篇),2011,17(04):372-373.
[6]吴连喜.农化服务关系型数据库的设计[A].青年学者论土壤与植物营养科学――第七届全国青年土壤暨第二届全国青年植物营养科学工作者学术讨论会论文集,2013,11(02):178-181.
[7]许伟成,姚亚明,余立军,林志军.广域网下异构远程数据库的包装入网技术[A].中国土木工程学会计算机应用分会第七届年会土木工程计算机应用文集,2013,15(06):692-671.
关键词:数据库设计;可扩展;对象;关系数据库
中图分类号:TP311.131文献标识码:A文章编号:16727800(2011)012017302
作者简介:刘学(1983-),男,山东郓城人,硕士,菏泽学院教务处助教,研究方向为网络信息系统。
0引言
数据库设计是建立数据库及其应用系统的技术,是信息系统开发和建设的核心。数据库设计是指对于给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效地存储数据,满足各种用户的应用要求(信息要求和处理要求)。
数据库设计的核心问题是建立模型。一般而言这个模型要满足两类准则:结构准则和性能准则。前者主要考虑如何保持数据的特性,后者主要考虑资源的合理使用和数据库的存储效率。在所有数据库设计准则中最重要的原则是:最终产品必须满足用户的最终要求。但是,首先需要存储的信息是动态的,应用自身的发展也会产生新的和扩展的信息需求;其次,信息化是分步进行的,用户很难一次提出完整的需求;第三,用户和设计人员之间存在理解上的差异。因此,数据库应用系统在完成以后,系统功能很可能不能完全满足用户需求,而且随着时间的发展系统功能会逐渐偏离用户或企业的需求。所以,数据库应用系统必须要不断地改进和扩展以适应环境的变化以及组织自身的发展需求。
目前数据库设计普遍采用“需求驱动”的数据库设计模式。但是,如果在数据库设计阶段,建立数据库模型时没有充分考虑到数据库应用系统以后可能的改变及扩展,将使系统以后的维护工作变得极其困难,甚至必须重新开发数据库应用系统。本文针对数据库应用系统开发过程中遇到的动态可扩展问题提出了一种数据库设计模型――基于键值对的对象属性可扩展模型,它区分了应用中的不同对象的类型,通过设计属性分类提高了数据库应用系统中数据的可改变性和可扩展性。
1信息系统中的传统数据库设计模型
通常,在传统数据库设计模型中,设计人员在设计阶段总是将数据信息表达的尽可能丰富,使其不仅满足所有需求分析阶段得到的用户需求,而且还要尽可能考虑到应用以后可能的改变以及扩展。采用这种方式设计的数据库应用不仅数据表过于“臃肿”,而且对于未来的应用难于改变或者扩展。
例如,在某校园建筑管理信息系统中,系统成立初期,只要求该系统能够展示建筑的基本信息,如名称、简述等。设计人员有可能将数据表格设计成,我们称之为方案1。包括编号、建筑名称、建筑描述是建筑的最基本属性,此外设计人员也考虑到了系统将来的扩展,加入了诸如建设日期,高度,等属性。由于设计人员不可能完全预见学校未来发展状况,所以对于系统现阶段的需求来说,尽管建筑信息表已经非常详尽了,但是随着时间的推移系统仍有可能不适应实际需求。
随着需求的发展,建筑的信息需求有可能发生变化。例如:①为了获取建筑质量,有可能对该建筑的施工文件等信息保存;②随着校园信息系统的建立,可能有更多的不同类型的建筑需要存入系统,比如管道信息,一些标志性雕塑,或者植被信息;③随着系统的扩展,原有数据表可能不能满足日益增多的该类建筑所有信息的存储,所以需要建立新的数据表扩展其属性;④对于一些简单的建筑或者物体比如一棵树一个石凳,存储的信息明显和一座教学楼不同,需要按照类型的不同,设计多个不同的数据表分别存储不同类型的物体信息。
2数据库设计中的扩展性需求
在应用中,类似这样的数据存储结构改变以及应用扩展的情况还有很多。如果用传统数据库设计模型,那么在设计初始阶段就必须考虑到应用未来所有的改变及扩展,尽可能使表格的信息详尽,否则当应用发生改变或扩展时,必须重新设计表结构,并对应用程序中相关片段全部重写。如果同一变化出现在不同部位,由于不同的原因,出现在不同的阶段,那么现有表结构不能满足要求;如果需要增加过多的对象属性信息,那么表结构将必须修改。但是,如果我们将数据对象化,并采用定义其属性和值的设计模型,上述问题将迎刃而解。
作为开发人员,总会面对业务方提出的数据结构变化的需求,字段的增加,数据表的修改总是随时可能根据需求发生。因为业务在发展,或者需求就有可能需要一个完全动态的可扩展的数据库设计方案,但是以目前的关系数据库实现这种动态扩展的特性,在系统一定规模之后所付出的代价是昂贵的,也是不安全的。为了这种动态扩展性,有这样三种常用的方法:
第一种方法:预留字段。既然很难加字段,就预先留好一些备用,但是这样没那么灵活,有一定的实用性,不过因为预先留的字段一般是没什么含义的,需要有额外的信息来描述,这种方法在扩展性要求不是太强的地方可以不影响性能的前提下提供一定的扩展性。
第二种方法:使用复杂字段。在某些特殊要求下还是很有用的,比如,某个业务实体(某张表),有一些标记位,都是true/false的标记,可以理解为这个实体的一些属性,经常需要添加,这种情况,在生产中我们使用过用一个数字,按位来表示这些标记的,比如第三位表示他是不是付费用户,第四位表示他是合作方来的用户还是自己注册的,等等。还有一种情况,需要更复杂的属性列表,属性个数经常变,可以考虑使用一个文本字段,保存结构化的数据,然后在使用时需要动态解析该字段。使用复杂字段的好处就在于比较灵活,同一类型的数据可以放在一起(实际上相当于把应该是一个关联表的数据放一个字段里了),操作的性能也不错,但是复杂字段里面的内容查询比较困难,程序实现和修改起来也更复杂。
第三种方法:将数据的存储和索引(需要查询的内容)分开存放,相当于主表就一个keyvalue,把需要查询的字段放到其他单独的表里去,这种方法对数据的实时查询的效率有一定的影响,但是针对实时性的要求并不是所有系统都有要求的,在有些地方是很好的解决方案。
3基于键值对的对象属性可扩展模型
本文的基于键值对的对象属性可扩展模型就是结合上面提到的第三种方法,使用数据表分别单独存储对象分类和分类的属性信息的定义,并且实现了分类属性之间的树形的可扩展结构,对象信息的存储用过一张表用来存储所有对象公有的可快速查询的数据信息,另一张属性值表存储所有的对象的特有属性的keyvalue。通过这样的设计可以在不修改原数据表结构的前提下,实现所有存储对象的动态可扩展,如图1所示。
图1对象属性信息结构模型
由图1所示,表t_class保存对象的分类信息如建筑,管道,雕塑等;t_attibute_def保存的是每个分类所对应对象的属性信息如建筑的高度,施工单位等;t_entity保存的是分类对象的公共信息,是具体的物体如1号教学楼;t_entity_content保存每个具体的对象所有属性的信息值;t?_file表用来保存一些扩展的文件信息。通过这样一个模型我们可以在需要是动态定义一个大的分类并且可以动态的设置每个已有分类拥有哪些属性,所有对象的的具体内容分别存储在对象公共信息表,对象属性信息表和文件信息表中。
在实际应用中,还涉及到属性冗余,查询,修改等方面的问题,通过在校园管理系统中应用的结果来看,这些都可以实现,并能获得较好的效率。
4结束语
综上所述,传统的数据库设计适用于简单的、业务数据固定或变化极少的集中式数据库应用。在应用范围更广需要更灵活数据结构的系统中,显然面向对象属性的扩展设计更加适宜。
随着网络环境的日益普及,新的应用呈现出来的开放性与分布性特点,Web应用系统也由简单的数据库系统逐具有了更灵活多变应用环境,在这种环境下,能够满足扩展和动态改变的需求,将有更广阔的应用前景。参考文献:
[1]萨师煊,王珊.数据库系统概论(第三版)[M].北京:高等教育出版社,2000.
[2]刘洋,高连生,王斌.一种面向用户扩展的树状数据库设计模型[J].计算机工程与设计,2006(11).
【论文摘要】介绍了利用数据库在企业中实现对仓库的管理,及软件的设计与实现。
为了实现对备品备件及辅助材料仓库的现代化科学管理,保证物资和备件管理的安全性、准确性和可靠性,降低劳动强度,提高劳动效率,为企业获得更多更快的经济效益,我们开发设计了专用的备品备件和辅助材料仓库管理系统。
系统的设计与实现
1.我们首先对于原始的手工管理工作进行深人调查,了解备件的收、发、存物流情况,帐本和管理方式,数据统计等方面进行深入调查,经过总结其事务处理流程图如下:
2.为了实现利用数据库对仓库进行管理,对用户的要求进行总体概述和界面描述并进行具体的数据流分析,其顶层数据流程图如下:(其它层略)数据流描述如下:
入出库单=编码十名称+型号+规格十图号+数量十单价+人库单位(领料单位)定额=班组编码+班组名称+金额计划单=编码+名称+型号十规格+图号+申报数量+申报日期系统命令=备件录人}系统查询!系统统计.报表打印}生成计划表格=全厂车间消耗表I收发存表}库存清单l消耗明细表}消耗日报
3.将宏观管理转化为数据模型,进行系统总体设计和详细设计,写出详细的设计说明书和计划任务书。我们的设计说明书主要内容如下:(.l)该软件系统是以树形结构展开的,其模块图(见图l一1)
(2)文件结构(外部文件描述)
文件BJR*.DBF BJC*.DBF* .DSH*.DBFLJKC*.DBFC*.DBF GYD*.DBF分别是需求规格说明书定义的人库、出库、流水当前库、单价库存库、标准特性编码库,他们对应的索引文件分别是BJR*.IDX BJC*.IDX LSH*.IDX DJKC*.IDX GYD*.IDX索引关键字是FBMVV。(*代表备件的各种分类如:阀门类、电器类、工矿类、工艺类、轴承类、小型机械、轧机轴承、仪表等)
(3)模块描述(以顶层模块为例)
模块名:BJMAIN
编号0.0
功能:本模块为总控模块。产生主菜单,接收用户对菜单的选择而分别进人下层模块。
界面:下属模块1.01.11.21.31.41.51.6
处理:CASE
1.调用模块1.0系统维护
2.调用模块1.1备件录入
3.调用模块1.2系统查询
4.调用模块1二3综合统计
5.调用模块1.4报表打印
6.调用模块1.5计划管理ENDCASE
4.我们进行了程序代码的编写、并进行了功能测试、错误信息测试、边界测试、用户测试和长期系统维护,经过几年的实践,我们不断进行更新和完善,该系统目前愈来愈满足用户的要求。
[关键词]企业信息收集工作;数据库设计;信息化
目前,怎样让信息收集工作的质量得到加强,成为了医院发展过程中的一项重要工作。而且随着我国市场化发展的进步,医院的数据库设计也迎来了全新的发展时代,现如今数据收集的复杂化、智能化的实现,是这项工作取得进步的最好证明。该就以企业信息收集的意义为角度,来具体地讨论一下如何对数据库进行规范化的设计。
1数据库设计工作的规范化
在医院信息收集工作中的意义医院在对信息收集的时候,一定要确保数据能够具有较高的质量,同时还要确保收集的高效率。医院若想在竞争激烈的环境中保持一定的竞争力,就必须要做好信息收集工作,这样才能够跟得上时展的脚步,同时也是医院能够得到持续发展的重要一步。随着我国现代化水平的提高,信息产业也迎来了发展机遇。特别是医院的信息收集工作,它独特的信息化特点已经成为了医院发展的重要构成部分。医院若想完成信息化建设,就一定要和信息收集工作相结合,如此一来,就可以很大程度地提升工作效率,而且也能够为长远发展打下一个坚实的基础。另外,数据库设计质量如何,更是能够决定医院信息化发展的程度,确保数据库设计的质量,可以作信息化建设工作更加的具有意义。不过现在,很多医院在信息收集工作方面是存在很大的问题,不仅没有体现出其应该具备的效果,而且还对医院的各方面工作造成了一定的影响,影响了医院信息化发展。而之所以会出现这方面的问题,主要的原因在于数据库设计人员的能力有限。医院之所以开展数据库设计,主要是想让医院能够找到更多的数据搜索方式,不过这也因此增加了数据库设计工作的难度,从而让医院的相关工作人员在梳理信息收集工作和信息化建设这两者的关系上显得并不合理。
怎样以最快的速度让医院获得更加方便的数据收集方式,成为了相关工作人员急需到的重要工作项目。医院信息收集工作本身具有统一性,而且所有部分的工作都存在着一定的联系,对于所有医院工作人员来说,必须要准确的掌握好数据收集工作和信息化建设的关系,数据库设计工作才能够取得进步。医院的相关负责人若想通过磋商的办法来解决收集工作和信息化之间的关系,那么就一定要创建出一套合理的数据库设计规范制度。医院的数据库设计工作在信息化建设中占据着重要的位置,而从信息收集的角度考虑的话,加强数据库的建设,可以充分展现出其智能化、高效化的重要举措。而且也意味着在信息收集和信息化工作上架起了一个结实的纽带。数据库设计始终涵盖于信息收集工作的任何阶段,其中的任何一项任务,都能够决定企业开展信息收集工作的方向,同时也能够确定信息收集工作的性质。另外,加强数据库设计工作,能够让医院工作人员掌握好信息收集工作和信息化建设之间的关系。而只有让数据库设计具备规范化,才能够完全体现出数据收集工作的智能化、高效化等突出特点,如此一来,信息收集和信息化建设就可以达到规定的目标[1]。
2医院信息收集质量分析
2.1信息收集的基本要求
信息收集具有很多的种类,不仅需要很多的文字信息,同时还要收集很多的图形、声像等信息。除了要拥有和患者的病理、生理有关的信息以外,还要收集和医疗、药品、设备有关的信息,所以提出信息收集的基本要求主要包括:信息收集形式要完善、具有科学的管理方式、要确保信息的完整性、可靠性、价值性等等。而以上这些内容,则是对信息收集的最基本要求。
2.2信息缺陷分类
①根据内容分,主要包括患者自然信息字段错误,诊断医疗关键词错误,收费信息字段错误等等。②根据缺陷的原因,主要包括信息不完备、网络被侵害、数据丢失、信息没有太多利用的价值,信息不符合相关标准等等[2]。
3设计主要工程
3.1概念结构设计阶段
3.1.1初始化工程
这方面的工作主要分为2点,①目的描述,②范围描述,同时还要确定建模的目标,并制定出建模的具体方案,创建建模团队,收集各种资料。其中,最主要的工作就是对资料的收集。根据调查能够发现,业务流程、报表等是基本数据资料表的主要构成部分。
3.1.2定义实体
DIEFIX模型值能够二次联系。通过对业务的实际情况能够了解到,必须要通过实体联系矩阵才可以实现二次关系。之后再根据实际情况确定出联系关系的势、关系名和说明。
3.1.3定义码
引进交叉实验,来去掉还没有得到确认的关系,之后根据独立实体的情况,去详细了解候选码的属性,这样就能够充分掌握所有实体的实例,最后再通过候选码,来确认主码。另外,想要确保主码的合理性,最好采用非空规则。
3.1.4定义属性
根据源数据表里的情况,去选取具有代表性的名词开发出属性表,然后明确属性的拥有者。给非主码属性一个准确的定位,之后检验属性的非空规则。另外,也要检验函数规则,确保非主码属性能够依附于主码。这样一来,就能够获得和关系理论相符的IDEFIX模型。
3.2逻辑结构设计阶段
把概念结构有效的转化成能够得到DBMS融合的数据模型,然后在做优化处理工作。在对逻辑结构进行设计的时候,最好选用能够展现有关概念结构的数据,之后再选用最为合理的DBMS。之所以要转换关系模型,主要是为了能够把实体以及和实体有关的部分全部转换成关系形式。
3.3数据库物理设计阶段
数据库能否达到企业所理想的要求,数据库物理设计非常的重要,同时也是决定数据库能否具备适应性的关键。而它的重要工作任务,就是要把虚幻的数据转换成为物理结构,然后通过对各种因素的了解,去进行设计索引等有关方面的工作,这样一来,就能够充分了解实验设计是否具备了充足的适用性[3]。
4数据库的主要设计技巧
①若想加强数据库的设计水平,或者让数据库设计工作更加具备时效性,就一定要让此项工作迎合市场规律,而想要做好这方面的工作,首先,就是掌握市场对于数据库的实际需求,相关工作者要和市场部门进行有效的交流与合作,掌握市场的需求,并采用试验等有效方式,去合理的制定数据库设计的目标,加强数据库设计方面的工作②在设计的准备期,不仅要掌握市场的最新信息,而且还要全面的掌握医院业务的详细情况,这样就能够很好的提升设计工作的效率。另外,还可以使得数据库设计的效果能够更加迎合市场需要,这样就能够防止设计期间由于不了解医院的实际情况而发生设计质量问题。③如果能够合理地设计数据字典和ER图表,那么就可以教会相关工作人员怎样运用数据库。不过若想很好地让数据字典以及ER图具备时效性,要对数据库进行完善的整顿,然后再将里面所存有的所有名词进行统一管理。如此一来,就可以让数据字典以及ER图标具有时效性[4]。
5结语
通过以上内容能够了解到,随着我国市场化发展的进步,数据库设计也迎来了全新的发展时代,而想要做好这方面工作,相关工作者就一定要让数据库设计工作更加具备时效性,全面掌握市场的最新信息以及医院的业务、另外,还要采取合理的方式去对数据字典和ER图表进行设计。因此在今后的工作中,相关工作者要积极努力,认真探索,争取制定出更为完善的方案,从而让数据库设计水平迈向一个新的高度。
[参考文献]
[1]郝进义.数据库设计规范及设计技巧研究[J].计算机光盘软件与应用,2012(12):176-177.
[2]王丽娟,米西峰.数据库设计规范及设计技巧研究[J].电脑知识与技术,2015,11(28):12-13.
[3]刘勇.数据库设计技巧及设计规范[J].信息技术与信息化,2014(5):251-252.
数据库设计系统设计数据库设计习惯系统设计分为两个部分,也可以说是两个阶段,即数据库设计与系统功能设计。构建一个完善的系统需要这两个阶段的充分考量、周密设计、合理联接以及密切配合。在这两个设计阶段中数据库设计阶段是整个系统设计的根基,数据库设计关乎系统功能实现度、稳定性、扩展性等多个方面的内容,其重要性可想而知。然而目前的情况是:从学校到社会,从教师到学生,从思想到行动都以实现功能,做上层的表面文章为主流。这不仅会为系统留下隐患,也将成为整个软件开发行业的隐患。
一、海量数据环境到来为数据库设计提出的新高度
数据库设计是近些年出现的技术领域。早期的时候,数据库是以一个黑盒的方式,附属到某个系统当中的,开发人员对它的关注很少。互联网的时代,系统数据量呈几何级数激增,数据存储与表示也使用了TB,PB乃至ZB等单位。在这种情况下各种性能问题日益凸显,数据库由于其载体与容器的身份承担了其中的很大一部分。海量数据带来的存储、查询速度以及容灾等方面的压力是这一环境下的新问题。无论是项目负责人、开发人员还是DBA(Database Administrator),都不可回避地要面对这个问题。
在这种大数据环境下人们对数据库性能的优劣俞发关注,对系统设计阶段中的数据库设计阶段也提出了新的更高的要求,数据库功能也正在从数据存储工具的角色转变成数据处理器的角色。因此,目前的系统设计中也总是将数据库从系统设计中拿出来单独进行设计。一个数据库性能的好坏,通常是在系统设计阶段就决定了的。
二、好的数据库设计所应具备的基本条件
1.充分体现系统的需求
数据库是为应用服务的,好的数据库设计应该首先能满足应用系统的业务需求,能够准确表达数据间关系。
2.能够保证数据的准确性和一致性
通过主外键、非空、限制、唯一索引等保证数据的健壮。
3.提高数据的查询效率
通过合理表结构,安排物理存储分区、增加索引等方式,提高数据的读取速度,提高查询效率。
4.有好的扩展性
好的数据库设计在必要时应能根据需求进行数据结构的扩展。
三、重视不足的数据库设计的具体体现
不良的数据库设计,必然会造成很多问题,轻则增减字段,重则系统无法运行。对数据库设计重视不足在具体设计中可体现在很多方面,现列举其中的部分内容:
1.与需求不符
数据库是需求的直观反应和表现。在数据库设计之前对用户需求没有进行详细了解与必要的分析,在设计过程中也没有同用户及使用单位进行必要的沟通。这样往往造成数据库在设计上的不实用。与用户需求不符将使整个系统无法交付使用。
2.字段设计不合理
一是设计中缺少必要的字段,造成无法跟踪数据变化、限制用户操作或无法进行数据分析。二是字段长度过短或字段类型过于明确,使可发挥、可拓展的空间太小。设计不合理的字段如果用于查询将造成SQL查询语句过于复杂,而使查询无法顺利进行。
3.数据完整性丧失
通常指存储大量数据的数据表之间的关联过多,包含主外键关系的数据表之间的关联字段设计方式不合理,或是多张数据表之间耦合度过高,更新与删除操作后就容易造成程序出错。
除上述内容之外,因对数据库设计过程重视不够而非技术不足所造成影响还有很多,在此不一一列举。需要相关人员明确的是系统设计如同所有项目一样包括各个环节。例如,汽车制造过程包括图纸设计、模型制作、样车制造、小批量生产,最后是批量生产等环节。制造过程环环相扣,后一过程将建立在前一过程正确的前提基础之上。很显然越是初始环节出现问题对整个项目带来的打击越大。在开发顺序上由于数据库设计阶段位于整个系统设计的前端,因此在此环节出现的问题其影响是具大的。
四、如何培养良好的数据库设计习惯
一般来说,在系统设计时间与任务量的安排上,数据库设计至少应占用整个项目开发的60%以上。这样才能保证系统的强壮、可靠与稳定。从事系统设计的相关人员要养成良好的数据库设计习惯主要应从以下两个方面着手。
1.转变观念
首先,很多计算机专业的学生、教师以及真正的开发设计人员受社会大环境的影响在学习与工作中没有踏实与务实的作风。再者,很多承担专业教学的教师没有真正的系统设计经历,很难给学生的系统设计习惯进行正确的引导。还有,学习的动力导致学习的效果。学生在学习前就已经对各门专业课程进行了“三六九等”的划分。认为各类流行的语言与开发工具是重要的,是简历中的“添彩”之处,是今后工作必备的。其实,各种语言一通则百通,并不需要面面俱到。因此,这就需要“产学研”人员都能转变观念,以培养正确的设计习惯。
2.增加大型系统开发经历
大型系统开发其交付后都能具有较高的实际应用价值,其对数据库设计的要求必然符合其应有的地位。之所以在观念上对数据库设计存在重视不足的问题同相关人员没有大型系统开发经历有一定的关系统,开发经验总停留在模拟系统阶段是无法真正认识到数据库设计的重要性的。
五、结语
综上所述,可见数据库设计在系统设计中的作用是举足轻重的。对数据库设计重要性的忽视必将为整个系统埋下隐患,对系统以及开发人员而言所要付出的代价也将是巨大的。
参考文献:
[1]谭怀远.让Oracle跑得更快2――基于海量数据的数据库设计与优化.电子工业出版社,2011.
关键词:数据库技术;数据操作
中图分类号:TP311.13 文献标识码:A 文章编号:1007-9599 (2011) 21-0000-02
The Application of Database Technology in the Website Design
Qin Yan1,2
(1.Northwest Normal University,Lanzhou 730070,China;2.Sichuan Staff University of Science and Technology,Chengdu 610101,China)
Abstract:Using the data base technology in the dynamic homepage may nimbly carry on the operation to the data,realizing data screening,inquiring,increasing,the deletion and the revision.This article will detailedly discuss how to use data base technology to realize the data screen,inquiry,increase,deletion and revision in the website.
Keywords:Data base technology;Data operation
前言:随着Web技术的发展和电子商务时代的到来,人们并不满足于仅能静态显示数据的网页,更多的时候需要能与用户进行交互,并能提供后台数据库的访问和管理等服务的动态网站。而一般来说,网站的信息量越大,服务的范围越广,信息的分类、整理、检索、保存等就越难。而数据库技术正好解决了这种困难,通过在动态网页中运用数据库技术,可以灵活地对数据进行操作,实现数据的筛选、查询、增加、删除与修改。可见数据库技术大大提高了工作效率,增强了网站的服务能力和扩充能力,很好地解决了维护和信息的分类、整理等问题。本文将详细讨论如何在网站中应用数据库技术来实现数据的筛选、查询、增加、删除与修改等功能。
一、数据库技术和ADO对象
(一)什么是数据库
数据库,顾名思义是存放数据的仓库。具体来说是长期储存在计算机内的、有组织的、可共享的数据集合。当人们收集了大量的数据后,应该把它们保存起来进行近一步的处理,抽取有用的信息。以前人们把数据存放在文件柜中,现在随着社会的发展,数据量急剧增加,人们就要借助计算机和数据库技术来保存大量的数据,以便能更好的利用这些数据资源。
(二)ADO
ADO是ActiveX Data Objects(ActiveX数据对象),是Microsoft公司推出的一项数据访问技术,位于OLE DB API之上的、面向对象的、与语言无关的通用数据访问接口。OLE DB是一种数据访问的技术标准,目的是提供统一的数据访问接口,既可以访问DBMS数据源,也可以访问非DBMS数据源,且不用考虑数据的具体存储地点、格式和类型。即ADO可以通过ODBC技术访问关系型数据库,也可以通过OLE DB API访问符合OLE DB标准的任何数据源,包括邮件数据、电子表格、Web上的文本或图形,从这个意义说,符合ODBC标准的数据源是符合OLE DB标准的数据存储的子集,OLE DB的存取对象范围是更为广泛的数据存储。
二、数据库技术在网站中的应用
(一)ASP技术与动态网站
ASP技术是把HTML文档、脚本命令和ActiveX控件混合在一个*.asp文件中,其中脚本命令是*.asp文件的主要组成部分,包含在脚本分界符或HTML的和标识之间。当客户端浏览器向Web服务器发出HTTP页面请求时,Web服务器把它传送给ASP引擎,由ASP引擎解释其中的ASP脚本代码。如果需要访问数据库,则向数据库服务器请求所需数据,一并嵌入HTML文件中,将结果返回给客户端浏览器。
(二)动态网页中数据库的连接访问
我们可以从ASP页面源文件中用脚本语言引用ADO对象,使用ODBC(Open Database Connectivity)或OLE DB(Object Linking and Embedding Data Base)驱动程序,通过浏览器/服务器(B/S)模式可以非常轻松地完成对数据库的操作。
ADO主要提供了三个对象实施数据库的访问和操纵,分别为Connection对象、Command对象和Recordset对象。Connection对象是使得ASP网页链接到数据库的一个对象,它通过和ODBC中的Data Source Name的结合,就可以使网页链接到数据库上。Recordset对象在数据库文件里,形成一个指针,指向数据库文件中的数据,再利用Recordset所含有的方法,在数据库文件里上下移动指针,移到想要查询的数据记录上。Command对象是介于Connection对象和Recordset对象之间的,用来对数据库传递SQL(结构化查询语言)的指令,并对数据库进行存取。
三、数据库访问方法
(一)创建数据源
动态创建的ODBC数据源(DSN)或在Windows的控制面板中配置ODBC数据源(DSN)。
(二)建立数据库连接
在ASP网页中操作数据库的第一步就是要建立ASP网页与数据库的连接。下面的语句将建立一个Connection对象,并设定由cnnDB对象变量引用:Set cnnDB=Server.CreateObject(“ADODB.Connection”)
完成了Connection对象的建立后,接着,我们必须调用Open方法,才算完成数据库的连接。其语法格式为:CnnDB.Open字符串,使用者账号,密码。当使用完Connection对象后,可以调用Close方法,关闭数据库的连接,语法如下:cnnDB.Close。完成关闭数据库的连接后,我们最好再将Connection对象变量设为Nothing。语法格式:Set connDB=Nothing
(三)对数据库进行操作
当连接了数据库后就可以对数据库进行操作,比如查询、删除、更新等等,ADO提供的Recordset对象可以根据您的查询限制,通过SQL指令进行检索,并且显示一组数据库行,即记录。Recordset对象保持查询返回的记录的位置,允许您一次一项逐步扫描结果。根据
Recordset对象的指针类型属性设置,您可以滚动和更新记录。数据库指针可以让您在一组记录中定位到特定的项。指针还用于检索和检查记录,然后在这些记录的基础上执行操作。Recordset的使用方法如下:Set rs=Server.CreateObject("ADODB.Recordset")
s.Open SQL指令,Conn,l,1’读取
或rs.Open SQL指令,Conn,1,3’新增、修改、或删除
通过以上指令,创建了一个包含数据的对象rs,事实上对象是存储在活动内存中的类似记录和字段的数组的东西,当通过RecordSet组件创建一个对象时,它从数据提供者处得到一个数据集,并用它来充实对象,所创建的RecordSet对象的一些属性和方法有:
rs.RecordCount数据记录总数;rs.EOF是否己指到最后一条记录
rs.MoveNext将指针移到下一条记录
rs.MovePrev将指针移到上一条记
rs.MoveFirst将指针移到第一条记录
rs.MoveLast将指针移到最后一条记录
rs.Close关闭RecordSet对象
关于数据库查询语句,在具体设计网站时请参考相关书籍。
结论:ASP作为一种当前流行的网站后台开发技术,与数据库管理系统结合,可以完成各种非常实用的功能,如留言板,网上投票,聊天室,网上考试及目前最流行的电子商务。
参考文献:
[1]董长林.ASP与数据库在网站开发中的应用[J].陕西气象,2007,1
[2]安i,宋之辉.数据库与动态网站开发初探[J].大学学报(汉文版),2006,3
[3]周林勇.电子商务网站与Web数据库[J].商场现代化,2006,13
[4]姜亚军,王艳芳.谈网站建设中数据库的综合运用[J].辽宁教育行政学院学报,2006,4
[5]王志宏.数据库技术在网站中的应用研究[J].皖西学院学报,2003,2
[6]伊斯坎代尔.数据库在网站中的运用[J].乌鲁木齐职业大学学报,2003,3
对于嵌入式数据库系统是利用计算机的技术,并且是可以根据软硬件的不同要求进行指定应用,这样可以满足系统在应用时对功能和可靠性的要求。在嵌入式系统运行时,其都是隐藏于内部的设备中,不是通过计算机的形式显示出来。如果在系统中加入了嵌入式的数据库系统,一般会认为是智能的系统。在嵌入式数据库系统中必须融入计算机技术、电子技术和新兴的半导体技术,这些技术完美的结合才能成就嵌入式数据库系统正常可靠的运行。因此,嵌入式数据库系统是一个要求有技术支持,并且资金足够,在知识系统的创造上也必须合理的系统。在对嵌入式数据库系统进行结构分类时,其主要是分为嵌入式的处理器和的一些构件。在数据发展的历史上分析,一般计算机技术的发展会促进数据库的发展,同样反过来也一样。这两项技术在历史的发展中都是相互促进并且相互影响的。在嵌入式数据库系统中一个主要的用途就是移动数据的处理。移动数据技术可以实现不受时间以及地点的限制,进行数据的交流。现在技术在不断地提升,在无线通信的网络服务和各种形式的移动的设备,这些都是要建立在嵌入式数据库系统之上的。虽然,嵌入式数据库比较复杂,但是其用途很广泛。
2对嵌入式数据库系统设计的研究
2.1嵌入式数据库系统设计的含义
为了满足嵌入式数据库系统设计的各种功能及标准上的要求,一般分为嵌入式的数据库、PC主数据源和同步模块这几个部分,在这些构成部分之中,微型化的嵌入式的数据库系统的设计具有最高技术性和应用性以及容易携带的特点,这就是嵌入式数据库系统设计的一般含义。这三个构成部分,其中微型化嵌入式数据库有数据的容量比较小,其可靠程度比较低的缺点,但是这点在PC主数据源中会有弥补,因为PC主数据源只能用于PC机中,这样就不能按照意愿进行移动。在这些构件的中间部分是同步模块,这个部分可以进行数据的双方向的交换,将数据在嵌入式数据库和主数据源之间进行传递,保证信息传递的及时性和一致性。因此,我们可以把同步模块作为信息交流的桥梁。只有嵌入式数据库设计中三个部分合理的结合应用,才可以互相补差补漏,既可以有嵌入式数据库的便于携带的优势,又可以获得大量的数据,这样对于想要随时获得大量信息的用户来说,就得到了满足。通过三种部件互相结合的方式,就是嵌入式数据库系统设计的主要方式。
2.2嵌入式数据库系统设计的特点
在传统的计算机系统的结构体系的设计中,一般采用固定的网络连接对不同的计算结点之间连接,这样可以保证网络能够连续的连接。但是随着移动数据技术的发展,它要求固定的节点和移动的结点相结合,那么以前传统的网络连接就不能够满足条件。对于移动数据库,其要求的性能比较高,所以要求有嵌入式数据库系统的设计,这种设计是建立在传统分布式的数据库的建设上进行拓展而来的。现在的移动数据库是把固定的服务器节点和客户端进行连接以获取动态的数据,因此可以将移动计算机环境中的数据库管理系统看作是动态式的数据库管理系统。从根本上来说,传统的数据库的设计和嵌入式数据库系统设计有着很多不同点,如果在移动的计算机环境下进行移动数据的应用就是嵌入式的数据库系统,这种可移动的特点优于传统数据库设计。嵌入式数据库系统设计主要特点是包括有对标准的SQL进行技术支持,对事务的管理功能和完备的数据库管理功能,可以供多种嵌入型操作系统的应用。
3嵌入式数据库系统设计的技术和应用前景
3.1嵌入式数据库系统设计的主要技术
嵌入式数据库系统设计其中一项主要技术就是数据的复制和缓存的功能。通过这项技术可以将需要维护和备份的数据在不同的多个移动的网络节点之间进行复制备存。在嵌入式数据库系统设计中的这项功能主要是进行服务器之间的复制数据和移动的计算机数据信息之间的复制和保存。从严格意义上来说,只有服务器之间进行的复制才能被称为数据的复制,而计算机上所保存的数据进行复制就是属于数据的缓存。复制可以提升分布式的数据库的可靠程度和访问的性能,但是必须保证多个复制节点在数据上的一致性。根据维护复制的功能上所采取的技术方法的不同,就可以将复制功能分为严格一致性和弱一致性。在嵌入式数据库系统设计的复制和缓存技术中,如果要求严格的一致性就要保证在无论何时复制的数据信息其内容都是一致的,但是对一致性的要求比较弱,那么可以允许在较短的时间内有不相同的现象的出现。但是我们要求其不同的数据不能太多,必须控制在一定的范围之内,并且最终随着时间的演变是能够趋向相同的。对于嵌入式数据库系统设计的另一个技术就是数据广播。这项技术是应用于移动的计算环境之下,关于客户的机器和总的服务器双方是不对称的,正好应用了这一点,就可以用类似于周期式的形式来传递数据和信息。通过数据广播技术可以帮助处理数据库系统的断接问题,并且不会因为用户的数量的变化而发生变化。对于数据广播技术的构造中一个方面是服务器,这个层面是用来进行组织广播和调节数据,可以对广播数据进行本地缓存。因此,复制缓存技术和数据广播都是嵌入式数据库系统设计的主要技术。
3.2嵌入式数据库系统设计的应用前景
随着物流业的逐渐发展壮大,嵌入式移动数据库系统设计也可以应用在物流方面。采用嵌入式数据库系统设计,可以对物流的信息进行准确的跟踪,对生产、销售和运输过程中的资金进行合理的安排。在物流的运输工作中,可以利用嵌入式数据库系统技术将车辆信息中移动的数据信息进行传递,从而保证物流车辆在运输过程中的一切行踪都在总系统的控制范围内。通过嵌入式数据库设计可以将手写的信息用无线的网络传入中央的数据库来存储,这样有利于物流信息的更新和保存。同时,嵌入式移动数据的技术也可以应用于移动的银行。目前,我国的移动用户的群体在逐渐的扩大,所以银行移动化也是大势所趋。嵌入式数据库系统设计在移动银行上进行应用,可以帮助用户进行实时的账务查询和交易,增加了灵活性。移动银行的用户可以不受时间和地点的限制,来办理银行业务,从而也节省了大量的时间。在水电业中,对于数据传统上的采集方法是进行家家户户的抄录数据,现在则可以利用嵌入式数据库技术进行移动的传输数据,从而提高了工作效率。
4结束语
关键词:网站;数据库设计;开发
中图分类号:TP311 文献标识码:A 文章编号:1007-9599 (2012) 19-0000-02
数据库设计的好坏将直接对系统的效率以及实现的效率产生影响,好的数据库设计对网站的发展具有决定性的作用。下面主要对网站管理系统数据库设计进行分析。
1 数据库设计需求分析及建设流程
随着网络的不断发展,人们越来越多的通过网络来了解所需的信息,网络化一方面加强了各方面的联系,通过网站全面宣传企业等;另一方面,销售网站的也在近几年来迅速发展,成为了近几年来新增网站的主力,网络销售也越来越受到人们的欢迎;另外还有工作性质的网站。从目的上看主要是宣传,销售,政务工作等。
需求分析通常是和系统调查结合在一起,通过调查收集资料,然后进行分析。系统调查的基本方法有:(1)收集企业资料。如企业组织机构、管理模式、部门职责与业务流程、业务规划、各种报表和单证等。(2)个别访谈。主要针对企业特定人员,如高层主管、业务骨干等,目的是了解信息系统开发背景、目标,企业发展及对信息系统的要求等涉及系统全局性的信息。(3)填写调查表。对所有参与信息系统处理和未来系统的使用者,调查他们当前对信息处理和使用的方法以及对未来系统的要求等信息。(4)跟班参与和观察。对于一些关键环节、或无法了解清楚的处理环节和管理岗位,系统开发人员通过跟班体验、亲自参与和观察,来准确了解所需要的信息。(5)开调查会:举行由开发人员、部门经理和业务管理人员代表等参加的会议,了解当前的信息处理模式和信息需求。
必须准确了解并清晰表达系统开发所需的全部信息。不可能通过一次调查就把所有需求弄清楚,需要综合使用各种方法进行多次调查。但无论采用何种方法,调查前都要认真准备,事先有调查提纲或设计调查表,调查后仔细分析调查结果,撰写调查报告。系统调查是一个和信息系统未来用户沟通的过程,涉及不同部门、不同层次的业务人员和管理者。调查者需要具备良好的与他人特别是非专业人员沟通的能力。对系统调查获得的各种资料信息,可以编制详细的汇总清单,并和用户一道对信息的准确性和完整性进行审核。
其具体的建设流程是:
(1)程序及数据库开发:建立高质量的电子商务网站需要对网站建设、用户需求、数据库设计进行深入细致的分析。
(2)数据库开发步骤:需求分析系统功能模块设计程序编辑应用开发测试验收交付客户
(3)数据库开发工具:
数据库 SQL SERVER、MY SQL、ORACLE。
操作系统 WIN NT、Linux。
开发语言JAVA、ASP、PHP、JSP。
(4)维护功能:为了保证网站正常工作,网站维护是必要的。但是远水救不了近火,谁也不能保证网站在故障的时候网站维护人员能够及时维护,这就要求在设计的时候要增加自主维护功能。有了软件维护功能,哪怕是简单的备份功能,也能够在突发事件中将数据损失降到最低点。
2 数据库设计的原则
在数据库系统开发设计的时候应该尽量考虑全面,尤其应该考虑用户的各种需求,避免浪费不必要的人力、物力和财力。表是包含数据库中所有数据的数据库对象。表定义为列的集合,每行代表唯一的一条记录,每列代表记录中的一个域。表存储在数据库文件中,有相应权限的用户都可以对其进行操作。表和列的命名要遵循标识符的规定,必须为每列指定数据类型,列的数据类型决定了数据的取值范围和存储格式。
3 具体案例
下面以一种销售网站为例进行分析,某手机销售网站的具体需求信息如下:
3.1 功能需求分析
(1)前台商店功能
此功能是用于客户浏览界面,及对购物的流程显示
商品分类检索。商品的类别由店主自行在网店管理系统中设定。支持商品分类检索。
首页推荐商品和特价商品、排行榜商品。管理员可在商城管理系统中设定一些重要的商品,作为首页推荐商品。这些商品直接在首页出现。同样,也可以设定部分商品为首页推荐的特价商品及首页排行榜商品。
购物车:购物车功能主要是指的用户选中商品之后,点击“购买”按钮,商品会自动到购物车里,而且用户购买的数量也可以自主的调节。
订单生成:用户确认购买购物车内的商品之后,点击“订单确认”就进入了订单详情的页面,此页面会让用户确定商品的同时,选择快递方式和交易方式等。
订单查询:网站会员可以通过查询功能,随时查询商品信息,也可以查询购买后的商品情况,例如快递情况等。另外用户也可以查询到购买历史。
辅助功能:包括会员资料修改,密码修改,用户缺货登记,缺货登记处理,发货或缺货通知等等。
商品评论:用户对网站或者某一件商品进行评论或者评价,网站管理员对用户的评论可以进行管理操作。
(2)后台商城管理功能
管理员管理:后台管理商品和处理订单,帮助用户修改密码,群发邮件等。
商品类别管理:添加,删除,修改商品分类。
分类商品管理:在不同的类别下管理商品,包括商品上传,修改和删除等功能。商品资料包括:商品名称,品牌,产地(生产商),市场价,优惠价,商品详细介绍等
会员管理:修改、删除会员资料等,查看会员订单信息、会员访问信息。
处理订单:付款确认、商品出货、订单查询,可以根据需要设定员工权限处理相关项:如送货员只具有商品出货权限、财务只具有付款确认权限。
进销存功能:进货开进货单,其它费用支出开支出单。查看每日、每月、每年营业统计。查询商品库存数量。
配送方式、付款方式:配送方式支持运费可以分为买家支付以及卖家承担,买家支付时可以有平邮,快递之分,平邮快递单位价格由发货地价格决定。付款方式具有很强的扩展性,集成了西部在线支付功能。支持网银在线支付(根据情况需要修改)
3.2 数据库概念结构设计
设计好数据项和数据结构之后,就可以开始设计满足用户需求的各种实体,以及他们之间的各种关系,为后面的逻辑结构设计做准备。这些实体包含各种具体的信息,通过相互作用来形成数据的流动。数据库设计是指对一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,有效存储数据,满足用户要求和处理要求。数据库结构设计的好坏将直接对应用系统的效率及实现效果产生影响。
设计数据库系统时首先充分了解各个方面的需求,包括现有的及将来可能增加的需求。由于本系统面向的对象有3个,即普通用户,会员和管理员,所以在数据库需求分析中就要考虑三方面因素。
3.3 数据库逻辑结构设计
数据库的概念结构设计结束后,就可以将上面的数据库概念结构转换为ACCESS所支持的实际数据模型,即数据库的逻辑结构。
参考文献:
[1]刘海宁,王经雨.网站管理的几种形式及应用实践[J].首都医科大学学报(社科版),2008.
[2]任雪莲.B2C电子商务网站的设计与构建[J].商场现代化,2009,20.