基于本体和Lucene的网络教育资源检索系统设计与实现毕业设计论文.doc

上传人:文库蛋蛋多 文档编号:3940610 上传时间:2023-03-28 格式:DOC 页数:53 大小:1.71MB
返回 下载 相关 举报
基于本体和Lucene的网络教育资源检索系统设计与实现毕业设计论文.doc_第1页
第1页 / 共53页
基于本体和Lucene的网络教育资源检索系统设计与实现毕业设计论文.doc_第2页
第2页 / 共53页
基于本体和Lucene的网络教育资源检索系统设计与实现毕业设计论文.doc_第3页
第3页 / 共53页
基于本体和Lucene的网络教育资源检索系统设计与实现毕业设计论文.doc_第4页
第4页 / 共53页
基于本体和Lucene的网络教育资源检索系统设计与实现毕业设计论文.doc_第5页
第5页 / 共53页
点击查看更多>>
资源描述

《基于本体和Lucene的网络教育资源检索系统设计与实现毕业设计论文.doc》由会员分享,可在线阅读,更多相关《基于本体和Lucene的网络教育资源检索系统设计与实现毕业设计论文.doc(53页珍藏版)》请在三一办公上搜索。

1、学科分类号: 520.6070 湖南人文科技学院本科生毕业设计论文题目:基于本体和Lucene的网络教育资源检索系统设计与实现Design and Implementation of Network Education Resources Retrieval System Based on Ontology and Lucene学生姓名:学号系 部:计算机科学技术系专业年级:2007级计算机科学与技术指导教师:职 称:湖南人文科技学院教务处2009年制湖南人文科技学院本科毕业设计诚信声明本人郑重声明:所呈交的本科毕业设计,是本人在指导老师的指导下,独立进行研究工作所取得的成果,成果不存在知识产

2、权争议,除文中已经注明引用的内容外,本设计不含任何其他个人或集体已经发表或撰写过的作品成果。对本文的研究做出重要贡献的个人和集体均已在文中以明确方式标明。本人完全意识到本声明的法律结果由本人承担。 作者签名: 2011年 月 日版权声明版权所有 2010-2011 周显光,保留所有权利。本文档受著作权法和国际公约的保护,未经授权擅自复制或传播本文档的部分或全部,可能受到严厉的民事和刑事制裁,并在法律许可的范围内受到最大可能的起诉。目 录摘要IABSTRACTI第一章 绪 论11.1 引言11.2 研究背景11.3 本文主要工作21.4 本文的组织安排2第二章 开发环境和开发技术42.1系统介绍

3、42.2系统开发环境42.3系统开发技术42.3.1 Eclipse简介42.3.2 Java简介52.3.3 JSF简介52.3.4 JPA简介52.3.5 MySQL简介5第三章 可行性与需求分析63.1可行性分析63.1.1 技术可行性63.1.2 社会可行性63.1.3 经济可行性63.2系统目标63.3功能需求63.4性能需求7第四章 系统概要设计94.1模块设计94.1.1系统功能层次图94.1.2系统UML包图104.1.3 数据库模块104.1.4 Web模块124.1.3 Lucene模块184.1.4 本体模块204.2系统数据库设计214.2.1 EER图214.2.2

4、数据表设计214.2.3 创建数据表23第五章 系统实现265.1本体模块265.2 Lucene模块315.2.1 索引更新模块325.2.2 索引搜索模块365.3数据模块385.3.1 实体模块385.3.1 实体操作模块385.4 web模块385.4.1 Servlet模块385.4.2 ManagedBean模块385.4.3 有关网页的Facelets实现41第六章 系统测试436.1系统搜索模块的测试436.2资源模块的测试446.3用户模块的测试45结束语47致 谢48参考文献48基于本体和Lucene的网络教育资源检索系统设计与实现摘要:随着Internet/Intrane

