图书管理系统数据库设计
数据库课程设计——图书管理系统

借阅管理模块
实现图书的借阅、归还和 续借功能,记录借阅历史 和当前借阅状态。
系统管理模块
实现用户管理、权限管理 、日志管理等功能,保障 系统的安全性和稳定性。
04
系统实现
开发环境搭建
开发工具
Visual Studio Code、MySQL Workbench
运行环境
Windows 10、MySQL 5.7
息。
借阅数据
包括借阅编号、读者 编号、图书编号、借 阅日期、归还日期等
信息。
系统用户数据
包括用户编号、用户 名、密码、角色和权
限等信息。
性能需求
响应时间
01
系统响应时间应小于2秒。
并发用户数
02
系统应支持至少100个并发用户。
数据备份与恢复
03
系统应具备定期自动备份和手动备份功能,同时能够在需要时
数据库课程设计— —图书管理系统
2024-01-09
目录
• 引言 • 系统需求分析 • 系统设计 • 系统实现 • 系统测试与优化 • 课程设计总结与展望
01
引言
课程设计目的
01 掌握数据库设计的基本步骤和方法
通过课程设计,使学生熟悉数据库设计的流程, 包括需求分析、概念设计、逻辑设计、物理设计 等阶段,并掌握各个阶段的主要任务和方法。
模块实现
图书管理模块
实现图书的录入、修改、删除等功能 ,提供对图书信息的全面管理。
借阅管理模块
实现图书的借阅、归还等功能,记录 借阅历史,方便管理员和读者查看。
读者管理模块
实现读者的注册、登录、个人信息管 理等功能,提供对读者信息的全面管 理。
系统管理模块
实现用户权限管理、系统日志查看等 功能,保障系统的安全性和稳定性。
图书管理系统数据库设计说明书

图书管理系统数据库设计说明书图书管理系统数据库设计说明书1、引言本文档旨在对图书管理系统的数据库设计进行详细说明,包括数据库架构、表结构设计、数据流图等内容,以便于系统开发人员进行系统开发和维护。
2、数据库架构设计2.1 数据库类型本系统将采用关系型数据库,具体使用的数据库管理系统为MySQL。
2.2 数据库服务器架构本系统将采用分布式数据库架构,包括一个主数据库服务器和多个副本数据库服务器。
2.3 数据库服务器部署主数据库服务器和副本数据库服务器将部署在不同的物理机器上,以实现数据的冗余备份和负载均衡。
3、数据库表设计3.1 用户表(User)字段:用户ID、用户名、密码、姓名、年龄、性别、联系方式、电子邮箱、注册时间3.2 图书表(Book)字段:图书ID、图书名称、作者、出版社、出版日期、图书类别、价格、库存数量3.3 图书借阅表(Borrow)字段:借阅ID、用户ID、图书ID、借阅日期、归还日期、借阅状态3.4 图书类别表(Category)字段:类别ID、类别名称、类别描述3.5 出版社表(Publisher)字段:出版社ID、出版社名称、联系方式、地质4、数据流图设计4.1 用户注册流程图描述用户注册过程,包括用户输入信息、系统验证信息、保存用户信息等流程。
4.2 用户借阅图书流程图描述用户借阅图书的过程,包括用户查找图书、用户借阅图书、系统更新库存数量等流程。
4.3 用户归还图书流程图描述用户归还图书的过程,包括用户查找借阅记录、用户归还图书、系统更新借阅状态等流程。
5、附件本文档附带的相关附件包括:- 数据库表结构设计文档- 数据流图设计文档- ER图设计文档6、法律名词及注释本文档涉及的法律名词及其注释如下:- 数据库管理系统(Database Management System,简称DBMS):是一种管理和整理数据库的软件系统。
- 关系型数据库(Relational Database):是一种基于关系模型的数据库,采用表格来组织和管理数据。
图书馆管理信息系统的数据库设计

