实验4 建立图书借阅数据库——第8-10周
数据库系统实验报告4(简单图书馆管理数据库的实现)
6
图书信息表:
2.还书后: 借阅信息表:
图书信息表:
备注: 1、表头及以下的栏目和内容,不得更改;其它栏目的位置可以适当调整,可以根据需要适当增加或减少 页。 2、本课程包含多次实验,请每次实验项目填写一份。
7
2
利用 sf_borrow,sf_return 进行借、还操作,并注意数据库中三个表的数据变化情况。 三、实验结果及分析 (一)创建数据库和数据表: 选择用企业管理器创建数据库、数据表
3
(二)数据相关操作: 1.查询:
2.删除:
4
删除后:
3.更新:
更新后:
(三)创建触发器、存储过程进行借还书操作: 1.针对借阅信息表的插入操作创建触发器,当借阅信息表进行插入操作时,自动根据书号,将图 书信息表相应记录的“状态”字段改为 0。 CREATE TRIGGER Insert_borrow ON dbo.借阅信息表 FOR INSERT AS begin update 图书信息表 set 状态=0 from Inserted i,图书信息表 t where t.书号=i.书号 end 2.针对借阅信息表的删除操作创建触发器,当借阅信息表进行删除操作时,自动根据书号,将图 书信息表相应记录的“状态”字段改为 1。
作者 sql c++ ms java c# net
状态 1 1 1 1 1 1
借书证号 1 2 3
姓名 张三 李四 王五
住址 学三 学四 学五
并对这两个表进行删除、更新、和查询等操作 三、创建触发器、和存储过程进行借、还书操作 1) 针对借阅信息表的插入操作创建触发器,当借阅信息表进行插入操作时,自动根据书号,将图 书信息表相应记录的“状态”字段改为 0。 2) 针对借阅信息表的删除操作创建触发器,当借阅信息表进行删除操作时,自动根据书号,将图 书信息表相应记录的“状态”字段改为 1。 3) 创建存储过程:sf_borrow,实现借书功能即:向借阅信息表进行插入操作,将书号、借书证 号,借书时间作为参数,并自动的将还书时间设置为借书时间后一个月。 4) 创建存储过程:sf_return,现实还书功能即:根据书号对借阅信息表进行删除操作,将书号 作为参数。
数据库原理综合实验
数据库原理综合实验综合实验一、创建图书管理库(BookSys)该数据库的主数据文件逻辑名称为:“图书管理库”,物理文件名为:图书管理库.Mdf,物理文件路径为D:\,初始大小为3MB,最大容量为100MB,增长速度为10%;数据库的日志文件逻辑名称为“图书管理库_log”,物理文件名为:图书管理库_log.ldf,物理文件路径为D:\,初始大小为1MB,最大容量为2MB,增长速度为10%)CREATE DATABASE图书管理库ON PRIMARY(NAME='图书管理库',FILENAME='D:\图书管理库.mdf',SIZE= 3MB,MAXSIZE= 100MB,FILEGROWTH= 10%)LOG ON(NAME='图书管理库_log',FILENAME='D:\图书管理库_log.ldf',SIZE= 1MB,MAXSIZE= 2MB,FILEGROWTH= 10%)二、在图书管理库(BookSys)中建立如下的表:1、图书信息表(tsxx)CREATE TABLE图书信息(图书编号char(8)PRIMARY KEY NOT NULL,图书名称char(20)UNIQUE NOT NULL,价格money NOT NULL,出版社char (20),出版时间datetime null,作者char(8),)并插入如下数据:insert into图书信息values(1,'高等数学',20,'高等教育出版社','2001-1-5','李青')insert into图书信息values(2,'C语言程序设计',30,'高等教育出版社','2004-1-5','唐浩强') insert into图书信息values(3,'SQL server原理',28,'中国水利出版社','2008-1-5','李青') insert into图书信息values(4,'数据结构',37,'中国水利出版社','2011-1-5','李青')insert into图书信息values(5,'操作系统',29,'中国水利出版社','2009-1-5','刘红')insert into图书信息values(6,'离散数学',18,'清华大学出版社','2006-1-5','唐浩强')insert into图书信息values(7,'微机原理',45,'清华大学出版社','2007-1-5','林林')CREATE TABLE读者信息(读者编号char(8)PRIMARY KEY NOT NULL, 姓名char(20)UNIQUE NOT NULL,身份证号char(18),级别char (8),)并插入如下数据:insert into读者信息values(1,'张三','350322************',1) insert into读者信息values(2,'李子','350322************',1) insert into读者信息values(3,'王五','350322************',2) insert into读者信息values(4,'赵三','350322************',3) insert into读者信息values(5,'林刘','350322************',2) insert into读者信息values(6,'陈东','350322************',3) insert into读者信息values(7,'郑一','350322************',1)3、借阅信息(jyxx)CREATE TABLE借阅信息(读者编号char(8)NOT NULL,图书编号char(8)NOT NULL,借阅日期datetime,还书日期datetime,是否续借char(4),PRIMARY KEY(读者编号,图书编号),FOREIGN KEY (读者编号)REFERENCES读者信息(读者编号), FOREIGN KEY (图书编号)REFERENCES图书信息(图书编号), ) 并插入如下数据:insert into借阅信息values(1,3,'2010-12-2','2011-12-1','可以') insert into借阅信息values(1,4,'2010-12-2','2011-12-1','可以') insert into借阅信息values(2,3,'2011-2-2','2011-10-1','可以') insert into借阅信息values(5,7,'2011-2-2','2011-9-1','可以') insert into借阅信息values(7,3,'2011-1-2','2011-2-1','可以') insert into借阅信息values(4,2,'2010-12-20','2011-12-1','可以') values(4,1,'2011-1-12','2011-2-1','可以')三、完成如下操作:1、修改列“出版社”的定义,长度修改成30 ALTER TABLE图书信息ALTER COLUMN出版社CHAR(30)2、修改读者信息表中编号为1的读者的级别为2级UPDATE读者信息SET级别= 2WHERE读者编号= 1四、完成如下查询语句:1、查询图书馆中所有的图书、出版社、读者信息SELECT图书名称,出版社FROM图书信息SELECT读者信息.*FROM读者信息2、查询前3项读者借阅图书的信息SELECT TOP 3 *FROM借阅信息3、查询前3%项读者借阅图书的信息SELECT TOP 3PERCENT*FROM借阅信息4、查询所有借书的读者编号,要求取消重复行SELECT DISTINCT读者编号FROM借阅信息5、查询图书价格打8折后的图书名称、原价和折后价格,分别以“图书名称”、“原价”、“折后价格”为列名显示SELECT图书名称,价格原价,价格*0.8 折后价格FROM图书信息6、查询价格大于等于20元的图书信息SELECT*FROM图书信息WHERE价格>207、查询价格在20~40元之间的图书信息SELECT*FROM图书信息WHERE价格BETWEEN 20 AND 408、查询由“中国水利出版社”、“高等教育出版社”、“清华大学出版社”出版的所有图书SELECT*FROM图书信息WHERE出版社IN('中国水利出版社','高等教育出版社','清华大学出版社')9、查询姓“张”的读者的信息SELECT*FROM读者信息WHERE姓名like'张%'10、计算图书馆图书的总价格、平均价格SELECT SUM(价格)总价格,AVG(价格)平均价格FROM图书信息11、计算机出自“中国水利出版社”的图书数量SELECT COUNT(图书编号)图书数量FROM图书信息WHERE出版社='中国水利出版社'12、按读者级别由高到低输出读者信息SELECT*FROM读者信息ORDER BY级别DESC13、查询图书价格大于图书平均价格的所有图书信息SELECT*FROM图书信息WHERE价格>(SELECT AVG(价格)FROM图书信息)14、查询“李青”曾出版过书的出版社还出版了哪些书SELECT图书名称,出版社FROM图书信息WHERE作者='李青'15、查询价格大于“中国水利出版社”出版的任意书的价格的图书信息SELECT*FROM图书信息WHERE价格>(SELECT MAX(价格)FROM图书信息WHERE出版社='中国水利出版社')五、其他操作1、建立视图显示读者借书的信息(包括读者姓名、借书名、借书日期)CREATE VIEW读者借书ASSELECT姓名,图书名称借书名,借阅日期借书日期FROM图书信息,借阅信息,读者信息WHERE读者信息.读者编号=借阅信息.读者编号AND借阅信息.图书编号=图书信息.图书编号2、建立存储过程,根据用户输入的读者编号来查看此读者的借阅信息CREATE PROC编号借阅信息@读者编号char(8)ASSELECT读者借书.*FROM读者借书,读者信息WHERE读者编号=@读者编号AND读者信息.姓名=读者借书.姓名EXEC编号借阅信息 13、建立关于借阅表的触发器,当由用户借书时,向借阅表插入借书信息,并打印“借阅成功”CREATE TRIGGER用户借书ON借阅信息AFTER INSERTASPRINT'借阅成功'insert into借阅信息values(4,3,'2010-12-2','2011-12-1','可以')4、建立INSTEAD OF触发器,当向借阅表插入借阅记录时,先检查读者信息是否存在该读者,如果存在则执行插入操作,如果不存在这提示“没有此读者!”CREATE TRIGGER插入借阅ON借阅信息INSTEAD OF INSERTASBEGINDECLARE@读者编号char(8),@图书编号char(8),@借阅日期datetime,@还书日期datetime,@是否续借char(4)SELECT@读者编号=读者编号,@图书编号=图书编号,@借阅日期=借阅日期,@还书日期=还书日期,@是否续借=是否续借FROM insertedIF NOT EXISTS(SELECT*FROM读者信息WHERE@读者编号=读者编号)PRINT'没有此读者!'ELSEINSERT INTO借阅信息VALUES (@读者编号,@图书编号,@借阅日期,@还书日期,@是否续借)ENDinsert into借阅信息values(10,3,'2010-12-2','2011-12-1','可以')insert into借阅信息values(7,4,'2010-12-2','2011-12-1','可以')5、在读者信息表和借阅信息表之间具有逻辑上的主外键关系,要求当删除或更新读者记录的时候,要激发触发器tri_Delete,在借阅信息表中也删除或更新相对应的记录行。
图书借阅系统课程设计
图书借阅系统课程设计一、课程目标知识目标:1. 让学生掌握数据库的基本概念,了解图书借阅系统的数据存储与检索原理;2. 使学生掌握程序设计的基本方法,能利用所学编程语言实现图书借阅系统的功能;3. 帮助学生了解图书分类、检索、借阅等业务流程,结合实际需求设计合适的系统功能。
技能目标:1. 培养学生运用数据库管理数据的能力,学会使用至少一种数据库软件进行数据操作;2. 提高学生的编程实践能力,学会分析问题、设计算法并编写程序实现图书借阅系统的功能;3. 培养学生团队协作能力,通过分组合作完成课程设计,提高沟通与协作水平。
情感态度价值观目标:1. 激发学生对计算机科学与技术领域的兴趣,培养其探索精神;2. 培养学生认真负责的工作态度,养成良好的编程习惯,注重代码规范与优化;3. 增强学生的法律意识和社会责任感,使其认识到保护版权的重要性。
本课程设计针对高年级学生,结合学科特点和教学要求,旨在通过实践操作,使学生将所学理论知识与实际应用相结合。
课程目标具体、可衡量,既关注知识技能的掌握,又注重培养学生的情感态度价值观,为后续的教学设计和评估提供明确方向。
二、教学内容1. 数据库基础知识:讲解数据库的基本概念、数据模型、关系数据库设计等,对应教材第1章内容;- 关系数据库理论;- SQL语言基础;- 数据库设计原则。
2. 程序设计基础:介绍编程语言基础、控制结构、函数等,对应教材第2章内容;- 编程语言选择(如Python、Java等);- 控制结构;- 函数与模块。
3. 图书借阅系统需求分析:分析系统功能需求、业务流程等,对应教材第3章内容;- 系统功能需求;- 业务流程设计;- 数据流图绘制。
4. 数据库设计与实现:教授数据库表设计、索引、视图等,对应教材第4章内容;- 数据表设计;- 索引与视图;- 数据完整性约束。
5. 程序设计与实现:指导学生编写程序实现系统功能,对应教材第5章内容;- 程序架构设计;- 编程规范;- 系统功能模块实现。
学校图书借阅管理系统数据库设计
学校图书借阅管理系统数据库设计概述学校图书借阅管理系统是为帮助学生和教职员工更方便地借阅图书而设计的系统。
该系统需要一个数据库来存储和管理相关信息,本文将详细介绍学校图书借阅管理系统的数据库设计方案。
数据库概述数据库设计目标学校图书借阅管理系统的数据库设计目标是实现对图书、借阅者和借阅记录等信息的有效管理和查询,保证系统的高效性和稳定性。
数据库结构以下是学校图书借阅管理系统的数据库结构设计:1.图书表(Books)–book_id: 图书ID(主键)–title: 图书标题–author: 作者–publisher: 出版社–publish_date: 出版日期–price: 价格–total_copies: 总藏书量–available_copies: 可借数量2.借阅者表(Borrowers)–borrower_id: 借阅者ID(主键)–name: 姓名–grade: 年级–department: 院系–max_books: 最大可借数量3.借阅记录表(BorrowRecords)–record_id: 记录ID(主键)–book_id: 图书ID–borrower_id: 借阅者ID–borrow_date: 借阅日期–return_date: 归还日期数据库设计细节数据库关系•图书表和借阅者表之间是一对多的关系,一个借阅者可以借阅多本图书。
•图书表和借阅记录表之间也是一对多的关系,一本图书可以被多个借阅者借阅。
•借阅者表和借阅记录表之间是一对多的关系,一个借阅者可以有多条借阅记录。
数据库约束•图书表中的total_copies和available_copies不能小于0。
•借阅者表中的max_books不能小于0。
•借阅记录表中的borrow_date不能晚于return_date。
数据库索引在图书表和借阅者表的主键上创建索引,可以提高查询效率。
数据库操作添加图书INSERT INTO Books (book_id, title, author, publisher, publish_date, price, total_copies, available_copies)VALUES ('1', 'Database Systems', 'Abraham Silberschatz', 'McGraw-Hill', '2011-11-01', 50.00, 5, 5);借阅图书INSERT INTO BorrowRecords (record_id, book_id, borrower_id, borrow_d ate, return_date)VALUES ('1', '1', '101', '2022-01-01', '2022-01-15');UPDATE Books SET available_copies = available_copies -1WHERE book_id ='1';归还图书UPDATE BorrowRecords SET return_date ='2022-01-15'WHERE record_id ='1';UPDATE Books SET available_copies = available_copies +1WHERE book_id ='1';总结本文介绍了学校图书借阅管理系统的数据库设计,包括数据库结构、数据库设计细节、数据库操作等内容。
图书借阅管理系统开发实训
50
文本
地址是ຫໍສະໝຸດ 20文本出版社
主键
格式
字段大小
字段类型
字段名
3、给四个表输入数据,并建立关系:
任务三 使用设计视图创建图书借阅管理系统主窗体
(1)图书管理 图书管理窗体:使用设计视图创建,数据源:图书表。 图书信息浏览窗体:使用子窗体控件的向导创建,数据源:图书表。 (2)读者管理 读者管理窗体:使用设计视图创建,数据源:读者表。 读者信息浏览窗体:使用子窗体控件的向导创建,数据源:读者表。 (3)出版社管理 出版社管理窗体:使用设计视图创建,数据源:出版社表。 出版社信息浏览窗体:使用子窗体控件的向导创建,数据源:出版社表。
“清空”功能实现: 右击“清空”命令按钮—“属性”对话框—事件—单击—代码生成器—输入代码: Text0=”” Text2=””
任务六 实现图书借阅
“读者借阅图书情况查询”功能实现:
使用向导创建“读者借阅图书明细”窗体,数据源为“读者借阅查询”和“图书借阅情况查询”两个查询。 窗体页脚建立一个文本框 该读者还能借阅图书册数:=IIf([已借册数]>=5,0,5-[已借册数])
20
文本
出版社
20
文本
作者
30
文本
图书名称
是
10
文本
图书编号
主键
格式
字段大小
字段类型
字段名
1、使用创建空数据库的方法,创建“图书借阅管理系统”数据库。 2、在“图书借阅管理系统”数据库中,分别使用不同的方法创建“图书表”、“图书借阅表”、“读者表”和“出版社表”,并设置各表的属性。
任务二 图书借阅管理系统建库建表建关系
学习目标
掌握创建数据库系统的一般步骤。 掌握创建数据库中各个对象的方法。 掌握数据库系统的维护、使用等。
数据库实验报告(全)
实验报告学院:计算机与信息学院专业:年级:姓名:学号:实验室号:计算机号:实验日期:年月日指导教师签字:成绩:报告退发(订正、重做)实验一数据库的定义实验1、实验目的熟练掌握和使用SQL Server企业管理器创建数据库、表、索引和修改表结构,并学会使用SQL Server 查询分析器接收Transact-SQL语句和进行结果分析。
2、实验仪器(环境):计算机及SQL Server 20003、实验操作方法:依照实验指导书的内容进行实验。
4、报告内容:(1)通过企业管理器,建立图书借阅数据库;(2)在建好的图书借阅数据库中建立图书、读者和借阅3个表,其结构为:图书(书号,类别,出版社,作者,书名,定价,作者)读者(编号,姓名,单位,性别,电话)借阅(书号,读者编号,借阅日期)要求为属性选择合适的数据类型,定义每个表的主码,是否允许空值和默认值等列级数据约束。
;(3)指出图书读者数据库各表的主码、外码和数据约束;(4)实验操作步骤和实验结果用截图显示出来。
实验报告学院:计算机与信息学院专业:年级:姓名:学号:实验室号:计算机号:实验日期:年月日指导教师签字:成绩:报告退发(订正、重做)实验二数据库的建立和维护实验1、实验目的熟练掌握使用SQL、Transact-SQL和SQL Server企业管理器向数据库输入数据、修改数据和删除数据的操作。
2、实验仪器(环境):计算机及SQL Server 20003、实验操作方法:依照实验指导书的内容进行实验。
4、报告内容:(1)以一条记录为例,写出用SQL表示的向图书表中插入、修改和删除数据的语句。
(2)用SQL实现在读者表中增加“借书册数”字段,统计借书者在1998年~1999年间所借书的册数,并将结果送入读者表中的借书册数字段的操作语句。
(3)写出操作的过程和操作结果(数据库中各表的数据)并用截图表示出来。
实验报告学院:计算机与信息学院专业:年级:姓名:学号:实验室号:计算机号:实验日期:年月日指导教师签字:成绩:报告退发(订正、重做)实验三数据库的简单查询和连接查询实验1、实验目的掌握SQL Server查询分析器的使用方法,加深对SQL和Transact-SQL语言的查询语句的理解。
图书借阅系统数据库(包含erp数据流程图)
实验一数据库和表
目的
学习如何创建和修改表和表结构。
学习表的使用和数据的导入。
内容
建立“图书借阅”数据库。
在“图书借阅”数据库中建立4个表。
(1)“图书”表
(2)“借书证”表
(3)“借书证类型”表
(4)“借阅登记”表
设置字段的属性。
所有日期型字段的格式设置为长日期;
“登记日期”和“借阅日期”字段的默认值为当天日期,注:利用日期函数date()。
“借书证”表的“是否有效”字段的默认值属性设置为true,表示该借书证有效。
“图书”表的“是否借出”字段的默认值属性设置为False,表示该图书没有被借出。
“图书”表的“价格”字段设置有效性规则,保证价格不能小于零。
为“图书”表的“书名”字段设置索引。
“借阅登记”表的“借书证号”字段和“书号”字段为必填字段。
设置“借书证”表的“借书证号”的掩码属性,确保输入10位数字。
在“借阅登记”表中“借书证号”字段的类型改为查阅向导型,其查阅值来自“图书”表的“书号”字段。
表。
实验4建立图书借阅数据库——第8-10周
实验4建立图书借阅数据库——第8-10周实验四建立图书借阅数据库一、实验目的1、图书借阅数据库需求分析2、熟悉SQl Server 2008数据库的创建方法3、能够用SQl Server 2008创建数据库表、编辑表数据并分析表间关系并设置完整性二、实验环境Windows 7Microsoft SQl Server 2008三、实验内容熟悉SQl Server 2008的体系结构。
用SQl Server 2008创建图书借阅数据库,创建相关的表,输入和编辑学生图书借阅信息。
建立表之间的关联,实施参照完整性。
(一)图书借阅数据库需求分析能够输入图书的基本信息,包括图书编号、书名、作者、出版社、出版日期、数量等信息。
能够输入和编辑读者的信息,包括读者编号、姓名、专业、院系等信息。
通过系统可借阅或者归还图书。
1.图书信息管理2.读者信息管理3.借阅归还管理(二)图书借阅数据库概念模型设计1.标识实体图书读者2.标识实体属性图书:图书编号、图书名称、作者、出版社、数量、价格、出版时间读者:读者编号、姓名、性别、专业、院系3.标识实体的联系借阅:读者编号、图书编号、借阅日期、还书时间、备注4.设计E-R图(三)图书借阅数据库逻辑模型设计1.实体转换为关系模型图书(图书编号,图书名称,作者,出版社,数量,价格,出版时间)读者(读者编号,姓名,性别,专业,院系)2.联系转化为关系模型借阅(读者编号,图书编号,借阅时间,归还时间,备注)(四)创建图书借阅数据库1.使用图形化界面步骤:数据库->右键->”新建数据库”->设置数据库属性2.使用T_SQL语句T_SQL语句:CREATE DATABASE db_Bookon(NAME='db_Book',Filename='F:\DB\db_Book.mdf',size=5MB,filegrowth=1MB)Log on(NAME='db_Book_log',Filename='F:\DB\db_Book_log.ldf',size=1MB,filegrowth=15%)(五)创建图书借阅数据库表1.使用图形化界面建立读者表、图书表步骤:数据库->表->”新建表”->表设计器设计字段名称、字段类型、空约束等。
图书借阅数据库设计
表5 tbl_BorrowRecord (借阅记录表)
列名 BRID
数据类型 可否为 空
int
not null
BRStuID
char(12) not null
BRBID
char(8) not null
BRDate
Date
not null
BRBackDate
Date
not null
BRRealBackDate Date
期、还书日期、是否超期) – 处罚记录(学生证号、图书条码、管理员编号、处罚
日期、处罚金额) – 管理员(管理员编号、姓名、性别、密码、联系电话)
列名 StuID StuName StuSex StuSchl StuDept StuClass StuDate StuCate
数据类型 char(12) char(10) char(2) char(20) char(20) char(10) date char(4)
列名 ISBN BName BAuthor BCate Publisher PubPlace PubDate Price
表3 tbl_BookInfo (图书信息表)
数据类型
可否为空 数据说明
取值范围
char(13) char(100) char(100)
not null not null not null
列名
数据类型
AdID
char(6)
AdName char(8)
AdSex char(2)
AdPhone char(11)
Password char(13)
可否为空 数据说明 not null 管理员编号(主键) not null 管理员姓名 not null 管理员性别 not null 联系电话 not null 密码
设计一个图书借阅系统的数据库部分,按要求完成下列所有题目
设计一个图书借阅系统的数据库部分,按要求完成下列所有题目本文旨在设计一个图书借阅系统的数据库部分,以下将介绍如何完成下列所有题目。
首先,需要确定数据库部分中需要使用的软件和数据库技术,此外,也要定义表的设计,以及建立表和字段的关系。
在此基础上,可以设计出几个表:一个表专门用于存储图书的基本信息,例如书名、出版社、ISBN码和作者;另一个表用于存储借阅者的基本信息,包括姓名、学号、联系方式等;再一个表用于存储借阅信息,记录每个借阅者借阅的书籍信息,如借阅日期和归还日期。
其次,需要设置合理有效的访问权限,以确保图书借阅系统的正常运行和数据的安全。
在此基础上,可以设计几个用户:一个用于存储图书和借阅信息的普通用户,例如管理员;另一个用于维护和操作数据库的超级用户,如数据库管理员;还可以设置到普通用户的只读权限,即允许他们查看但不能修改图书和借阅信息。
最后,需要编写存储过程和触发器,以保证数据库正确运行并且可以允许用户在正确的情况下借出和归还图书。
可以设计存储过程来计算借阅者借书时应该缴纳的押金,以及判断该借阅者归还书籍的时间是否已超期,以及应该收取的超期罚款。
触发器可以在图书借阅信息发生变化时自动触发,以更新对应的学生或读者信息,这样就可以帮助快速有效地更新借阅信息。
综上所述,设计一个图书借阅系统的数据库部分,需要确定软件和数据库技术,设计表和字段,建立表和字段的关系,设置访问权限,编写存储过程和触发器等。
这些步骤都需要对数据库部分进行详细的分析、设计和调试,以实现有效的图书借阅系统。
本文综述了如何设计一个图书借阅系统的数据库部分,并从实践出发,介绍了软件和数据库技术选择、表设计、访问权限设置、存储过程编写和触发器编写等操作,以实现有效的图书借阅系统。
图书借阅管理系统实验报告
面向对象课程设计报告——图书借阅管理系统班级:学号:姓名:一、课程设计题目图书借阅管理系统二、需求分析1.图书借阅管理系统的概述科学技术的进步和生产的发展使人类知识总量的增长不断加快,生产社会化趋势的扩大和社会对产品需求的多样性使得组织在营运活动中所涉及的内部和外部信息量迅速地膨胀起来。
面对激烈的市场竞争,人们对这些信息进行收集、加工、传递等过程的时间性和准确性提出了更高的要求。
这一切使得传统的手工作业为基础的信息系统陷入了机构日益庞大,效率日益降低的困境。
电子计算机的出现为摆脱这种困境找到了出路。
计算机用于管理信息处理的突出优点是迅速、准确、可靠、具有很大的存储能力,适应于管理信息量大、面宽的特点,适合于管理信息处理及时、准确的要求。
图书借阅管理系统是一个由人和计算机等组成的能够提供信息以支持一个组织机构内部的作业、管理、分析和决策职能的系统。
图书借阅管理系统利用计算机的硬件和软件,手工规程、分析、计划、控制和决策用的模型,以及数据库对信息进行收集、传输、加工、保存和使用。
因此,图书借阅管理系统是一个图书信息处理系统。
图书管理系统需要满足来自图书馆工作人员、普通用户和借阅者三方面人员的需求。
图书馆工作人员对图书借阅者的借阅及还书要求进行操作,同时形成借书或还书报表给借阅者查看确认,还可通过图书编号、借阅者证号等查询相应的借阅情况及查看已归还的图书信息(即历史信息);普通用户的需求是查询图书馆所存的图书的相关情况;图书借阅者的需求是查看自己的相关信息及查询自己的借阅情况。
图书借阅者可直接查看图书馆图书情况,如果图书借阅者根据本人借书证号和密码登录系统,还可以进行本人借书情况的查询和维护部分个人信息。
一般情况下.图书借阅者只应该查询和维护本人的借书情况和个人信息.若查询和维护其他借阅者的借书情况和个人信息.就要知道其他图书借阅者的借书证号和密码。
本功能实现对馆内图书信息的查询。
可以通过图书名称、作者的名字和出版社来查询相应的图书信息,此查询可模糊查询也可精确查询。
图书借阅管理系统实训报告书
郑州轻工业学院实训报告实训名称:图书借阅管理系统数据库设计*名:***院(系):软件学院专业班级:网页设计10-02(理)学号:************指导教师:***成绩:时间:2011年 6 月20日至2011年 6 月24 日目录一:实训任务书·······································二:数据库设计说明书·································1:引言1.1编写目的···································1.2定义·······································1.3参考资料···································2:需求分析2.1用户需求···································2.2功能分析···································2.3数据字典···································2.4数据流图···································3:结构设计3.1概念结构设计·······························3.2逻辑结构设计·······························3.3物理结构设计·······························4:运用设计4.1安全保密设计·······························4.2系统运行与维护·····························三:实训的收获及体会·································郑州轻工业学院软件学院学生实训任务书一、题目“图书借阅管理系统”数据库的设计与实现二、学生信息专业网页设计学号 621013510223 姓名任杰杰三、用户需求及约束条件1.数据库中的数据要能够支持以下功能需求:a)图书管理系统能够实现书籍信息管理、读者信息管理及读者借阅信息管理等功能。
数据库原理——图书馆管理系统实验报告
数据库综合实验报告问题描述1.1背景图书管理系统包括图书馆内书籍的信息、学生的信息和学生的借阅信息。
此系统功能分为面向学生和面向管理员两部分,其中学生可以进行借阅、续借、归还和查询书籍等操作,管理员可以完成书籍和学生的增加,删除和修改以及对学生,借阅、续借、归还的确认.1.2 数据需求本项目需要建立7个表,各功能如下:ID数据表名称数据表用途1 文献信息表图书的文献信息类型2 图书信息表馆藏图书的基本信息3 读者信息表存储读者的基本信息4 借还信息表包括图书的出借、归还和续借等信息5 预约信息表图书预约信息6 参数配置表系统对图书的管理的信息7 用户信息表用户的基本信息,包括权限和密码等1.3 事务需求能够管理图书信息和读者信息。
能够地进行各类图书信息查询。
能够进行各种借书管理,包括预约图书、借书和续借图书等。
给管理人员提供各种图书状态查询和图书流通信息分析功能。
数据库系统设计 2.1 E-R 模型设计文献类型表 PK 分类号分类名称 备注2.2 数据字典1.文献类型表 字段名称数据类型 可否为空 说明分类号 Char (2)主键 分类号为2位 分类名称Nvarchar (50) Not Null分类名称:中文图书、西文图书、中文期刊、西文期刊 备注 Text (16) Null备注2.图书信息表字段名称 数据类型 可否为空说明图书号 Char (12) 主键 图书号=分类号+其他信息 分类号 Char (2) 外键 主表为文献类型表 ISBN 号 Nvarchar (50) Null ISBN 号 题名 Nvarchar (50) Not Null 图书名称 作者 Nvarchar (50) Null 作者姓名图书信息表 PK 图书号 FK1 分类号ISBN 号 题名 作者主题词出版社版次存储日期图书数量 备注预约信息表 PK 预约ID FK2 FK1 读者号 图书号预约日期 预约标志读者信息表 PK 读者号 姓名身份证号 办理日期住址电话 罚款金额 借还信息表 PK 借还ID FK2 FK1 读者号 图书号借书日期 续借日期 还书日期 备注主题词Nvarchar(200)Null 图书简介出版社Nvarchar(50)Null 出版社名称版次Nvarchar(50)Null 出版次数存储日期Datetime(8)Null 存储的日期图书数量Int(4)Not Null 存储的图书数量备注Text(16)Null 图书信息备注3.读者信息表字段名称数据类型可否为空说明读者号Char(10)主键读者号为10位姓名Char(10)Not Null 读者姓名身份证号Char(18)Not Null 身份证号办理日期Datetime(8)Null 办理日期住址Nvarchar(50)Null 住址电话Nvarchar(50)Null 电话罚款金额Float(8) Null4.借还信息表字段名称数据类型可否为空说明借还ID Numberic(9)主键标识种子1、自增1 读者号Char(10)外键主表为读者信息表图书号Char(12)外键主表为图书信息表借书日期Datetime(8)Null 借书日期续借日期Datetime(8)Null 续借日期还书日期Datetime(8)Null 还书日期备注Text(16)Null 借还信息备注5.预约信息表字段名称数据类型可否为空说明预约ID Numberic(9)主键标识种子1、自增1 读者号Char(10)外键主表为读者信息表图书号Char(12)外键主表为图书信息表预约日期Datetime(8)Null 预约日期预约标志Char(10)Null 预约中、取消、已处理6.参数配置表字段名称数据类型可否为空说明借书时限Int(4)Not Null 借书的最长时间续借时限Int(4)Not Null 续借的最长时间最大借书量Int(4)Not Null 最大借书数目7.用户信息表字段名称数据类型可否为空说明用户ID Char(10)主键10位的用户ID用户名称Char(10)Not Null 用户名称用户类别Char(10)Not Null 读者、工作人员、管理人员密码Char(10)Not Null 密码为10位权限Text(16)Null 权限信息身份证号Char(18)Not Null 身份证号住址Nvarchar(50)Null 住址电话Nvarchar(50)Null 电话2.3 创建数据库在 Microsoft SQL Sever 2000 的环境下创建图书管理系统数据库及其需要的各种信息表打开SQL Server企业管理器,新建一个数据库,数据库名为“图书管理系统”然后在该数据库中创建需要的各种数据库表,最后按照数据字典建立表的关联。
图书馆借阅系统数据库设计
南昌航空大学实验报告二016 年3 月28日课程名称: 数据库原理实验名称:图书馆借阅系统班级: 14207218 姓名: 胡合达同组人:指导教师评定:签名:一、实验环境1.Windows2000或以上版本;2.SQLServer 2005。
二、实验目的了解并掌握数据库设计基本方法三.系统需求分析1.设计本系统模拟学生在图书馆借阅图书的内容,能够实现以下功能:借阅信息的查询功能;图书信息的多关键字检索查询;图书的出借、返还及超期罚款;2、能够提供一定的安全机制,提供数据信息授权访问,防止随意删改、查询。
3.对查询、统计的结果能够列表显示。
4、处理对象:学生,馆藏图书信息,借阅信息,罚款信息,借阅历史5、安全性要求系统安全性要求体现在数据库安全性、信息安全性与系统平台的安全性等方面。
安全性先通过视图机制,不同的用户只能访问系统授权的视图,这样可提供系统数据一定程度上的安全性,再通过分配权限、设置权限级别来区别对待不同操作者对数据库的操作来提高数据库的安全性;系统平台的安全性体现在操作系统的安全性、计算机系统的安全性与网络体系的安全性等方面。
6、完整性要求系统完整性要求系统中数据的正确性以及相容性。
可通过建立主、外键,使用check约束,或者通过使用触发器与级联更新。
四.概念结构设计系统开发的总体目标就是实现图书馆管理的系统化与自动化,缩短借阅者的等待时间,减轻工作人员的工作量,方便工作人员对它的操作,提高管理的质量与水平,做到高效、智能化管理,从而达到提高图书管理效率的目的。
概念设计阶段主要就是将需求分析阶段得到的用户需求抽象为信息结构(概念模型)的过程,它就是整个数据库设计的关键。
图书借阅系统的E-R图1m1 n m nE -R 图各实体的属性如下所示:图书:Book(BookI D, B ookNo, B ookN ame, B oo kWriter, BookPublish,, B ookDate,Boo kClas s,Boo kSta te,馆室BookRNo)读者:Reader(ReaID,ReaName,ReaSex,ReaNo,ReaLBID, ReaDep, ReaGrade, ReaPref, ReaDate,Reasx)管理员: Maneger (MID,MName,MSex)馆室: Room(RoomNo,RoomMID,RoomNum,RoomAddre)借阅信息:Borrow(BookID,ReaderID,BookName,BookWriter, Outdat e,YHdate)借阅历史:History(BookID,ReaderID,BookName,BookWriter, Outdate,Indate,YHdate)罚款信息:Fine (BookID,ReaderID,BookName,Outdate,Indate,Fine, CLState,MI D)五.逻辑结构设计以上的概念设计阶段就是独立于任何一种数据模型的,但就是逻辑设计阶段就与选用的DBMS产品发生关系了,系统逻辑设计的任务就就是将概念设计阶段设计好的基本E-R图转换为选用DBMS产品所支持的数据模型相符合的逻辑结构。
图书借阅管理系统实训报告
5
4
3
2
评阅教师评审成绩
(加权分合计乘以8)
分
加权分合计
评 阅 教 师 签 名:
年 月 日
课 程 设 计 总 评 成 绩
分
沈 阳 工 程 学 院信息学院
程序设计基础课程设计成绩评定表
系(部):数字媒体理论与工程系班级:数媒141学生姓名:张晨
指 导 教 师 评 审 意 见
评价
内容
具 体 要 求
本系统使用Microsoft Visual Studio 2010开发工具和SQL SERVER 2005数据库,一方面使用SQL语句来完成数据库后台操作,另一方面运用VS语言来实现前台网页的操作,将这两方面结合起来,在网页中展示整个图书管理系统的数据操作。此系统功能分为面向读者和面向管理员两部分,其中读者可以进行查询书籍及查询借还情况等操作,管理员可以完成图书和读者的添加,删除,删除,修改,统计,用户管理和备份与恢复。
加权分
调研
论证
能独立查阅文献,收集资料;能制定课程设计方案和日程安排。
0.1
5
4
3
2
工作能力
态度
工作态度认真,遵守纪律,出勤情况是否良好,能够独立完成设计工作,
0.2
5
4
3
2
工作量
按期圆满完成规定的设计任务,工作量饱满,难度适宜。
0.2
5
4
3
2
说明书的质量
说明书立论正确,论述充分,结论严谨合理,文字通顺,技术用语准确,符号统一,编号齐全,图表完备,书写工整规范。
调试及运行
4
第4天
成绩评定
5
第5天
撰写课程设计说明书
图书借阅管理系统课程设计
图书借阅管理系统课程设计一、课程目标知识目标:1. 让学生掌握图书借阅管理系统的基础知识,理解系统的主要功能模块及其工作原理。
2. 使学生了解数据库的基本概念,学会使用基本的SQL语句进行数据操作。
3. 帮助学生掌握程序设计的基本方法,能够运用所学知识解决实际问题。
技能目标:1. 培养学生运用计算机技术设计并实现图书借阅管理系统的能力。
2. 培养学生运用数据库技术进行数据管理的能力,包括数据查询、插入、删除和修改等。
3. 培养学生运用程序设计方法解决实际问题的能力,提高学生的编程实践能力。
情感态度价值观目标:1. 培养学生对图书借阅管理系统的兴趣,激发学生学习计算机技术的热情。
2. 培养学生合作意识,学会与他人共同探讨、解决问题,培养团队协作精神。
3. 培养学生严谨、踏实的学术态度,注重实践,养成良好的编程习惯。
课程性质:本课程属于信息技术学科,结合实际应用,培养学生的编程能力和数据库管理能力。
学生特点:学生具备一定的计算机操作基础,对编程和数据库有一定了解,但对实际应用系统的设计和实现相对陌生。
教学要求:结合学生特点,注重实践操作,让学生在实际操作中掌握知识,提高能力。
通过课程学习,使学生能够独立设计并实现图书借阅管理系统,培养其解决实际问题的能力。
同时,关注学生的情感态度和价值观培养,使其在学习过程中形成良好的学习习惯和团队协作精神。
将课程目标分解为具体学习成果,以便后续教学设计和评估。
二、教学内容1. 系统需求分析:讲解图书借阅管理系统的需求分析,包括功能模块划分、用户角色定义等。
教材章节:第一章 系统分析与设计2. 数据库设计:介绍数据库的基本概念,讲解图书借阅管理系统数据库的设计方法,包括表结构设计、关系定义等。
教材章节:第二章 数据库设计3. 程序设计基础:讲解程序设计的基本方法,包括编程语言的选择、程序结构设计等。
教材章节:第三章 程序设计基础4. 功能模块实现:分析图书借阅管理系统各功能模块的实现方法,包括用户登录、图书查询、借阅操作等。
图书借阅系统数据库设计实验报告
华北科技学院计算机系综合性实验实验报告课程名称网络数据库实验学期 2013 至 2014 学年第 1 学期学生所在系部计算机学院年级 2011级专业班级网络工程学生学号任课教师实验成绩计算机系制实验报告须知1、学生上交实验报告时,必须为打印稿(A4纸)。
页面空间不够,可以顺延。
2、学生应该填写的容包括:封面相关栏目、实验地点、时间、目的、设备环境、容、结果及分析等。
3、教师应该填写的容包括:实验成绩、教师评价等。
4、教师根据本课程的《综合性实验指导单》中实验容的要求,评定学生的综合性实验成绩;要求在该课程期末考试前将实验报告交给任课教师。
综合性实验中,所涉及的程序,文档等在交实验报告前,拷贝给任课教师。
任课教师统一刻录成光盘,与该课程的期末考试成绩一同上交到系里存档。
5、未尽事宜,请参考该课程的实验大纲和教学大纲。
《网络数据库》课程综合性实验报告8.数据库安全设计根据系统需求作必要的数据库安全设计,如本系统分几级用户、分别是什么角色成员具有什么操作权限等。
四、实验结果及分析1.数据库设计(1)设计思想:图书借阅系统主要涉及业务为读者借阅图书、读者归还图书,涉及主要实体包括:读者、图书。
因此针对图书、读者、借阅、历史借阅设计文件组。
在实际实现中,可以为每一个文件组指定一个磁盘驱动器,然后将特定的表、索引等与该文件组相关联,对这些表的存储、查询、修改操作都在该文件组中,使用四个文件组可以提高文件组中表中数据的查询性能。
(2)具体实现:设计包含一个主文件组(PRIMARY),四个用户定义文件组(MyDB_FG1、MyDB_FG2、MyDB_FG3、MyDB_FG4)。
其中主文件组中存放主数据文件 MBook203.mdf,用户定义文件组1、2、3、4分别存放四个辅助数据文件(MyDB_FG1_Data1.ndf、MyDB_FG2_Data1.ndf、MyDB_FG3_Data1.ndf、MyDB_FG4_Data1.ndf)。
图书借阅系统数据库设计
一、系统综合设计:学生网上综合系统能够实现学籍信息、选课信息、成绩查询三种功能。
其中选课信息主要为课表显示(分为必修课、限选课和任选课),成绩查询包括已修课程(包括必修课成绩表、限选课成绩表、任选课成绩表)、本学期成绩表和不及格成绩表。
二、报表设计—列出字段:
(一)
业
【课程名】【课程号】【课程属性】【上课时间】
(三)
(五)
三、数据设计—列出字段学生信息
本来课程表中包含课序号这一字段,与课程号一起作为主关键字,但考虑到在我创建的教务系统中不会输入过多的课程信息,因此取消课序号这一字段,选择课程号这一字段作为主关键字。
四、表设计及其之间的联系
五、字段设计—数据输入规则及有效性验证
学号:char(12) 成绩:int
姓名:char(20) 性别:char(5)
上课时间:char(20) 专业:char(20)
入学日期:datetime 课程名:char(20)
学分:int 课程号:char(10)
七、菜单设计。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验四建立图书借阅数据库
一、实验目的
1、图书借阅数据库需求分析
2、熟悉SQl Server 2008数据库的创建方法
3、能够用SQl Server 2008创建数据库表、编辑表数据并分析表
间关系并设置完整性
二、实验环境
Windows 7
Microsoft SQl Server 2008
三、实验内容
熟悉SQl Server 2008的体系结构。
用SQl Server 2008创建图书借阅数据库,创建相关的表,输入和编辑学生图书借阅信息。
建立表之间的关联,实施参照完整性。
(一)图书借阅数据库需求分析
能够输入图书的基本信息,包括图书编号、书名、作者、出版社、出版日期、数量等信息。
能够输入和编辑读者的信息,包括读者编号、姓名、专业、院系等信息。
通过系统可借阅或者归还图书。
1.图书信息管理
2.读者信息管理
3.借阅归还管理
(二)图书借阅数据库概念模型设计
1.标识实体
图书
读者
2.标识实体属性
图书:图书编号、图书名称、作者、出版社、数量、价格、
出版时间
读者:读者编号、姓名、性别、专业、院系
3.标识实体的联系
借阅:读者编号、图书编号、借阅日期、还书时间、备注
4. 设计E -R 图
图书
读者
借阅
借阅日期
归还日期
备注
n
m
作者
单价
出版社
出版日期
库存数量
书名
图书编号
读者编号
读者姓名
性别
专业
院系
(三)图书借阅数据库逻辑模型设计
1.实体转换为关系模型
图书(图书编号,图书名称,作者,出版社,数量,价格,出
版时间)
读者(读者编号,姓名,性别,专业,院系)
2.联系转化为关系模型
借阅(读者编号,图书编号,借阅时间,归还时间,备注)
(四)创建图书借阅数据库
1.使用图形化界面
步骤:数据库->右键->”新建数据库”->设置数据库属性
2.使用T_SQL语句
T_SQL语句:
CREATE DATABASE db_Book
on
(
NAME='db_Book',
Filename='F:\DB\db_Book.mdf',
size=5MB,
filegrowth=1MB
)
Log on
(
NAME='db_Book_log',
Filename='F:\DB\db_Book_log.ldf',
size=1MB,
filegrowth=15%
)
(五)创建图书借阅数据库表
1.使用图形化界面建立读者表、图书表
步骤:数据库->表->”新建表”->表设计器设计字段名称、字
段类型、空约束等。
2.使用T_SQL语句建立借阅表
T_SQL语句:
USE db_Book
CREATE TABLE TB_record(
ReaderId nchar(6)not null,
BookId nchar(6)not null,
BorrowDate date not null,
ReturnDate date,
Notes nvarchar(50),
primary key(ReaderId,BookId)
)
(六)修改图书借阅数据库表
1.修改TB_BOOKINFO中“BookName”字段的长度为30。
T_SQL语句:
USE db_Book
alter table TB_BOOKINFO alter column BookName nchar(30)not null
2.删除TB_BOOKINFO中“Price”字段。
T_SQL语句:
alter table TB_BOOKINFO drop column Price l
3.在TB_BOOK中添加“Price”字段。
T_SQL语句:
alter table TB_BOOKINFO add Price money
4.在tb_Reader中添加“Age”、“Max_Count”字段,数据类型
均为int。
T_SQL语句:
alter table tb_Reader
add age int,
Max_Count int
5.修改tb_Reader中“Age”、“Max_Count”字段,数据类型均
为tinyint。
T_SQL语句:
alter table tb_Reader
alter column age tinyint
alter table tb_Reader
alter column Max_Count tinyint
6.将tb_Reader中“Age”、“Max_Count”字段删除。
T_SQL语句:
alter table tb_Reader
drop column age,
Max_Count
(七)设置图书借阅数据库完整性
1.为tb_Record表创建主键。
步骤:右击tb_Record->“设计”-> BookID设为主键
T_SQL语句:
alter table tb_BookInfo add
Constraint Book_PK
primary key(BookID)
2.为tb_Record表创建外键约束。
步骤:“数据库关系图”右键->新建“数据库关系图”->添加表设置相应外键
T_SQL语句:
alter table tb_Record add
Constraint Record_FK_BookID
foreign key(BookID)references tb_BookInfo(BookID),
Constraint Record_FK_ReaderId
foreign key(ReaderId)references tb_Reader(ReaderId)
3.为tb_Reader表中的“Sex”字段创建默认约束,默认值为“女”。
步骤:
T_SQL语句:
alter table tb_Reader
add constraint df_tb_Reader_Sex
default'女'for Sex
4.为tb_Record表中的“BorrowDate”字段创建默认约束,默认值
为系统当前日期。
步骤:
T_SQL语句:
alter table tb_Record
add constraint df_tb_Record_BorrowDate
default getdate()for BorrowDate
5.为tb_Reader表中的“Sex”字段创建检查约束,检查输入的数据
是否为“男”或者“女”。
步骤:
T_SQL语句:
alter table tb_Reader
add constraint ck_tb_Reader_Sex check(sex='男'or sex='女')
6.为tb_Reader表中的“ReaderId”字段创建检查约束,检查输入
的数据是否为数字。
步骤:
T_SQL语句:
alter table tb_Reader
add constraint ck_tb_Reader_ReaderId check(ReaderId like
'[0-9][0-9][0-9][0-9][0-9][0-9]')
7.为图书借阅数据库创建一个名为Range的规则,使得使用该规则
的列值不大于10。
步骤:
T_SQL语句:
create rule range
as
@value<=10
8.将规则Range绑定到tb_BookInfo表的“Total”上。
T_SQL语句:
exec sp_bindrule'range','tb_BookInfo.Total'
9.将规则Range删除。
T_SQL语句:
DROP RULE RANGE
(八)录入和编辑表数据
1.录入三张表的数据。
2.插入TP0005的图书数据。
(课本120页)
T_SQL语句:
insert into tb_BookInfo
values
('TP0005','数据库原理及其应用教程','黄德才',36.00,'科学出版社','2011-6-1',8)
3.将编号为TP0005的图书数量修改为9。
T_SQL语句:
update tb_BookInfo
set Total=9
where BookId='TP0005'
4.要求将编号为TP0005的图书删除。
T_SQL语句:
delete from tb_BookInfo where BookId='TP0005'
四、实验心得
1.实验中出现的问题及解决的方法
2.心得体会
3.下一步的改进。