(完整word版)图书馆数据库课程设计

合集下载

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

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

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

(完整word版)图书管理系统课程设计

(完整word版)图书管理系统课程设计

目录一、绪论 (4)1。

1开发背景 (4)二、可行性分析报告 (4)2。

1引言 (4)2.1。

1编写目的 (4)2.1。

2项目背景 (4)2。

1.3定义 (4)2.1。

4参考资料 (5)2。

2技术可行性 (5)2。

3操作可行性 (5)2。

4时间、设备可行性 (5)2。

5对现有系统的分析 (5)2.5.1处理流程和数据流程 (5)2。

5.2工作负荷 (5)2.5.3费用支出 (6)2。

5.4人员 (6)2。

5。

5设备 (6)2.5。

6局限性 (6)2。

6所建议的系统 (6)2.6.1对系统的简要描述 (6)2.7系统工作量 (6)2。

9文档要求 (6)三、需求分析说明书 (6)3.1引言 (6)3。

1。

1编写目的 (6)3。

1。

2项目背景 (6)3.1.3定义 (6)3。

1.4参考资料 (7)3.2系统介绍 (7)3.3系统面向的用户群体 (7)3。

4系统的功能性需求 (7)3。

5系统的非功能性需求 (7)3.5。

1用户界面需求 (7)3.5.2软硬件环境需求 (7)3.5.3软件质量需求 (8)3.6系统E-R图 (8)四、开发环境与项目规划 (8)4。

1开发环境 (8)4.2项目规划与管理 (8)4。

2.1开发人员安排 (8)五、软件界面设计标准与规范 (9)5.1编写目的 (9)5.2界面设计思想 (9)5。

4界面设计样式 (9)5。

5常见错误信息样式 (9)5。

6其他界面约定...................................................................................9六、概要设计说明书 (10)6.1引言 (10)6。

1。

1编写目的 (10)6。

1。

2项目背景 (10)6.1。

3定义 (10)6.1。

4参考资料 (10)6.2系统概述 (10)6。

3系统总体结构图 (10)6。

4系统局部模块IPO表 (11)七、详细设计说明书 (12)7。

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

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

目录1 前言 (1)2 需求分析 (1)2.1 课程设计目的 (1)2.2 课程设计任务 (1)2.3 设计环境 (2)2.4 开发语言 (2)3 分析和设计 (2)3.1 系统E-R模型 (6)3.2 表空间及表的设计 (6)3.3 视图设计 (15)3.4 存储过程、函数、包的设计 (15)3.5 触发器设计 (22)3.6 角色、用户、权限设计 (24)3.7 备份方案设计 (26)4 课程设计总结 (27)参考文献 (28)致谢 (28)1 前言一个简单的图书管理系统包括图书馆内书籍的信息、学校在校师生的信息以及师生的借阅信息。

此系统功能面向图书馆管理员,可以完成书籍和读者的增加、删除和修改,制定借阅规则,以及对读者借阅、续借、归还、预约的确认。

2 需求分析2.1 课程设计目的通过专业课程设计Ⅱ,即大型数据库系统课程设计,有助于培养学生综合运用数据库相关知识解决实际问题的能力。

本设计要求对实际问题进行需求分析,提炼实际问题中的数据,建立关系模型,并在大型数据库中得以实现。

同时要求对数据库的运营、管理及使用上进行必要的规划和实现。

2.2 课程设计任务(1)图书信息:包括图书编号、图书名称、所属类别等;(2)读者信息:包括读者编码、姓名、性别、专业等;(3)借还书信息:包括图书当前状态、被借还次数、借阅时间等。

基本要求:(1)根据需求,补充必要的数据库实体,建立ER模型,通过ER图表示。

(2)在Oracle中创建该系统的数据库,并在数据库中实现各表,写入一定的数据。

(3)从实际查询应用出发,为一些主要的应用模块设计至少3个参数化视图。

(4)从数据检验的角度出发,为相关的表建立至少1个触发器。

(5)从数据更新或修改的角度出发,设计至少1个存储过程。

(6)从安全的角度出发,规划系统的角色、用户、权限,并通过相关的SQL实现。