1 需求分析1.1系统目标大学图书馆管理信息系统为广大大学师生提供了便利的图书借阅服务。
本系统面向全体教职职工与学生,该系统根据不同的操作者,提供不同的服务,以实现图书管理系统的科学化、系统化、自动化,最大限度地为老师和学生提供方便和提供管理效率。
1.2功能分析图书馆管理信息系统的功能模块如图1.1所示。
图1.1 图书馆管理信息系统功能模块(1)读者管理1)新增读者。
新增读者时要求填写其基本的信息,包括读者号、密码、读者姓名、性别、读者类型、单位、电子邮箱等。
2)读者信息维护。
读者可以对自己的信息进行修改,图书管理员有权限对已有读者的信息进行修改和删除。
3)借阅历史查看。
注册的读者可以在网上查询自己的图书借阅情况,一般读者只可以查阅到自己的借阅情况和图书的信息,而图书管理员可以查看任何读者的信息、借阅情况、任何图书的信息和借阅情况。
(2)书籍管理1)新增书籍。
图书管理员对新增的入库文献资料按规定进行编目、编录、加工、建库。
对每本图书、杂志要登记其基本信息,包括图书名称、图书作者、ISBN号、出版地、出版社、出版时间、字数、单价、内容简介、所属分类号,馆藏地、入库时间等。
2)书籍信息维护。
图书管理员可以对入库的书籍信息进行修改,或是删除该书籍信息,如采购书籍册数。
3)书籍类别管理。
新增书籍按照中图法分类规则进行分类。
(3)借阅管理1)书籍借阅管理。
图书管理员根据不同类型读者的借阅情况,对书籍进行管理。
(4)查看1)书籍信息查询。
登陆本系统的读者或是图书管理员可以查看现有图书系统中任何书籍的信息。
2)读者信息查询。
一般的读者只能查看自己在该系统上的信息,如借阅的书籍等,而图书管理员可以查看任何读者的信息情况。
3)借阅信息查询。
读者或是图书管理员可以查看每本书籍的在图书馆的状态,是借阅中还是在馆藏地等。
1.3数据需求及业务规则分析(1)图书馆为全校的学生和教职工提供图书借阅服务,学生分为高职生、本科生(含一本、二本、三本)、硕士研究生(含MBA)和博士研究生等多种层次。
图书管理系统数据库设计(DOC)

软件工程(课程设计)题目:图书管理系统-数据库设计学院工商学院学科门类工科专业软件工程学号2012484156姓名文鹏指导教师王思乐2014年12月7日河北大学学年论文(课程设计)任务书(指导教师用表)指导教师签字: 河北大学学年论文(课程设计)成绩评定表学院:工商学院数据库设计说明书大纲1 引言随着计算机技术的不断应用和提高,计算机已经深入到当今每个学生学习生活的各个角落。
而对于学校的图书馆仍采用管理员管理书籍基本信息、书籍借还信息的形式,不仅效率低,而且手续繁琐.为了满足其学生自行对图书馆书籍,借还书等进行高效的查询使用,在学生具备一定的计算机操作能力的前提下,此图书管理系统软件力求提高其图书馆使用效率。
1.1 编写目的本文档的编写是为了熟悉SQL Server数据库的数据库管理(数据库的创建、备份与恢复、函数与存储过程的应用、数据导入导出、作业的调度等)、表的设计(表的创建、修改、删除,字段的默认值、约束及关系等)、数据的查询处理(insert、update、delete、select语句的应用)等技术;完善图书管理系统软件的开发途径和应用方法。
以求在最短的时间高效的开发图书管理系统。
预期读者是“软件工程”教师,及从事“图书管理系统”开发的相关人.1.2 背景待开发的数据库的名称:Library Management System(LMS)使用此数据库的软件系统的名称:图书管理系统。
随着图书馆图书种类、数量的不断扩大,图书检索速度慢、统计工作量大,难以满足图书馆现代化管理的要求。
因此,建立一套图书馆管理软件,科学的对图书馆数据进行管理,方便图书的检索和读者借阅工作。
本项目的提出者及开发者是软件工程专业图书管理系统开发小组(高彦昭、甄朝霞、李茹枫、孙华芬、陆叶倩、秦薇),用户是学校图书馆.图书管理系统软件LMS V1。
0是一套功能比较完善的数据管理软件,具有数据操作方便高效迅速等优点。
该软件采用功能强大的数据库软件开发工具进行开发,具有很好的可移植性,可在应用范围较广的DOS、WINDOWS系列等操作系统上使用。
图书管理系统数据库设计

