2023年7月27日发(作者:)
数据库设计实验报告数据库设计课程实验报告学院:班级:完成⼈:姓名:学号:指导教师:数据库设计实验任务书⼀、课程实验题⽬:图书管理⼆、课程实验应解决的主要问题:(1)分析图书管理设计中包含的实体,实体属性,实体之间的关系(1)对实体中相应的数据项给出详细的数据字典描述(1)以powerDesigher为建模⼯具,对数据库进⾏逻辑设计(1)设计的关系模式需进⾏规范化处理,每个关系模式应能达到3NF(1)设计事务,涉及到检索和更新等(2)绘制事务图,使⽤路径指⽰ER模型⽀持的⽤户事务(3)根据逻辑设计原则(多样性),转化为相应数据表,并标明主键、外键(4)相应事务要求⽤SQL语⾔实现,并⽤到触发器、存储过程,视图等数据操作(5)应⽤⾃⼰熟悉的⾼级程序设计语⾔,实现系统主要功能三、任务发出⽇期:课程实验完成⽇期:指导教师对课程实验的评价成绩:指导教师签字:年⽉⽇⽬录1业务分析 (1)1.1原管理系统分析 (1)1.2所建系统分析 (1)1.3可⾏性分析 (1)1.3.1经济可⾏性分析 (1)1.3.2技术可⾏性分析 (2)1.3.3社会可⾏性分析 (2)2实体描述(属性,关系,参与类型) (2)2.1管理员管理E R图 (2)2.2读者借阅归还E R图 (3)3数据字典说明 (3)4事务设计 (4)4.1管理员模块 (4)4.2读者管理模块 (4)4.3图书信息管理模块 (5)4.4图书类别管理模块 (5)4.5图书借阅归还管理模块 (5)4.6读者留⾔管理模块 (5)5PowerDesigner建模 (5)6事务路径图或事务描述 (6)7映射为对应数据表 (7)7.1管理员数据表 (7)7.2读者数据表 (7)7.3图书数据表 (8)7.4图书类别数据表 (8)7.5借还书记录数据表 (9)7.6⽤户留⾔数据表 (9)8规范化检查和说明 (10)8.1规范化⽅法检查表结构 (10)8.2检查表是否⽀持⽤户事务 (10)8.3检查业务规则 (10)9S Q L操作 (10)9.1创建索引 (10)9.2创建视图 (12)9.3设计触发器 (13)9.4设计存储过程(例:读者注册信息) (14)10实现界⾯ (15)10.1登录页⾯ (16)10.2管理员界⾯ (16)10.2.1 管理员主页⾯ (16)10.2.2图书类别 (16)10.2.3图书管理 (17)10.2.3.1 添加图书 (17)10.2.3.2 修改、删除图书 (18)10.2.3.3查看图书 (18)10.2.4借阅管理(借阅、归还、续借) (19)10.2.5在线留⾔管理 (19)10.2.6管理员管理 (20)10.3读者界⾯ (20)10.3.1读者注册 (20)10.3.2读者主页⾯ (21)10.3.3读者分类查询 (38)10.3.4读者借阅图书 (21)10.3.5读者归还图书 (22)10.3.6读者续借图书 (23)11任务分⼯1.业务分析1.1原图书管理系统分析图书馆是获取信息重要途径之⼀,对图书馆的信息化管理将⼤⼤提⾼图书资源的利⽤和信息的交换速度。⼀直以来⼈们使⽤传统的⼈⼯⽅式管理图书馆的⽇常⼯作,对于图书馆的借书和还书过程,想必⼤家都已很熟悉。⾸先要把买来的图书资料登记到资料本上,再给每本书分类贴上标签及制作和标签相对应的图书分类卡⽚,最后把图书分类卡⽚按类别分别放置在⽂件柜⾥。对于有学⽣(教师)证的学⽣(教师)来说还要对他们资料作⼀定的记录。并且在⼈们来借书的时候,⾸先持证件者要去存放图书分类卡⽚的⽂件柜⾥查找想借的书是否在架,如果卡⽚存在,再按照图书分类卡⽚在相应的书架上找到需要的图书,然后登记持证件者的借还书时间和在书签条上写下借还书记录,之后把借书证留在那⾥;还书的时候,相对应的消去出借记录;这样做起来⽐较⿇烦,⽐较费时间。传统图书管理的特点是⼀直以来,中⼩型书店、中⼩学的⼩型图书馆及各⾼校图书馆和资料室使⽤传统的⼈⼯⽅式管理图书档案、会员档案。这种管理⽅式存在着诸多缺点,如:⼿续繁琐、⼯作量⼤、效率低下、出错率⾼等,同时给对⼤量资料的查询、更新及维护都带来不少困难。1.2所建系统分析根据图书馆⽇常图书管理⼯作的需求和图书借阅的管理流程,该系统实施后,应该达到以下⽬标:界⾯设计友好、美观,数据存储安全、可靠。基本信息设置保证图书信息和读者信息分类管理。强⼤的查询功能,保证数据查询的灵活性。实现对图书借阅、续借、归还流程的全程数据信息跟踪。提供管理员修改信息、密码等功能,保证管理的安全性。提供灵活、⽅便的权限设置,使整个系统的管理分⼯明确。1.3可⾏性分析1.3.1经济可⾏性分析作为图书馆这样的商业性质较⼩的场所,其经济成分⽐重相对较少,主要是⽀出的费⽤:其中包括设备购置费、软件开发费⽤、管理和维护费、⼈员⼯资和培训费等。由于各个图书馆实⾏统⼀操作,系统共享,其设备购置,⼈员⼯资,维护费⽤相对较少,前期的资⾦投⼊主要集中于购置图书上。建⽴信息中⼼,可将来⾃各⽅⾯的信息集中管理,提⾼图书管理的计划性和预见性,快速地反馈市场信息。1.3.2技术可⾏性分析技术上的可⾏性分析主要分析现有技术条件能否顺利完成开发⼯作,硬件、软件配置能否满⾜开发者的需要,各类技术⼈员的数量,⽔平,来源等。图书馆管理系统的⼯作主要是在读者和图书馆之间架起⼀座桥梁,能相互沟通信息和处理信息。这⼀特点⾮常适合计算机特点,通过⽹络internet技术,发挥计算机的信息传输速度快、准确度⾼的优势。计算机硬件和软件技术的飞速发展,为系统的建设提供了技术条件。1.3.3社会可⾏性分析社会可⾏性有时也称为操作可⾏性,主要论证新系统在企业或机构开发和运⾏的可能性以及运⾏后可能⼀起的对企业或机构的影响,即组织内外是否具备接受和使⽤新系统的条件。在当前信息技术飞速发展的⼤环境下,计算机技术和软件技术的更新是图书馆完全有可能也有能⼒采⽤这样先进的管理技术。它对图书馆带来的影响可以看到对传统管理理念的冲击,可能引起管理层的变动和⼈员的调整。对图书馆⼯作⼈员的要求提⾼,使图书馆在⼀定的可能下进⾏机构精简,迫使⼯作⼈员继续学习新知识,拓宽图书馆在市场环境下的⽣存空间。对图书馆与读者之间业务⽅式的转变和扩充。2.实体描述2.1管理员管理ER图2.2读者借阅归还ER图3.数据字典4.事务设计4.1管理员模块实现对管理员信息的修改,包括定义、查询、更新、删除等操作。4.2读者管理模块实现对借阅者信息的修改,包括定义、查询、更新、删除等操作。4.3 图书信息管理模块实现管理员对图书信息的修改,包括定义、查询、更新、删除等操作实现读者查看图书信息,是否可以借阅等操作4.4图书类别管理模块实现对图书的分类管理,根据图书类别设定课借读天数。4.4图书借阅归还管理模块读者可管理的借还书信息,包括图书名称,出版社,条形码,借阅时间,归还时间,是否归还等。管理员可管理借还书信息,包括图书名称,出版社,条形码,借阅时间,归还时间,是否归还,管理续借和归还等。4.5读者留⾔管理模块实现读者发布留⾔主题和留⾔内容。实现管理员查看,删除留⾔信息esigner建模6.事务路径图或事务描述7. 映射为对应数据表7.1管理员数据表7.2读者数据表7.3图书数据表7.4图书类别数据表7.5借还书记录数据表7.6⽤户留⾔数据表8. 规范化检查和说明8.1规范化⽅法检查表结构⽤规范化⽅法检查了每个表,避免了不必要的数据重复。通过检查或重新构建,所建的每个表都是是第三范式(3NF)。总结:如果所标识的表不是第三范式,可能ER模型的某部分是错误的,或者由模型创建表时产⽣了错误。如果必要的话,可能需要重新构造数据模型或者表。8.2检查表是否⽀持⽤户事务通过检查,所建的表正如如⽤户需求说明中所要求的那样,⽀持⽤户所需的事务。在建表的时候,没有错误发⽣。总结:检查表是否⽀持事务的⼀种⽅法是检查是否⽀持事务的数据需求,以确保数据在⼀个或多个表中存在。如果事务所需求的数据在多个表中,则应该检查这些表是否能够通过主键/外键机制连接起来。8.3检查业务规则业务规则是⽤于防⽌数据库不完整、不准确或不⼀致的约束。考虑下⾯五种类型的完整性约束:需要的数据、列的值域约束、实体完整性、多样性、参照完整性、其他业务规则9. SQL操作9.1创建索引图书表:1.为id创建索引,升序排序create index index_book_id on book(id asc)插⼊索引操作和结果如下所⽰:2.为图书表的name列创建索引,并且降序排序alter table book add index index_book_name(price, desc) 插⼊索引操作和结果如下所⽰:读者借阅表(borrow):1.为book_id和reader_id创建多列索引:create index index_borrow_brid on borrow(book_id asc,reader_id asc) 插⼊索引的操作和结果如下所⽰:9.2创建视图1.在book表上创建长江出版社的视图book_publish:create view book_publish asselect *from bookwhere press= ‘长江出版社’;操作和结果:9.3设计触发器给出在各表上建⽴的触发器以及使⽤的语句。1.设计触发器borrow, 当某学⽣借书成功后,图书表相应的图书数量减⼀create trigger trigger_borrowafter insert on borrowfor each rowbeginupdate book set page = page – 1where id = ;end9.4设计读者注册信息存储过程:读者注册信息reader_registercreate procedure reader_register(in id int, in username varchar(20), in password varchar(20), in name varchar(20), in num varchar(20), in phonevarchar(20), in email varchar(20))begininsert into student( id,username, password, name , num, phone, email)values( id,username, password, name , num, phone, email);end10. 实现界⾯10.1登录页⾯10.2管理员界⾯10.2.1管理员主页⾯10.2.2图书类别
发布者:admin,转转请注明出处:http://www.yc00.com/news/1690431286a348927.html
评论列表(0条)