(7)预计每个表的大致容量和增长速度,指定备份的方案,写出相关的备份命令。

关于书店数据库课程设计

关于书店数据库课程设计

关于书店数据库课程设计一、教学目标本课程的教学目标是使学生掌握书店数据库的基本知识,包括数据库的概念、设计和使用。

学生将学会如何使用数据库管理书店的信息,提高书店的管理效率。

在技能方面,学生将掌握数据库的基本操作,包括数据的录入、查询和维护。

此外,通过课程的学习,学生将培养对书店数据库管理的兴趣和热情,提高他们的信息素养。

二、教学内容本课程的教学内容主要包括书店数据库的基本概念、数据库的设计和实施,以及数据库的操作和管理。

具体内容包括:数据库的基本概念,如数据库、数据库管理系统等;数据库的设计,包括数据模型的选择、数据库的规范化等;数据库的实施,包括数据库的建立和维护等;数据库的操作和管理,包括数据的录入、查询和维护等。

三、教学方法为了实现教学目标,我们将采用多种教学方法,包括讲授法、案例分析法、实验法等。

讲授法将用于向学生传授数据库的基本概念和理论知识;案例分析法将用于分析实际的数据库设计和实施案例;实验法将用于让学生通过实际操作来掌握数据库的操作和管理技能。

四、教学资源为了支持教学内容的实施和教学方法的运用,我们将准备多种教学资源,包括教材、参考书、多媒体资料和实验设备。

教材和参考书将提供理论知识的学习材料;多媒体资料将提供图像、视频等丰富的学习资源;实验设备将用于学生的实际操作练习。

五、教学评估本课程的评估方式将包括平时表现、作业和考试三个部分。

平时表现将根据学生在课堂上的参与度、提问和回答问题的表现等来评估;作业将根据学生的完成情况和质量来进行评估;考试将全面测试学生对课程内容的掌握程度。

评估方式将力求客观、公正,能够全面反映学生的学习成果。

六、教学安排本课程的教学安排将分为10个课时,每个课时45分钟。

教学时间安排将在工作日的下午进行,地点选在学校的计算机实验室,以确保学生有足够的实践操作机会。

教学安排将紧凑合理,确保在有限的时间内完成教学任务,并考虑学生的实际情况和需要。

七、差异化教学根据学生的不同学习风格、兴趣和能力水平,我们将设计差异化的教学活动和评估方式。

(完整word版)数据库课程设计教务管理系统

(完整word版)数据库课程设计教务管理系统

洛阳理工学院课程设计报告课程名称数据库课程设计设计题目教务管理系统专业计算机科学与技术班级学号姓名完成日期课程设计任务书设计题目:教务管理系统设计内容与要求:设计教务管理系统,类似于我校教务管理系统,有四类用户:教务员、学生、教师、管理员教务员可以输入学生、教师、班级、课程信息。

一个班级只属于一个专业,一个学生只属于一个班级。

教务员负责输入每个专业、每个班级需要学习哪些课程,指定课程的任课教师。

教师可以查看学习该课程的学生名单。

课程结束后,教师可以录入课程成绩。

一个教师可以教授多个班的多门课程,每门课由多位老师讲授。

课程分两类,必修课和选修课。

系统要记录每个学生学习各门必修课的成绩,还要记录学生选修了哪些选修课以及课程成绩。

学生可以查看自己各门课程的成绩。

学生还可以进行评教,给老师打分。

管理员可以输入教室信息,并结合班级、课程、教室信息实现自动排课。

要求:1.完成本系统的需求分析,写出功能需求和数据需求描述;2.完成数据库的概念结构设计、逻辑结构设计、物理结构设计;3.完成本系统的部分功能模块的程序界面设计。

