开篇:写作不仅是一种记录,更是一种创造,它让我们能够捕捉那些稍纵即逝的灵感,将它们永久地定格在纸上。下面是小编精心整理的12篇数据库设计,希望这些内容能成为您创作过程中的良师益友,陪伴您不断探索和进步。
OptimalDesignofCaseDatabaseinDatabaseCourseTeaching
HUANGXin
(JiaxingTechnicianCollegeDepartmentofTradeandTourism,Jiaxing314036,China)
Abstract:Aimingattheproblemofselectingtheteachingcasesin,weanalysisandresearchthecasedatabasedesignedintthedomesticandmainstreamtextbookofdatabasecourse.Weproposeaforumdatabasenamed“simpleforumdb”asteachingandlaboratorialcase,andthedetaileddesignofthisdatabaseisgivenatthemeantime.
Keywords:database;courseteaching;casedatabasedesign
国内主流数据库课程教材在组织内容时,虽然有的侧重数据库实现原理的介绍,有的以某一数据库管理系统(如Oracle、MySQL等)为平台介绍数据库技术的应用,有的兼顾理论和技术,但无一例外都引入了一个或多个数据库教学项目作为贯穿全书各章节、演示数据库关键概念和技术的案例。许多在教学中广泛使用的案例数据库较为简单,与实际工程项目相差较大,不能很好地覆盖数据库课程所有知识点,导致学生在未来工作中遇到实际项目时无法快速上手。如何设计合理的教学案例数据库已成为数据库课程教学亟待解决的重要课题。
1主流数据库课程教材使用的案例数据库分析
下面从本专科两个教学层次,选取两本主流数据库课程教材中引入的案例数据库加以分析各自的优点和不足。
1.1图书管理系统数据库
由南京师范大学郑阿奇教授主编的数据库课程系列教材被列为普通高等学校国家级规划教材,在职业院校和应用型本科院校的数据库课程教学中广泛使用。该教材以图书管理系统数据库作为教学案例[3]。
1.1.1图书管理系统数据库逻辑结构
图书管理系统数据库的逻辑结构[3]如下:
1)管理员表:Administrator(角色名,密码,备注)
3)图书表:TBook(ISBN,书名,作译者,出版社,出版年月,价格,复本量,库存量,分类号,内容提要,封面照片)
6)借出表:TBLend(图书ID,ISBN,是否借出)
1.1.2图书管理系统数据库设计分析
优点:图书管理系统数据库设计较为完整,学习者不难结合其他程序设计语言(如C#、JSP、等)构造出一个实用的数据库应用系统作为课程设计。另外,该案例数据库的属性较为丰富,可涵盖SQL语言的主要数据类型。
1.2学生选课数据库
由中国人民大学王珊和萨师煊两位教授编著的《数据库系统概论》一书引入的案例数据库――学生选课数据库在国内多数本科院校授课时广泛采用[5]。《数据库系统概论》也是国内第一部介绍数据库的教材,一直被国内大多数本科院校作为课程教材和主要教学参考书。
1.2.1学生选课数据库逻辑结构
[关键词]ORACLE数据库环境调整优化设计方案
ORACLE数据库中数据存取性能的改善,可以进行调整级别,第一级调整是操作系统级包括硬件平台,第二级调整是ORACLERDBMS级的调整,第三级是数据库设计级的调整,最后一个调整级是SQL级。通常依此四级调整级别对数据库进行调整、优化,数据库的整体性能会得到很大的改善。
一、数据库优化自由结构OFA(OptimalflexibleArchitecture)
数据库的逻辑配置对数据库性能有很大的影响,为此,ORACLE公司对表空间设计提出了一种优化结构OFA。使用这种结构进行设计会大大简化物理设计中的数据管理。优化自由结构OFA,简单地讲就是在数据库中可以高效自由地分布逻辑数据对象,因此首先要对数据库中的逻辑对象根据他们的使用方式和物理结构对数据库的影响来进行分类,这种分类包括将系统数据和用户数据分开、一般数据和索引数据分开、低活动表和高活动表分开等等。数据库逻辑设计的结果应当符合几个准则:把以同样方式使用的段类型存储在一起;按照标准使用来设计系统;存在用于例外的分离区域;最小化表空间冲突;将数据字典分离。
二、充分利用系统全局区域SGA(SYSTEMGLOBALAREA)
SGA是Oracle数据库的心脏。用户的进程对这个内存区发送事务,并且以这里作为高速缓存读取命中的数据,以实
现加速的目的。正确的SGA大小对数据库的性能至关重要。SGA包括以下几个部分:一个是数据块缓冲区(datablockbuffercache)是SGA中的一块高速缓存,占整个数据库大小的1%-2%,用来存储从数据库重读取的数据块(表、索引、簇等),因此采用leastrecentlyused(LRU,最近最少使用)的方法进行空间管理。一个是字典缓冲区。该缓冲区内的信息包括用户账号数据、数据文件名、段名、盘区位置、表说明和权限,它也采用LRU方式管理。一个是重做日志缓冲区。该缓冲区保存为数据库恢复过程中用于前滚操作。还有一个是SQL共享池。保存执行计划和运行数据库的SQL语句的语法分析树。也采用LRU算法管理。如果设置过小,语句将被连续不断地再装入到库缓存,影响系统性能。
三、规范与反规范设计数据库
第一,规范化。对于范式是符合某一级别的关系模式的集合,根据约束条件的不同,一般有1NF、2NF、3NF三种范式。规范化理论是围绕这些范式而建立的。规范化的基本思想是逐步消除数据依赖中不合适的部分,使模式中的各关系模式达到某种程度的“分离”,即采用“一事一地”的模式设计原则,因此,所谓规范化实质上就是概念的单一化。数据库中数据规范化的优点是减少了数据冗余,节约了存储空间,相应逻辑和物理的I/O次数减少,同时加快了增、删、改的速度。但是一个完全规范化的设计并不总能生成最优的性能,因为对数据库查询通常需要更多的连接操作,从而影响到查询的速度。故有时为了提高某些查询或应用的性能而有意破坏规范规则,即反规范化。
第二,反规范化。在数据库的设计过程中有时故意保留非规范化约束,或者规范化以后又反规范,这样做通常是为了改进数据库的查询性能,加快数据库系统的响应速度。反规范化的好处是降低连接操作的需求、降低外码和索引数目,减少表的个数,从而提高查询速度,这对于性能要求相对较高的数据库系统来说,能有效地改善系统的性能,但相应的问题是可能影响数据的完整性,加快查询速度的同时降低修改速度。
所以,规范与反规范都是建立在实际的操作基础之上的约束,脱离了实际两者都没有意义。只有把两者合理地结合在一起,才能相互补充,发挥各自的优点。
四、索引Index的优化设计
第一,管理组织索引。索引可以大大加快数据库的查询速度,索引把表中的逻辑值映射到安全的RowID,因此索引能进行快速定位数据的物理地址。对一个建有索引的大型表的查询时,索引数据可能会用完所有的数据块缓存空间,ORACL不得不频繁地进行磁盘读写来获取数据,因此在对一个大型表进行分区之后,可以根据相应的分区建立分区索引。DBA创建索引时,应尽量保证该索引最可能地被用于where子句中,如果对查询只简单地制定一个索引,并不一定会加快速度,因为索引必须指定一个适合所需的访问路径。
第二,聚簇的使用。Oracle提供了另一种方法来提高查询速度,就是聚簇(Cluster)。所谓聚簇,简单地说就是把几个表放在一起,按一定公共属性混合存放。聚簇根据共同码值将多个表的数据存储在同一个Oracle块中,这时检索一组Oracle块就同时得到两个表的数据,这样就可以减少需要存储的Oracle块,从而提高应用程序的性能。
五、使用最优的数据库连接和SQL优化方案
第一,使用直接的OLEDB数据库连接方式。通过ADO可以使用两种方式连接数据库,一种是传统的ODBC方式,一种是OLEDB方式。ADO是建立在OLEDB技术上的,为了支持ODBC,必须建立相应的OLEDB到ODBC的调用转换,而使用直接的OLEDB方式则不需转换,从而提高处理速度。
第三,高效地进行SQL语句设计。通常情况下,可以采用一些方法优化SQL对数据操作的表现。首先,减少对数据库的查询次数,即减少对系统资源的请求,使用快照和显形图等分布式数据库对象可以减少对数据库的查询次数。其次,尽量使用相同的或非常类似的SQL语句进行查询,这样不仅充分利用SQL共享池中的已经分析的语法树,要查询的数据在SGA中命中的可能性也会大大增加。还可以限制动态SQL的使用,虽然动态SQL很好用,但是即使在SQL共享池中有一个完全相同的查询值,动态SQL也会重新进行语法分析。
参考文献:
[1][美]JoeGreene,AdvancedInformationSystems,Inc.etal.Oracle8服务器技术精粹[M].清华大学出版社,1999.
[2]瓮正科、王新英,Oracle8.XForWindowsNT实用教程[M].清华大学出版社,1999.
关键词:网络安全漏洞数据库
1信息安全库所面临的挑战
信息技术的发展带动了全球信息化的发展,从而使信息基础设施成为社会基础设施中必不可少的关键所在。信息网络技术的应用正日益普及和广泛,应用领域也从传统的、小型业务系统逐渐向大型、关键业务系统扩展,典型的如企事业单位信息系统、金融业务系统、企业商务系统等。伴随网络的普及,安全日益成为影响网络效能的重要问题,而Internet所具有的开放性、国际性和自由性在增加应用自由度的同时,对安全提出了更高的要求,这主要表现在:
1.1开放性导致网络的技术是全开放的,任何一个人、团体都可能获得,因而网络所面临的破坏和攻击可能是多方面的,例如:可能来自物理传输线路的攻击,也可以对网络通信协议和实现实施攻击;可以是对软件实施攻击,也可以对硬件实施攻击。
1.2国际性意味着网络的攻击不仅仅来自本地网络的用户,它可以来自Internet上的任何一个机器,也就是说,网络安全所面临的是一个国际化的挑战。
1.3自由性意味着网络最初对用户的使用并没有提供任何的技术约束,用户可以自由地访问网络,自由地使用和各种类型的信息。
与此同时,层出不穷的病毒、蠕虫和黑客攻击给正常的网络通信与信息资源带来沉重的负荷和影响。
如近几年来在全球肆虐的CodeRed,Slammer,W32.Blaster等蠕虫病毒,除了对受害站点进行DDos攻击外,大量非正常数据包的泛洪还严重占用网络带宽,堵塞网络,并使大量服务器工作异常,具有很强的危害性。
2安全信息数据库的设计
该子库主要存储来自于信息侦察所收集到的并支持人工修正的目标网络的基本信息。其中,包含有配置信息表(CInfo)、服务信息表(SInfo)、漏洞信息表(VInfo)和安全依赖关系表(SDR)。
CInfo表的键是主机IP地址属性;SInfo表的键是(主机IP地址、主机端口);VInfo表的键是(主机IP地址、主机漏洞ID);SDR表的键是(可能源主机IP,可能目的主机IP,主机漏洞ID)。CInfo与SInfo是一对多的关系,因为每台主机可同时开放多个端口;CInfo与VInfo是一对多的关系,每个节点可能有多个漏洞;SInfo与VInfo也是一对多的关系,每个运行服务可能存在多个漏洞。CInfo与SDR,VInfo与SDR均是一对多的关系。
3标准漏洞子库设计
VulInfo表和VulSys的键值均是漏洞ID属性,它们之间是一对多的关系,因为同一个漏洞可能影响多个系统。
在VulInfo表中,我们使用Bugtraq作为标识漏洞的唯一ID,是因为BugtraqID即将成为业界的统一标准,各个软件供应商也已开始将自己的产品漏洞公告映射为Bugtraq编号,该编号提供了一个统一、一致、可比较的漏洞管理机制。
由于这两个组织的漏洞数据库都不提供直接的访问,因此设计一个漏洞数据获取插件。
根据各个漏洞信息的URL开启多个线程,发送相应的HTTPGET请求,然后读取WebServer端的响应。由于漏洞数量相当多,如果由每个线程同时完成读取响应,分析数据并填写数据库,不但会消耗大量的系统资源,而且很可能导致大量GET请求失败。因此,我们采取了实时线程获取原始漏洞数据并以简单的格式存储,然后主线程进行离线的数据分析,并完成写入数据库的任务。另外,由于可能存在GET请求失效的情况,将导致某些漏洞的信息缺失或不完整。为了保证得到所有已有漏洞的信息,我们还采取了日志记录机制,即,主线程开启一批线程抓取信息并等待其全部结束后,根据每个线程录入的日志找出需要重新抓取的漏洞,重新开启一批线程,如此反复,直到所有漏洞数据都被成功获取。
由于目前实际情况的限制,只能在国际安全组织站点上被动的更新漏洞库。如果可以建立国内统一的紧急相应中心漏洞数据库,那么中心可以定期的向各个网络风险评估管理系统的标准漏洞子库漏洞更新数据。
可见,执行相应的风险控制措施,使风险等级降低到可接受的水平。
[1]InformationAssuranceTechnicalFramework.IATFDocument[EB/OL].Release3.1.
[2]NationalComputerSecurityCenter,DepartmentofDefenseTrustedComputerSystemEvaluationCriteria,DoD5200.28-STD,December1985
[3]DavidMoore,VernPaxson,StefanSavageetc.TheSpreadoftheSapphire/SlammerWorm[EB/OL].2003.
一、海量数据环境到来为数据库设计提出的新高度
二、好的数据库设计所应具备的基本条件
1.充分体现系统的需求
数据库是为应用服务的,好的数据库设计应该首先能满足应用系统的业务需求,能够准确表达数据间关系。
2.能够保证数据的准确性和一致性
通过主外键、非空、限制、唯一索引等保证数据的健壮。
3.提高数据的查询效率
通过合理表结构,安排物理存储分区、增加索引等方式,提高数据的读取速度,提高查询效率。
4.有好的扩展性
好的数据库设计在必要时应能根据需求进行数据结构的扩展。
三、重视不足的数据库设计的具体体现
不良的数据库设计,必然会造成很多问题,轻则增减字段,重则系统无法运行。对数据库设计重视不足在具体设计中可体现在很多方面,现列举其中的部分内容:
1.与需求不符
数据库是需求的直观反应和表现。在数据库设计之前对用户需求没有进行详细了解与必要的分析,在设计过程中也没有同用户及使用单位进行必要的沟通。这样往往造成数据库在设计上的不实用。与用户需求不符将使整个系统无法交付使用。
2.字段设计不合理
一是设计中缺少必要的字段,造成无法跟踪数据变化、限制用户操作或无法进行数据分析。二是字段长度过短或字段类型过于明确,使可发挥、可拓展的空间太小。设计不合理的字段如果用于查询将造成SQL查询语句过于复杂,而使查询无法顺利进行。
3.数据完整性丧失
通常指存储大量数据的数据表之间的关联过多,包含主外键关系的数据表之间的关联字段设计方式不合理,或是多张数据表之间耦合度过高,更新与删除操作后就容易造成程序出错。
四、如何培养良好的数据库设计习惯
1.转变观念
首先,很多计算机专业的学生、教师以及真正的开发设计人员受社会大环境的影响在学习与工作中没有踏实与务实的作风。再者,很多承担专业教学的教师没有真正的系统设计经历,很难给学生的系统设计习惯进行正确的引导。还有,学习的动力导致学习的效果。学生在学习前就已经对各门专业课程进行了“三六九等”的划分。认为各类流行的语言与开发工具是重要的,是简历中的“添彩”之处,是今后工作必备的。其实,各种语言一通则百通,并不需要面面俱到。因此,这就需要“产学研”人员都能转变观念,以培养正确的设计习惯。
2.增加大型系统开发经历
五、结语
综上所述,可见数据库设计在系统设计中的作用是举足轻重的。对数据库设计重要性的忽视必将为整个系统埋下隐患,对系统以及开发人员而言所要付出的代价也将是巨大的。
[1]谭怀远.让Oracle跑得更快2――基于海量数据的数据库设计与优化.电子工业出版社,2011.
【关键词】数据库设计程序通用外挂式辅助离散制造执行系统
1通用外挂式辅助数据库设计程序
1.1概念
通用外挂式辅助数据库设计程序中的外挂式主要以用户界面为基本呈现形式,借助这种界面实现对数据库内容的灵活处理,并在相应软件系统开发的同时,实现软件和数据库设计的开发和自定义设计。
1.2参数传递的含义
通用外挂式辅助数据库设计程序不仅需要应用辅数据库设计,而且还需要通过模块化参数信息的传递来实现对软件模块化的设计。这种设计一般需要应用函数的形式来充分展现模块的功能,并借助各种不同的参数代号信息实现各种不同的操作,进而满足不同程序模块的设计需求,具体的实现方式如下所示:
(1)Q代表另一个表字段的名称,能够将表的记录信息从一个字段传递到另一个字段上,且这种字段在新增窗体中显示为一种隐藏字段。
(2)B代表本字段的编辑可以省略掉最后一项的内容。基本含义为类型、读写字段、名称显示、Where条件、Order排序等。
(3)R代表取值为主表传入的字段值,基本含义为类型、本表字段名称和父表字段的名称。
(4)R含义为类型、表名、读写字段、显示名称、Select语句。
(5)S表示的是通用模块中用户自拟定义的字段。
(6)W表示不存在的表的字段。
1.3通用外挂式辅助数据库设计程序的特点
(1)能够面向数据库的管理进行全方位详细设计。这种详细的设计包含视图和存储过程中数据库设计常应用的方法和技术。
(2)这种设计支持无代码的程序开发,具体的自定义设计能力很强,在模块化思想的支撑下能够以参数的形式将模块功能进行输入。
(3)能够进行流程化的处理。流程化的处理具体是指能够实现对已经建立好的数据库表格在外挂式的数据库设计程序中进行统一化的管理。
(4)开放式的数据管理。这种管理方式对数据库的格式不限制,能够对网络数据的设计和开发进行支持。
2通用外挂式辅助数据库设计程序的实现方法
在DMES的系统管理中,数据库表越多、呈现的关系越复杂则是越难管理。在离散式制造业通用外挂式辅助数据库设计程序复杂的情况下,通用外挂式辅助数据库系统怎样实现对各种软硬件的管理是有关人员需要面临的问题。
2.1程序框架结构的设计
通用外挂式辅助数据库设计程序系统主要由以下几部分组成:
2.1.1管理程序
管理程序主要是对车间内部的生产和执行问题进行全面的负责和管理。
2.1.2计划服务程序
计划服务程序能够对车间内部任务的布置和计划的调整进行全面的整合。
2.1.3通信程序
通信程序主要是对施工现场作业的数据信息进行采集,并在信息采集的基础上有效实现软件系统和硬件系统数据信息的交互性应用。
2.1.4接口程序
接口程序主要是实现DMES系统和其他系统进行有效整合的重要系统数据,能够为生产车间的上层系统提供一种全面化的服务,是各种数据进行交流和沟通的重要通道。程序框架结构的设计如图1所示。
2.2DMES软件系统主要解决的问题
(1)在协助数据库资源系统进行有效管理的同时,辅助系统软件的开发。DMES软件系统在对数据库资源进行有效管理的同时,能够应用一种无代码的开发技术来实现对软件模块的开发,将软件系统的开发模式由原来单纯的代码开发转变为一种可配置的软件开发模式。
(2)利用可视化管理数据库表字段的方式进一步提升数据库表及其字段的可视化程度。
(3)利用通用性的输入条件函数,实现对数据库表格的关联性操作,并利用不同的字母代表不同的操作模块。
2.3DMES软件系统程序的实现
DMES软件系统程序的实现应用Delphi6.0进行开发,并采用ini的方式来保存系统相应的配置,提升对数据库信息的灵活化应用,实现对各种数据库链接的统一化管理。
3结束语
参考文献
[1]钟润阳,戴青云,周科,戴鑫波,王进.通用外挂式辅助数据库设计程序[J].计算机辅助工程,2009,01:83-86.
[2]钟润阳,戴青云,周科.基于外挂式通用数据库辅助设计程序的实现[A].广东省科学技术协会、香港理工大学、广东省机械工程学会.第十届粤港机电工程技术与应用研讨会暨梁天培教授纪念会文集[C].广东省科学技术协会、香港理工大学、广东省机械工程学会,2008(04).
作者简介
徐安令(1980-),男,云南省宣威市人。硕士学位。现为德宏师范高等专科学校讲师。研究方向为数据库及程序设计。
关键字:在线考试系统;数据库;设计;实现
TheDesignandImplementationofDatabaseforOnlineExaminationSystem
LiuHong-jiang
(AbaTeachers’College,Aba623002,China)
Abstract:Withthecontinuousdevelopmentofcomputerandnetworktechnologyaswellastesttechnologiesandmethods,onlineexaminationcanmeettherequirementsofpaperlessexaminationandbecomeoneofthemostimportantmeansofexamination.Inthistrend,databasewillbeendesignedfortheestablishmentofonlineexaminationsystem,alltheseworksistoexpandtheareasofstudents’knowledgeandtoensurefairnessoftheexaminationtoacertainextentandalsotoimprovethemodernizationleveloftestadministration.Onlineexaminationsystemisatypicalmanagementinformationsystem(MIS),whichrunsonwindows2003sever,usingapowerfulandeasilytooperateenvironmentnamedMicrosoftSQLserver2005asitsdatabasedevelopmentplatform.
Keywords:onlineexaminationsystem;database;design;implementation
21世纪是一个“知识爆炸”的时代,信息更新的速度达到空前。计算机技术与网络技术越来越广地应用于社会的各个领域,它们在现代高等教育中的应用,是现代高等教育发展的需要,也是改革教育模式,提高学校教学效果和教学效率、提高科研和管理水平的必要手段。基于网络的在线考试和无纸化办公一样必然成为社会发展的趋势,在线考试是采用大规模试题库的计算机网络考试模式使得它颠覆了传统的考试方式,使得考试出卷、答题方式以及成绩管理发生着巨大的变革,考试过程变得方便、高效、快捷、公正。有趋势表明,标准化的在线考试方式已当今考试的发展方向,当前国际上许多考试认证如GRE,其出题、答卷以及评分都是在计算机上完成的。和传统的考试方式相比,无纸化的在线考试有着其科学、及时、准确、公平等优点,这是传统考试形式无法替代和比拟的优势。
1需求分析
需求分析是数据库设计的重要步骤之一,这一阶段的主要工作是确定使用这一数据库系统的用户,以及他们的业务活动。管理员主要负责录入开课信息,教师和学生名单以及查询学生试卷等工作。
教师主要负责录入试题,修改试题,生成试卷和阅卷等工作。
2数据库设计
数据库设计对于在线考试系统的开发来说是一个十分重要的环节,数据库设计质量的优劣直接影响到数据库中数据的冗余度,一致性等问题。下面就对数据库的规范化设计进行说明。2.1关系数据理论及规范化
针对一个具体的数据库应用应该构造几个关系模式?每个关系由哪些属性组成?即如何构造适合于它的数据模式,这是关系数据库逻辑设计的问题。为了解决上述问题并使数据库设计走向规范,1971年E.F.Cldd提出了规范化理论。关系数据理论就指导产生了一个具体确定的、好的数据库模式的理论体系及范式理论。范式理论的具体内容如下:
第一范式:如果关系模式R的每一个属性都是不可分解的则R为第一范式的模式记为R∈1NF。
第二范式:如果关系模式R是第一范式,且每个非主属性都完全函数依赖于关键字,则称R为满足第二范式的模式,记为R∈2NF。
第三范式:如果关系模式R是第二范式,且没有一个非关键字属性石传递函数依赖于候选关键字属性,则称R满足第三范式的模式,记为R∈3NF。
扩充第三范式:如果关系模式R是第三范式,且每一个决定因素都包含有关键字,则称R为满足扩充第三范式的模式,记为
R∈BCNF。
第四范式:如果关系模式R是第三范式,且每个非平凡多值依赖XY(Y不是X的子集),X都含有关键字,则称R为满足第四范式的模式,记为R∈4NF
2.2数据库设计
在线考试系统的各个功能模块是否能够紧密地结合在一起以及如何结合,,关键在于数据库。因此对在线考试系统的数据库进行合理的逻辑设计和有效的物理设计是关键。
2.2.1概念设计
这一部分的工作,主要是将需求分析阶段得到的用户需求抽象为信息世界的概念模型,采用自底向上的方法,进行系统的概念设计,得到以下实体及属性的E-R图。
教师实体包括教师编号、教师姓名用户名和密码四个属性,其E-R图如图1所示。
图1教师实体及属性局部E-R图
学生实体包括学号、姓名、性别和密码四个属性,其E-R图如2图所示。
图2学生实体及属性局部E-R图
试题库实体包括课程名称、题目内容、参考答案、题目类型、难易度、备选答案A、备选答案B、备选答案C、备选答案D、备选答案E、备选答案F等属性,其E-R图如3图所示。
图3试题库实体及属性局部E-R图
试卷组成实体包括试卷代码、课程名称、试卷编号、考试日期等属性,其E-R图如4图所示。
图4试卷组成实体及属性局部E-R图
试卷实体包括试卷编号、课程名称、状态、得分、大题号、小题号、试题库中序号、学生学好、学生答案等属性,其E-R图如5图所示。
图5试卷实体及属性局部E-R图
根据需求分析,教师、题库、学生和试卷四个实体之间的关系如图6所示。
图6考试局部E-R图2.2.2逻辑设计
由于现在设计数据库系统都普遍采用关系模型的关系数据库管理系统,因此逻辑设计的主要工作是将概念设计得出的实体关系模型(E-R图)转化成关系模式。
具体如下:
教师(教师编号,教师姓名,用户名,密码)
学生(学号,姓名,性别,密码)
试题库(课程代码,课程名称,题目类型,题目内容,被选答案A,被选答案B,被选答案C,被选答案D,参考答案,难易度)
试卷组成(试卷代码,课程名称,题号(大题)1,试题类型1,小题数1,难题数1,中题数1,简单题数1,每小题分数1,题号(大题)2,试题类型2,小题数2,难题数2,中题数2,简单题数2,每小题分数2,题号(大题)3,试题类型3,小题数3,难题数3,中题数3,简单题数3,每小题分数3,题号(大题)4,试题类型4,小题数4,难题数4,中题数4,简单题数4,每小题分数4,题号(大题)5,试题类型5,小题数5,难题数5,中题数5,简单题数5,每小题分数5,题号(大题)6,试题类型6,小题数6,难题数6,中题数6,简单题数6,每小题分数6,题号(大题)7,试题类型7,小题数7,难题数7,中题数7,简单题数7,每小题分数)
试卷(试卷编号,试卷名称,大试题号,小试题号,试题库中序号,学号,学生答案,得分)
成绩(学号,试卷编号,课程名称,成绩)
3数据库表结构的建立
数据库表结构的建立在逻辑设计阶段得出的关系模型的基础上,并对其进行适当的优化,各关系转化后的表结构具体如下:
Teacher表(教师信息表):主要字段有教师编号,用户名,密码及权限,其中教师编号为主键,由于教师对系统掌握的程度不同,故增加一个权限字段,管理员的权限为H,理工科教师为权限为M,文科艺体教师的权限为L。
Student(学生信息表):主要字段有学号、姓名、性别和密码,其中学号为主键。
Paper_lib(试题库表):主要字段有标识、题目类型、题目内容、备选答案A、备选答案B、备选答案C、备选答案D、参考答案和难易度。其中增加一个标识来作为主键,用于确定记录的唯一性。在该表中,增加一个标识来作为主键,确定记录的唯一性。
Paper(试卷表):主要字段有标识、试卷代码、试卷编号、试题(大题)号、小题号、学生答案、试题库中序号、学号、得分。其中学生学号为外键,与学生表建立关系;试卷代码为外键,与试卷组成表建立关系。在该表中,增加一个标识作为主键,确定记录的唯一性
4数据库的连接
4.1数据库平台选择
只有选择合适的数据库系统,然后根据数据库设计阶段得出的表结构,用具体的数据库语言来实现之后,才能实现数据库的连接。目前流行的数据库系统有很多,例如SQLServer,MySQL,Sybase,Oracle等,这里我们选择Microsoft的SQLserver2005作为在线考试系统的数据库开发平台。
4.2系统开发平台选择
在线考试系统可以选择的开发平台也很多,例如jsp,PHP,.Net或者是asp等。这里我们选择一种轻量级而且开源的开发平台PHP,PHP(HypertextPreprocessor,超文本预处理器)是一种HTML内嵌式的语言,混合了C、Java、Perl等多种语言的特点,被广泛应用的开源式的多用途脚本语言。PHP最重要的特征是它的数据库集成层,完全支持SQL标准,可以支持大多数数据库系统,并且具有数据库访问速度快、运行效率高、性能稳定、操作简单等优势。PHP提供了标准的数据库接口,数据库连接方便,兼容性强;扩展性强;即可以用来开发WEB应用程序,也可用来开发普通的应用程序,应用范围非常广.
4.3数据库连接
PHP与SQLServer数据库的连接有两种方式,一种是PHP通过ODBC访问SQLServer2005。ODBC(OpenDataBaseConnectivity)即开放式接口,是由微软主导的数据库连接标准,目前所有的关系数据库都提供了ODBC驱动程序,所以ODBC已经成为数据库访问的业界标准,并得到了广泛应用。另外一种是PHP直接访问SQLServer2005时,利用PHP提供的Mssql函数库来创建连接。分为一般和永久两种连接方式:
一般连接使用的函数是mssql_connect。
永久连接使用的函数是mssql_pconnect。
其语法如下:
intmssql_connect(string[servername],string[username],string[password]);
intmssql_pconnect(string[servername],string[username],string[password]);
在系统中,采用的是第一种方式使用mssql_connect函数进行数据库的连接,创建一个php与数据库之间的连接文件,命名为conn_db.php来实现的。conn_db.php的代码如下:
$dbconnected=@mssql_connect("数据库服务器名称或IP","用户名","密码")
ordie("连接数据库服务器失败!");
mssql_select_db("database",$dbconnected);//选择要操作的数据库
>
为了系统的安全,用@符号来屏蔽系统在客户端浏览器显示错误提示,同时用die()函数来显示连接数据库服务器失败的错误提示并直接退出程序。
用mssql_close函数关闭连接,创建一个php与数据库之间的断开文件,命名为close.php
@mssql_close($dbconnected);
5结论
本文从需求分析、概要设计、逻辑设计及数据库的实现及连接等方面进行简单地阐述。对于在线考试系统的数据库设计有一定的参考价值。
[1]申时凯,李海雁.数据库应用技术[M].2版.北京:中国铁道出版社,2005.
[2]陈恭和.数据库基础与SQL应用教程[M].北京:高等教育出版社,2003.
[3]石志国.JSP网络开发详解[M].北京:电子工业出版社,2007.
关键词:农业信息数据库;设计;探究
1.农业信息数据库整体技术框架选用的分析
2.农业信息数据库的设计要求
2.1数据库的建设原则及其构建风格
2.1.1数据库的建设原则
在建设数据库的过程中,应紧紧围绕建设目标进行,既要做大,又要做强,还要做精,另外,应保证在整体风格上趋于统一,还应保证各个数据库具有自己的特色,即做好统分布置[2]。
2.1.2数据库的构建风格
2.2子数据库的构建方式阐述
2.2.1整体架构
数据中心的建设是一个相对漫长的过程,短则数年,多则数十年。在此过程中,数据库在数量及容量方面也随之不断发展和扩充,所以,要对体系结构的整体性能进行综合考虑,包括稳定性,包括安全性,包括长远性,还包括运营成本等。总而言之,要保证整体架构的科学性。
2.2.2后台建设及应用
3.农业信息数据库的建设内容及其开发设计
3.1农业信息数据库的建设目的
在农业信息化进程中,农业信息数据库是不可或缺的组成部分,将会对当地的农业发展及社会进步产生至关重要的影响。所以,设计并构建科学合理的农业信息数据库系统便成了当务之急,是推动我国农业信息化不断深入的一个重要手段。
3.2农产品树状分类数据仓库群
将初级农业产品用作数据库系统的一个基本分类原则。利用树状结构这一形式以实现对农产品数据库群的合理构建。以“玉米树状分类数据库”为例。在该数据库中,将玉米的一些基本信息(品种、栽培以及加工等)定义为一级结点。加工这一项可作进一步细化,包括加工企业,包括加工产品,还包括加工技术等,此为二级节点。加工产品这一项还可作进一步细化,包括生产企业,包括用途,还包括市场需求等,此为三级节点。这些不同级别的节点信息,最终构建了一个相对完整的玉米树状分类数据库。
信息采集及存储环节,采用如下方式进行编码:信息类别汉语拼音缩写+数字序号(例如,玉米品种1——ympzl)。该数据库覆盖范围非常广泛,涉及数百个基本品种,是一个极为丰富、系统的分类数据库群。第一期建设计划主要包括以下15大种类:一,水稻;二,玉米;三,大豆;四,高粱;五,西红柿;六,胡萝卜;七,马铃薯;八,苹果;九,桃;十,梨;十一,猪;十二,牛;十三,羊;十四,鸡;十五,蛋。
数据采集方式属于半自动式,先对采集对象进行人工界定,然后在抓取软件的帮助下,对信息对象进行采集,并储存在本地,最终展开相应分析及整理。数据库管理软件的诸多功能如下:一,数据录入;二,数据修改;三,数据删除;四,数据查找;五,数据分析;六,数据统计。对数据资源进行采集之前,应确定采集方式:一,主要方式,包括网上收集,包括共享,还包括自由数据整理;二,辅助方式,包括购置,还包括交换等。计划采集100G的数据资源[4]。
3.3农业决策支持系统
所谓农业决策支持系统指的是,以政府机构为主要服务对象的一个资源整合体系。在建设该系统的过程中,一方面应以原有系统为基础进行优化升级,另一方面应致力于系统集成软件的有效开发,以实现对该系统的重新分层组建。
3.4农业预警及其农产品动态信息监控数据库
该数据库能对农业生产信息进行采集和分析,能对农村经济发展信息进行采集和分析,进而总结出符合实际情况的农产品供求信息,还有价格行情。
3.5农业图片资源及其文献资源集成数据库
对于农业数据信息而言,图片资源是不可或缺的组成部分。现阶段,涉农图片不仅形式杂乱,而且较为分散,所以,主要采用以下方式进行收集:一,征集;二,共享;三,网上收集;四,扫描加工;五,购买;六,自行拍摄。在设计图片数据库管理软件的过程中,应使其具备如下功能:一,图片编辑;二,图片分类;三,图片录入;四,图片检索等。另外,应基于“分类数据库”这种形式,对图片资源展开相应的集成处理。集成数据量200G。
4.结语
本文设计并构建了一种现代化的农业信息数据库系统,希望能够为我国农业经济的发展提供一些助益。(作者单位:成都理工大学)
[1]张伟,欧吉顺,周楚新.利用数据挖掘技术建设农业智能综合信息服务平台[J].农业网络信息.2011(08).
[2]夏斌,丁立,乔红波,高瑞.中文农业信息垂直搜索引擎的设计与实现[J].河南农业大学学报.2010(06).
一、成立数据小组
大型数据库数据元素多,在设计上有必要成立专门的数据小组。由于数据库设计者不一定是使用者,对系统设计中的数据元素不可能考虑周全,数据库设计出来后,往往难以找到所需的库表,因此数据小组最好由熟悉业务的项目骨干组成。
数据小组的职能并非是设计数据库,而是通过需求分析,在参考其他相似系统的基础上,提取系统的基本数据元素,担负对数据库的审核。审核内容包括审核新的数据库元素是否完全、能否实现全部业务需求;对旧数据库(如果存在旧系统)的分析及数据转换;数据库设计的审核、控制及必要调整。
二、设计原则
1.规范命名。所有的库名、表名、域名必须遵循统一的命名规则,并进行必要说明,以方便设计、维护、查询。
2.控制字段的引用。在设计时,可以选择适当的数据库设计管理工具,以方便开发人员的分布式设计和数据小组的集中审核管理。采用统一的命名规则,如果设计的字段已经存在,可直接引用;否则,应重新设计。
3.库表重复控制。在设计过程中,如果发现大部分字段都已存在,开发人员应怀疑所设计的库表是否已存在。通过对字段所在库表及相应设计人员的查询,可以确认库表是否确实重复。
6.数据小组的审核。库表的定版、修改最终都要通过数据小组的审核,以保证符合必要的要求。
三、设计技巧
1.分类拆分数据量大的表。对于经常使用的表(如某些参数表或代码对照表),由于其使用频率很高,要尽量减少表中的记录数量。例如,银行的户主账表原来设计成一张表,虽然可以方便程序的设计与维护,但经过分析发现,由于数据量太大,会影响数据的迅速定位。如果将户主账表分别设计为活期户主账、定期户主账及对公户主账等,则可以大大提高查询效率。
4.数据库参数的调整。数据库参数的调整是一个经验不断积累的过程,应由有经验的系统管理员完成。以Informix数据库为例,记录锁的数目太少会造成锁表的失败;逻辑日志的文件数目太少会造成插入大表失败等,这些问题都应根据实际情况进行必要的调整。
5.必要的工具。在整个数据库的开发与设计过程中,可以先开发一些小的应用工具,如自动生成库表的头文件、插入数据的初始化、数据插入的函数封装、错误跟踪或自动显示等,以此提高数据库的设计与开发效率。
【关键词】Hibernate;品种数据库;对象
Abstract:IntroducestheprincipleandcharacteristicsofHibernatetechnology,aswellasthedesignandapplicationoftheseeddatabase,displaytheadvantagesofHibernatetechnology,theseedofobjectlogichypothesis.
1、引言
近年来,伴随着生物信息技术的研究开展以及品种数字化管理需求的上升,品种数据库的研究与管理越来越显得重要,传统的关系型数据库对于表现相对独立的品种表现尚可,但是对于表达具有遗传、继承、多态(生物多样性)、突变等特性的种子特征则显得无能为力。而最近在java技术领域异军突起的hibernate技术则很完美的解决了这一问题,它的“面向对象”技术特征可以对种子品种的上述生物学特性进行表达,并可以进行抽象的数据逻辑操作。
2、hibernate技术的基本原理与品种的数字表达
2.1hibernate的基本原理
Hibernate是一个轻量级的对象映射框架,它主要技术特点就是把数据库的内容对象化,使得每一条记录都对应一个对象的实例,而数据一旦变成了对象的实例,就自然而然的具备了对象的特征,即继承、多态、封装等。对于种子数据的操作自然就变成了”面向对象”的操作。作为数据对象的种子,具有状态,即对象的数据值。对象还有操作,就是对于对象本身数据值的操作。这样科研人员就可以按照对自然事物的认知习惯来对数据进行操作,而不是按照机器的思维去研究自然事物。利用hibernate框架映射后台数据处理类,把较为复杂的数据库操作都封装在DAO(dataaccessobject)中,由DAO提供一些数据访问接口,那么程序员只要调用这些接口,就实现了原本需要复杂的StructuredQueryLanguage(结构化查询语言)才能完成的功能。
2.2品种的数字表达
种子品种具有各种各样的性状,以水稻为例,以下为可用浮点数表示性状参数,生育日数、活动积温、株高、穗长等;以逻辑数据类型表示的是否抗倒伏特性;字符串类型的数据如品种名称、配套栽培技术、母本等等。传统的数据库记录方式只是将数据直接存储到数据库中供程序调用,如下所示:
(注:以上数据仅供举例,具体数据可能有差异)
但是,经过hibernate框架的映射处理,这些数据将会被映射为数据对象,由静态数据变成具有多种状态属性及操作的动态数据。
上述数据表格将会被映射成classrice。每个字段都将对应class中的属性,每个相对应的属性都有get和set方法来获得或者修改对象的属性值。这样,水稻就可以抽象为一个classrice,这个抽象的class具有所有水稻的一般特性,那么任何一个水稻品种都是继承于rice这个抽象类,并且变异或者进化出新的特性。
3、基于hibernate技术的品种数据库系统设计
3.1三层结构设计
3.2品种数据库应用的关键步骤
3.2.1创建hibernate的配置文件和映射文件
这两个文件可以由集成开发环境自动生成,这里就简单的说一下它们的作用,Hibernate配置文件主要负责与数据库进行连接,其中包含数据库所在服务器的ip端口,用户名和密码,以及应用的数据库方言等等,一般以xml后缀形式存在。映射文件主要的作用就是将数据库中的表与实体类相对应,例如水稻表就对应水稻的class,玉米表就对应玉米的class,该文件一般以hbm后缀存在。
3.2.2获得数据工厂并存储品种数据
sessionFactory=newAnnotationConfiguration().configure().buildSessionFactory();
publicstaticSessionFactorygetSessionFactory(){returnsessionFactory;}
Sessionsession=HibernateUtil.getSessionFactory().openSession();
tx=session.beginTransaction();
session.save(pinzhong);
mit();
}
3.2.3以dao(数据访问对象)的方式提供数据接口
为了对三层结构中的业务逻辑层提供数据,Hibernate在品种数据访问对象中提供创建和存储接口、品种对象的修改和删除接口、按照品种对象的唯一id查询并获得品种对象的接口、获取全部品种对象的接口。这里面所说的品种对象,就是由在3.2.1中提到的映射文件生成的实体类对象、它们对应着数据库中记载着的品种记录,品种的id用来保证每条记录的唯一性。
3.3设计针对品种遗传特性的逻辑运算
由于数据经由hibernate映射成为了对象,对象具有属性和操作,那么在class的设计中就可以设计加载杂交操作,还是以水稻为例,水稻a,b,c都继承于水稻这个class,水稻c=水稻b.add(水稻a),也就是说水稻c的父本和母本分别是水稻b和水稻c,如果我们在数据库中有父母本显性基因和隐性基因的记录,那么对这两种基因进行“逻辑与运算”,我们就可以根据程序生成指定父母本杂交后代的大致估算结果。
4、结束语
将hibernate框架技术应用到种子品种数据库中,对于由众多参数构成的具有继承变异等生物特性的品种数据,实例证明,具有一定的优势和可行性。将“品种数据表”映射到“品种实体类”使其具有“类对象”功能,对于今后的种子品种研究工作是一个很好的铺垫,具有一定的推广意义。
[1]宋汉增,沈琳.利用Hibernate对象持久化服务简化Java数据库访问[J].计算机应用,2003年12期
[2]朱庆伟,吴宇红.一种对象/关系映射框架的分析和应用[J].电子科技,2004年01期
【关键词】在线考试系统数据库
1引言
随着信息化社会的迅速发展,在线考试已经逐渐在高校中流行起来,数据库作为在线考试系统功能实现的基础,做好数据库的设计和应用十分必要。
2需求分析
本系统作为一个通用的高校在线考试系统,可以满足高校各科目的考试需求,因此在系统的分析设计阶段需要充分考虑不同考试科目的公共特性,具备一定的可设置的弹性化设计空间。
本系统主要有教师、学生、监考人员和管理员四种用户,其中教师主要完成试题库管理、试卷管理等功能;学生主要完成在线考试功能;监考人员主要完成监控考场、启动考试、回收试卷等功能;管理员主要完成对用户、权限、考试课程和考试等管理功能。
3概念设计
E-R图是一种用于描述静态数据结构的概念模型,提供表示实体类型、属性和联系的方法,用来描述现实世界的概念模型。把该系统的需求说明抽象为信息世界的概念模型,采用自底向上的方法,进行系统的概念设计,部分E-R图1所示。
选择题实体,包含编号、课程编号、题目、选项A、选项B、选项C、选项D、答案、章节、知识点、难易度等属性;
一般题实体,包含编号、课程编号、题目、答案、章节、知识点、难易度等属性;
试卷实体,包含编号、学号、规则编号、题型、题目编号、题目序号、学生答案、是否正确、得分等属性;
4逻辑结构设计
逻辑结构设计就是把E-R图中的实体、实体的属性和实体之间的联系转化为数据库支持的关系模式,在转化过程中,注意命名问题、非原子属性问题和联系转换问题,根据设计创建对应的数据表,具体如下:
管理员表(编号姓名,密码);
教师表(编号,姓名,密码,系部,联系方式);
学生表(学号,姓名,密码,年级,班级,联系方式);
课程表(课程编号,课程名称);
班级表(班级编号,班级名称,系部,专业);
上课班级表(编号,课程编号,班级,上课教师编号,出卷教师编号,组卷规则编号);
单选题表(编号,课程编号,题目,选项A,选项B,选项C,选项D,答案,章节,知识点,难易度);
多选题表(编号,课程编号,题目,选项A,选项B,选项C,选项D,选项E,答案,章节,知识点,难易度);
填空题表(编号,课程编号,题目,答案,章节,知识点,难易度);
判断题表(编号,课程编号,题目,答案,章节,知识点,难易度);
综合题表(编号,课程编号,题目,答案,章节,知识点,难易度);
题型表(题型编号,题型名称);
试卷表(编号,学号,规则编号,题型,题目编号,题目序号,学生答案,正确答案,是否正确,得分)。
5数据库实现
系统部分功能如随机组卷和客观题自动评阅功能将在数据库端实现。随机组卷功能将通过用户设置的题型、分值、章节、知识点和难易程度等要求通过存储过程完成,而客观题的自动评阅功能将通过在试卷表中建立触发器来实现,部分代码如下:
createTRIGGERjudgeAsrONpaper
FORUPDATE
AS
select@mid=id,@rid=rid,@qid=qid,@questionid=questionid,@typeid=typeid,@stuAsr=stuAsrfrominserted
if(@typeid=1)
begin
select@rightAsr=answerfromsingleQuestionswhere[id]=@questionid;
select@weight=singleScorefromrulewhererid=@rid;
end
--多选、判断、填空题的代码类似,此处省略
if(@rightAsr=@stuAsr)
updatepaperManagesetisRight='T',score=@weightwhere[id]=@mid
else
updatepaperManagesetisRight='F',score=0where[id]=@mid
6小结
一个好的的在线考试系统离不开数据库的支持,所以,如何根据系统的需求分析设计出合理的数据库,对系统的后期实现有着十分重要的意义。
[1]钟美莺.在线考试系统数据库设计应用研究[J].数据库与信息管理,2015(21).
[2]刘洪江.在线考试系统的数据库设计与实现[J].电脑知识与技术,2012(01).
[3]雷晓敏,网络在线考试系统的数据库设计[J].中小企业管理与科技,2011(11).
关键词:数据库设计;概念模型;逻辑模型;物理结构
数据库结构的设计,重则会决定软件系统的成败,轻则也会直接影响系统运行速度及系统的使用率。在设计数据库时,不但要考虑存取速度,还要考虑数据的冗余和一致性等问题。可以肯定的说:数据库设计的好坏,对将来程序的设计和系统的最终功能实现都起着非常重要的作用。数据库设计的第一步就是需求分析,即确定存储哪些数据,建立哪些应用,常用的操作及对象有哪些。根据对系统的初步需求分析与调研,对学生管理系统的总体功能进行如下设计:信息管理模块、考勤管理模块、宿舍管理模块、岗前实习管理模块、有处分学生学习班管理模块和系统管理模块。
一、数据库概念模型设计
根据前面对系统功能的细化分析,设计系统的数据流图,最后得到系统全局实体—关系模型。全局实体—关系模型必须满足所有的系统需要,还要恰当地展示一个一致的数据库模型。
二、数据库逻辑结构设计
实体—关系模型是对用户需求的一种抽象的表达形式,它不能为任何一个具体的数据库管理系统所支持,它是独立于任何一种具体的数据模型的。为了能够建立起最终的物理系统,接下来的任务是:将概念结构通过转化规则转化为本系统设计的数据结构,然后根据数据库管理系统的特点,选定的数据库管理系统支持下的数据模型,最后通过优化算法得到优化的数据模型。这些模式在功能性、完整性和一致性约束及数据库的可扩充性等方面应满足用户的各种要求。设计数据库逻辑结构有下面三个步骤:首先,将通过概念设计所得的实体—关系图转换为关系模型;就需要将实体、属性和联系转换为相应的关系模型;其次,将转换来的关系模型向特定DBMS支持下的数据模型转换;最后,优化处理得到的关系模型。
(一)实体模型转换为关系模型
鉴别数据库中的数据元素、关系,以及定义所需的数据库表和各个数据库表中的项目这些初始工作之后,所做的细化的过程就是范化。任何数据库的设计都需要满足特殊的约定,这会使数据库既简洁又结构明晰,反之数据库结果会非常混乱,所造成的直接后果是给数据的更新带来麻烦,给数据库带来大量冗余信息,给编程人员带来不便并造成不可避免的错误。
(二)实体—关系图模式向关系模式的转换
①学生信息(学生编号,密码,曾用名,籍贯,户籍性质,照片,家庭住址,邮政编码,家庭座机,学生手机,父亲姓名,父亲手机,母亲姓名,母亲手机)
②专业信息(班级名称,校区,二级学院,所属系,专业,入学日期,学制)
③班级信息(班级名称,学生编号,班主任,学生姓名,性别,民族,身份证号,出生日期,政治面貌,类别,入学分数,是否住宿,辅导员,实习单位,处分标志,在校情况)
④考勤处分极限(处分名称,处分级别,违纪数量)
⑤考勤信息(教师编号,学生编号,学年,学期,日期,节次,违纪内容,违纪数量)
……
(三)对关系模型进行优化处理
原“学生信息”表对应减少密码项,避免发生数据冗余和数据的不一致性。
三、数据库物理结构设计
由于数据库的物理结构是与开发环境和选定的数据库管理系统软件产品有关的,因此数据库的物理设计依赖具体的数据库管理系统产品。数据库物理设计步骤如下图,后面会给出详细的解释。不论是对数据库的物理结构的确定,还是对物理结构进行评价,必须满足原始设计要求(需求分析),如果不满足就需要退回重新设计或修改,直到设计出符合要求的具体数据库。
(一)数据库的物理结构设计
2.存取路径的设计。为了提高系统的性能,根据应用情况,如数据的异变部分和稳定部分、存取效率较高和较低等进行划分,可以进行如下设计:(1)各种文件的存放位置设计;(2)为保证读写速度,考虑表和索引的存放;(3)设计大表存放形式,用以加快存取速度;(4)将不同学院的学生放在不同磁盘上,如果教师集中录入考勤时,速度不会影响太大。
3.数据存放位置的设计。通过数据存放位置的规划来提高系统的性能,为保证读写速度考虑表和索引的存放。如考勤信息、宿舍处分信息、学生处分信息表的索引。
(二)评价数据库的物理结构
系统运行的效率、占用的空间、维护系统所花费的代价,都是我们在设计系统的初期需要考虑的事情。
四、结束语
[1]伯乐.数据库系统教程[M].北京:高等教育出版社,2003.
[2]罗宇.操作系统[M].北京:机械工业出版社,2005:319-352.
[3]萨师煊,王珊.数据库系统概论[M].北京:高等教育出版社,2009.
关键词:灌区;数据库;空间数据库
ShijinIrrigation-districtDatabaseDesignandConstruction
ZhangYongzeng,YangMing
(HebeiShijinIrrigationDistrict,AdministrationBureau,Shijiazhuang050051,China)
Abstract:ShijinIrrigationDistrictasexample,thispaperstudythedesignoftheirrigationmethodandcontentofthedatabase.Whiletheestablishmentoftheattributedatabase,spatialdatabasebeenestablished,toprovidesarichdatabasefortheirrigationwork,inlargemeasuretoimproveworkefficiency.
Keywords:Irrigation-district;Database;Spatialdatabase
一、背景
石津灌区是国家大Ⅱ型灌区,位于河北省中南部,骨干工程控制面积4144平方公里,耕地面积435万亩,设计灌溉面积250万亩,受益范围包括石家庄、邢台、衡水3个市的14个县市区,114个乡,其水源工程为岗南、黄壁庄两座联合运营的大型水库,兴利库容12.4亿立方米。总干渠全长134公里,干渠8条,总长183公里。
石津灌区管理局成立于1949年,多年的信息记载模式大部分是纸质或电子表格,而灌区涉及的信息量大而繁杂,还包括渠道、管理机构、水工建筑物等空间数据,传统的信息管理模式记录分散,查询及管理甚为不便,而空间数据只能通过纸质地图查询,降低了信息的提取利用效率,甚至影响了用水管理决策的制定和生成。因此,建立一个包括空间数据库在内的完整的灌区数据库是十分重要和必要的。
二、数据库设计
(一)数据库建设目标
1.建立标准、规范的数据编码系统
对灌区各类基础信息和空间信息进行编码,必须依据国家、行业有关标准(如河流编码、水库编码等)有关编码规定,尤其要遵从《全国大型灌区基础数据库建设指南》。
2.设计完善的数据库结构,对数据进行合理分类
在空间数据库中重点建设灌区空间数据与灌区基础数据之间的关系,按照监测点、全灌区两种级别将专题数字矢量图、专题数字栅格图、试验观测表格、专题声像资料、专题文本等五种类型进行分类结构设计,将灌区基础数据库和灌区专题数据库进行结构设计和优化,根据应用需求再逐步补充、完善数据库,以满足信息查询、汇报演示的要求。
3.数据库建库与数据导入
实施基础数据库的建库,实施数据库的物理结构建设和数据的导入。数据库建库包括空间数据库建库、多媒体数据库建库、实时监测数据建库和灌区属性数据库的建库,进而根据数据类型的不同,进行矢量地图数据和属性表格数据的分类入库。
(二)空间数据库设计
灌区空间基础数据是指与灌区空间数据有关的基础地图类数据。石津灌区空间数据库包括基础地理数据库和灌区专题空间数据两个部分。
基础地理数据库:基础地理空间数据是石津灌区所在区域的基本图形或影像数据,可为整个灌区提供电子底图。已收集到的数据包括:河北省石家庄市、衡水市、邢台市的1:10万地形图、三市的行政区划图、水系分布图、交通图。图上所有要素按照点、线、面要素进行分层,各层信息严格按照数据分类编码体系规范化分类编码,以.shp文件的形式进行存储(灌区各GIS应用软件都是基于ArcGISEngine组件开发的)。
专题数据库:根据灌区的需求,我们将专题数据库分为灌区工情数据库(水工建筑物数据库)、水情信息数据库、实时监测数据库、水费征收数据库。将这些点状数据信息以shp文件的形式存储。
1.工情数据库:包含了灌区的闸门、渠道、倒虹吸、渡槽等各类水工建筑物,这些设施的数据是制定输水、配水计划的参考依据,也为管理人员更好的了解灌区情况提供了数据基础。
3.实时监测数据库:包含了灌区监测点的闸位、水位、雨情和墒情的实时数据,通过建立接口,读取灌区已建设好的水情遥测系统监测到的最新数据,一般是半个小时更新一次。
4.水费征收数据库:包含了灌区所辖范围内各村的用水量及水费征收数据。能以村为单位查询历年用水量及水费收缴情况。
(三)属性数据库设计
灌区的属性数据库除了包含上述各空间数据所对应的属性数据以外,还包括了灌区各管理机构的基本信息和社会、经济基础资料等。在属性数据库当中,需要把各要素的关键信息作为属性字段存储,多媒体数据分别以图像、声音和视频等字段类型存储,各专题要素的对象链接包括文本、声音、照片、动画等。与空间数据库的链接通过关系数据表中的关键字段实现。
(四)元数据库设计
元数据的英文名称是“Metadata“,它是“关于数据的数据”,在地理空间信息中,用于描述地理数据集的内容、质量、空间参考、表示方式、管理方式以及数据集的其他特征,它是实现地理空间信息共享的核心标准之一。元数据可以用来组织和管理空间信息,并挖掘空间信息资源,通过它可以在广域网或因特网上准确地识别、定位和访问空间信息,帮助数据使用者查询所需空间信息;还可以用来建立空间信息的数据目录和数据交换中心,通过数据目录和数据交换中心等提供的空间元数据内容,用户可以共享空间信息、维护数据结果,以及对它们进行优化等等。
石津灌区的元数据库按照《基础地理信息数字产品元数据》(CH/T1007-2001)规定进行设计,将空间元数据内容分两个层次:第一层是目录信息,主要用于对数据集信息进行宏观描述,它适合在数字地球的国家级空间信息交换中心或区域以及全球范围内管理和查询空间信息时使用。第二层是详细信息,用来详细或全面描述地理空间信息的空间元数据标准内容,是数据集生产者在提供空间数据集时必须要提供的信息。