图书管理系统详细设计方案
- 格式:doc
- 大小:732.00 KB
- 文档页数:39
图书馆信息管理系统的设计与实现图书馆信息管理系统是一个重要的管理工具,它可以帮助图书馆更好地管理图书资料、读者信息以及借阅归还等相关操作。
本文将从需求分析、系统设计和系统实现三个方面详细介绍图书馆信息管理系统的设计与实现。
一、需求分析1.1 系统功能需求图书馆信息管理系统的功能需求主要包括:图书管理、读者管理、借阅管理、归还管理、查询统计、系统管理、系统设置等。
图书管理功能包括:图书入库、图书出库、图书分类管理、图书信息维护、图书检索等。
读者管理功能包括:读者信息录入、读者信息查询、读者信息修改、读者信息删除、读者信息统计等。
借阅管理功能包括:借书、还书、续借、预约等。
归还管理功能包括:还书、逾期处理等。
查询统计功能包括:图书查询、读者查询、借阅查询、归还查询等。
系统管理功能包括:用户管理、权限管理、日志管理等。
系统设置功能包括:系统参数设置、数据备份、数据恢复等。
1.2 系统性能需求图书馆信息管理系统需要具有良好的稳定性和可靠性,能够支持大规模的数据存储和查询操作,能够高效地完成图书管理、读者管理、借阅管理等相关功能。
1.3 用户需求系统的用户主要包括图书管理员、读者和系统管理员,他们对系统的需求主要表现在操作界面的友好性和功能的完备性上。
二、系统设计2.1 系统结构设计图书馆信息管理系统的结构主要包括前端界面、后端数据库和业务逻辑层。
前端界面主要负责用户的具体操作,后端数据库主要负责数据的存储和查询,业务逻辑层主要负责系统的功能实现。
2.2 数据库设计数据库设计是系统设计中的重要环节,它直接关系到系统的数据存储和查询效率。
数据库设计需要考虑到图书信息、读者信息、借阅信息等相关数据表的设计,需要符合数据库的范式要求,同时需要考虑到数据的完整性和安全性。
2.3 界面设计界面设计需要考虑到用户的操作习惯和操作便捷性,需要设计简洁明了的操作界面,提供便捷的查询操作和友好的交互方式。
2.4 业务逻辑设计业务逻辑设计需要根据系统功能需求,设计相应的业务逻辑流程和处理方式,保证系统的功能实现和操作流畅。
图书管理系统的分析与设计随着图书馆规模的不断发展,图书数量和种类日益增加,图书借阅和管理变得越来越复杂。
为了提高图书馆工作效率,方便读者借阅图书,本文将分析并设计一个图书管理系统。
在系统需求分析阶段,我们需要了解用户需求,明确系统目标,并在此基础上提出系统的功能和性能要求。
要明确系统的基本架构,包括前端和后端结构、数据库及接口设计等。
需详细了解用户对图书管理系统数据库设计的需求,如书目信息、读者信息、借阅信息等数据结构。
同时,还需确定系统的界面设计,包括界面布局、颜色方案、字体选择等。
在系统设计阶段,我们将根据需求分析的结果,为图书管理系统制定详细的架构和功能设计方案。
本文将采用B/S架构设计图书管理系统,方便用户通过浏览器直接访问系统。
后端采用Spring Boot框架,实现系统的模块化、微服务化,提高系统的可维护性和扩展性。
同时,使用MySQL数据库存储系统数据,保证数据的安全性和稳定性。
根据需求分析,本文将设计书目信息表、读者信息表、借阅信息表等核心数据表。
书目信息表包括书号、书名、作者、出版社等信息;读者信息表包括读者编号、姓名、性别、等信息;借阅信息表包括借阅编号、读者编号、书号、借阅日期等信息。
系统的界面设计需简洁明了,方便用户操作。
本文将采用HTMLCSS3和JavaScript等技术实现系统的界面布局和交互设计。
主要包括登录页面、首页、书目查询页面、借阅页面等。
登录页面需支持用户名和密码登录;首页需展示图书馆的基本信息、最新图书、热门图书等;书目查询页面需支持用户按照书名、作者、出版社等信息查询图书;借阅页面需支持用户提交借阅申请,查看借阅状态等。
在系统测试阶段,我们需要制定详细的测试计划,对系统的功能、性能、兼容性等方面进行全面的测试。
功能测试是测试的核心环节,本文将采用黑盒测试、灰盒测试和白盒测试等多种方法,对系统的各个模块进行测试。
黑盒测试主要测试系统的基本功能是否符合需求;灰盒测试主要测试系统的某些模块在异常情况下是否能够正常工作;白盒测试主要测试系统的内部逻辑和代码质量。
2013年12月目录第一章需求规格说明 01.1 目的 01.2 范围 01.3 定义、缩写词以及简写 01.4 内容组织 01.5 综合描述 01.5.1 产品前景 (1)1.5.2 产品功能 (1)1.5.3 用户特征 (2)1.5.4 一般性限制 (2)1.6 功能需求 (2)1.7 性能需求 (4)1.8 支持信息 (4)第二章详细设计 (5)2.1 UML定义 (5)2.2 模块详细设计 (6)第三章系统测试 (8)3.1 管理信息系统的测试 (8)3.2 测试用例设计 (8)第四章总结 (16)第一章需求规格说明1.1 目的本文档描述了北京城市学院图书管理系统的功能需求和非功能需求,其阅读对象是本系统的使用者(学生、老师)和项目开发、测试和护人员。
1.2 范围图书管理系统的主要功能查询各类书籍以及该书的相关信息借阅图书、归还图书、续借图书查询个人的借阅情况(包括已借图书、归还日期、还可借多少图书等)阅读电子版图书储存使用者的个人信息购买图书图书借阅者可向管理人员提出建议(如:增加一些图书馆没有的书籍)1.3 定义、缩写词以及简写Library management systemUMLROS1.4 内容组织“1.5综合描述”中以文字形式给出了软件的功能及特征。
“1.6功能需求”中以用例图的方式呈现了如何完成本软件的功能。
1.5 综合描述本系统主要功能查询各类书籍以及该书的相关信息借阅图书、归还图书、续借图书查询个人的借阅情况(包括已借图书、归还日期、还可借多少图书等)阅读电子版图书存储使用者的个人信息购买图书图书借阅者可向管理人员提出建议(如:增加一些图书馆没有的书籍)1.5.1 产品前景尽量满足各类用户的使用需求,并且尽量简化使用者的操作步骤。
同时保证用户信息的安全和网络交易的安全。
1.5.2 产品功能查询图书信息使用者进入系统,输入与书籍有关的关键词(书名、作者等),系统显示该书的相关信息。
图书管理系统数据库设计项目名称:图书管理系统指导老师:姓名:目录一、需求分析 (2)二、概念设计 (5)三、逻辑设计 (8)四、物理设计 (10)五、实施阶段 (16)六、运行和维护 (18)一、需求分析1.1 系统目标图书管理信息系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。
对于前者要求建立起数据一致性和完整性强.数据安全性好的库。
而对于后者则要求应用程序功能完备,易使用等特点。
系统开发的总体任务是实现各种信息的系统化,规范化和自动化。
1.2 需求定义图书馆管理系统开发。
系统开发的总的设计目标是实现图书管理的系统化、规范化和自动化,实现对图书资料的集中统一的管理。
本系统主要实现对图书馆信息的管理,主要功能为管理有关读者、图书、借阅、查询、删除和管理员的信息等。
本系统结构分为读者信息管理、图书信息管理,读者管理可以浏览读者的信息,可以对读者信息进行维护。
图书管理可以浏览图书的信息,可以对图书信息进行维护。
借阅管理可以显示当前数据库中书籍借阅情况,可以对借阅信息进行维护。
本系统主要解决的问题是利用关键字对数据库进行查询。
本系统的宗旨是提高图书管理工作的效率,减少相关人员的工作量,使学校的图书管理工作真正做到科学、合理的规划,系统、高效的实施。
1.3 功能需求(1)有关读者种类标准的制定、种类信息的输入、包括种类编号、种类名称、借书数量、借书期限等。
(2)读者有关信息的修改、查询等。
(3)读者基本信息的输入,包括读者编号、读者姓名、班级、院系等。
(4)读者基本信息的查询、修改(5)书籍信息的输入,包括书籍编号、书籍名称、书籍所属类别、作者、出版社、出版日期、在库数、价格(6)借书信息包括借书证号、书籍编号、借出日期、拖欠日期、罚款种额(7)图书管理书籍号、管理员编号、销书数量、销书日期。
一、概念设计根据需求分析我们规划出实体有:管理员信息实体、图书信息实体、读者信息实体、借阅信息实体、管理信息实体。
图书管理系统设计方案一、引言随着人们对物质需求的逐步满足,精神文明的追求日益增加,大大小小的书店,图书馆到处可见,特别是一些规模较大的学校,图书馆的数量以及规模都在增大。
随着各图书馆的图书的数量不断增多和图书馆规模的不断扩大,管理这些庞大的体系非常困难的,因为图书的情况是随时改变的,因此必需对图书进行动态的管理,而这对于一个管理人员来说是一件比较复杂的事情,存储、查询、借阅是必不可少的业务。
数据处理手工操作,工作量大,出错率高,出错后不易更改。
图书馆采取手工方式对图书借阅情况进行人工管理,由于信息比较多,图书借阅信息的管理工作混乱而又复杂;基于这一点,开发了这个图书管理系统,它将图书借还这一传统方式进行信息化。
我们这一系统满足了对日常的图书管理;图书的出租与归还的管理;图书的总量;图书是否借出查询一数据库系统基本实现了对图书的数据库管理,大大的提高了工作效率和图书的遗失率。
二、需求分析用户的需求具体体现在各种信息的提供、保存、更新和查询,这就要求数据库结构能充分满足各种信息的输出和输入。
收集基本数据、数据结构以及数据处理的流程,组成一份详尽的数据字典,为以后的具体设计打下基础。
针对一般图书馆管理信息系统的需求,通过对图书馆管理工作过程的内容和数据流程分析,设计如下面所示的数据项和数据结构:1.读者信息,包括的数据项有:读者编号、读者姓名、联系电话、所属部门。
2.书库,包括的数据项有:书号、书名、作者、出版社、单价、类别、在库状态。
3.借阅记录,包括的数据项有:序号、书号、书名、借出时间、归还时间、读者姓名。
4.系统设置,包括的数据项有:用户名、密码、权限。
本系统具有的功能:1、实现读者的新增、编辑和删除功能。
2、实现图书的新增、编辑和删除功能。
3、实现图书的查询功能。
4、实现图书借出和归还管理功能。
5、实现借阅历史信息的查询功能。
6、实现两种不同权限用户的登录功能:普通用户和管理级用户。
7、实现用户管理功能,可以通过管理级用户添加新用户,具有权限级别及密码修改功能。
图书管理系统详细设计说明书1 功能模块图1.1 系统模块设计概述模块化设计不仅是将一个系统划分成一些小的部件所构成的系统即可,同时要满足模块化组合原则、模块化可解性原则、模块化保护性原则、模块化连续性原则等。
模块化的连续性完全取决于模块的信息隐蔽的能力。
对于模块化保护性部分取决于信息隐蔽,如错误数据不传送到程序的全局变量中去。
要实现完全的模块保护性,要求模块的实现包括例外处理部分。
一个模块化系统是指该系统由一系列松散耦合的模块组成。
模块是一个适当尺寸能独立执行一个特定的功能的子程序.它应该具备下述3个性质:第一,对一个模块作某些改变,该变化影响不应超出该模块的边界.第二,从系统中消去该模块,将仅仅影响它执行的功能.第三,用一个具有相同接口和功能的新模块代替旧模块,将不改变原系统的功能,而可能影响的仅仅是系统的性能,如执行速度。
上述3个性质可概括为模块的有界性、可插拔性和可互换性。
1.2 系统模块功能设计本系统主要实现对图书馆信息的管理,主要功能为管理有关读者,书籍,借阅和管理者的信息等.本系统结构分为读者信息管理模块,书籍信息管理模块,借阅信息管理模块,管理者信息管理模块。
读者信息管理部分有两方面的功能,可以浏览读者的信息,可以对读者信息进行维护.书籍信息管理可以浏览书籍的信息,可以对书籍信息进行维护。
借阅信息管理可以显示当前数据库中书籍借阅情况,可以对借阅信息进行维护.管理者信息管理可以显示数据库中管理者的情况,可以对管理者信息进行维护。
可见,本系统并不复杂,主要解决的问题是利用关键字对数据库进行查询。
根据需求分析,得出我们图书管理系统的设计与实现(1)抽象性:表现在它完全舍去了具体的物质,只剩下资料的流动、加工处理与存储.(2)概括性:表现在它可以把信息中的各种不同业务处理过程联系起来,形成一个整体。
数据流程图由以下四种基本元素组成,既外部实体、数据流、处理(功能)、资料存储,如图1—2所示。
图书管理系统程序设计图书管理系统是图书馆日常工作中不可或缺的一部分,它通过计算机技术实现对图书的自动化管理,提高图书馆的管理效率和服务质量。
下面将详细介绍图书管理系统的程序设计。
系统需求分析在设计图书管理系统之前,首先要进行需求分析,明确系统需要实现的功能。
一般来说,一个基本的图书管理系统应包括以下几个功能模块:1. 用户管理:包括用户注册、登录、权限分配等。
2. 图书管理:包括图书的添加、删除、修改和查询。
3. 借阅管理:实现图书的借出、归还、续借等功能。
4. 查询统计:提供图书查询、借阅记录查询、逾期统计等。
5. 系统维护:包括数据备份、恢复、系统设置等。
系统设计1. 系统架构:通常采用B/S(浏览器/服务器)架构,用户通过浏览器访问系统。
2. 数据库设计:数据库是图书管理系统的核心,需要设计合理的数据表结构,如用户表、图书表、借阅记录表等。
3. 用户界面设计:界面应简洁明了,操作方便,提供良好的用户体验。
技术选型1. 前端技术:HTML、CSS、JavaScript,可能还会使用框架如React或Vue.js。
2. 后端技术:Java、Python、Node.js等,根据开发团队熟悉度选择。
3. 数据库技术:MySQL、PostgreSQL、SQLite等关系型数据库。
功能实现1. 用户管理- 用户注册:收集用户信息,如用户名、密码、邮箱等,并存储到数据库。
- 用户登录:验证用户信息,提供登录服务。
- 权限控制:根据用户角色分配不同的操作权限。
2. 图书管理- 图书录入:允许管理员添加新图书信息,包括书名、作者、ISBN、出版社等。
- 图书修改:提供图书信息的更新功能。
- 图书删除:允许管理员从系统中移除不再需要的图书记录。
- 图书查询:提供多种查询方式,如按书名、作者、ISBN等。
3. 借阅管理- 借书操作:记录用户借阅的图书信息,包括借阅日期和预计归还日期。
- 还书操作:更新图书的借阅状态,记录归还日期。
图书管理系统详细设计方案目录图书管理系统详细设计方案 (1)目录 (1)图书管理系统详细设计方案 (3)1.引言 (3)1.1系统开发背景 (3)1.2系统设计目标 (4)1.3系统设计原则 (5)2.系统总体分析 (5)2.1功能说明 (5)2.2系统总体体结构 (7) (7)2.3系统的流程图、PAD图及N-S图 (7)2.3.1管理员、读者登录账户 (7)2.4 CDM和PDM的生成 (15)3.物理设计 (17)3.1建立索引以及存储结构 (17)4.数据库设计 (18)4.1数据库建立 (18)4.2数据库用户权限管理 (24)4.3建立触发器,存储过程 (24)5.系统实现 (26)5.1系统功能模块图: (26)5.2开发平台 (27)5.3图书管理模块的实现 (29)5.4系统硬件需求 (37)图书管理系统详细设计方案1.引言本系统主要实现对图书馆信息的管理,主要功能为管理有关读者,书籍,借阅和管理者的信息等。
本系统结构分为读者信息管理模块,书籍信息管理模块,借阅信息管理模块,管理者信息管理模块。
读者信息管理部分有两方面的功能,可以浏览读者的信息,可以对读者信息进行维护。
书籍信息管理可以浏览书籍的信息,可以对书籍信息进行维护。
借阅信息管理可以显示当前数据库中书籍借阅情况,可以对借阅信息进行维护。
管理者信息管理可以显示数据库中管理者的情况,可以对管理者信息进行维护。
1.1系统开发背景近年来,随着图书馆规模的不断扩大,图书数量也相应的增加,有关图书的各种信息量也成倍增加,面对着庞大的信息量,传统的人工方式管理会导致图书馆管理上的混乱,人力与物力过多浪费,图书馆管理费用的增加,从而使图书馆的负担过重,影响整个图书馆的运作和控制管理,因此,必须制定一套合理、有效,规范和实用的图书管理系统,对图书资料进行集中统一的管理。
另一方面,IT产业和Internet获得了飞速发展,计算机应用已渗透到了各个领域,引起信息管理的革命,实现了信息的自动化处理,提高了处理的及时性和正确性。
图书管理系统详细设计方案1.1系统开发背景近年来,随着图书馆规模的不断扩大,图书数量也相应的增加,有关图书的各种信息量也成倍增加,面对着庞大的信息量,传统的人工方式管理会导致图书馆管理上的混乱,人力与物力过多浪费,图书馆管理费用的增加,从而使图书馆的负担过重,影响整个图书馆的运作和控制管理,因此,必须制定一套合理、有效,规和实用的图书管理系统,对图书资料进行集中统一的管理。
另一方面,IT产业和Internet获得了飞速发展,计算机应用已渗透到了各个领域,引起信息管理的革命,实现了信息的自动化处理,提高了处理的及时性和正确性。
图书管理工作面对大量的可模块化处理的信息,是当今信息革命的一个重要阵地。
本公司图书管理系统就是采用现代化的信息管理方式代替手工管理方式,提高图书管理工作效率,作到信息的规管理,科学统计和快速查询,让图书馆更好的为学校,社会服务。
从以前的手工管理的记录中我们可以发现这样的问题:检索速度慢、效率低因为图书馆的藏书种类多、数量多,将藏书准确地分门别类,快速检索,手工进行非常困难往往是终于查到了书的信息,馆中没有此书或已被别人借走。
图书馆的规模越大,这个问题越突出。
借书、还书工作量大借书、还书频率越大,说明图书馆的作用越大,然而随之而来的大量的借书、还书登记、实存图书的更新以及借出图书超期、遗失等的处理,其工作量之大,往往是人工操作所难以胜任的。
而且经常会出现这样那样的差错。
图书统计工作难、藏书更新不能及时完成图书馆的图书应根据科学技术的发展和教学工作的需要及时添加和更新,然而由于藏书数量及图书种类越来越多,加上自然损耗,人为破坏,使图书的统计工作难以及时完成,藏书的更新也就很难有针对性地进行,藏书的知识结构得不到良好地控制。
1.2系统设计目标具体目标为:持有效卡人能很方便的借还图书。
图书管理人员也能很方便的为借阅者办理手续。
管理人员能随时查询和打印图书信息和借阅信息等。
读者也能随时查询到自己的借阅情况及历史记录。
经济合理的运营成本。
1.3系统设计原则先进性:采用当前先进成熟的技术和设备;安全性:避免非法人员冒借图书,造成图书的丢失。
实用性:合理配置和选取合适的产品型号,使整个系统稳定、可靠和成本最省。
方便性:完善的管理系统,软件操作清晰,管理人员和持卡用户都能方便的使用系统。
可扩展性及易维护性原则:系统在容量和功能上考虑了用户将来的需求增长,可以随意地增加新的设备或新的系统,并保证使用的一致性。
开放性:为保证各供应商产品的协同运行,同时考虑到投资者的长远利益,本系统必须是开放系统,并结合相关的国际标准或工业标准执行。
1.系统总体分析2.1功能说明图书馆管理信息系统需要完成功能主要有:1)读者基本信息的输入,包括借书证编号、读者、读者性别等。
2)读者基本信息的查询、修改,包括读者借书证编号、读者、读者性别等。
3)书籍类别标准的制定、类别信息的输入,包括类别编号、类别名称。
4)书籍类别信息的查询、修改,包括类别编号、类别名称。
5)书籍库存信息的输入,包括书籍编号、书籍名称、书籍类别、作者、名称、出版日期、登记日期。
6)书籍库存信息的查询,修改,包括书籍编号、书籍名称、书籍类别、作者、名称、出版日期登记日期等。
7)借书信息的输入,包括读者借书证编号、书籍编号、借书日期。
8)借书信息的查询、修改,包括借书证编号、借书证编号、读者、书籍编号、书籍名称、借书日期等。
9)还书信息的输入,包括借书证编号、书籍编号、还书日期。
10)还书信息的查询和修改,包括还书读者借书证编号、读者、书籍编号、书籍名称、借书日期、还书日期等。
11)超期还书罚款输入,还书超出期限包括超出期限还书的读者借书证号,书籍编号,罚款金额。
12)超期还书罚款查询,删除,包括读者借书证编号、读者、书籍编号、书籍名称,罚款金额等13)管理员管理:包括创建读者用户信息、删除读者用户信息、添加图书信息、删除图书信息。
14)超级管理员管理:包括创建管理员用户信息、删除管理员用户信息、创建读者用户信息、删除读者用户信息、添加图书信息、删除图书信息。
2.2系统总体体结构2-1总体体结构图2.3系统的流程图、PAD图及N-S图2.3.1管理员、读者登录账户1管理员、读者登录账户——流程图2-2流程图2管理员、读者登录账户——PAD图图2-3 PAD 图3管理员、读者登录账户——N-S 图P1:输入账号C1:判断是账号是否C2: 判断是否是管理者还是读者P2:登陆管理员界面 P3:登陆读者界面 P4:使用者注册账号P1P2P3C1P4C2P1:输入账号C1:判断是账号是否C2: 判断是否是管理者还是读者P2:登陆管理员界面P3:登陆读者界面P4:使用者注册账号图2-4管理员N-S图图2-5流程图X=P2defP5P6P7P8P9P10P11 P12 P13 P14 P15P16P17 P18 C3P19 P20P2-登陆管理员界面P5-个人资料 P6-书籍类型管理界面 P7-书籍管理界面 P8-读者管理界面 P9-修改密码 P10-查询类型 P11-修改类型 P12-设定图书数量 P13-增加书籍类型 P14-报损图书 P15-删除会员信息 P16-修改图书P17-增加图书P18-删除图书 P19-同意读者借书 P20-返回借阅不合格 C3-核对是否符合借书要求图2-6 PAD图P3-登陆读者界面P21-搜索书籍信息P22-申请借阅权利P23-修改个人信息P24-返回个人信息P25-修改成功提示P26-返回借阅界面P27-管理员验证P28-返回借阅界面P29-借阅成功提示C4-验证信息符合要求C5-系统验证C6-核对是否有借阅权利图2-7N-S图图2-8流程图X=P3defP22P21P23C4C5P24P25P26P27C6P28P29P3-登陆读者界面 P21-搜索书籍信息 P22-申请借阅权利 P23-修改个人信息 P24-返回个人信息 P25-修改成功提示 P26-返回借阅界面 P27-管理员验证 P28-返回借阅界面 P29-借阅成功提示 C4-验证信息符合要求 C5-系统验证 C6-核对是否有借阅权利图2-9 PAD图P2-登陆管理员界面P5-个人资料P6-书籍类型管理界面P7-书籍管理界面P8-读者管理界面P9-修改密码P10-查询类型P11-修改类型P12-设定图书数量P13-增加书籍类型P14-报损图书P15-删除会员信息P16-修改图书P17-增加图书P18-删除图书P19-同意读者借书P20-返回借阅不合格C3-核对是否符合借书要求图2-102.4 CDM和PDM的生成1.启动PowerDesign,弹出主对话框,依次选择“file—new—Conceptual Data Model”,单击“OK”按钮,出现CDM工作区,如图2-1所示。
图2-11 CDM窗口2.绘制实体①打开CDM工作区,选中工具选项板上“实体图标”。
②在CDM工作区中单击任意处,产生实体图形。
③双击CDM工作区中的实体图形,出现定义实体特征的窗口。
④输入Name、Code容。
这里Name表示实体的描述名称,一般最好用中文描述(如:部门),Code表示实体的代码名称,最好用简化的英文描述(如:depart)。
⑤需要的话,输入实体表中可能存放的记录数(Number),这个数字用于统计数据库的尺寸。
⑥需要的话,可以定义实体的规则(Rules)、描述(Description)、注释(Annotation)、属性(Attributes)。
⑦单击“确定”按钮,当前CDM工作区就定义了一个实体。
按要求建立完实体和实体间的联系后,生成CDM实体模型,如图2-12所示。
图2-12 CDM实体模型2.物理设计数据库物理设计阶段的任务是根据具体计算机系统(DBMS和硬件等)的特点,为给定的数据库模型确定合理的存储结构和存取方法。
所谓的“合理”主要有两个含义:一个是要使设计出的物理数据库占用较少的存储空间,另一个对数据库的操作具有尽可能高的速度。
主要体现在后者。
3.1建立索引以及存储结构(1)建立索引:①对book_style表在bookstyleno属性列上建立聚集索引,在bookstyle属性列上建立非聚集索引。
②对System_book表在bookid上建立聚集索引,在bookname、bookstyleno、boookauther、bookpub上建立非聚集索引。
③对return_record表在bookid上建立聚集索引,在readerid上建立非聚集索引④对reader_fee表在bookid上建立聚集索引,在readerid上建立非聚集索引。
⑤对system_reader表在readerid列上建立聚集索引⑥对boorow_record表在bookid上建立聚集所以,在readerid上建立非聚集索引⑦对system_Administrator表在administratorid列上建立聚集索引。
⑧对system_Super_Administrator表在superadministratorid 上建立聚集索引。
(2)存储结构确定数据库的存储结构主要指确定数据的存放位置和存储结构,包括确定关系、索引、日志、备份等的存储安排及存储结构,以及确定系统存储参数的配置。
将日志文件和数据库对象(表、索引等)分别放在不同的磁盘可以改进系统的性能。
所以系统将日志文件和数据文件存放在不同磁盘上。
3.数据库设计4.1数据库建立1数据库及数据库表的建立(1)创建数据库USE masterGOCREATE DATABASE librarysystemON( NAME = librarysystem,FILENAME = 'd:\librarysystem.mdf', SIZE = 10,MAXSIZE = 50,FILEGROWTH = 5 )LOG ON( NAME = 'library',FILENAME = 'e:\librarysystem.ldf', SIZE = 5MB,MAXSIZE = 25MB,FILEGROWTH = 5MB )GO(2)书本类别表建立use librarysystemgocreate table book_style(bookstyleno varchar(30) primary key, bookstyle varchar(30))(3)创建书库表create table system_books(bookid varchar(20) primary key,bookname varchar(30) Not null,bookstyleno varchar(30) Not null,bookauthor varchar(30),bookpub varchar(30) ,bookpubdate datetime,bookindate datetime ,isborrowed bit,foreign key (bookstyleno) references book_style (bookstyleno), )go(4)借书证表建立create table system_readers(readerid varchar(9)primary key,readername varchar(9)not null ,readersex varchar(2) not null,readertype varchar(10),regdate datetime,booktotal int,borrowednum int,overduenoreturnnum int)go(5)借书记录表建立create table borrow_recordbookid varchar(20) primary key,readerid varchar(9),borrowdate datetime,foreign key (bookid) references system_books(bookid),foreign key (readerid) references system_readers(readerid), )go(6)还书记录表建立create table return_record(bookid varchar(20) primary key,readerid varchar(9),returndate datetime,foreign key (bookid) references system_books(bookid),foreign key (readerid) references system_readers(readerid) )go(7)罚款单表建立create table reader_fee(readerid varchar(9)not null,readername varchar(9)not null ,bookid varchar(20) primary key,bookname varchar(30) Not null,bookfee smallmoney,borrowdate datetime,foreign key (bookid) references system_books(bookid),foreign key (readerid) references system_readers(readerid) )(8) 管理员表建立create table system_Administrator(administratorid varchar(9)primary key,administratorname varchar(9)not null ,administratorpassword varchar(2) not null,administratorpermission varchar(10))go(9)超级管理员表建立create table system_super_Administrator(superadministratorid varchar(9) primary key,superadministratorname varchar(9) not null ,superadministratorpassword varchar(2) not null,superadministratorpermission varchar(10))go(10)索引的创建use librarysystemgocreate index bookstyle_index_style on book_style(bookstyle)create index borrow_record_index_readerid on borrow_record(readerid) create index reader_fee_index_readerid on reader_fee (readerid)create index return_record_index_readerid on return_record(readerid) create index system_books_index_bookname on system_books(bookname) create index system_books_index_styleno on system_books(bookstyleno) create index system_books_index_bookauthor on system_books(bookauthor) 2 数据初始化(1)将书籍类别加入表book_style中insert into book_style(bookstyleno,bookstyle)values('1','人文艺术类')insert into book_style(bookstyleno,bookstyle)values('2','自然科学类')insert into book_style(bookstyleno,bookstyle)values('3','社会科学类')insert into book_style(bookstyleno,bookstyle)values('4','图片艺术类')insert into book_style(bookstyleno,bookstyle)values('5','政治经济类')insert into book_style(bookstyleno,bookstyle)values('6','工程技术类')insert into book_style(bookstyleno,bookstyle)values('7','语言技能类')(2)将已有的图书加入system_books表中(定义相同的作者的书本编号不一样)insert into system_books(bookid,bookname,bookstyleno,bookauthor,bookpub, bookpubdate,bookindate,isborrowed )values('','计算机组成原理','6','王爱英','清华大学','2001-01-03','2003-11-15','1');insert into system_books(bookid ,bookname,bookstyleno,bookauthor,bookpub, bookpubdate,bookindate, isborrowed )values('','计算机组成原理','6','王爱英','清华大学','2001-01-03','2003-11-15','1');insert into system_books(bookid ,bookname, bookstyleno,bookauthor,bookpub, bookpubdate,bookindate, isborrowed )values('00456456','数据库原理','6','萨师煊','高等教育','2007-07-02','2007-09-15','1');insert into system_books(bookid ,bookname,bookstyleno,bookauthor,bookpub,bookpubdate, bookindate,isborrowed )values('12215121','C程序设计','6','谭浩强','清华大学','2002-04-02','2004-03-14','1');insert into system_books(bookid ,bookname, bookstyleno,bookauthor,bookpub, bookpubdate,bookindate, isborrowed )values('58','计算机体系结构','6','石教英','大学','2004-10-03','2006-11-15','1');insert into system_books(bookid ,bookname, bookstyleno,bookauthor,bookpub, bookpubdate,bookindate, isborrowed )values('','数据结构(C语言版)','6','吴伟民,严蔚敏','清华大学','2002-06-28','2004-01-21','1');4.2数据库用户权限管理该系统设置四种类型的用户超级管理员(superadministrator) 即系统管理员拥有所有的权限。