指导教师:2017 年12 月29 日课程设计评语成绩:指导教师:_______________年月日目录一、概述 (2)1.1、本设计的目的与意义 (2)1.2、数据库开发工具和应用程序开发工具 (2)二、需求分析 (2)2.1功能需求 (2)2.2数据需求 (2)三、概念结构设计 (2)3.1、E-R模型设计 (2)3.2、总体E-R图描述 (4)四、逻辑结构设计 (4)4.1、关系模型 (4)4.2、关系模式的优化与说明 (4)五、物理结构设计 (5)5.1建立数据库 (5)5.2表与表结构 (5)六、应用程序设计 (6)6.1、系统总体结构 (6)6.2、系统界面与源代码 (7)6.2.1、界面 (8)6.2.2、功能描述 (9)6.2.3、程序源代码 (10)七、设计总结 (23)一、概述本系统后台数据库采用Microsoft SQL Server 数据库,该数据库系统在安全性、准确性和运行速度方面有绝对的优势,并且处理数据量大,效率高;前台采用Microsoft 公司的Visual Studio 2010作为主要开发工具,可与SQL Server 2008数据库无缝链接。

图书馆管理系统数据库课程设计简单版

图书馆管理系统数据库课程设计简单版

图书馆管理系统数据库设计一、设计背景随着我国市场经济的迅速发展和人们生活水平的不断提高,图书馆藏书的数目逐渐增大,这也挑战了图书管理方面的技术,以前的人工管理方式已经不再适应现在的环境,取而代之的是先进的图书管理系统,通过使用创建的图书管理系统可以让管理人员方便而快捷的进行管理、查询、借阅、录入等工作。

图书管理工作面对大量的可模块化处理的信息,是当今信息革命的一个重要阵地。

我们小组开发图书管理信息系统就是采用现代化的信息管理方式代替手工管理方式,提高图书管理工作效率,做到信息的规范管理,科学统计和快速查询,让图书馆更好的为学校,社会服务。

二、需求分析图书馆管理系统应该能够提供所有借阅者的详细信息,以及馆内库存的详细情况,对借书和还书两大功能进行合理的操作并登记。

图书馆管理系统的主要任务是建立详尽的借阅信息,以及馆内的书种及对应书刊的记录,并对借阅者和其借阅的书籍进行登记,归还的书籍进行登记。

图书管理员对用户的注册、删改、读者信息的查询检索。

依照管理员等级及权限可进行图书信息修改、书籍删除、用户密码管理、用户权限分配。

