1、哈尔滨理工大学 软件工程课程设计报告学 院 专 业 班 级 学 号 学生姓名 指导教师 课程成绩 完成日期 要摘: 图书信息管理系统主要由读者信息管理模块,图书信息管理模块,借阅信息管理模块,系统信息管理模块等组成。其中又各自分成读者注册,证件修改,用户注销,图书查询,操作记录等子模块。在设计本系统过程中,我们第一步由自顶而下的需求分析概括设计出系统总模块的数据流图,再设计个子模块的相应数据流图,列出数据流信息及数据字典;第二步概念设计在需求分析基础上用 E-R 图表示出数据及相互间联系,采用先作子图,再合并成初步 E-R 图,进行修改和重构后得到基本 E-R 图;第三步逻辑设计,在 SQL
2、Server 的设计环境下把图书馆管理系统 E-R 图转化为成逻辑数据模型表示的逻辑模式,同时实现数据模型的优化和数据模式的规范化;第四步进行物理设计设计数据的内模式,确定数据的存储结构,存取路径,存储空间分配等等,具体形式为表,视图,索引的建立。3关键字:数据库,SQL 语言,MS SQL Server,图书管理 31 需求分析 41.1 项目名称: 图书馆信息管理系统 .41.2 项目背景和内容概要 .413 数据流图 41.4 数据字典 .72 概念结构设计 72.1 局部 E-R 图 82.2 实体描述 .112.3 关系描述 (已包含在 E-R 图中) .122.4 实体-关系调整
3、(实体描述表中已消除冗余实体和关系) .122.5 数据项定义 .122.6 数据表(库)描述 132.7 系统功能模块图 .132.8 系统流程图: .133 逻辑结构设计 133.1 确定数据依赖 .143.2 数据依赖的优化与调整 .143.2.1 关系模式的优化 .143.2.2 关系模式的调整 .144 代码设计 155 数据库系统性能评价 236 结束语 236.1 数据库系统评价分析 .236.2 小结 .24参考文献 25图书馆管理系统数据库分析与设计学生姓名:王志远 指导老师:唐远新要摘: 图书信息管理系统主要由读者信息管理模块,图书信息管理模块,借阅信息管理模块,系统信息管
4、理模块等组成。其中又各自分成读者注册,证件修改,用户注销,图书查询,操作记录等子模块。在设计本系统过程中,我们第一步由自顶而下的需求分析概括设计出系统总模块的数据流图,再设计个子模块的相应数据流图,列出数据流信息及数据字典;第二步概念设计在需求分析基础上用 E-R 图表示出数据及相互间联系,采用先作子图,再合并成初步 E-R 图,进行修改和重构后得到基本 E-R 图;第三步逻辑设计,在 SQL Server 的设计环境下把图书馆管理系统 E-R 图转化为成逻辑数据模型表示的逻辑模式,同时实现数据模型的优化和数据模式的规范化;第四步进行物理设计设计数据的内模式,确定数据的存储结构,存取路径,存储
5、空间分配等等,具体形式为表,视图,索引的建立。关键字:数据库,SQL 语言,MS SQL Server,图书管理Abstract:The books information management system mainly by the reader information management module, the books information management module, borrows the information management module, the system information management module and so on is compo
6、sed.Respectively divides into the reader registration, the credential revises, the user cancels, books inquiry, operating record small steelyard module. In designs in this system process, we first step by from go against but the under demand analysis summary to design the system total module the dat
7、a stream chart, the re-engineering stature module corresponding data stream chart, lists the data stream information and the data dictionary;The second step of conceptual design expressed in the demand analysis foundation with the E-R chart the data and mutually relates, uses first is the child to a
8、ttempt, then merges the preliminary E-R chart, after carries on the revision and the heavy construction obtains basic E-R; The third step of logical design, transforms in under the SQL Server design environment the library management system E-R chart for becomes the logic data model expression the l
9、ogical pattern, simultaneously realizes the data model optimization and the data pattern standard is deficient; Fourth step carries on the physical design design data in pattern, the specified data memory structure, the access path, storage space assignment and so on, the concrete form is the table,
10、 the view, the index constructsKeywords:DataBase,SQL Language,MS SQL Server, Books management1 需求分析用户的需求具体体现在各种信息的提供、保存、更新和查询,这就要求数据库结构能充分满足各种信息的输入和输出。收集基本数据,数据结构以及数据处理的流程,为后面的具体设计打下基础。在仔细分析调查有关图书馆管理信息需求的基础上,我们主要考虑以下几个方面的需求:1) 用户需求:图书用户要求计算机系统和 SQL Server 所工作的范围;2) 应用资源:数据库应用的平台包括物理平台和图书等;3) 应用质量和可靠
11、性要求:包括操作人员素质和系统的纠错能力等1.1 项目名称: 图书馆信息管理系统1.2 项目背景和内容概要对图书馆管理信息系统进行详细地分析后,我们将系统分为以下几个模块:借阅管理模块、借书证信息管理模块、图书信息管理模块、系统管理模块。其主要功能如下: 借阅管理模块主要功能如下:1).可以为读者办理,修改,注销借书证,输入读者借书证基本信息等,定制读者的借阅权限。2).可以通过借书证查询图书信息、借出图书信息,借阅图书。3).通过借书证还书,管理员可以通过对借阅信息的管理对到期还未还的书,通过查询读者的借书证信息查询读者联系方式发出催还通知。 借书证信息管理模块主要功能如下:1).读者基本信
12、息的输入,如:读者姓名、性别、单位等。2).读者信息的修改、注销等功能。3).添加新的读者及其信息等。 图书信息管理模块主要功能如下:1).定制书籍的各种信息管理,如:书名、作者、出版信息等。2).书籍信息的修改,新图书的入库管理和图书的注销等。 系统管理模块主要功能如下:1).用户登录。2).修改密码。3).添加用户。 系统备份和数据传输模块主要功能如下:1).备份数据库数据2).恢复数据库数据3).网络数据传输13 数据流图 数据流总体图示图 1-1 数据流总体图 办理借书证图 1-2 输借书证流图 借书证修改图 1-3 借书证修改流图 借书证注销图 1-4 借书证注销流图 借书系统图 1
13、-5 借书系统流图 检索系统图 1-6 检索系统流图 还书系统图 1-7 还书系统流图不能借书的原因 图书档案管理系统图 1-8 档案管理流图1.4 数据字典参数名 类型 长度 取值范围 别名 意义图书书名 字符型 11 SM图书编号 字符型 11 B1050600000-B1050610000 SH作者 字符型 10 YZ出版社 字符型 20 CBS单价 数值型 8 DJ借出日期 日期型 yy-mm-dd JS还书日期 日期型 yy-mm-dd HS借书证号 字符型 10 0501000000-0501100000 JSZ姓名 字符型 20 NAME是否归还 字符型 20 YN性别 字符型
14、2 SEX单位 字符型 20 DW发证日期 日期型 yy-mm-dd FZ已借书册数 字符型 2 YNC是否允许借书字符型 2 YNS 是或否类别 字符型 20 LB进册数 数值型 10 JC库存量 数值型 10 CZ操作员编号 数值型 10 CB操作员姓名 字符型 10 CNAME操作员密码 字符型 15 MM表 1 数据字典2 概念结构设计这一阶段我们将客户的应用需求抽象为信息世界的结构,即对系统的人、物、事和概念进行人为处理,抽取人们所关心的共同特性,同时把这些特性用概念精确的描述。我们首先根据需求分析的结果(数据流图、数据字典等)对现实世界的数据进行抽象,设计各个局部 E-R 图,然后
15、合并成初步 E-R 图,再进行修改与重构。2.1 局部 E-R 图图书信息管理系统主要分为以下几个局部 E-R 图:1).借书证处理系统 ER 图:管理员办证改证销证读者档案 借书证身份验证身份验证身份验证1PPNMNMP1P图 2-1 借书证处理系统 ER 图图中各实体属性如下:读者档案:学号,读者姓名,性别,出生日期,借书证号,职业,单位,通讯地址,邮政编码,联系电话借书证:借书证号,姓名,性别,办证日期,借阅范围,最大借书量,照片,身份证号管理员:管理员编号,管理员姓名,登陆密码2).借书系统 ER 图:读者借书证 库存表借出信息验证查询借书检查库存索书条111N1 NN图 2-2 借书
16、系统 ER 图图中各实体属性如下:读者:身份证号,读者姓名,借书证号借书证:借书证号,姓名,性别,办证日期(借阅范围,最大借书量,照片,身份证号)库存信息:书号,图书编号借出信息:图书编号,借书证号,借书日期,归还日期3).索书系统 ER 图:读者 图书档案索书要求索书M N索书条图 2-3 索书系统 ER 图图中各实体属性如下:读者:读者姓名,借书证号图书档案:图书编号,书号,书名,作者,出版单位,出版日期,单价,藏书册书,类别,入库日期4).还书系统 ER 图:验证 还书催还完整检查读者 借书证 库存表借出信息管理员是否归还1 N 1 MM N1M1P图 2-4 还书系统 ER 图图中各实
17、体属性如下:读者:学号,读者姓名,借书证号借书证:借书证号,姓名,性别,办证日期库存信息:书号,图书编号借出信息:图书编号,借书证号,借书日期,归还日期管理员:操作员编号,管理员姓名,登陆密码5)图书档案管理系统 ER 图:管理员修改输入注销图书档案 库存身份验证身份验证身份验证1N1NN1N NNN入库清单图 2-5 档案管理系统 ER 图图中各实体属性如下:管理员:操作员编号,管理员姓名,登陆密码库存信息:书号,图书编号图书档案:图书编号,书号,书名,作者,出版单位,出版日期,单价,类别,入库日期入库清单:入库日期,图书编号,管理员编号,书名6). 整体 E-R 图读者图书档案借出书库库存
18、表管理员借书证图书管理证件处理 催还借书还书查询已借索书PPM1MN11MNPPMNNPMNN1N图 2-6 整体 ER 图图中各实体属性如下:读者档案:学号,读者姓名,性别,借书证号,单位借书证:借书证号,姓名,性别,办证日期管理员:操作员编号,管理员姓名,登陆密码库存信息:书号,图书编号借出信息:图书编号,借书证号,借书日期,归还日期图书档案:书号,书名,作者,出版单位,出版日期,单价,类别,藏书册书,图书编号入库日期2.2 实体描述说明:1、由于读者的信息可以在借书证办理档案中查到所以合并为借书证办理档案2. 将借出书库和入库清单分别合并到了借书登记表和图书信息表中表 2 实体描述2.3
19、 关系描述 (已包含在 E-R 图中)2.4 实体-关系调整 (实体描述表中已消除冗余实体和关系)2.5 数据项定义1)图书库的数据项定义:名称 别名 类型 长度 其他图书书名 SM 字符型 20 普通索引书号 SH 数值型 20 主索引译者 YZ 字符型 10出版社 CBS 字符型 20单价 DJ 数值型 8出版时间 CBSJ 日期型 8表 3 图书库数据项定义2)借、还书库的数据项定义:名称 别名 类型 长度 其他姓名 XSXM 字符型 10 普通索引借书证号 JSZH 数值型 8 主索引图书书名 SM 字符型 20图书编号 SH 字符型 20借书日期 JSRQ 日期型 8还书日期 HSR
20、Q 日期型 8表 4 借、还书库数据项定义3)借书证库的数据项定义:实体名称 借书证 数据库表 借书证信息表实体说明 读者和借书证信息实体属性列表 借书证号,姓名,性别,办证日期,最大借书量,学号实体名称 管理员 数据库表 tz_passwd实体说明 管理员的信息实体属性列表 管理员编号,管理员姓名,登陆密码实体名称 读者 数据库表 借书登记表实体说明 图书馆未被借出的图书信息实体属性列表 书号,图书编号实体名称 读者 数据库表 还书登记表实体说明 图书馆未被借出的图书信息实体属性列表 书号,图书编号实体名称 图书档案 数据库表 图书信息表实体说明 馆藏图书信息实体属性列表 书号,书名,作者,
21、出版单位,出版日期,版次,单价,类别,图书编号,入库日期名称 别名 类型 长度 其他姓名 JSXM 字符型 10 普通索引借书证号 JSGH 字符型 6 主索引性别 XB 字符型 4单位 DW 字符型 8表 5 借书证库数据项定义4)操作员库的数据项定义:名称 别名 类型 长度 其他操作员编号 CZYYHH 字符型 10操作员用户名 CZYYHM 字符型 10口令 KL 字符型 10表 6 操作员库数据项定义2.6 数据表(库)描述图书数据库=图书书名+ 图书编号 +著者+出版社+ 单价+书号+出版时间借书库=姓名 +借书证号+教师姓名+图书名称+ 借书日期+还书日期教师数据库=姓名+ 借书证
22、号 +单位操作员库=操作员用户名 +口令2.7 系统功能模块图软件功能结构图:工商学院图书信息管理系统系统管理 基本情况录入 借、还书管理 查询、统计初始化数据备份操作员管理一般用户登陆新图书登记新期刊登记借书登记还书登记图书库藏查询借书证库查询图书查询借书查询还书查询图 2-7 软件功能结构2.8 系统流程图:图书管理系统 读者查询系统图书(期刊) 库查询图 2-8 系统流程图3 逻辑结构设计为了能够用计算机和 SQL Server 实现用户需求,可将概念结构转化为相应的数据模型,即是设计逻辑结构。即由 ER 图建立了适当的表,并按不同的范式的定义,对表进行规范化。对规范化的表,更据用户需求
23、建立数据库结构。3.1 确定数据依赖关系名 主 要 函 数 依 赖管理员BCNF管理员编号 (管理员姓名,登陆密码 )库存信息BCNF图书编号 书名等借出信息BCNF(图书编号) ( 借书日期,借书证号,归还日期)借书证2NF借书证号 (借书证号,姓名,性别,单位,发证日期,已借书册书,是否容许借书)以后扩展:身份证号(姓名,性别,照片 )图书档案2NF图书编号 (书号,书名,作者,出版单位,出版日期,版次,单价,内容提要,分类号,索书号,所在书库,入库日期)入库清单BCNF图书编号 (管理员编号,书名,入库日期)还书信息BCNF借书证号 (姓名,图书编号,书名,借出日期,还书日期)3.2 数
24、据依赖的优化与调整3.2.1 关系模式的优化(1) 借书证信息:借书证 (借书证号,姓名,性别,单位,发证日期,已借书册书,是否容许借书) 满足 BCNF 范式(2) 管理员信息:管理员信息(管理员编号,管理员姓名,登陆密码)满足 BCNF 范式(3) 库存信息:库存信息 (图书编号,书号) 满足 BCNF 范式(4) 借书信息:借书信息(图书编号,借书证号,姓名,书名,借书日期,是否归还)满足 BCNF 范式(5) 还书信息:还书信息(姓名,图书编号,书名,借出日期,还书日期)满足 BCNF 范式(6) 图书信息:图书档案(图书编号,书名,作者,图书类别,单价,出版社,进册书,库存量)均满足
25、 BCNF 范式(7) 入库清单:入库清单(图书编号,管理员编号,书名,入库日期)满足 BCNF 范式3.2.2 关系模式的调整虽然在关系模式的优化中将各种关系满足了 BCNF 范式的要求,但是对某些数据库的操作却并没有简化,相反导致了数据库查询等数据库操作的效率低下。于是对借书证信息 ,和图书信息作出了以下调整。(1) 借书证信息:借书证(借书证号,姓名,性别,办证日期,单位,已借书册数,借书许可, ) (3NF)(2) 图书信息: 图书档案(图书编号,书名,作者,出版单位,单价,图书类别,进册数,入库量) (2NF)4 代码设计图书管理系统部分源代码图书外借情况查询代码tempstr=al
26、lt(thisform.container1.text1.value)tempstr=“%“+tempstr+“%“if bo1.text=“借书证号“select * from 借书登记表 where 借书登记表.借书证号 like tempstr into cursor tempcursorthisform.grid1.recordsource=tempcursorthisform.refreshendifif bo1.text=“姓名“select * from 借书登记表 where 借书登记表.姓名 like tempstr into cursor tempcursorthisfor
27、m.grid1.recordsource=tempcursorthisform.refreshendifif bo1.text=“图书编号“select * from 借书登记表 where 借书登记表.图书编号 like tempstr into cursor tempcursorthisform.grid1.recordsource=tempcursorthisform.refreshendifif bo1.text=“书名“select * from 借书登记表 where 借书登记表.书名 like tempstr into cursor tempcursorthisform.grid
28、1.recordsource=tempcursorthisform.refreshendifif bo1.text=“是否归还“select * from 借书登记表 where 借书登记表.是否归还 like tempstr into cursor tempcursorthisform.grid1.recordsource=tempcursorthisform.refreshendifthisform.container1.text1.value=“图书外借和归还情况查询代码tempstr=allt(thisform.container1.text1.value)tempstr=“%“+te
29、mpstr+“%“if bo1.text=“借书证号“select * from 还书登记表 where 还书登记表.借书证号 like tempstr into cursor tempcursorthisform.grid1.recordsource=tempcursorthisform.refreshendifif bo1.text=“姓名“select * from 还书登记表 where 还书登记表.姓名 like tempstr into cursor tempcursorthisform.grid1.recordsource=tempcursorthisform.refreshen
30、difif bo1.text=“图书编号“select * from 还书登记表 where 还书登记表.图书编号 like tempstr into cursor tempcursorthisform.grid1.recordsource=tempcursorthisform.refreshendifif bo1.text=“书名“select * from 还书登记表 where 还书登记表.书名 like tempstr into cursor tempcursorthisform.grid1.recordsource=tempcursorthisform.refreshendifthi
31、sform.container1.text1.value=“存储过程代码procedure RIDELETElocal llRetValllRetVal=.t.IF (ISRLOCKED() and !deleted() OR !RLOCK()llRetVal=.F.ELSEIF !deleted()DELETEIF CURSORGETPROP(BUFFERING) 1=TABLEUPDATE()ENDIFllRetVal=pnerror=0ENDIF not already deletedENDIFUNLOCK RECORD (RECNO()RETURN llRetValprocedure
32、RIUPDATElparameters tcFieldName,tcNewValue,tcCascadeParentlocal llRetValllRetVal=.t.IF ISRLOCKED() OR !RLOCK()llRetVal=.F.ELSEIF EVAL(tcFieldName)“C“,“,tcCascadeParent)REPLACE (tcFieldName) WITH tcNewValueIF CURSORGETPROP(BUFFERING) 1=TABLEUPDATE()ENDIFllRetVal=pnerror=0ENDIF values dont already mat
33、chENDIF its locked already, or I was able to lock itUNLOCK RECORD (RECNO()return llRetValprocedure rierrorparameters tnErrNo,tcMessage,tcCode,tcProgramlocal lnErrorRows,lnXXlnErrorRows=alen(gaErrors,1)if type(gaErrorslnErrorRows,1)0lcNewWkArea=0endif something bad happened while setting orderENDIFRE
34、TURN (lcNewWkArea)PROCEDURE riendPARAMETERS tlSuccesslocal lnXX,lnSpot,lcWorkAreaIF tlSuccessEND TRANSACTIONELSESET DELETED OFFROLLBACKSET DELETED ONENDIFIF EMPTY(pcRIolderror)ON ERRORELSEON ERROR upper(tcTableName)+“*“+str(tcWkArea,5)RETURN .t.* “参照完整性删除触发器“ 借书证信息表PROCEDURE _RI_DELETE_借书证信息表LOCAL l
35、lRetValllRetVal = .t.PRIVATE pcParentDBF,pnParentRec,pcChildDBF,pnChildRec,pcParentID,pcChildIDPRIVATE pcParentExpr,pcChildExprSTORE “ TO pcParentDBF,pcChildDBF,pcParentID,pcChildID,pcParentExpr,pcChildExprSTORE 0 TO pnParentRec,pnChildRecIF _triggerlevel=1BEGIN TRANSACTIONPRIVATE pcRIcursors,pcRIwk
36、areas,pcRIolderror,pnerror,;pcOldDele,pcOldExact,pcOldTalk,pcOldCompat,PcOldDBCpcOldTalk=SET(“TALK“)SET TALK OFFpcOldDele=SET(“DELETED“)pcOldExact=SET(“EXACT“)pcOldCompat=SET(“COMPATIBLE“)SET COMPATIBLE OFFSET DELETED ONSET EXACT OFFpcRIcursors=“pcRIwkareas=“pcRIolderror=ON(“error“)pnerror=0ON ERROR
37、 pnerror=rierror(ERROR(),message(),message(1),program()IF TYPE(gaErrors(1)lcOldParentIDlcChildWkArea=riopen(“还书登记表“)IF lcChildWkArea=0IF _triggerlevel=1DO riend WITH .F.ENDIF at the end of the highest trigger levelSELECT (lcStartArea)RETURN .F.ENDIF not able to open the child work areapcChildDBF=dbf
38、(lcChildWkArea)SELECT (lcChildWkArea)SCAN FOR 借书证号=lcOldParentIDpnChildRec=recno()pcChildID=借书证号pcChildExpr=“借书证号“IF NOT llRetValEXITENDIF & not llretvalllRetVal=riupdate(“借书证号“,lcParentID,“借书证信息表“)ENDSCAN get all of the 还书登记表 records=rireuse(“还书登记表 “,lcChildWkArea)IF NOT llRetValIF _triggerlevel=1D
39、O riend WITH llRetValENDIF at the end of the highest trigger levelSELECT (lcStartArea)RETURN llRetValENDIFENDIF this parent id changedIF _triggerlevel=1do riend with llRetValENDIF at the end of the highest trigger levelSELECT (lcStartArea)RETURN llRetVal* “结束参照完整性更新触发器“ 借书证信息表*5 数据库系统性能评价在需求分析部分,我认真
40、阅读了图书管理系统的功能简述,在此基础上把整个系统按处理功能分解成若干模块,进行数据分解,画出了总系统和各模块的数据流图、数据项表、数据结构表、数据流表等。得到的需求分析的主要结果,基本反映了用户的需求。在概念结构设计时,采用自底向上的设计方法。将数据流程图中的子图抽象为 E-R图,然后再合并各个分 E-R 图。设计出的整体概念结构内部具有一致性,不但能满足需求分析阶段确定的所有要求,而且能准确反映原来的每个子视图的结构。并且给出了各个实体的描述,对实体和关系进行了调整,消除了冗余实体和冗余关系。在逻辑结构设计时,选择 SQL Server 所支持的数据模型,适于描述和表达概念结构的。我们遵循
41、一定原则进行实体、属性和联系的转换。优化了关系数据模型,根据具体的应用确定范式和关系模式的分解与合并。确定了外模式和数据视图。在物理结构设计时,设计的存储结构和存储方法考虑到了用户的应用环境情况,为了缩短响应时间优化数据库的访问,建立了经常查询的属性的索引。并且对数据库表进行了存储空间分配和划分了用户角色及每个角色的权限,系统安全性提高。最后在数据库实施设计阶段,在具体的 DBMS 下创建库,表,视图,建索引,授权及完整性约束。通过不断修改完善,我们所设计的图书管理数据库系统,符合关系数据库的基本体系结构,达到关系数据库的标准。本软件对录入的数据进行较高的数据精度限制且本软件响应时间较稳定,能
42、帮助用户建立稳定的工作节奏,足够满足用户的需求。6 结束语6.1 数据库系统评价分析在需求分析部分,我们认真阅读了图书管理系统的功能简述,在此基础上把整个系统按处理功能分解成若干模块,进行数据分解,画出了总系统和各模块的数据流图、数据项表、数据结构表、数据流表等。我们得到的需求分析的主要结果,基本反映了用户的需求。在概念结构设计时,我们采用自底向上的设计方法。将数据流程图中的子图抽象为E-R 图,然后再合并各个分 E-R 图。设计出的整体概念结构内部具有一致性,不但能满足需求分析阶段确定的所有要求,而且能准确反映原来的每个子视图的结构。并且给出了各个实体的描述,对实体和关系进行了调整,消除了冗
43、余实体和冗余关系。在逻辑结构设计时,我们选择 SQL Server 所支持的数据模型,适于描述和表达概念结构的。我们遵循一定原则进行实体、属性和联系的转换。优化了关系数据模型,根据具体的应用确定范式和关系模式的分解与合并。确定了外模式和数据视图。在物理结构设计时,我们设计的存储结构和存储方法考虑到了用户的应用环境情况,为了缩短响应时间优化数据库的访问,建立了经常查询的属性的索引。并且对数据库表进行了存储空间分配和划分了用户角色及每个角色的权限,系统安全性提高。最后在数据库实施设计阶段我们在具体的 DBMS 下创建库,表,视图,建索引,授权及完整性约束。通过不断修改完善,我们所设计的图书管理数据
44、库系统,符合关系数据库的基本体系结构,达到关系数据库的标准。6.2 小结通过这次课程设计,了解了设计一个数据库系统的复杂性和对综合知识要求较高。因此在设计阶段我们查阅了很多资料,加深了对数据库知识的认识。在设计过程中,在需求分析、数据库概念模型设计、数据库逻辑模型设计、数据库实施设计阶段和同学进行了反复的讨论、研究逐渐完善了整个图书数据库管理系统。在需求分析阶段,我对各种各样的客户的信息需求、处理需求、安全性与完整性需求进行了分析,绘制了数据流图;建立了数据项表、数据结构表、数据流表、数据存储表和处理过程表。在概念模型设计阶段,根据需求分析情况,设计出相应的局部 E-R 数据模型,根据不同的实
45、体之间的联系,分为 1:1,1:n,n:m 三种情况考虑。然后将各局部 E-R 图集成为全局 E-R 图,在这过程中我充分考虑到了各种冲突。对各个实体和关系进行了描述,并且根据应用要求消除了冗余实体和冗余关系。在数据库逻辑模型设计阶段,将全局 E-R 图转换成关系模式,确定各关系模式的函数依赖关系,并且对依赖关系进行了规范化处理。同时为了更好满足不同用户的应用需求进行了关系调整,优化了数据库的运用。建立了基本结构表,并且对基本表给出了主键和外键,确定了其完整化约束。并确定了外模式和数据视图。最后在数据库实施设计阶段我们在具体的 DBMS 下创建库,表,视图,建索引,授权及完整性约束。综上所述,
46、我设计的图书馆管理数据库系统,符合关系数据库的基本体系结构,达到关系数据库的标准。参考文献1郑人杰,殷人昆,陶永雷.实用软件工程M,北京:清华大学出版社,1997,1.2Jiawei han,Micheline Kamber 著,范明,孟小峰等译.数据挖掘概念与技术M,北京:机械工业出版社,2001,8.3史忠植.知识发现M,北京:清华大学出版社,2002,2.4Claude Seidman 著,刘艺,王鲁军,蒋丹丹等译.SQL Server 2000 数据挖掘技术指南M,北京:机械工业出版社,2002,1.5 卫海 PowerBuilder 课程设计案例精编中国水利水电出版社6 美William B. Heys 著PowerBuilder 6 开发指南电子工业出版社7Microsoft Corporation. Component Object Model TechnologiesEB/OL.http:/ 2005.