图书管理系统数据库设计1. 引言图书管理系统是一个用于管理图书馆馆藏图书的软件系统。
它提供了图书的借阅、归还、查询等功能,方便读者进行图书借阅和图书馆管理员进行图书管理。
本文档将介绍图书管理系统的数据库设计。
通过组织图书、读者、借阅记录等相关数据,实现图书管理系统的各项功能。
2. 数据库设计2.1 数据库结构图书管理系统的数据库主要包含以下几个表:•图书表(books):存储图书的基本信息,如图书编号、名称、作者、出版社等。
•读者表(readers):存储读者的基本信息,如读者编号、姓名、性别、年龄等。
•借阅记录表(borrow_records):存储图书的借阅记录,包括借阅编号、借阅日期、归还日期、读者编号等。
2.2 数据库字段2.2.1 图书表(books)•book_id:图书编号,主键•book_name:图书名称•author:作者•publisher:出版社•publication_date:出版日期•price:价格2.2.2 读者表(readers)•reader_id:读者编号,主键•reader_name:读者姓名•gender:性别•age:年龄•phone:联系电话2.2.3 借阅记录表(borrow_records)•record_id:借阅记录编号,主键•book_id:借阅图书编号,外键•reader_id:借阅读者编号,外键•borrow_date:借阅日期•return_date:归还日期2.3 数据库关系•图书表与读者表之间是多对多的关系,通过借阅记录表进行关联。
•图书表与借阅记录表是一对多的关系,一个图书可以对应多条借阅记录。
•读者表与借阅记录表也是一对多的关系,一个读者可以借阅多本图书。
2.4 数据库约束•图书编号(book_id)在图书表中是唯一的,不能重复。
•读者编号(reader_id)在读者表中是唯一的,不能重复。
•借阅记录编号(record_id)在借阅记录表中是唯一的,不能重复。
图书馆管理系统数据库设计-数据库图书馆系统管理