三、数据流程图四、图书管理系统数据字典㈠数据项列表数据项清单可借阅册数BorrowTimes Integer图书修改权限编号BUpDateAuID Integer图书分类BookFL Characters (50)密码管理权限编号PAdminiAuID Integer工作单位RDept Long variable characters (50) 应还时间ReturnTime Date & Time归还时间BackTime Date & Time归还编号ReturnID Characters (50)权限编号AuthorityID Integer条形码ISBN Characters (50)版次BPTimes Characters (50)登记日期registerTime Date & Time管理员地址MAddress Long variable characters (50) 管理员姓名MName Characters (50)管理员性别MSex Characters (50)管理员电话MTel Integer管理员编号MID Integer级别MRank Characters (50)读者住址RAddress Long variable characters (50) 读者姓名RName Variable characters (50) 读者性别RSex Characters (50)读者电话RTel Integer读者编号RID Long integer身份Identity Long variable characters (50) 五、数据结构列表六、数据库模式定义实体Administrator表实体AdministratorType表实体Authority表实体Book表实体BookType表实体Borrow表实体Reader表实体ReaderType表实体Return 表六、CDM-概念数据模型图Relationship_1Relationship_5Relationship_10ReaderType身份可借阅册数借阅期限<pi>Long variable characters (50)Integer Integer <M><M><M>Identifier_1...<pi>Reader读者编号读者姓名读者性别身份读者电话读者住址登记日期工作单位<pi>Long integerVariable characters (50)Characters (50)Long variable characters (50)Integer Long variable characters (50)Date & Time Long variable characters (50)<M><M><M><M><M><M><M><M>Identifier_1...<pi>AdministratorType级别<pi>Characters (50)<M>Identifier_1<pi>Administrator级别管理员姓名管理员编号管理员性别管理员电话管理员地址<pi>Characters (50)Characters (50)Integer Characters (50)Integer Long variable characters (50)<M><M><M><M><M><M>Identifier_1...<pi>Book条形码书名版次图书分类作者出版社出版日期价格<pi>Characters (50)Characters (50)Characters (50)Characters (50)Characters (50)Characters (50)Date & Time Float (20)<M><M><M><M><M><M><M><M>Identifier_1<pi>Borrow借阅编号条形码读者编号借阅时间归还时间借阅次数<pi>Characters (50)Characters (50)Long integer Date & Time Date & Time Integer <M><M><M><M><M><M>Identifier_1...<pi>Return归还编号条形码读者编号应还时间<pi>Characters (50)Characters (50)Long integer Date & Time <M><M><M><M>Identifier_1...<pi>BookType图书分类<pi>Characters (50)<M>Identifier_1<pi>Authority权限编号图书修改权限编号书籍删除权限编号密码管理权限编号<pi>Integer Integer Integer Integer <M><M><M><M>Identifier_1...<pi>由CDM 生成PDM 过程中 POWERDESIGNER 自动生成了每张表的索引,例如Book 表表格Book 的索引清单七、PDM-物理设计数据模型图FK_Relationship_5ReaderType身份可借阅册数借阅期限...longtext int int <pk>Reader读者编号身份2读者姓名读者性别身份读者电话读者住址登记日期工作单位...bigint longtext varchar(50)char(50)longtext intlongtext datetime longtext<pk><fk>AdministratorType 级别Adm_级别char(50)char(50)<pk><fk>Administrator级别管理员姓名管理员编号Adm_级别管理员性别管理员电话管理员地址...char(50)char(50)int char(50)char(50)intlongtext<pk><fk>Book条形码借阅编号Boo_图书分类Bor_借阅编号归还编号书名版次图书分类作者...char(50)char(50)char(50)char(50)char(50)char(50)char(50)char(50)char(50)<pk><fk1><fk2><fk3><fk4>Borrow借阅编号Rea_读者编号Boo_条形码条形码读者编号借阅时间归还时间借阅次数...char(50)bigint char(50)char(50)bigint datetime datetime int<pk><fk1><fk2>Return归还编号Rea_读者编号Boo_条形码条形码读者编号应还时间...char(50)bigint char(50)char(50)bigint datetime<pk><fk1><fk2>BookType图书分类char(50)<pk>Authority权限编号级别图书修改权限编号书籍删除权限编号密码管理权限编号...int char(50)int int int<pk><fk>八、利用Mysql 建立数据库并生成表/*==============================================================*/ /* DBMS name: MySQL */ /* Created on: 2013-12-15 22:55:20 *//*==============================================================*/drop table if exists Administrator;drop table if exists AdministratorType;drop table if exists Authority;drop table if exists Book;drop table if exists BookType;drop table if exists Borrow;drop table if exists Reader;drop table if exists ReaderType;drop table if exists ReturnB;/*==============================================================*/ /* Table: Administrator *//*==============================================================*/ create table Administrator(MRank char(50) not null,MName char(50) not null,MID int not null,Adm_MRank char(50),MSex char(50) not null,MTel int not null,MAddress longtext not null,primary key (MID));/*==============================================================*/ /* Table: AdministratorType *//*==============================================================*/ create table AdministratorType(MRank char(50) not null,Adm_MRank char(50),primary key (MRank));/*==============================================================*/ /* Table: Authority *//*==============================================================*/ create table Authority(AuthorityID int not null,MRank char(50),BUpDateAuID int not null,BDeleteAuID int not null,PAdminiAuID int not null,primary key (AuthorityID));/*==============================================================*/ /* Table: Book *//*==============================================================*/ create table Book(ISBN char(50) not null,BorrowID char(50),Boo_BookFL char(50),Bor_BorrowID char(50),ReturnID char(50),BName char(50) not null,BPTimes char(50) not null,BookFL char(50) not null,BA char(50) not null,BPName char(50) not null,BPTime datetime not null,BPrice float(20) not null,primary key (ISBN));/*==============================================================*/ /* Table: BookType *//*==============================================================*/ create table BookType(BookFL char(50) not null,primary key (BookFL));/*==============================================================*/ /* Table: Borrow *//*==============================================================*/ create table Borrow(BorrowID char(50) not null,Rea_RID bigint,Boo_ISBN char(50),ISBN char(50) not null,RID bigint not null,BorrowTime datetime not null,BackTime datetime not null,借阅次数int not null,primary key (BorrowID));/*==============================================================*/ /* Table: Reader *//*==============================================================*/ create table Reader(RID bigint not null,Identify longtext,RName varchar(50) not null,RSex char(50) not null,Identity longtext not null,RTel int not null,RAddress longtext not null,registerTime datetime not null,RDept longtext not null,primary key (RID));/*==============================================================*/ /* Table: ReaderType *//*==============================================================*/ create table ReaderType(Identify longtext not null,BorrowTimes int not null,BorrowTLImit int not null,primary key (Identify));/*==============================================================*/ /* Table: ReturnB *//*==============================================================*/ create table ReturnB(ReturnID char(50) not null,Rea_RID bigint,Boo_ISBN char(50),ISBN char(50) not null,RID bigint not null,ReturnTime datetime not null,primary key (ReturnID));alter table Administrator add constraint FK_Relationship_4 foreign key (Adm_MRank) references AdministratorType (MRank) on delete restrict on update restrict;alter table AdministratorType add constraint FK_Relationship_3 foreign key (Adm_MRank) references AdministratorType (MRank) on delete restrict on update restrict;alter table Authority add constraint FK_Relationship_9 foreign key (MRank) references AdministratorType (MRank) on delete restrict on update restrict;alter table Book add constraint FK_Relationship_10 foreign key (Boo_BookFL) references BookType (BookFL) on delete restrict on update restrict;alter table Book add constraint FK_Relationship_12 foreign key (Bor_BorrowID) references Borrow (BorrowID) on delete restrict on update restrict;alter table Book add constraint FK_Relationship_14 foreign key (ReturnID)references ReturnB (ReturnID) on delete restrict on update restrict;alter table Book add constraint FK_Relationship_8 foreign key (BorrowID)references Borrow (BorrowID) on delete restrict on update restrict;alter table Borrow add constraint FK_Relationship_11 foreign key (Boo_ISBN) references Book (ISBN) on delete restrict on update restrict;alter table Borrow add constraint FK_Relationship_6 foreign key (Rea_RID) references Reader (RID) on delete restrict on update restrict;alter table Reader add constraint FK_Relationship_1 foreign key (Identify)references ReaderType (Identify) on delete restrict on update restrict;alter table ReturnB add constraint FK_Relationship_13 foreign key (Boo_ISBN) references Book (ISBN) on delete restrict on update restrict;alter table ReturnB add constraint FK_Relationship_5 foreign key (Rea_RID) references Reader (RID) on delete restrict on update restrict;建立如图所示db_Libarary库建立如图所示数据表九、心得体会为期两周的课程设计结束了,我通过认真的查阅资料和老师的指导终于完成了课程设计题目,很感欣慰。

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