5、t的迅速发展和广泛普及,越来越多的web2.0网站的出现,Internet上的信息量呈指数级增长,人们需要从浩如烟海的网络中快速、准确地找到自己需要的信息,这是信息时代的必然要求,所以对网站内容的索引和搜索将会变得越来越重要。本设计在对网络教育资源检索系统的需求分析的基础上,以Eclipse 3.6为集成开发环境,MySQL为后台数据库,使用JSF、JPA框架和Lucene、OWL API设计实现了基于本体和Lucene的网络教育资源检索系统。该系统主要实现了用户登录与注册、网络教育资源的管理与搜索。系统测试表明,该系统运行稳定,可访问性、可靠性很好,操作简单方便。 关键词:教育资源检索;本体

6、;JSF;JPA;Lucene;OWLDesign and Implementation of Network Education Resources Retrieval System Based on Ontology and LuceneAbstract: With the rapid development and wide spreading of Internet/Intranet, the appearance of more and more web2.0 web site, the exponentially increasing of the information amou

7、nt in Internet, People need to find the information they need, This is the inevitable request of information age, so the index and search of web site content will be more and more important.In the design based on the need analysis of the network education resources retrieval system based on ontology

8、 and Lucene, using Eclipse 3.6 as development environment, MySQL as background database, using JSF, JPA framework design and implement the network education resources retrieval system based on ontology and Lucene. The system mainly implements the user login and register, the management and search of

9、 network education resources. System testing showed that the system run stability, has good accessibility and reliability, simple operation.Key words: Education Resource Search; Ontology; JSF; JPA; Lucene; OWL第一章 绪 论1.1 引言由于Internet的迅猛发展,信息迅速膨胀,人们对信息查询的准确率的要求也越来越高,而全文检索系统因为检索功能强大、效率高而越来越流行。Lucene是一个

10、基于Java的开放源代码的全文检索引擎工具包,能够方便地嵌入到各种应用中实现索引和搜索功能。本系统用此技术来实现对网络教育资源的全文检索,通过对索引的查询可以快速、可靠的得到相关信息,并在查询过程中应用中文分词技术,以使得查询结果更加准确和全面。传统的数据库检索方式大都采用传统的关键词匹配算法进行查询,并不能很准确地返回相关信息,无法理解语义。而用来对特定领域的概念及术语给予明确的形式化描述的本体论不仅为规范化资源描述及用户查询提供了基础,也为更准确地搜索信息提供了保证。本人在此项目中使用Protg建立了知识本体,并使用OWL API 解析本体,实现了一个能使用本体中已有的概念进行的单词补全,

11、并查找特定概念的子概念,实现了推理补全,这两者组成了搜索框的自动完成功能,能在用户搜索时提供相关的关键字智能提示,还可以对搜索词进行语义扩展后搜索。1.2 研究背景Lucene是apache软件基金会jakarta项目组的一个子项目,是一个开放源代码的全文检索引擎工具包,即它不是一个完整的全文检索引擎,而是一个全文检索引擎的架构,提供了完整的查询引擎和索引引擎,部分文本分析引擎(英文与德文两种西方语言)。 Lucene的目的是为软件开发人员提供一个简单易用的工具包,以方便的在目标系统中实现全文检索的功能,或者是以此为基础建立起完整的全文检索引擎。在计算机科学与信息科学领域,理论上,本体是指一种

12、“形式化的,对于共享概念体系的明确而又详细的说明”。本体提供的是一种共享词表,也就是特定领域之中那些存在着的对象类型或概念及其属性和相互关系;或者说,本体就是一种特殊类型的术语集,具有结构化的特点,且更加适合于在计算机系统之中使用;或者说,本体实际上就是对特定领域之中某套概念及其相互之间关系的形式化表达(formal representation)。本体是人们以自己兴趣领域的知识为素材,运用信息科学的本体论原理而编写出来的作品(artifacts)。本体一般可以用来针对该领域的属性进行推理,亦可用于定义该领域(也就是对该领域进行建模)。1.3 本文主要工作本系统从建立之初就注重良好的设计、效率

