1、失物招领系统数据库设计失物招领系统数据库设计一、系统需求分析(一)问题背景现今社会生活中,随着人们生活需求的日益多元化,人们所持有的物质资源也随之丰富,最直观的表现就是人们所拥有的物品无论从种类还是数量上都大幅增加,这就造成了人们对自己所有的物品在看管方面难度的加大,再加之日益加快的生活节奏,就更导致了人们遗落、丢失物品的情况时有发生。这种现象在面积相对较小,而人口特别密集的大学校园来说更是屡见不鲜。老师和同学们时常丢失个人物品, 如书籍、手机、钱包、一卡通等现象时有发生。经过调查发现,失主往往因为不能及时的找回失物而造成许多麻烦和不少的损失(像许多同学因为丢失一卡通而造成了用餐、进入图书馆、
2、借书等许多不便)。另一方面,物品的拾取者也因为没用取得失主的联系方式而不能及时的把拾取物交还到失主手上。而传统的失物招领服务中心,采用的还是拾取者上交、手工备案、人工查询的方式。但是随之物品的增多这种管理方式的工作量不断加大,这种做法就存在费时费力、缺乏时效性、不利于调动拾取者积极性等缺点。基于以上分析,我们认为建立一个网上失物招领系统是非常必要的。一方面,一旦网站建立好之后,拾到失物的同学可以在第一时间将失物信息发布到网上,而不是找张纸写上“失物招领”四个大字后贴到公告栏。另一方面,有一个系统处理失物信息,就减少了人工处理的工作量。(二)系统总体目标建立本失物招领系统是为了通过拾主对拾物信息
3、的录入和发布,以方便失主对自己所失物品的查询,一旦查询到自己所丢物品,失主可从系统中获得拾主的联系方式,以方便自己取回失物。如果失主没有查询到自己所丢物品信息,也可以发布丢失物品信息。这样,本系统旨在建立失物、失主、拾取三者之间的桥梁关系,从而使失主能及时有效的从拾取者手中取回自己所丢失的物品。(三)系统主要功能1、及时收集、录入、存储失主的失物信息,拾取者的拾物信息以及失主和拾取者的联系方式等信息。2、物品信息的查询功能。3、定期更新物品信息,注销已完成取回的物品记录。系统(网站)运行的流程图如下:失物招领系统顶层数据流程图:失物招领系统第一层数据流程图:二、概念结构设计根据前面对系统进行的
4、分析,已经初步了解了排课系统的数据处理流程,找出与系统有关的各个实体及其相互联系如下:(一)标示实体集:拾主、失主、拾物、失物。(二)标示联系集:拾主和拾物:每位拾主可以捡到多个物品,存在“拾得”的关系:1:N失主和失物:每位失主可以捡到多个物品,存在“丢失”的关系:1:N拾主和失主:失主通过系统查询的所丢的东西,并在系统中得到拾到自己所丢物品的拾主的联系方式,与拾主联系找回自己所丢之物。(三)标示属性集拾主(一卡通号,姓名,性别,联系方式)拾得(拾主一卡通号,拾得物品编号,拾得时间,拾得地点)拾得书本(编号,名称,作者,描述)拾得U盘(编号,品牌,大小,描述)拾得钱包(编号,颜色,内容物,描
5、述)拾得其他(编号,名称,描述)失主(一卡通号,姓名,性别,联系方式)丢失(失主一卡通号,丢失物品编号,丢失时间,丢失地点)丢失书本(编号,名称,作者,描述)丢失U盘(编号,品牌,大小,描述)丢失钱包(编号,颜色,内容物,描述)丢失其他(编号,名称,描述)找回失物(拾物编号,拾主一卡通号,失主一卡通号)三、逻辑结构设计(一)初始关系模式根据上面的ER图,我们把它转换成数据模型,如下:1)拾主实体可以转化成如下的关系模式,其中一卡通号为拾主关系的主键:拾主(一卡通号,姓名,性别,联系方式)2)拾得这一联系(拾主与所拾物品1:n 的联系)可以转化如下关系(其中拾主一卡通号和所拾物品编号共同组成该关
6、系的主键): 拾得(拾主一卡通号,拾得物品编号,拾得时间,拾得地点)3)对于所拾物品这一实体,由于这里有一个泛化/特化的关系,这里采用将每个子实体建立成为一个关系的方法,如下(加下划线的为主键):拾得书本(编号,名称,作者,描述)拾得U盘(编号,品牌,大小,描述)拾得钱包(编号,颜色,内容物,描述)拾得其他(编号,名称,描述)3)对于找回失物这一联系(拾主与失主1:1的联系),分解成的关系(这是一个ALLkey的关系)为: 找回失物(拾物编号,拾主一卡通号,失主一卡通号)4)对于失主这边的关系模式基本与拾主差不多,在此不再赘述,罗列如下(加下划线的为主键): 失主(一卡通号,姓名,性别,联系方
7、式) 丢失(失主一卡通号,丢失物品编号,丢失时间,丢失地点) 丢失书本(编号,名称,作者,描述) 丢失U盘(编号,品牌,大小,描述) 丢失钱包(编号,颜色,内容物,描述) 丢失其他(编号,名称,描述)(二)数据模型的规范化通过对E-R图的讨论分析,并将E-R图转换成相应的关系模式后,我们对以上关系做进一步的分析,得出如下关系模式中的函数依赖集:1.拾主模式:一卡通号 姓名、性别、联系方式;2.失主模式:一卡通号 姓名、性别、联系方式;3.拾得模式:一卡通号,物品编号 拾到时间、拾到地点;4.拾得书本模式:编号 名称、作者、描述;5.拾得U盘模式:编号 品牌、大小、描述;6.拾得钱包模式:编号
8、颜色、内容物、描述;7.拾得其他模式:编号 名称、描述;8.丢失模式:失主一卡通号、丢失物品编号 丢失时间、丢失地点;9.丢失书本模式:编号 名称、作者、描述;10.丢失钱包模式:编号 颜色、内容物、描述;11.丢失U盘模式:编号 品牌、大小、描述;由于在做概念模式之前我们已经考虑到了关系模式的优化问题,所以至此,所有的关系模式都已经达到了3NF,符合系统要求。(三)调整后的关系模式的在数据库中具体实现Finder(拾主)表:字段名数据类型(精度范围)空/非空约束条件说明FrCdidChar(6)Not nullPrimary key拾主一卡通号FrnameVarchar(8)Not null
9、拾主姓名FrsexChar(2)Not null拾主性别FrphoneVarchar(13)Not null拾主联系方式Find(拾得)表:字段名数据类型(精度范围)空/非空约束条件说明FrCdidchar(6)Not nullPrimary key拾主一卡通编号FdidChar(4)Not null物品编号FdtimedatetimeNot null拾到时间FdplaceVarchar(20)Not null拾到地点FBook(书)表:字段名数据类型(精度范围)空/非空约束条件说明FBid自动增长类型Not nullPrimary key编号FBnameVarchar(20)Not null
10、书本姓名FBauthorVarchar(20)Not null书本作者FBdescribeVarchar(50)描述说明:拾到书本的编号为自动编号,且编号采用层次编号方法例如:编号11001,左起第一位的“1”表示是拾到的物品,第二个“1”是表示书本,后面三位为流水号。FWallet(拾得钱包)表:字段名数据类型(精度范围)空/非空约束条件说明FWid自动增长类型Not nullPrimary key编号FWcolorVarchar(8)Not null 钱包颜色FWincludeVarchar(30)Not null钱包内物品FWdescribeVarchar(50)描述说明:拾到钱包的编号
11、为自动编号,且编号采用层次编号方法例如:编号14001,左起第一位“1”表示是拾到的物品,第一个“4”是表示钱包,后面三位为流水号。FUdisk(拾得U盘)表:字段名数据类型(精度范围)空/非空约束条件说明FUid自动增长类型Not nullPrimary key编号FUnameVarchar(10)Not nullU盘品牌FUsizeVarchar(10)Not nullU盘大小FWdescribeVarchar(50)描述说明:拾到U盘的编号为自动编号,且编号采用层次编号方法例如:编号13001,左起第一位“1”表示是拾到的物品,第一个“3”是表示U盘,后面三位为流水号。FOther(拾得
12、其他物品)表:字段名数据类型(精度范围)空/非空约束条件说明FOid自动增长类型Not nullPrimary key物品编号FOnameVarchar(10)Not null物品名称FOdecideVarchar(50)Not null物品描述说明:拾到U盘的编号为自动编号,且编号采用层次编号方法例如:编号12001,左起第一位“1”表示是拾到的物品,第一个“2”是表示U盘,后面三位为流水号。ReBack表:字段名数据类型(精度范围)空/非空约束条件说明FrCdidchar(6)Not nullPrimary key拾主一卡通编号Lridchar(6)Not null 失主一卡通号Fdidc
13、har(4)Not null拾物编号Loser表:字段名数据类型(精度范围)空/非空约束条件说明Lridchar(6)Not null Primary key失主一卡通号LrnameVarchar(8)Not null失主姓名Lrsex Char(2)Not null失主性别LrphoneVarchar(13)Not null失主联系方式Lose表:字段名数据类型(精度范围)空/非空约束条件说明LridChar(6)Not null Primary key失主一卡通号LsidChar(4)Not null失物编号LsplaceVarchar(20)Not null丢失地点Lstimedatet
14、imeNot null丢失日期LBook表:字段名数据类型(精度范围)空/非空约束条件说明LBid自动增长类型Not nullPrimary key编号LBnameVarchar(20)Not null书本姓名LBauthorVarchar(20)Not null书本作者LBdescribeVarchar(50)描述说明:丢失物品的编号方式同拾到物品,只是在编号方法上左起第一位用“2”表示是丢失物品,例如:编号21001,表示丢失书本的第一条记录。LWallet表:字段名数据类型(精度范围)空/非空约束条件说明LWid自动增长类型Not nullPrimary key编号LWcolorVarc
15、har(8)Not null 钱包颜色LWincludeVarchar(30)Not null钱包内物品LWdescribeVarchar(50)描述LUdisk表:字段名数据类型(精度范围)空/非空约束条件说明LUid自动增长类型Not nullPrimary key编号LUnameVarchar(10)Not nullU盘品牌LUsizeVarchar(10)Not nullU盘大小LUdescribeVarchar(50)描述LOther表:字段名数据类型(精度范围)空/非空约束条件说明LOid自动增长类型Not nullPrimary key 物品编号LOnameVarchar(10)
16、Not null物品名称LOdecideVarchar(30)Not null物品描述各个关系的联系是:四、物理结构设计(一)数据库系统选型操作系统采用微软的Windows 7和Windows xp professional。数据库管理系统采用微软企业的SQL Server 2005 。数据库系统的模式结构采用关系数据库,并采用B/S(浏览器/服务器)结构建设网站,开发工具采用Visual Studio 2008 + dreamweaver 8。(二)索引的设置根据对对失物招领系统的分析,由于该系统的一个很大功能是为同学们提供失物的检索和拾物的发布功能我们认为为了提高查询速度,可以对经常要查询
17、的字段设置索引,具体如下:1、针对拾主表,为其一卡通号建立唯一索引。2、针对所拾物品表,为每类物品的名称建立聚簇索引(因为检索可能经常用的物品名称);并为每类物品的编号建立唯一索引。3、针对失主表,为其一卡通号建立唯一索引。4、针对所失物品表,为每类失物的名称建立聚簇索引(因为检索可能经常用的物品名称);并为每类失物的编号建立唯一索引。(三)安全性和用户权限设计1、安全性设计由于我们这个系统是一种B/S模式的结构,如果真的付诸实践,数据库将存放在远程服务器上,那么数据库的安全性将变得尤为重要,基于此,我们将具体采取以下措施保护数据库的安全:(1)、设计用户权限,管理数据库任何进入该系统的访客要
18、想能够对数据库的相关内容进行操作(包括发布拾物或失物的信息,以及对所发布的信息的修改),必须注册成为该系统(网站)的会员,每次登陆都必须输入用户名和密码,验证通过后方进行相关操作,这样通过管理不同用户对数据库的操作权限从而达到保证数据库的安全。(2)、定期进行数据库备份,以备数据丢失针对失物招领系统的数据流量并不太大的状况,我们采取对数据库每周星期天进行一次完全备份,然后在接下来的六天里只对当天新增的或被修改过的数据进行差异备份。这样做的好处是:首先,它无需每天都对系统做完全备份,因此备份所需时间短,并节省了磁带空间,其次,它的灾难恢复也很方便。系统管理员只需两盘磁带,即星期天的完全备份磁带与
19、灾难发生前一天的差异备份磁带,就可以将系统恢复。 另外,我们将设在每月底进行一次完全备份,每年底进行一次全备份。2、用户权限设计由于我们该系统是基于网站B/S结构,系统的访问人员大致会有三类:管理员、网站会员、普通访客。针对不同的用户我们将设计不同的权限。具体来说,只有网站的维护人员(管理员)可以对数据库做任何查询、修改、删除等;注册用户可以发布信息(对数据库的插入)、修改自己发布的信息(对数据库的修改)。查询物品信息(对数据库的查询)。非注册用户只能查询物品信息(对数据库的查询)。用户 权限查询物品信息发布物品信息修改物品信息管理员注册用户(只是自己发布的信息)(只是自己发布的信息)非注册用
20、户五、系统实现描述我们的系统采用Dreamweaver 8制作前台网站,并实现了前台与数据库的链接,下面是几个主要界面的截图:1、网站首页界面:2、信息发布选择界面:3、物品信息录入界面六、小组成员介绍及分工(一)、小组介绍组名:Date boys组长:李文涛成员:宋相恒、杨峰、于群、俞曹熠(二)、任务分配成 员工 作 任 务李文涛概念结构设计、物理结构设计、总结报告编写等贯穿数据库系统设计的各方面的工作宋相恒概念结构设计、系统实现、网站页面设计等技术实践性工作杨 峰逻辑结构设计、协助并配合组长进行各个过程的工作,如数据库建立、存储过程的编写等于 群项目选定、概念结构设计、需求分析、以及相关的文字编纂工作俞曹熠参与项目讨论、协助各个组员工作(三)、过程总结 本小组在组长李文涛的带动下,积极讨论,努力钻研,充分调动所学知识,以客观实际为标准,以专业技术为要求,本着认真、求实的态度,合理利用时间、相关资料、以及软硬件设施等有利资源。在针对成员具体情况的前提下合理分工,提高工作效率,使各个过程有条不紊的进行。在具体的项目设计与实施的过程中,使大家获得了一次难得的机会,用以检验自己所学的数据库系统的相关知识,使我们认识到了“学”与“致用”之间的距离。同时,使我们认识到了团队合作的重要性,并且对今后在数据库方向上的工作有了初步概念。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1