图书馆管理系统数据库课程设计
return rs;
}
//查找
public void executeQuery(String sql){
try {
rs=stmt.executeQuery(sql);
} catch (SQLException e) {
e.printStackTrace();
}
}
//更新
public void executeUpdate(String sql){
b_namevarchar(50) not null 图书名称
b_authorvarchar(20) 图书作者
b_introvarchar(300) 图书简介
b_outvarchar(20) 图书出版时间
表4rb借阅表
表中列名 数据类型 可否为空 说明
rb_id int not null(主键) 借阅编号
return driverName;
}
public void setDriverName(String driverName) {
this.driverName = driverName;
}
public String getUrl() {
return url;
}
public void setUrl(String url) {
id int not null(主键) 管理员编号
Admin_name varchar(20) not null 管理员姓名
Admin_pwd varchar(20) not null 登录密码
表2reader读者表
表中列名 数据类型 可否为空 说明
r_id int not null(主键) 读者编号
r_name varchar(20) not null 读者姓名

数据库原理课程设计完整--图书管理系统

数据库原理课程设计完整--图书管理系统

.目录一、系统定义: (2)二、需求分析: (2)2.1数据需求 (2)2.2事物需求 (3)2.3关系模式 (3)三、系统设计: (4)3.方案图表设计 (4)3.1 E-R图 (4)3.1.1类别实体E-R图: (4)3.1.2读者信息实体E-R图: (4)3.1.3信息实体E-R图: (5)3.1.4.记录信息实体E-R图: (5)3.1.5记录信息实体E-R图: (6)3.1.6罚款信息实体E-R图: (6)3.1.6总的信息实体E-R图: (7)2数据字典 (7)四、详细设计 (9)4.1数据库建立 (9)4.1.1创建数据库 (9)4.1.2书本类别表建立 (9)4.1.3创建书库表 (9)4.1.4借书证表建立 (9)4.1.5借书记录表建立 (10)4.1.6还书记录表建立 (10)4.1.7罚款单表建立*/ (10)4.2数据初始化 (11)4.2.1将书籍类别加入表book_style中 (11)4.2.2将已有的图书加入system_books表中 (11)4.2.3将已有图书证的读者加入system_readers表中*/ (12)4.2.4添加已借书读者的记录,同时将在已借出的借阅标记置 0*/ (13)4.3 界面设计 (14)五、参考文献 (18)六、课程设计总结 (19)一、系统定义:随着图书馆规模的不断扩大,图书数量也相应的增加,有关图书的各种信息量也成倍增加,面对着庞大的信息量,传统的人工方式管理会导致图书馆管理上的混乱,人力与物力过多浪费,图书馆管理费用的增加,从而使图书馆的负担过重,影响整个图书馆的运作和控制管理,因此,必须制定一套合理、有效,规范和实用的图书管理系统,对图书资料进行集中统一的管理。

另一方面,IT产业和Internet获得了飞速发展,计算机应用已渗透到了各个领域,引起信息管理的革命,实现了信息的自动化处理,提高了处理的及时性和正确性。

提高图书管理工作效率,作到信息的规范管理,科学统计和快速查询,让图书馆更好的为学校,社会服务。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数据库课程设计设计题目:图书馆管理系统组长姓名:刘之远组长学号:122101208专业班级:14级计算机应用技术2班指导老师:黄影数据库课程设计任务及成绩院(系):信息工程学院教研室:13#607指导老师:刘书影2014 年12月18 日目录摘要 (4)第一章需求分析 (1)1.1 读者登记处 (1)1.2 图书总管部门 (1)1.3图书借还处 (1)3 业务流程分析 (2)第二章概念结构设计 (4)2.1 图书管理系统实体集的子E-R图 (4)2.2 宿舍信息管理系统总E—R图 (6)第三章逻辑结构及物理结构设计 (7)3.1 将E—R图转化为关系模式 (7)3.2 物理结构设计 (7)第四章数据库的实现 (9)4.1 数据库的创建 (9)第五章表的T-SQL语句 (12)5.1.1 简单查询 (12)5.1.2 模糊查询 (13)5.1.3 连接查询 (14)5.2.1存储过程 (15)5.2.2视图 (16)5.2.3 视图的创建 (16)5.2.4 视图的T-SQL语句 (16)5.2.5触发器 (17)第六章总结 (18)摘要数据库技术和Interne的飞速发展,使他们已经成为现代信息技术的重要组成部分,是现在计算机信息系统和计算机应用系统的基础和核心。

对于拥有庞大人员的学校的管理来讲,数据的有效使用是一个学校能否进行有效管理的一个关键。

学校作为一个学习的地方,一定会有一个图书馆。

有图书馆就必定要有管理,这样学校图书管理系统就显得更为重要。

学校图书管理系统适应于绝大多数的学校图书馆的管理。

应用此系统可以将众多的学生信息和图书信息进行有效的管理,提高学校的效率。

第一章需求分析1.1 读者登记处学生或教师需要通过办理图书证之后才能进行图书借阅。

图书证包括借书证号,姓名,读者类型,借书人单位等信息。

在读者登记处,需要把读者的有关信息添加到信息系统中保存,当读者信息发生改变时,需要对计算机里的内容进行相应的修改。

当读者办理退证手续时,需要删除相应的读者信息。

另外,生成超过期限未还书的读者信息表,通知读者应尽快还书等。

1.2 图书总管部门1.2.1图书管理部门负责书籍和出版社等的信息管理,具体如下:(1)图书信息管理。

完成图书的录入、修改、删除和查询功能。

在查询图书信息时,可随时查询书库中现有书籍的类型、书号、书名、作者、数量等信息。

所有书籍都可由书号唯一标识。

(2)为了方便业务往来,需保存出版社相关信息。

这些信息包括出版社编号、名称、电话、邮编、地址、联系人等。

1.3图书借还处2.3.1图书借还处负责图书的借阅和归还工作。

具体如下:(1)读者借书管理。

读者可以根据图书类别和书名查找自己要借阅的图书,在图书借阅登记中,借阅日期是自动填写的(当前系统日期)。

(2)还书管理。

在办理还书业务时,系统判断是否过期,若过期,则首先查看是否已经交了罚款。

若未交,则生成一张罚款通知单。

(3)完成图书在库数量的查询。

此外,对于书籍、读者和出版社等信息,系统管理员可以做添加、修改、删除和查询操作。

普通读者只能查询。

3 业务流程分析第二章概念结构设计通常,把每一类数据对象的个体称为实体,而每一类对象的集合称为“实体集”。

而E —R模型的主要成分是实体、联系和属性。

如果用矩形框表示实体集,用带半圆的矩形表示属性,用线段连接实体集与属性,当一个属性或属性组合指定为主码时,在属性后加#键加以区别,则可以表示实体集及每个实体集涉及的属性,实体集之间存在各种关系,通常把这种关系称为“联系”。

联系有三类:一对一的联系(1:1);一对多的联系(1:n);多对多的联系(m:n)。

所以,此图书管理系统中实体集与实体集的联系,E—R模型如下:2.1 图书管理系统实体集的子E-R图本系统所涉及书籍实体有如下属性:书号,种类,数量,存放位置,书名,出版年,出版社编号,作者。

其所对应的E-R图如下读者实体犹如下属性:借书证号,姓名,性别,借书人单位,读者类型|。

其所对应的E-R 图如下读者身份实体的属性如下:读者类型,可借阅的天数,可借阅的数量。

其所对应的E-R图如下:2.2 宿舍信息管理系统总E—R图第三章逻辑结构及物理结构设计3.1 将E—R图转化为关系模式转换原则:1:1不单独对应一个关系模式,将一端实体的主码及联系的属性,加入另一端实体所对应的关系模式,且不影响其主码。

1:n 不单独对应一个关系模式,将一端实体的主码及联系的属性,加入到N端实体的所对应的关系模式,且不影响其主码。

m:n必须单独对应一个关系,由两端实体的主码及联系的属性为其属性,两端实体主码的组合为其主码。

实体1:书籍【种类、数量、存放位置、书号、书名、出版年、作者、出版社编号、价格】实体2:读者【借书证号、姓名、性别、借书人单位、读者类型】实体3:出版社【出版社编号、出版社名、电话、邮编、地址】实体4:借还情况【借书证号、书号、借书日期、还书日期】实体5:读者身份【读者类型、可借阅天数、可借阅数量】3.2 物理结构设计由以上的分析,得出上述5个表格结构如下:读者表:创建此表所需要的字段名是:姓名、借书证号、性别、借书人单位读者类型,其中借书证号设为主键。

出版社表:用于记录书籍出版社信息,所需要的字段名是:出版社编号、出版社名、电话、邮编、地址,其中出版社编号是主键。

书籍表:用于记录书籍信息,所需要的字段名是:书号、书名、数量、类型、出版年、作者、出版社编号、存放位置。

主键是书号。

读者身份表:用于记录读者类型信息,是学生还是老师。

所需要的字段名是:读者类型、可借阅天数、可借阅数量。

主键是读者类型。

借还情况表:用于记录读者借还图书的情况。

所需要的字段名是:借书证号、书号、借书日期、还书日期。

主键是借书证号、书号。

第四章数据库的实现4.1 数据库的创建1 建立数据库create database图书馆on(name=library,filename='d:\database\图书馆_data.mdf',size=10,maxsize=50,filegrowth=5)log on(name=library_log,filename=' d:\database\图书馆_data.ldf ',size=5,maxsize=25,filegrowth=5)2 建表(1)读者身份create table读者身份(读者类型char(4)check(读者类型in('教师','学生'))primary key,可借阅天数tinyint not null,可借阅数量tinyint not null)(2) 读者create table读者(借书证号char(20)primary key,姓名char(10)not null,性别char(2)check(性别='男'or性别='女'), 借书人单位char(30),读者类型char(4)foreign key references读者身份(读者类型) )(3) 出版社create table出版社(出版社编号char(30)primary key,出版社名char(30)not null,电话char(50),邮编char(30),地址char(50))(4) 书籍create table书籍(书号char(10)primary key,书名char(50)not null,数量tinyint not null,类型char(30),出版年char(10) ,作者char(10),出版社编号char(30)foreign key references出版社(出版社编号), 存放位置char(30))(5) 借还情况create table借还情况(借书证号char(20)foreign key references读者(借书证号),书号char(10)foreign key references书籍(书号),借书日期datetime default getdate(),还书日期datetime,primary key(借书证号,书号))第五章表的T-SQL语句5.1.1 简单查询1)查询读者表中读者证号和姓名。