13、和可移植性,系统先使用MySQL Workbench建立数据库模型,然后将EER模型生成建表的SQL脚本并放在MySQL中运行,以此来创建数据表。本项目使用的集成开发环境是Eclipse 3.6,持久层使用JPA2.0(EclipseLink的实现)框架完成对象-关系映射,Web层使用JSF2.0(使用sun的实现和Primefaces的扩展)框架,Web和Servlet容器是Apache Tomcat 7.0。系统整体架构为B/S模式,遵循MVC模式开发,代码符合JavaEE 6标准,使用JPA完成ORM映射,使用JSF 的Facelets模板技术,将用户界面设计与业务逻辑分离,利用POJO

14、做实现,在Facelets模板中使用JSF的标准标签、Primefaces扩展标签、JSTL标签和EL表达式实现可维护,可重用的视图,具体实现操作利用JSF的ManagedBean的方法作为Action或AcitionListener,在faces-config.xml中定义页面导航规则作为控制器,通过对JPA实体类及其Facade类的操作实现对数据库的操作,使用实体类和POJO作为模型,使用ManagedBean和POJO实现业务逻辑。对基于本体和Lucene的网络教育资源检索系统的功能进行分析,主要是分析对网络教育资源的管理、索引和搜索,以及解析本体中的特定类的子类的功能实现。其次进行概要

15、设计,将系统分为4个模块:数据库模块(实体模块,facade模块),Lucene模块(索引模块,搜索模块),本体模块,Web模块(模型模块、Servlet模块、ManagedBean模块)。再次进行数据库设计,基于本体和Lucene的网络教育资源检索系统拥有多个数据表,为了实现相应的功能模块,需要对数据库进行相应的设计。然后进行详细设计,最后系统测试。开发一个基于本体和Lucene的网络教育资源检索系统必须经过以下阶段:l 可行性研究阶段l 需求分析阶段l 总体设计阶段l 详细设计阶段l 系统实现阶段l 测试阶段1.4 本文的组织安排文章绪论部分对本系统的背景和现状进行了简要的介绍,分析了本文

16、的主要工作任务;系统分析部分,包括开发环境和技术分析、可行性分析、需求分析、系统功能分析等,为设计和理解应用程序做了很好的铺垫;系统设计部分主要介绍了系统功能设计和数据库设计,并根据系统要对功能进行了划分和细化;系统实现部分说明了几个主要模块的算法及代码设计。围绕基于本体和Lucene的网络教育资源检索系统的项目实施,根据开发过程,重点阐述了软件项目开发的流程,从业务流程、功能描述等方面对系统进行了详尽的分析,从数据库逻辑模型、软件结构、模块加工说明、界面设计四方面对系统进行了详尽的设计。最后对论文进行了总结,并对指导者进行致谢。第二章 开发环境和开发技术2.1系统介绍本设计所实现的基于本体和

17、Lucene的网络教育资源检索系统主要用于研究在Lucene全文检索系统中,如何利用本体中的概念和术语及其之间的关系进行推理,提高搜索的质量。本系统分为数据库模块(实体模块,facade模块),Lucene模块(索引模块,搜索模块),本体模块,Web模块(模型模块、Servlet模块、ManagedBean模块)四个模块,实现用户的登录与注册、文档的管理和分类、文档的搜索,文档的索引、搜索关键字的智能提示等功能。2.2系统开发环境开发与运行的环境的选择会影响到数据库设计,本系统开发与运行环境如下:l 操作系统:Ubuntu Linux 10.04l 开发工具:Eclipse 3.6l 数据库管

