- 1、本文档共11页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
本科创新实验报告
实验题目: 图书管理系统设计
学生姓名:
杨正平
学
专
号:
业:
20071060218
计算机科学与技术
指导教师:
胡茂
评分(百分制):
登录预定书籍
登录
预定书籍
注销
续借书籍
查询书籍
登录
书籍信息维护
学生信息维护
借阅图书确认
归还图书确认
注销
图书管理系统设计实验报告
实验目的:通过完成从用户需求分析、数据库设计到上机编程、调试和应用等全过程,进 一步理解和掌握教材中的相关内容。
实验原理:一个简单的图书管理系统包括图书馆内书籍信息、学校在校学生的信息以及学 生的借阅信息。此系统功能分为面向学生和面向管理员两部分,其中面向学生部分可以进 行查询和续借书籍等操作,面向管理员部分可以完成书籍和学生的增加、删除和修改以及 对学生借阅、归还的确认。
实验内容:利用 SQL 知识设计一个简单图书管理系统。
实验步骤:
需求分析:
1.学生操作流程如图:
2.管理员
管理员可以完成书籍和学生的增加、删除和修改以及对学生借阅、续借、归还的确认, 其操作流程如图:
概念模型设计:
数据库需要表达的信息有以下几种: 1.图书信息
学生信息
管理员信息
学生图书管理员
学生
图书
管理员
4.学生借阅归还图书信息 模型的 E--R 图如图示
姓名
学号
性别
预订
续借
书号
书名
借阅
归还
作者
语种
出版社
出版年
编号
逻辑设计:
通过 ER 模型到关系模型的转化,可以得到如下关系模式: (9)Book(BookID,Title,Author,Publisher,Pyear,Language) (10)Student(ID,Name,Dept)
(11)Assistent(ID,Name)
姓名
Bbook(BookID,StdID,BDate)
Rbook(BookID,StdID,RDate)
Lend(StdID,AstID,BookID,LDate)
Return(SdID,AstID,BookID,RDate)
说明
(1)书号是图书的键码,每本书有唯一的书号,一个学生可同时借阅多本书, 一个管理员可处理多个同学的借阅等事宜。
(2)一般情况下,学生、管理员和图书之间的联系为 1:1:n,借书关系 Lend 作 为连接关系,其键码为 n 端实体集的键码,即书号作为借书关系的键码。这反 映了如果还书时也把当出的借书记录删除,则书号就能唯一识别一个元组。
如果还书时不同时删除借书记录,则意味着同一本书前后可借给不同的学生 ,于是学生、管理员和图书之间的联系变为 m:1:n,这时借书关系的键码为 书号和学生的组合。
如果在不删除借书记录的情况下,同一学生再次借同一本书,这时,学生、 管理员和图书之间的联系变为 m:p:n,于是,借书关系键码为书号、学号和 管理员号的组合。但其中包含隐含信息,即同一学生前后两次借同一本书所遇 到的管理员不同,而这种不同可能仅仅是“日期”不同。因此,借书日期成了 必不可少的成分,也就是说,在这种情况下,属性全集才是借书关系的键码。
(3)要知道图书当前的状态,是在图书馆存放还是被借阅等,需要在 Book 的模式中增加对应项用以表示图书当前状态。比如我们增加 state,并约 定取值和状态的对应关系如下:
0:在图书馆中并且没有被预订
:在图书馆中并且已被预订
:被借出并且没有被预订
:被借出并且已被预订
物理设计
为了提高在表中搜索远元祖的速度,在实际实现的时候应该基于键码建立索引。 下面是各表中建立索引的表项:
Book(bookID)
Student(ID)
1、建立 book 表
CREATE TABLE Book(
BookID varchar(20)
PRIMARY KEY,
Tille varchar(50)
NOT NULL,
Author varchar(50),
Publisher varchar(50),
Pyear char(4),
Language char(1),
DEFAULT’c’,
State char(1)
DEFAULT’0’
);
2、建立 student 表
CREATE TABLE Student(
ID char(6)
PRIMARY KEY,
Name varchar(20)
NOT NULL,
Dept varchar(20)
NOT NULL
);
3、建立 assistent 表
CREATE TABLE assistent(
ID char(6)
PRIMARY KEY,
Name varchar(20)
NOT NULL,
);
4、建立 BBook 表
CREATE TABLE BBook(
BID varchar(20)
NOT NULL,
StdID c
文档评论(0)