代码如下:select 借书证号,姓名from 读者运行结果:(2)查询出版社表中出版社名、出版社编号和电话等信息。

代码如下:select 出版社名,出版社编号,电话from 出版社运行结果:5.1.2 模糊查询(1)查询书籍表中书名含'背影'的书号,出版年,书名和作者等信息。

代码如下:select 出版年,作者,书名,书号 from 书籍where 书名 like'%背影%' 运行结果:(2)查询来出版社表中出版社名中有‘海洋’字的信息。

代码如下:select 出版社编号,电话,邮编,出版社名,地址from 出版社表where 出版社名like '%海洋%'运行结果:5.1.3 连接查询(1)查询书籍的书号,书名,数量,类型,出版年,作者,借书日期,还书日期如下:select 书籍.书号,书名,数量,类型,出版年,作者,借书日期,还书日期 from 书籍,借还情况where 书籍.书号=借还情况.书号运行结果:5.2.1存储过程在SQL Server中,存储过程是数据库对象之一,它有执行速度快、确保数据库的安全和自动完成需要预先执行的任务等优点,本设计创建一个存储过程,功能是通过借书证号查看该读者的借书信息:姓名,借书人单位,书名,作者,借书日期,还书日期。

存储过程的创建和调用如下:create proc prcsed@no char(10)asselect 姓名,借书人单位,书名,作者,借书日期,还书日期 from 读者,借还情况,书籍where 读者.借书证号=借还情况.借书证号 and 借还情况.书号=书籍.书号例如:exec prcsed '32080090011'5.2.2视图视图是由一个或多个基本表(或视图)导出的数据信息,可根据用户的不同建立不同的视图。