图书馆管理系统数据库设计1、系统简要分析1。
1图书资料基本管理(1)、新书编号、登记、入库:将新购入的书籍按照国家统一的分类编号;登记书号、书名、作者、出版社等基本信息,将新购图书入库.(2)、检索查询:按照各种组合条件对书库图书进行查询,也可以进行模糊查询.(3)、图书资料统计:根据要求对图书总数、各类图书数以及图书单价合计统计,打印日常报表。
(4)、旧书出库处理:通过查询确定过期期刊杂志、旧书籍以及由于丢失等其他原因需要从书库中撤销的图书资料,并从书库中撤除。
1.2图书资料借阅管理(1)、借还书管理:主要负责日常的借书登记、还书登记,和逾期未还图书的催还工作。
(2)、检索查询:按照各种组合条件对图书借阅情况查询,也可以进行模糊查询。
(3)、借书统计:统计各类书借阅情况,借阅次数;统计个人借书情况,打印日常报表。
(4)、定期整理图书借阅信息:将还书情况总结整理后彻底删除。
此外,图书管理人员还要定期做整理图书资料的全部图书清单、分类印图书清单、借阅清单以及整理填写各种报表等工作。
2、业务流程分析2。
1 借书业务流程2。
2 新书购进入库业务流程2。
3 还书业务流程2.4 销书业务流程3、数据流程图符号说明:实体处理逻辑数据流数据存储3. 1 系统的总数据流程图3。
2 借书处理数据流程图3。
3 还书处理数据流程图3.4 购书处理数据流程图4、数据字典4.1 数据项的描述数据项名:学号数据项含义说明:学生的唯一编号别名:数据类型:字符型长度:10取值范围:‘0000000000’-‘9999999999’取值说明:第1位为校区代码,2—3位为入学年份,.。
..与其他数据项的关系表4-1 数据项的定义表4-2 数据流的描述表4—3 处理逻辑的描述表4—4 数据存储的描述表4—5 外部实体的描述数据流编号:D1数据流名称:借书单简述:借阅者所要借的图书信息单数据流来源:借阅者数据流去向:借书处理模块数据流组成:图书编号+书名+借阅证号等数据流量:200张/天高峰流量:400张/天数据流编号:D2数据流名称:图书简述:借阅者从图书馆所借的图书数据流来源:借书处理模块数据流去向:借阅者数据流组成:图书编号+图书名+条形码号+出版社+出版日期+入库日期+作者+单价等数据流量:300本/天高峰流量:500本/天数据流编号:D3数据流名称:图书简述:借阅者要准备归还给图书馆的图书数据流来源:借阅者数据流去向:还书处理模块数据流组成:图书编号+图书名+条形码号+出版社+出版日期+入库日期+作者+单价等数据流量:300本/天高峰流量:500本/天数据流编号:D4数据流名称:不合格借书单简述:经借书处理模块验证不合格的借书单数据流来源:借书处理模块数据流去向:借阅者数据流组成:图书编号+书名+借阅证号等数据流量: 50张/天高峰流量:100张/天数据流编号:D5数据流名称:借书清单简述:经借书处理模块处理后的借书情况数据单数据流来源:借书处理模块数据流去向:图书库存情况存档数据流组成:图书编号+图书名+借阅日期+借阅证号+管理员编号等数据流量: 200张/天高峰流量:400张/天数据流编号:D6数据流名称:还书清单简述:还书信息清单数据流来源:还书处理模块数据流去向:图书库存情况存档数据流组成:图书编号+图书名+借阅证号+还书日期+管理员编号等数据流量:150本/天高峰流量:400本/天数据流编号:D7数据流名称:订书单简述:订购新书的信息单数据流来源:采购员数据流去向:购书处理模块数据流组成:图书名+图书数量+价格+采购员姓名+采购单位名称+图书出版社+出版日期等数据流量:1张/3个月高峰流量:1张/月数据流编号:D8数据流名称:购书清单简述:购买图书后的信息单数据流来源:购书处理模块数据流去向:管理员数据流组成:图书名+图书数量+价格+采购员姓名+采购员编号+出版社+出版日期+供货商名称+采购日期等数据流量:1张/3个月高峰流量:1张/月数据流编号:D9数据流名称:入库新书清单简述:准备入库图书信息单数据流来源:管理员数据流去向:新书入库处理模块数据流组成:图书编号+图书名+数量+管理人员编号+入库日期等数据流量:1张/3个月高峰流量:1张/月数据流编号: D10数据流名称:入库清单简述:刚新入库图书的信息单数据流来源:新书入库处理模块数据流去向:图书库存情况存档数据流组成:图书编号+图书名+数量+管理人员编号+入库日期等数据流量:1张/3个月高峰流量:1张/月数据流编号:D11数据流名称:销书计划简述:准备从书库中撤除一部分图书的计划数据流来源:管理员数据流去向:销书处理模块数据流组成:图书编号+图书名称+入库日期+管理员编号+日期+数量等数据流量:1张/6个月高峰流量:1张/月数据流编号:D12数据流名称:销书清单简述:通过销书处理刚从书库中撤除的图书信息单数据流来源:销书处理模块数据流去向:图书库存情况存档数据流组成:图书编号+图书名称+入库日期+管理员编号+出库日期+数量+总价等数据流量:1张/6个月高峰流量:1张/月数据流编号:D13数据流名称:借书单简述:借阅者所要借书的信息单数据流来源:借阅者数据流去向:审核处理模块数据流组成:图书编号+图书名+借阅证号等数据流量:200张/天高峰流量:400张/天数据流编号:D14数据流名称:不合格借书单简述:经审核处理模块处理后,不合格的借书单数据流来源:审核处理模块数据流去向:借阅者数据流组成:图书编号+图书名+借阅证号等数据流量:50张/天高峰流量:100张/天数据流编号:D15数据流名称:合格的借书单简述:经审核处理后符合规定的借书单数据流来源:审核处理模块数据流去向:书借出处理模块数据流组成:图书编号+图书名+借阅证号等数据流量:200张/天高峰流量:400张/天数据流编号:D16数据流名称:借书清单简述:图书馆所借出图书信息单数据流来源:图书借出处理模块数据流去向:图书库存情况存档数据流组成:图书编号+图书名+借阅证号+管理员编号+日期等数据流量:200张/天高峰流量:400张/天数据流编号:D17数据流名称:借书清单简述:图书馆所借出图书信息单数据流来源:图书借出处理模块数据流去向:借阅者借阅情况存档数据流组成:图书编号+图书名+借阅证号+管理员编号+日期等数据流量:200张/天高峰流量:200张/天数据流编号:D18数据流名称:图书简述:借阅者从图书馆借出的图书数据流来源:图书借出处理模块数据流去向:借阅者数据流组成:图书编号+图书名+条形码号+出版社+出版日期+入库日期+作者+单价等数据流量:300本/天高峰流量:500本/天数据流编号:D19数据流名称:图书简述:借阅者准备归还给图书馆的图书数据流来源:借阅者数据流去向:审核处理模块数据流组成:图书编号+图书名+条形码号+出版社+出版日期+入库日期+作者+单价等数据流量:150本/天高峰流量:400本/天数据流编号:D20数据流名称:罚款通知单简述:审核处理后,发现借阅超期或损坏要求罚款的通知单数据流来源:审核处理模块数据流去向:罚款处理模块数据流组成:借阅证号+管理员编号+金额+日期数据流量:20张/月高峰流量:50张/月数据流编号:D21数据流名称:罚款单简述:对借阅者进行罚款的信息单数据流来源:罚款处理模块数据流去向:借阅者数据流组成:借阅证号+管理员编号+金额+日期数据流量:20张/月高峰流量:50张/月数据流编号:D22数据流名称:应付罚款简述:借阅者因借书超期或损坏图书应该作的赔偿数据流来源:借阅者数据流去向:罚款处理模块数据流组成:金额数据流量:40元/月高峰流量:100元/月数据流编号:D23数据流名称:图书简述:罚款处理后准备入库的图书数据流来源:罚款处理模块数据流去向:图书入库处理模块数据流组成:图书编号+图书名+条形码号+出版社+出版日期+入库日期+作者+单价等数据流量:20本/月高峰流量:50本/月数据流编号:D24数据流名称:图书简述:审核处理后合格的图书数据流来源:审核处理模块数据流去向:图书入库处理模块数据流组成:图书编号+图书名+条形码号+出版社+出版日期+入库日期+作者+单价等数据流量:150本/天高峰流量:400本/天数据流编号:D25数据流名称:还书清单简述:所还图书进行入库信息单数据流来源:图书入库处理模块数据流去向:图书库存情况存档数据流组成:图书编号+图书名+管理员编号+日期等数据流量:150本/天高峰流量:400本/天数据流编号:D26数据流名称:还书清单简述:所还图书进行入库信息单数据流来源:图书入库处理模块数据流去向:借阅者借阅情况存档数据流组成:图书编号+图书名+管理员编号+日期等数据流量:150本/天高峰流量:400本/天数据流编号:D27数据流名称:订书单简述:购买图书计划单数据流来源:采购员数据流去向:判定定货处理模块数据流组成:图书名+图书数量+价格+采购员姓名+采购单位名称+图书出版社+出版日期等数据流量:1张/3个月高峰流量:1张/月数据流编号:D28数据流名称:订书单简述:购买图书计划单数据流来源:判定定货处理模块数据流去向:开付款通知单数据流组成:图书名+图书数量+价格+采购员姓名+采购单位名称+图书出版社+出版日期等数据流量: 1张/3个月高峰流量:1张/月数据流编号:D29数据流名称:付款通知单简述:通知采购方支付货款的信息单数据流来源:开付款通知单数据流去向:采购员数据流组成:货物编号+数量+价格+总金额+供货商编号+供货商名+日期数据流量:1张/3个月高峰流量:1张/月数据流编号:D30数据流名称:订书单简述:购买图书计划单数据流来源:判定订货处理模块数据流去向:开发货票模块数据流组成:图书名+图书数量+价格+采购员姓名+采购单位名称+图书出版社+出版日期等数据流量:1张/3个月高峰流量:1张/月数据流编号:D31数据流名称:订书单简述:购买图书计划单数据流来源:开发货票模块数据流去向:仓库数据流组成:图书名+图书数量+价格+采购员姓名+采购单位名称+图书出版社+出版日期等数据流量:1张/3个月高峰流量:1张月数据流编号:D32数据流名称:发货单简述:通知采购方供货单位开始发货的信息单数据流来源:仓库数据流去向:采购员数据流组成:货物编号+数量+价格+总金额+供货商编号+供货商名+发货日期+采购员编号+采购员姓名等数据流量:1张/3个月高峰流量:1张/月4。
图书管理系统数据库设计

