随着数字化办公条件在高校的一步步完善,高校的教学正从老师板书转变为计算机文档。比较常见的有PPT,Word等授课辅助软件,但是很明显,这些软件并不能充分的发挥数字化办公的优势,也不能满足教师对教学软件的需求。在数据库的教学中,第三范式分解软件能够起到一定的作用,所以本文所讨论的第三范式可视化分解软件是有意义且完全能够实现的。以“具有无损连接和依赖保持的3NF关系综合算法”最为核心思想。结合闭包算法,最小依赖集求解算法,幂集求解算法以及候选码算法,完成3NF分解的算法部分。使用Java中的Swing框架进行界面编写,完成可视化操作。整个程序的运行环境建议在Java 1。6及其以上版本上运行。
1。3 课题应当解决的主要问题
课题主要解决的问题分为两大模块,一个是算法模块,完成的软件应当实现最小依赖集求解的算法,实现候选码算法,能够完成3NF分解。另一模块是可视化模块,可视化模块应当能够实现分解过程的展示,能够分步骤的展示出分解过程。
1。4 课题内容及实现方法
程序完成3NF分解可视化软件的设计和开发工作。首先主要是进行软件需求分析,实现的语言为Java。完成代码中分解算法部分的编写。算法部分主要包括闭包算法,最小依赖集求解算法,幂集求解算法,候选码算法。其中最小依赖集算法依赖于闭包算法,候选码算法依赖于闭包算法和幂集求解算法。由于Java的封装性,代码耦合度低,能够方便进行修改。后期主要工作是完成界面的编写和论文的编写。
Java的Swing框架全篇使用Java语言做编写,通常会使用到Swing框架中的Jpanel,JButton等控件。Swing框架提供了良好的桌面应用软件的界面开发环境,通过简单的控件,能完成较为复杂的界面编写[4]。JVM为Java的运行提供环境,同时JVM也节省了开发人团的工作难度,JVM的垃圾回收为程序节约了空间,减少了内存溢出,同时JVM的平台无关性使得Java代码有着很好的可移植性,编写好的Java代码只需要在JVM上就能运行,也就是的程序不依赖于IDE,方便了程序的开发和运行[5]。文献综述
1。5 论文的组织结构
首先,简单了解数据库在计算机领域的地位,引入范式这一概念。提出范式分解软件化的必要性和可能性,强调可视化第三范式分解软件的意义。简单叙述课题中使用的算法和软件本身的结构。
之后由数据库原理以及现状引出范式的概念。详细的讲解第三范式分解的过程,详细的讲解闭包,最小依赖集,幂集以及候选码。最后系统的解释一遍第三范式分解的过程。接着介绍Java开发环境和Eclipse框架,简单的叙述开发方法。
接下来介绍第三范式分解的算法,由分解算法引出必要的中间算法:闭包算法,最小依赖集算法,米计算法和候选码算法。
最后详细的介绍代码中的各个类,由于其他算法基于闭包算法,所以最先讲解闭包算法,代码中为Bibao类,然后介绍主要算法最小依赖集,代码中为zxylj类,之后介绍幂集算法和候选码算法,代码中分别为Miji类和HouXuanMa类。幂集类主要职能是服务于候选码类,所以会先讲解幂集类。
2 关系式数据库分解理论知识
如果说二十世纪是工业的时代,那么二十一世纪就是信息的时代。现在的社会俨然已经成为了一个信息化时代,信息是生活,信息是经济,信息同时也能作为武器。而信息的一个表现就是数据,也可以说对数据的有条件组织就是信息。二十一世纪,计算机已经风靡全球,人口日益膨胀,每个人的话语就是一条信息,一条短信,一条微博,一段微信对话,都是信息。在如此大的基数之下,信息量的庞大超乎人们的想象,这也就是为什么现在被称为大数据时代。随着大数据时代的来临,数据库理论知识也得到了质的发展,现在诸如Hadoop,Storm之类的分布式系统组织的分布式数据库也正风靡于各大企业之间[6,7]。