图书馆管理系统word版学习资料Word格式文档下载.docx
《图书馆管理系统word版学习资料Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《图书馆管理系统word版学习资料Word格式文档下载.docx(15页珍藏版)》请在冰点文库上搜索。
系统数据字典
经过对汽车租赁系统业务处理过程的调研,得到系统的数据字典如下所示:
a)数据项:
图书号;
含义说明:
每本书籍的唯一标识
别名:
书籍编号
类型:
int型
长度:
8
取值范围:
00000000至99999999
取值含义:
前两位标别该书籍的分类,后六位按照汉语拼音排序
数据项:
书名;
书籍代号
无
字符型
作者为本书所起的名字,简要的说明了这本书的内容是描写那个方面的。
b)数据结构:
读者
读者是图书馆管理子系统的主体数据结构,定义了一个读者的有关信息
组成:
读者编号号,姓名,性别,年龄,联系方式,可借阅数量.
c)数据流:
借阅书籍
说明:
读者借阅书籍所需遵守的规则
数据流来源:
借阅书籍
数据流去向:
允许借阅
组成:
读者,管理员,书籍,
平均流量:
30次
高峰期流量:
50次
d)数据存储:
读者信息表
说明:
记录读者的个人基本信息
流入数据流:
读者个人信息采集表
流出数据流:
读者个人信息正式表
读者编号,姓名,性别,年龄,联系方式,可借阅书籍量。
数据量:
每年5000张
存取方式:
随机存取
二、概念模型设计
三:
逻辑结构
图书借阅管理系统
有实体:
书籍(图书号、分类、书名、作者)
复本(图书号、复本号)
员工(工号、姓名、性别、出生年月)
读者(阅读证号,姓名,性别,联系电话)
部门(部门号、部门名称、电话)
出版社(出版社名、地址、电话、联系人)
实体之间联系:
书籍与复本之间有属于关系,是一对多的。
复本与读者之间有借阅关系,是多对多的。
员工与部门之间有属于关系,是一对多的。
书籍与出版社之间有出版关系,是一对多的。
关系模式
书籍(图书号、分类、书名、作者、出版社名#、价格、复本数量)
复本(图书号、复本号、出借状态)
员工(工号、部门号#、姓名、性别、出生年月)
借阅(工号#、图书号#、复本号、借阅日期、应归还日期)
四:
物理设计
五、系统实现代码
创建数据库代码:
createdatabase图书馆管理系统
创建表代码:
A表
Createtablea
(
IDINTnotnull,
NAMECHAR(30)notnull,
WRITERCHAR(10)notnull,
GROUp1CHAR(10)notnull,
CNAMECHAR(20)notnull,
MONEYSINTnotnull,
FNUMINTnotnull,
FIDINTnotnull,
FNOWCHAR(10)notnull,
Primarykey(ID,fid),
foreignkey(CNAME)referencesf(name)
)
B表
Createtableb
NAMECHAR(10)notnull,
sexCHAR(3)notnull,
ageintnotnull,
NUMINTnotnull,
telintnotnull,
Primarykey(id),)
C表
Createtablec
dnumINTnotnull,
idintnotnull,
fidintnotnull,
jdatedatetimenotnull,
hdatedatetimenotnull,
Primarykey(dnum),
foreignkey(id,fid)referencesa(ID,FID),
foreignkey(dnum)referencesb(id))
D表
Createtabled
bnumINTnotnull,
Primarykey(NAME,bnum)
)
E表
Createtablee
borndatetimenotnull,
ageint,
foreignkey(num)referencesd(bnum))
F表
Createtablef
namechar(20)notnull,
addreCHAR(20)notnull,
peoplechar(10)notnull,
Primarykey(name),
创建约束的代码:
altertablea
addconstraintc1check(idbetween00000and99999)
altertablee
addconstraintc2check(dnumbetween0000and2999)
addconstraintc3check(sexin('
男'
'
女'
))
创建视图的代码:
CreateVIEWaa(图书号,分类,书名,价格,复本号,出借状态)
AS
SELECTID,GROUP1,NAME,moneys,Fid,FNOW
FROMa
创建触发器的代码:
Createtriggera_禁止修改姓名
ona
forupdate
as
ifupdate(writer)
beginprint'
作者姓名不能被修改'
rollbacktransaction
end
Createtriggera_插入
afterinsertona
FOREACHROW
asBEGIN
insertINTOAVALUES
(NEW.ID,new.name,new.writer,new.group1,ame,new.moneys,
new.fnum,new.fid,new.fnow)
selectcname,name
froma,f
whereame=f.nameif(ame!
=f.name)
请现在f表中插入此出版社’
rollbacktransaction
end
授予权限的代码
createlogin图书管理员
withpassword='
123456'
createuser图书管理员
fromlogin图书管理员
grantupdate
to图书管理员
createlogin图书管馆长
createuser图书管馆长
fromlogin图书管馆长
grantselect
ona,b,c,e,f
to图书管理员
查询代码:
selectjdate,hdate
fromc
whereID=10001
selectavg(age)平均年龄
frome
wherenum=1
selectname,cname,AVG(moneys)平均价格
froma
GROUPbyname,cname