18、理系统:MySQL 5.1l 服务器:Apache Tomcat 7.0l 用MySQL Workbench建立数据模型,然后用模型生成建表的SQL代码,运行SQL代码创建数据库模式和数据表2.3系统开发技术本系统采用Eclipse 3.6为开发工具,Java为编程语言,MySQL 为数据库后台处理,使整个系统具有良好的可移植性,并且可以更换数据库(支持所有主流的数据库,如MySQL、PostgreSQL、Oracle、DB2、Sybase、Microsoft SQL Server等)和Servlet容器(Apache Tomcat、Glassfish、JBoss、Weblogic、Websp

19、here等)。2.3.1 Eclipse简介Eclipse是一个著名的跨平台的自由集成开发环境(IDE)。最初主要用来Java语言开发,但是目前亦有人通过插件使其作为其他计算机语言比如C+和Python的开发工具。Eclipse的本身只是一个框架平台,但是众多插件的支持使得Eclipse拥有其他功能相对固定的IDE软件很难具有的灵活性。许多软件开发商以Eclipse为框架开发自己的IDE。2.3.2 Java简介Java,是由Sun Microsystems公司于1995年5月推出的Java程序设计语言和Java平台的总称。Java平台由Java虚拟机(Java Virtual Machine

20、)和Java 应用编程接口(Application Programming Interface、简称API)构成。Java 应用编程接口为Java应用提供了一个独立于操作系统的标准接口,可分为基本部分和扩展部分。2.3.3 JSF简介Java Server Faces(JSF) 是一种标准的 J2EE 表示层的技术,其主旨是为了使 Java 开发人员能够快速的开发基于 Java 的 Web 应用程序。它不同于其它 Java 表示层技术的最大优势是其采用的组件模型,事件驱动,依赖注入。Java Server Faces (JSF) 是一种用于构建 Web 应用程序的新标准 Java 框架。它提供

21、了一种以组件为中心来开发 Java Web 用户界面的方法,从而简化了开发。Java Server Faces 的 MVC 实现 JSF 的主要优势之一就是它既是 Java Web 用户界面标准又是严格遵循模型-视图控制器 (MVC) 设计模式的框架。用户界面代码(视图)与应用程序数据和逻辑(模型)的清晰分离使 JSF 应用程序更易于管理。为了准备提供页面对应用程序数据访问的 JSF 上下文和防止对页面未授权或不正确的访问,所有与应用程序的用户交互均由一个前端“Faces Servlet”(控制器)来处理。2.3.4 JPA简介 JPA全称Java Persistence API,JPA通过注

22、解或XML描述对象关系表的映射关系,并将运行期的实体对象持久化到数据库中。JPA是J2EE中的持久化标准规范,有很多种实现(Hibernate JPA、EclipseLink和TopLink等)。2.3.5 MySQL简介MySQL是一个跨平台的开源数据库。“LAMP”中的“M”指的就是MySQL,它以其简单易用的特点广泛被广大用户采用, MySQL是C/S架构的服务器,服务器端是多线程的,支持不同的后端、多个不同的客户程式和库、管理工具和广泛的应用程式接口(apis),为客户端提供了不同的程序接口和链接库,如C、C+、Java、Perl、PHP、Tcl等,也提供了简单的管理工具,如mysql

23、admin等。mysql是个快速的、多线程、多用户和健壮的sql数据库服务器。mysql服务器支持关键任务、重负载生产系统的使用,也能够将他嵌入到一个大配置(mass-deployed)的软件中去。可以使用命令行工具管理MySQL数据库,也可以从MySQL的网站下载图形管理工具MySQL Administrator、MySQL Query Browser和MySQL Workbench。第三章 可行性与需求分析3.1可行性分析3.1.1 技术可行性JSF实现表现层,使用ManagedBean和其他POJO来处理业务逻辑,JPA完成ORM映射,再结合Lucene建立和搜索索引,使用OWL API