5.2.3 视图的创建create view vw15.2.4 视图的T-SQL语句select 借书证号,借还情况.书号,出版社.出版社编号 from 出版社,书籍,借还情况 where 出版社.出版社编号=书籍.出版社编号and 书籍.书号=借还情况.书号运行结果如下:5.2.5触发器触发器是一类特殊的存储过程。

触发器与表的关系密切,可用于维护表中的数据。

当有数据影响到触发器维护的数据时,触发器自动执行。

创建该触发器可以create trigger trginon 借还情况 for update ,insertasbegindeclare @no char(6), @n tinyintselect @no=借书证号 from insertedselect @n =count(*) from 借还情况 where 借书证号=@noif @n>10beginrollbackprint '已超出上限!'endend第六章总结这次课程设计下来,学到了不少东西,以前对SQL,只能按书上按部就班的写,写SQL 语句是会了,但数据逻辑和方法方面,一点都不够到位,没有对以前的知识进行系统的了解,没有把各个部分知识整合在一起,通过这次学生宿舍管理系统课程设计,使我对数据库设计的各个方面都加深了理解,了解到数据库是一环扣一环的,中途不能有办点马虎,也体会到把知识应用于实践是不容易的,同时也学到课本中所没有的东西,一些问题也只有真正做设计的时候才会出现。

相关文档
最新文档