图书管理系统图书管理系统主要提供网上的电子图书阅览平台,读者可以通过该系统阅览丰富的电子资源。
在图书管理系统中,读者可以方便的对书目进行检索和阅览,足不出户便可以尽览群书。
1.1 系统设计1.1.1 目标设计图书管理系统主要提供网上的图书阅览平台,一个简单的平台主要提供以下功能:1 对图书资源进行分类,发布到网上,以供读者阅读。
2 为读者提供图书检索功能。
3 读者能方便地阅览电子图书。
4 读者能方便地建立书签。
5 对读者的用户,密码及权限进行管理。
1.1.2 设计思想在本章中,我们将实现一个简单的图书管理系统,结构如图1-1所示,页面通过ASP脚本程序访问数据库和文件系统。
1.1.3 系统功能分析与设计图书管理系统的功能模块划分如图1-2所示。
1. 图书分类浏览图书按照起内容进行分类,呈树状结构。
读者可以按照类别进行查找,逐级浏览。
这种浏览方式能够将相关的书目排列在一起,读者能够很方便的找到自己感兴趣的主题进行阅读。
2.. 图书搜索如果读者有很明确的阅读目的,例如知道某本书的书名,著者等相关信息,或者为了方便读者迅速的查找某个关键词,就可以利用图书搜索功能。
图书管理系统相对于旧式图书馆的一个重要优点就是查找方便,读者也能免去查找书目卡片之苦了。
3. 书签图书阅览中常有这样的情况,读者会定期经常访问某些书目,或者是读者对某本书没有看完准备以后继续完成阅读,这样的情况就会用到书签功能。
读者可以把以后还需要阅读的书目做上书签,以后便能方便地进行阅读了。
4. 书评他人对书的评价往往对阅读有很大帮助。
书评能够帮助我们选择阅读对象,还能够帮助读者更好的进行阅读。
图书阅览系统将为读者提供发表意见的园地,同时还请读者为书打分,以得到读者对书的评价和反馈。
5. 书目类别维护图书管理系统需要定期对图书的类别进行维护,对不同等级的类别加以区分和归属,把书目归类到相关的主题下。
同时生成一个树状结构,方便读者按类别浏览。
实验十一 图书管理系统数据库设计