24、分析本体,获得相关的概念或术语,提供搜索关键词提示,并提供语义扩展搜索,因此在技术上是可行的。3.1.2 社会可行性网络教育资源的内容一般很丰富,难以准确地检索,传统的检索方式无法胜任,只有使用全文检索引擎和本体,才能提供比较准确的检索结果,因此本系统在社会上是可行的。3.1.3 经济可行性该系统是个低成本的系统,由一个人单独开发,不会花费太多的人力和财力,一台性能良好的计算机和一系列开源免费的软件就可以完成设计,在经济上是可行的。3.2系统目标许多含有大量内容的网站都需要提供比较准确的搜索功能方便用户获得自己想要的信息,网络教育资源网站也不例外。这也是网络教育资源应用程序开发常用的功能模块。

25、学生作业管理系统是以JSF、JPA和POJO为实现基础,以检索网络教育资源为目的,给出了系统架构为B/S结构的网络教育资源检索系统,实现了一个全文检索系统和针对领域本体的语义搜索。3.3功能需求对于登录用户,可以创建教学文档、删除教学文档、编辑教学文档、查看教学文档、搜索教学文档、对教学文档进行分类、创建分类、重命名分类、移动分类、嵌套分类、删除分类。对于没有登录的用户,也可以搜索教学文档、查看教学文档。UML用例图如图3-1所示。图3-1 系统UML用例图系统主要分为3个方面的功能:(1)用户功能:包括 用户注册、登录。(2)管理教学文档:包括创建文档、编辑文档、删除文档、移动文档到其他分类

26、、创建分类、移动分类、删除分类、重命名分类和分类嵌套等,供已登录用户访问。(3)检索教学文档:包括搜索关键字提示、搜索文档、搜索词的语义扩展,供所有用户访问。3.4性能需求系统具有良好的灵活性,可扩展性和可移植性,系统采用浏览器/服务器模型。在数据库方面,项目使用JPA完成ORM映射,使用JPQL和实体类操作数据库,避免了对某一种数据库的依赖,可以很方便的移植到其他的数据库上去。在表现层,使用JSF的Facelets模板技术用来创建可维护,可重用的Web页。在业务层,使用ManagedBean处理要显示在页面的数据和业务逻辑,还使用ApplicationContextListener这个上下文

27、监听器完成WEB应用程序的初始化和关闭时的资源清理工作。系统初始化时载入并解析本体数据,提高了关键字提示的速度。系统把建立索引和删除索引的工作交给线程池,在后台完成,不影响用户体验。系统的文档管理使用了Ajax 技术根据用户需要动态载入数据(分类的树形结构和文档的分页),减小了系统的开销,提高了用户体验。系统的升级只涉及到服务端,只要服务端做出相应的修改升级,客户端自然会实现新的系统更新。第四章 系统概要设计4.1模块设计4.1.1系统功能层次图该系统主要由以下功能模块组成,如图4-1所示:图4-1系统功能层次图4.1.2系统UML包图图4-2 系统UML包图4.1.3 数据库模块数据库模块为

28、com.edu.data,包含两个子模块:实体模块(com.edu.data.entity)和实体操作模块(com.edu.data.facade)。图4-3 实体模块UML类图实体模块负责完成对象-关系映射,实现Java对象到数据库的持久化,User类表示用户,Category类表示分类,Doc类表示文档。图4-4 实体操作模块UML类图实体操作模块封装了对实体的操作:插入、删除、更新、查询等,AbstractFacade封装了操作实体的通用操作:find、edit、create、refresh、remove和count,其他的Faade类继承AbstractFacade,增加了具体对于某一

29、类实体的操作,DocFacade封装了对Doc实体的操作,UserFacade封装了对User实体的操作,CategoryFacade封装了对Category实体的操作。4.1.4 Web模块数据库模块所在的包为com.edu.web,包括Servlet模块(com.edu.web.servlet),ManagedBean模块(com.edu.web.managedBean)和数据模型模块(com.edu.web.model)。图4-5 Servlet模块UML类图Servlet模块包含一个通用的应用程序上下文监听器,实现了使用JPA框架的web应用程序的初始化工作(创建实体管理器工厂等)和关

30、闭工作(关闭实体管理器工厂和unregister数据库驱动),提供了在系统初始化和关闭时插入代码的的抽象方法,提供了对象映射、添加对象到对象映射和从对象映射中获取对象的方法,还包含一个子类提供持久化单元的名称,定制系统初始化和关闭时的工作。图4-6 数据模型模块UML类图数据模型模块提供了托管Bean需要使用的一些数据模型,用于表示分类树和文档表,CategoryTreeNode表示分类树节点,DocumentTable提供CategoryTreeNode对DocumentLazyDataModel访问,DocumentLazyDataModel是一个用于Ajax分页表格的模型,能根据用户请求

31、动态载入数据。图4-7 ManagedBean模块UML类图ManagedBean模块包含JSF页面需要使用的托管Bean,通过配置faces-config.xml进行依赖注入,ManagedBeanConstructorUtil也提供一系列静态方法获得其他托管Bean(Session Bean和Application Bean)的引用和request、session和response等,UserBean管理用户登录,提供login、logout和判断登录状态的方法,CategoryTreeBean是分类树的模型,为显示分类树提供数据,并对树节点的选择和展开事件进行响应,动态地改变树的结构,分

32、类路径和文档表的内容。图4-8 用户表单模块UML类图用户表单模块用来处理用户的登录和注册的表单,LoginForm处理用户登录的表单,RegisterForm处理用户注册的表单。图4-9 文档表单模块UML类图文档表单模块处理文档的创建、编辑、删除、搜索表单,实现文档的查看功能,DocEditForm处理文档编辑表单,DocDelForm处理文档删除表单,DocViewForm用于从数据库取出文档用于显示,DocNewForm处理文档创建表单,SearchForm处理文档搜索表单。图4-10 分类表单模块UML类图分类表单模块处理分类的创建、删除和编辑的表单,CatNewForm处理分类创建

33、表单,CatEditForm处理分类编辑表单,CatDelForm处理分类删除表单。4.1.3 Lucene模块Lucene模块为(com.edu.lucene),包含两个子模块:索引模块(com.edu.lucene.index)和搜索模块(com.edu.lucene.search)。图4-11 Lucene模块UML类图Lucene模块完成Lucene目录和分析器的创建和关闭,实现对索引的创建、编辑、删除和搜索,DocSearcher实现对索引的搜索,DocIndexer实现对文档的索引的操作,把操作放在线程池中执行,WriteDocIndexTasks实现了更新索引的任务,Delete

34、DocIndexTask实现了删除索引的任务。4.1.4 本体模块本体模块位于com.edu.ontology。图4-12 本体模块UML类图本体模块实现了本体的载入和解析,对搜索语句中的词汇进行单词补全和语义补全的功能,libraryPath表示本体文件的磁盘路径,libraryFile表示本体文件,educationOntology表示本体,getRelativeWords方法用于根据搜索语句从本体中获得相关词列表,包括单词补全和语义补全。4.2系统数据库设计4.2.1 EER图系统EER图如图4-5所示:图4-5 系统EER图用户表用来存储用户信息;一个用户可以创建多个文档和分类;一个分

35、类可以包含多个分类和多个文档。4.2.2 数据表设计系统主要数据库表如下:表4-1 用户表(user)标识数据类型数据范围备注emailVARCHAR60用户的唯一标识,主键nameVARCHAR30名字passwordVARCHAR20密码表4-2 分类表(category)标识数据类型数据范围备注category_idINT分类的唯一标识,主键nameVARCHAR45分类名parent_category_idINT父分类的category_iduser_idVARCHAR60分类所属用户的email表4-3学生表(doc)标识数据类型数据范围备注doc_idINT文档的唯一标识,主键ti