注销
图3-1
学生的操作流程
(2)管理员 管理员可完成书籍和学生的增加、删除和修改以及对学生借阅、续借、归还的确认,其 操作流程如图3-2 所示。 登录
书籍信息维护
学生信息维护
借阅图书确认
归还图书确认
注销
图3-2 2、概念模型设计
管理员操作流程
数据库需要表述的信息有以下几种: (1)图书信息 (2)学生信息 (3)管理员信息 (4)学生预定图书信息 (5)学生借阅还图书信息 说明: 1)书号是图书的键码,每本书有唯一的书号。一个学生可同时借阅多本书。一个管理员可 处理多个同学的借阅等事宜。 2)一般情况下,学生、管理员和图书之间的联系为1:1:n,借书关系Lend作为连接关系, 其键码为n端实体集的键码,即书号为借书关系的键码。这反映了如果还书时也把当初的借 书记录删除,则书号就能唯一识别一个元组。 如果在不删除借书记录的情况下,同一学生再次借同一本书,这时,学生、管理员和图 之间的联系变为m:p:n,于是,借书关系的键码为书号、学号和管理员号的组合。但这里有一 个隐含的信息, 即同一学生前后两次借同一本书所遇到的管理员不同, 而这种不同可能仅仅 是“ 日期”不同。因此,借书日期成了必不可少的成分,也就是说,在这种情况下,属性全集 才是借书关系的键码。 总之,借书关系的键码与图书管理模式有关,读者可按照自己的理解确定键码,并编写 相应的事务处理流程。其他关系也有类似之处。 3)要知道图书当前的状态,是在图书馆存放,还是被借阅等,需要在Book的模式中增加对 应项用以表示图书当前的状态。 比如我们增加State, 并且约定取值和状态的对应关系如下: 0:在图书馆中并且没有被预定 1:在图书馆中并且已被预定 2:被借出并且没有被预定 3:被借出并且已被预定 用E-R模型表达该模型的设计,画出E-R模型如下: 3、逻辑设计 通过E-R模型到关系模型的设计,请写出关系模式: (实体或属性的英文可以自取) 4、物理设计 为了提高在表中搜索元组的速度, 在实际实现的时候应该基于键码建立索引。 下面是各 表中建立索引的表项: (1)在书表中按书号建立索引 T-SQL语句: (2)在学生表中按学号建立索引 T-SQL语句: 5、用T-SQL实现设计 (1)建立数据库表 1) 建Book(图书信息) 表(同2) 时定义约束) T-SQL: 2) 建Student(学生信息)表(同4) 时定义约束) T-SQL:
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
工程技术学院
数据库课程设计
题目:图书管理系统数据库设计
学号:
专业班级:
姓名:
指导老师:
完成日期:
目录
一、需求分析
二、概念结构设计
三、逻辑结构设计
四、物理结构设计
五、数据库的构建和数据装入
六、数据库的功能实现
七、总结
1.需求分析
1.1系统现状及主要解决问题
近年来,随着图书馆规模的不断扩大,图书数量也相应的增加,有关图书的各种信息量也成倍的增加,面对着庞大的信息量,传统的人工方式管理的记录中我们可以发现这样的问题:
(1)检索速度慢、效率低。
因为图书馆的藏书种类多、数量多,将藏书准确地分门别类,快速检索,手工进行非常困难往往是终于查到了书的信息,馆中没有此书或已被别人借走。
图书馆的规模越大,这个问题越突出。
(2)借书、还书工作量大。
借书、还书频率越大,说明图书馆的作用越大,然而随之而来的大量的借书、还书登记、实存图书的更新以及借出图书超期、遗失等的处理,其工作量之大,往往是人工操作所难以胜任的。
而且经常会出现这样那样的差错。
(3)图书统计工作难、藏书更新不能及时完成。
图书馆的图书应根据科学技术的发展和教学工作的需要及时添加和更新,然而由于藏书数量及图书种类越来越多,加上自然损耗,人为破坏,使图书的统计工作难以及时完成,藏书的更新也就很难有针对性地进行,藏书的知识结构得不到良好地控制。
因此必须制定一套合理、有效、规范和实用的图书管理系统,对图书资料进行集中统一的管理。
系统开发的总的设计目标是实现图书管理的系统化、规范化和自动化,实现对图书资料的集中统一的管理。
使图书管理者便于对图书和读者的管理。
本系统主要实现对图书馆信息的管理,主要功能为管理有关读者、图书、借阅、查询、删除和管理员的信息等。
使用该系统之后,图书馆管理人员可以管理读者的登记、图书的购入、借出、归还以及注销等;还可以查询某位读者、某本图书的借阅情况,对当前借阅情况给出一些统计,给出统计表格,以全面掌握图书的流通情况。
1.2 能解决的问题
(1) 在读者信息管理部分要求:
a.可以查询读者信息。
b.可以对读者信息进行添加及删除的操作。
(2 )在书籍信息管理部分,要求
a.可以浏览书籍信息要求
b.可以对书籍信息进行维护包括添加及删除的操作。
(3)在借阅信息管理部分要求
a.可以浏览借阅信息。
b.可以对借阅信息进行维护操作。
(4)在归还信息管理部分,要求
a.可以浏览归还信息
b.对归还信息可修改维护操作
(5)在管理者信息管理部分要求
a.显示当前数据库中管理者情况。
b.对管理者信息维护操作。
(6)在罚款信息管理部分要求
a.可以浏览罚款信息
b.对罚款信息可以更新
1.3 要达到的具体指标
(1)可随时查询书库中现有书籍的种类、数量与存放位置。
所有各类书籍均可由书号唯一标识。
(2)可随时查询书籍借还情况。
包括借书人单位、姓名、借书证号、借书日期和还书日期。
任何人可借多种书,任何一种书可为多个人所借,借书证号具有唯一性。
(3)当需要时,可通过数据库中保存的出版社电话、邮编及地址等信息向有关书籍的出版社增购有关书籍。
一个出版社可出版多种书籍,同一本书仅为一个出版社出版,出版社名具有唯一性。
2、概念结构设计
这一阶段我们将客户的应用需求抽象为信息世界的结构,即对系统的人、物、事和概念进行人为处理,抽取人们所关心的共同特性,同时把这些特性用概念精确的描述。
我们首先根据需求分析的结果(数据流图、数据字典等)对现实世界的数据进行抽象,设计各个局部E-R图,然后合并成初步E-R图,再进行修改与重构。
2.1局部E-R图图书信息管理系统主要分为以下几个局部E-R图:
(1)、借阅者、图书信息E-R图:
(2)、管理员、销书清单E-R图:
(3)、总E-R图:
3、逻辑结构设计
图书信息(图书编号,书名,作者姓名,出版社,出版日期,在库数,所在书库)
借阅者(姓名,学号,班级,院系)
管理员(管理员编号,姓名,负责书库)
销书清单(图书编号,管理者编号,图书名称,销书日期,销书数量)
借阅(学号,图书编号,借出日期,到期日期,拖欠日期,罚款数目)
管理(管理员编号,学号,图书编号)
4、物理结构设计
建立索引:
(1)CREATE UNIQUE INDEX图书编号ON 图书信息(图书编号)
(2)CREATE UNIQUE INDEX管理员编号ON 管理员(管理员编号)
(3)CREATE UNIQUE INDEX 学号 ON 借阅者(学号)
5、数据库的构建和数据装入(1)表单
<1>借阅者表单
<2>图书表单
<3>管理员表单
<4>管理表单
<5>销书清单表单
<6>借阅表单
(2)数据截图
<1>借阅者数据
<2>图书数据
<3>管理员数据
<4>管理数据
<5>销书清单数据
<6>>借阅数据
6、数据库的功能实现(1)单表查询
SQL语句:SELECT 学号
FROM 借阅
WHERE 图书编号='201003'
结果:
(2)连接查询
查询的全部信息:
SELECT 姓名
FROM 借阅者,借阅
WHERE 借阅者.学号=借阅.学号
结果:
(3)统计、分组查询
分组查询
求图书信息表中在库书的数量:SELECT COUNT (*)
FROM 图书信息
组合查询
查询借图书编号为201001,并且学号为201301的读者姓名:SELECT 姓名
FROM 借阅者
WHERE 学号='201301'
UNION
SELECT 学号
FROM 借阅
WHERE 图书编号='201001'
7、总结
通过这次课程设计发现这其中需要的很多知识我们没有接触过,去图书馆查资料的时候发现我们前边所学到的仅仅是皮毛,还有很多需要我们掌握的东西我们根本不知道。
同时也发现有很多已经学过的东西我们没有理解到位,不能灵活运用于实际,不能很好的用来解决问题,这就需要我们不断的大量的实践,通过不断的自学,不断地发现问题,思考问题,进而解决问题。
在这个过程中我们将深刻理解所学知识,同时也可以学到不少很实用的东西。
从各种文档的阅读到开始的需求分析、概念结构设计、逻辑结构设计、物理结构设计。
亲身体验了一回系统的设计开发过程。
很多东西书上写的很清楚,貌似看着也很简单,思路非常清晰。
但真正需要自己想办法去设计一个系统的时候才发现其中的难度。
经常做到后面突然就发现自己一开始的设计有问题,然后又回去翻工,在各种反复中不断完善自己的想法。
我们学习并应用了SQL语言,对数据库的创建、修改、删除方法有了一定的了解,通过导入表和删除表、更改表学会了对于表的一些操作,为了建立一个关系数据库信息管理系统,必须得经过系统调研、需求分析、概念设计、逻辑设计、物理设计、系统调试、维护以及系统评价的一般过程,为毕业设计打下基础。
很多事情不是想象中的那么简单的,它涉
及到的各种实体、属性、数据流程、数据处理等等。
很多时候感觉后面的设计根本无法继续,感觉像是被前面做的各种图限制了。
在做关系模型转换的时候碰到有些实体即可以认为是实体又可以作为属性,为了避免冗余,尽量按照属性处理了
不管做什么,我们都要相信自己,不能畏惧,不能怕遇到困难,什么都需要去尝试,有些你开始认为很难的事在你尝试之后你可能会发现原来她并没有你以前觉得的那样,自己也是可以的。
如果没有自信,没有目标,没有信心就不可能把事情做好,当其他人都在迷茫的时候,自己一定要坚信目标,大学毕业出去即面临找工作,从学习这个专业,到以后从事这方面的工作都需要不断地去学习去实践,这次实践可以给我们敲一个警钟,我们面临毕业,面临择业,需要这些实践经验,在困难面前要勇于尝试,这是这次课程设计给我的最大感想。