36、tleVARCHAR60文档的标题contentLONGTEXT少于4294967296个字节(2*32)文档的内容change_timeDATETIME修改时间click_numberINT点击次数user_idVARCHAR60所属用户的emailcategory_idINT所属分类的category_id表4-4索引文件表(index_file)标识数据类型数据范围备注file_nameVARCHAR15文件名,主键doc_idINT文档的doc_id,外键(doc)change_timeDATETIME修改时间表4-5管理员表(admin)标识数据类型数据范围备注emailVARCHA

37、R60管理员email,主键nameVARCHAR30名字passwordVARCHAR20密码recent_login_dateDATE最近登录日期4.2.3 创建数据表数据库建立代码(edusearch.sql)如下:SET OLD_UNIQUE_CHECKS=UNIQUE_CHECKS, UNIQUE_CHECKS=0;SET OLD_FOREIGN_KEY_CHECKS=FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0;SET OLD_SQL_MODE=SQL_MODE, SQL_MODE=TRADITIONAL;DROP SCHEMA IF EXIST

38、S edu_search ;CREATE SCHEMA IF NOT EXISTS edu_search DEFAULT CHARACTER SET utf8 ;- - Table edu_search.user 用户表- -DROP TABLE IF EXISTS edu_search.user ;CREATE TABLE IF NOT EXISTS edu_search.user ( email VARCHAR(60) NOT NULL , name VARCHAR(30) NULL , password VARCHAR(20) NOT NULL , recent_login_date D

39、ATE NOT NULL , PRIMARY KEY (email) )ENGINE = InnoDB;- - Table edu_search.category 分类表- -DROP TABLE IF EXISTS edu_search.category ;CREATE TABLE IF NOT EXISTS edu_search.category ( category_id INT NOT NULL AUTO_INCREMENT , name VARCHAR(45) NULL , prarent_category_id INT NULL , user_id VARCHAR(60) NULL

40、 , PRIMARY KEY (category_id) , INDEX fk_category_1 (prarent_category_id ASC) , INDEX fk_category_2 (user_id ASC) , CONSTRAINT fk_category_1 FOREIGN KEY (prarent_category_id ) REFERENCES edu_search.category (category_id ) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT fk_category_2 FOREIGN KEY (user

41、_id ) REFERENCES edu_search.user (email ) ON DELETE CASCADE ON UPDATE CASCADE)ENGINE = InnoDB;- - Table edu_search.doc 文档表- -DROP TABLE IF EXISTS edu_search.doc ;CREATE TABLE IF NOT EXISTS edu_search.doc ( doc_id INT NOT NULL AUTO_INCREMENT , title VARCHAR(60) NULL , content LONGTEXT NULL , change_t

42、ime DATETIME NULL , click_number INT NULL , user_id VARCHAR(60) NULL , category_id INT NULL , PRIMARY KEY (doc_id) , INDEX fk_doc_1 (user_id ASC) , INDEX fk_doc_2 (category_id ASC) , CONSTRAINT fk_doc_1 FOREIGN KEY (user_id ) REFERENCES edu_search.user (email ) ON DELETE CASCADE ON UPDATE CASCADE, C

43、ONSTRAINT fk_doc_2 FOREIGN KEY (category_id ) REFERENCES edu_search.category (category_id ) ON DELETE CASCADE ON UPDATE CASCADE)ENGINE = InnoDB;- - Table edu_search.index_file 索引文件表- -DROP TABLE IF EXISTS edu_search.index_file ;CREATE TABLE IF NOT EXISTS edu_search.index_file ( file_name VARCHAR(15)

44、 NOT NULL , doc_id INT NULL , change_time DATETIME NULL , PRIMARY KEY (file_name) , INDEX fk_index_file_1 (doc_id ASC) , CONSTRAINT fk_index_file_1 FOREIGN KEY (doc_id ) REFERENCES edu_search.doc (doc_id ) ON DELETE CASCADE ON UPDATE CASCADE)ENGINE = InnoDB;- - Table edu_search.admin 管理员表- -DROP TABLE IF EXIS

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号