数库应系统开发课程设计文
题 目:图书理系统数库设计
学 号:
专业班级:
信级(X)班
姓 名:
魏 金 风
指导老师:
完成日期:
2007
摘
计算机日益普天言采套行效图书理系统理书籍会方便许图书理部门言前单手工检索已满足求投入量力财力高效理效率便图书资料理需效图书理软件减轻工作员工作量方便工作员操作提高理质量水做高效智化理达提高图书阅信息理效率目采数库技术生成图书馆阅理系统会极方便阅者简化图书馆理员工作员劳动工作员繁忙复杂工作进入简单高效工作中基问题开发学图书馆阅系统系统采CS模式实现书方便高效性效性时性文通作者设计开发中型高校图书馆理系统实践阐述高校图书理软件中应具基功设计实现
关键字:图书阅员理图书维护
目 录
1.引言 1
2 需求分析阶段 2
21 引言 2
22 需求分析阶段目标务 2
221处理象 2
222处理功求 3
223安全性完整性求 3
23 需求分析阶段成果 3
3 概念设计阶段 9
31 引言 9
32 务目标 10
33 阶段结果 10
4.逻辑设计阶段 12
41逻辑设计务目标 12
42数组织 12
421ER图转换关系模型 12
422模型优化 13
423数库模式定义 13
424 户子模式定义 15
43数处理 16
5.物理设计阶段 17
51物理设计阶段目标务 17
52数存储方面 17
53系统功模块 17
531 读者基信息查询更新模块 17
532 图书基信息查询更新模块 18
6.数库实施阶段 19
61建立数库数表视图索引 19
611 建立数库 19
612 建立数表 19
613 建立视图 21
614 建立索引 21
615 建立触发器 22
62数入库 22
63创建功存储程 22
7.系统调试测试 23
8.实心 23
9.存问题建议 23
致谢 25
参考文献 25
附录1 存储程定义 26
附录2 数查存储程功验证 29
附录3 SQL运行语句 34
1.引言
着社会信息量日俱增职场竞争日趋激烈越越更关注知识积累力培养作信息存储媒体图书数量规模时候图书理部门需方便效方式理书籍
计算机日益普天言采套行效图书理系统理书籍会方便许图书理部门言前单手工检索已满足求便图书资料理需效图书理软件日益扩图书馆查找特定书目总阅者工作员劳神费力时没结果投入量力财力高效理效率缩短阅者等时间减轻工作员工作量方便工作员操作提高理质量水做高效智化理达提高图书阅信息理效率目采数库技术生成图书馆阅理系统会极方便阅者简化图书馆理员工作员劳动工作员繁忙复杂工作进入简单高效工作中
文高校图书馆理系统理系统开发程背景全文分目录需求分析概设计逻辑设计物理设计系统实现等全程程序设计调试采逐步细化逐步完善原采结构化功模块设计系统功读性易扩充基功全面系统读性易维护更新安全性
2 需求分析阶段
21 引言
进行系统设计首先系统现状进行分析根系统目标需求功制定选择较系统方案达合理优化系统学校图书馆初图书数量种类较少工手动理较方便灵活着社会发展图书数量种类越越工手动理会降低工作效率希建立图书理系统解决工手动理图书信息实践问题达系统化规范化标准化水该系统建立理者带方便节省工作时间提高工作效率
需求分析弄清户开发数库应系统确切求数库设计第步明确数库目说需数库中信息明确目确定您需保存题信息(表)题需保存信息(表中字段)
构造系统时首先需求出发构造数库表然数库表结合需求划分系统功模块样系统分解成系统里系统层次划分四部分:图书维护员信息理图书阅理信息查询够实现功:
进行新书入库现图书信息修改删
② 够实现读者基信息查询编辑理
③ 够进行超期罚款功
④ 够进行阅信息查询功
22 需求分析阶段目标务
221处理象
读者信息:读者编号姓名性学号学院专业年级类型类编号
办证日期
理员信息:理员编号姓名性权限登录口令住址电话
馆藏图书信息:图书编号索书号图书名称作者出版社单价摘关键字副数分类出版日期状态
阅信息:图书编号读者编号图书名作者阅日期日期日期应日期罚金
阅历史信息:图书编号读者编号图书名作者阅日期书日期
罚款信息:读者编号图书编号图书名作者阅日期应日期日期罚款金额处理状态理员编号
222处理功求
1.够存储定数量图书信息方便效进行相应书籍数操作理包括:
1) 图书信息录入删修改
2) 图书信息关键字检索查询
3) 图书出返超期罚款丢失赔偿
2.够定数量读者理员进行相应信息存储理中包括:
1) 读者信息登记删修改
2) 理员信息增加删修改
3) 读者资料统计查询
3.够提供定安全机制提供数信息授权访问防止意删改查询
4.查询统计结果够列表显示
223安全性完整性求
1) 安全性求
系统安全性求体现数库安全性信息安全性系统台安全性等方面安全性先通视图机制户访问系统授权视图样提供系统数定程度安全性通分配权限设置权限级区操作者数库操作提高数库安全性系统台安全性体现操作系统安全性计算机系统安全性网络体系安全性等方面
2) 完整性求
系统完整性求系统中数正确性相容性通建立外键check约束者通触发器级联更新
23 需求分析阶段成果
231 体会收获
系统需求分析通校图书理员咨询请教解校图书馆理规运行机制通网搜索关图书理系统知识解图书理现状理中问题第次做样需求调查开始总觉手知道该解该清楚方面知识绘制系统业务流程图时遇问题通老师帮助指导遍遍分析完善逐步业务弄清楚终利完成需求分析阶段务
232 图书理系统业务流程图
图21 业务流程图
读者角度考虑业务流程图:
233 图书理系统数流程图
图 22 顶层数流
顶层数流图:
第2层数流图:(读者阅读者书读者查询理员查询理员修改)
第3层数流图:(读者阅)
第3层数流图:(读者书)
第3层数流图:(查询图书信息查询读者信息查询阅历史查询罚款信息)
第3层数流图:(理员添加删修改图书信息)
第3层数流图:(理员添加删修改读者信息)
第3层数流图:(理员添加删修改系统户信息)
234 图书理系统数字典
(a)数项:系统涉数项44项
表11 数项列表
数项编号
数项名
数项含义
数项关系
存储结构
名
DI1
BookID
图书条码号
char(9)
条码号
DI2
BookNo
图书索书号
char(10)
索书号
DI3
BookName
图书名
char(20)
书名
DI4
BookWriter
图书作者
char(8)
作者
DI5
BookPublish
图书出版社
char(20)
出版社
DI6
BookPrice
图书单价
char(7)
单价
DI7
BookDate
图书出版日期
Date
出版日期
DI8
BookClass
图书分类
char(20)
类
DI9
BookMain
图书摘
char (200)
摘
DI10
BookPrim
图书关键字
char (30)
关键字
DI11
BookCopy
图书副数
char (5)
副数
DI12
BookState
图书否
char(10)
状态
DI13
BookRNo
属馆室号
RoomNo
char(5)
馆室号
DI14
ReaID
读者条码号
char(9)
条码号
DI15
ReaName
读者姓名
char(10)
姓名
DI16
ReaSex
读者性
char(2)
性
DI17
ReaNo
读者学号
char (9)
学号
DI18
ReaLBID
读者类编号
LBID
char(5)
类编号
DI19
ReaType
读者类型(职务)
char(20)
类型
DI20
ReaDep
读者学院
char(20)
学院
DI21
ReaGrade
读者属年级
char(5)
年级
DI22
ReaPre
读者读专业
char(20)
专业
DI23
ReaDate
读者办证时间
Date
办证时间
DI24
OutDate
阅日期
Date
阅时间
DI25
InDate
日期
Date
时间
DI26
YHDate
应日期
Date
应时间
DI27
Fine
罚款金额
char(3)
罚款金额
DI28
CLState
否交纳罚金
char(8)
处理状态
DI29
LBID
类编号
ReaLBID
char(5)
类编号
DI30
LBName
读者类名
char(20)
类名
DI31
LBnum
允许书数量
char(5)
阅数量
DI32
LBbqx
允许长持时间
char(4)
阅期限
DI33
LBqx
阅卡效期
char(3)
效期限
DI34
MID
理员编号
RoomMID
char(10)
编号
DI35
MName
理员姓名
char(10)
姓名
DI36
MSex
理员性
char(2)
性
DI37
Mpwd
理员口令
char(8)
口令
DI38
MAuth
理员权限级
char(4)
权限级
DI39
MTeleph
理员电话
char(15)
电话
DI40
MAddre
理员址
char(30)
住址
DI41
RoomNo
馆室号
BookRNo
char(5)
馆室号
DI42
RoomMID
馆室理员编号
MID
char(10)
编号
DI43
RoomNum
馆室图书数目
char(5)
数量
DI44
RoomAddre
馆室址
char(20)
址
(b)数结构:
表12 数结构列表
数结
构编号
数结构名
数结构
含义
组成
DS1
Book
馆藏图书信息
BookIDBookNoBookNameBookWriter
BookPublishBookPriceBookDateBookClass BookMainBookPrimBookCopyBookState
BookRNo
DS2
Reader
读者信息
ReaID ReaName ReaSex ReaNo ReaLBID ReaType ReaDep ReaGrade ReaPref ReaDate
DS3
Borrow
阅信息
BookIDReaIDBookNameBookWriter OutdateYHdate
DS4
History
阅历史
BookIDReaIDBookNameBookWriter OutdateIndate
DS5
Fine
罚款信息
BookIDReaIDBookNameOutdateIndateFine CLStateMID
DS6
ReaderType
读者类
LBID LBName LBnum LBbqx LBqx
DS7
Maneger
理员信息
MIDMNameMSexMpwdMAuthMTelephMAddre
DS8
Room
馆室信息
RoomNO RoomMID RoomNum RoomAddre
235 处理逻辑描述
表13 处理逻辑列表
处理编号
处理功
处理程
PR1
判断读者查询涉功模块
馆藏图书信息模块读者信息模块读者类信息模块阅信息模块阅历史信息模块罚款信息模块理员模块馆室信息模块:
先确定查询涉功模块然根查询容确定查询数流显示查询结果
PR2
判断图书读者修改涉模块时相应修改数传相应模块中
馆藏图书信息模块读者信息模块读者类信息模块理员信息模块馆室信息模块:
先确定更新涉功模块然更新信息传送相应模块中进行相应更新操作
3 概念设计阶段
31 引言
系统开发总体目标实现图书馆理系统化动化缩短阅者等时间减轻工作员工作量方便工作员操作提高理质量水做高效智化理达提高图书理效率目
务读者信息理员信息图书资料信息阅信息图书信息罚款信息基信息操作外理
概念设计阶段需求分析阶段户需求抽象信息结构(概念模型)程整数库设计关键
32 务目标
(1)选择中层数流切入点通常选择实际系统中子系统
(2)设计分ER图子模块ER图
(3)生成初步ER图通合方法做子系统实体属性联系统
(4)生成全局ER图通消突等方面
图书理系统中第3层数流程图手分析3层数流图数字典知道整系统功围绕读者理员图书处理根实体属性间两条准:作属性具需描述性质属性实体具联系数流程图24 图25图26综合成阅子系统分ER图31数流程图27抽象分ER图32数流程图28抽象分ER图33数流程图29抽象分ER图34然采逐步集成方式分ER图合消必冗余突生成基ER图35
33 阶段结果
(1)根象第3层数流程图入手分画出分E-R图:
(a)数流程图图(三) 图(四)抽象出分E-R图:
(c)数流程图图(六)抽象出分E-R图:
(d)数流程图图(七)抽象出分E-R图:
(e)数流程图图(八)抽象出分E-R图:
(2)合分E-R图消属性突命名突结构突等三类突初步ER图消必冗余基ER图示:
(3)E-R图实体属性示:
图书:Book(BookID BookNo BookName BookWriter BookPublish BookPrice BookDate BookClass BookMain BookPrim BookCopy BookStateBookRN)
读者:Reader(ReaID ReaName ReaSex ReaNo ReaLBID ReaType ReaDep ReaGrade ReaPref ReaDate)
理员:Maneger(MID MName MSex Mpwd MAuth MTeleph MAddre)
馆室:Room(RoomNoRoomMIDRoomNumRoomAddre)
读者类:ReaderTpye(LBID LBName LBnum LBbqx LBqx)
E-R图中联系属性示:
阅信息:Borrow (BookIDReaderIDBookNameBookWriter OutdateYHdate)
阅历史:History(BookIDReaderIDBookName BookWriter OutdateIndate)
罚款信息:Fine(BookIDReaderIDBookName OutdateIndate Fine CLState MID)
4.逻辑设计阶段
41逻辑设计务目标
概念设计阶段独立种数模型逻辑设计阶段选DBMS产品发生关系系统逻辑设计务概念设计阶段设计基ER图转换选DBMS产品支持数模型相符合逻辑结构具体容包括数组织(ER图转换成关系模型模型优化数库模式定义户子模式设计)数处理(画出系统功模块图)两务
42数组织
421ER图转换关系模型
实体型转换关系模式实体属性关系属性实体码关系码实体间联系情况:
m:n联系转换关系模式该联系相连实体码联系身属性均转换关系属性关系码实体码组合
1:n联系转换独立关系模式n端应关系模式合果转换独立关系模式该联系相连实体码联系身属性均转换关系属性关系码n端实体码
1:1联系转换独立关系模式意端应关系模式合三三实体间元联系转换关系模式该元联系相连实体码联系身属性均转换关系属性关系码实体码组合
具相码关系模式合
读者类读者馆室图书联系方式1n()间联系n端实体读者图书合理员图书间维护联系1n()样间联系n端实体合读者图书间阅联系方式nm()样间联系转化独立关系模式读者理员间罚款联系mn()联系转化成独立关系模式具体基ER图关系模型转化:
图书:Book(BookID BookNo BookName BookWriter BookPublish BookPrice BookDateBookClassBookMainBookPrimBookCopyBookState
BookRNo)
读者:Reader(ReaIDReaNameReaSexReaNoReaLBIDReaType ReaDep ReaGrade ReaPref ReaDate)
理员: Maneger (MIDMNameMSexMpwdMAuthMTelephMAddre)
读者类:ReaderTpye(LBID LBName LBnum LBbqx LBqx)
馆室: Room(RoomNoRoomMIDRoomNumRoomAddre)
阅信息:Borrow(BookIDReaderIDBookNameBookWriter OutdateYHdate)
阅历史:History(BookIDReaderIDBookNameBookWriter Outdate
IndateYHdate)
罚款信息:Fine (BookIDReaderIDBookNameOutdateIndateFine CLStateMID)
(注:标直线划线属性标波浪线划线外键属性属性外键属性起构成码)
422模型优化
关系模式BookReaderRoomReaderType Maneger存非属性属性部分函数赖存传递函数赖已达3NF阅关系模式阅历史关系模式罚款关系模式(BorrowHistoryFine)中存着数冗余现三关系模型进行合消冗余优化:
阅信息Borrow ( BookIDReaderIDBookNameBookWriter OutdateIndate
YHdateFineCLStaerMID)
423数库模式定义
表21 馆藏图书信息表
列名
数类型
否空
说明
BookID
Char
not null
图书编号
BookNo
Char
not null
图书索书号
BookName
Char
not null
图书书名
BookWriter
Char
not null
图书作者
BookPulish
Char
not null
图书出版社
BookPrice
Char
图书单价
BookDate
Date
出版日期
BookClass
Char
图书分类
BookMain
Char
图书摘
BookPrim
Char
图书关键字
BookCopy
Char
图书副数
BookState
Char
not null
图书否
BookRNo
Char
not null
图书馆室号
表22 读者信息表
列名
数类型
否空
说明
ReaID
Char
not null
读者编号
ReaName
Char
not null
读者姓名
ReaSex
Char
not null
读者性
ReaNo
Char
not null
读者学号
ReaLBID
Char
not null
读者类编号
ReaType
Char
读者类型
ReaDep
Char
读者学院
ReaPref
Char
读者属专业
ReaGrade
Char
读者年级
ReaDate
Date
not null
办证日期
表23 理员信息表
列名
数类型
否空
说明
MID
Char
not null
理员编号
MName
Char
not null
理员姓名
MSex
Char
理员性
Mpsw
Char
not null
理员密码
MAuth
Char
not null
理员权限
MTeleph
Char
理员电话
MAddre
Char
理员址
表24 馆室信息表
列名
数类型
否空
说明
RoomNo
Char
not null
馆室号
RoomMID
Char
not null
馆室理员编号
RoomNum
Char
馆室拥图书数目
RoomAddre
Char
馆室址
表25 读者类信息表
列名
数类型
否空
说明
LBID
Char
not null
读者类编号
LBName
Char
not null
读者类名
LBnum
Char
not null
允许阅图书数
LBbqx
Char
not null
持图书长期限
LBqx
Char
not null
阅证期限
表26 阅信息表
列名
数类型
否空
说明
ReaID
Char
not null
读者编号
BookID
Char
not null
图书编号
BookName
Char
not null
图书名
BookWriter
Char
作者
Outdate
Date
not null
阅时间
Indate
Date
时间
YHdate
Date
not null
应时间
Fine
Char
罚款金额
CLState
Char
处理状态
MID
Char
not null
理员编号
424 户子模式定义
表27 户子模式定义
编号
户子模式(View)
作(性:提供数保密安全保护机制)
V-1
BookView
便查询修改图书基信息
V-2
ReaderView
方便读者基信息查询更新
V-3
HistoryView
便阅历史信息查询
V-4
BorrowView
前阅信息查询
V-5
FineView
便查询罚款信息
表28 读者基信息视图
列名
数类型
否空
说明
ReaID
Char
not null
读者编号
ReaName
Char
not null
读者姓名
ReaSex
Char
not null
读者性
ReaType
Char
读者类型
ReaDep
Char
读者学院
ReaDate
Date
l
办证日期
表29 图书基信息视图
列名
数类型
否空
说明
BookNo
Char
not null
图书索书号
BookName
Char
not null
图书书名
BookWriter
Char
not null
图书作者
BookPulish
Char
not null
图书出版社
BookState
Char
not null
图书否
BookRNo
Char
not null
图书馆室号
表210 读者前阅信息视图
列名
数类型
否空
说明
BookID
Char
not null
图书编号
BookName
Char
not null
图书名
Outdate
Date
not null
阅时间
YHdate
Date
not null
应时间
表211 读者阅历史信息视图
列名
数类型
否空
说明
BookID
Char
not null
图书编号
BookName
Char
not null
图书名
Outdate
Date
not null
阅时间
Indate
Date
时间
表212 读者罚款信息视图
列名
数类型
否空
说明
BookID
Char
not null
图书编号
BookName
Char
not null
图书名
Outdate
Date
not null
阅时间
Indate
Date
时间
Fine
Char
not null
罚款金额
CLState
Char
not null
处理状态
43数处理
系统功模块图:
5.物理设计阶段
51物理设计阶段目标务
数库物理设计逻辑数模型选取合适应求物理结构程阶段中完成两务:
(1)确定数库物理结构关系数库中存取方法存储结构
(2)物理结构进行评价评价重点时间空间效率
52数存储方面
数库中基表建立索引:
1 基表ReaderBook码ReaIDBookID常查询条件连接操作连接条件中出现值唯两属性建立唯性索引
2 基表Reader属性ReaDepBook属性BookPublish常查询条件中出现两属性建立聚簇索引
3 阅信息基表Borrow属性ReaIDBookID常查询条件中出现考虑建立聚簇索引
4 罚款信息基表Fine属性ReaIDBookID常查询条件中出现考虑建立聚簇索引
53系统功模块
531 读者基信息查询更新模块
实现读者基信息查询更新(修改添加删)操作新生入学毕业生离校读者补办阅证更改信息情况具体功模块图:
532 图书基信息查询更新模块
完成图书基信息查询更新(修改添加删)操作读者图书信息查询理员添加新书删淘汰旧书具体功模块图示:
6.数库实施阶段
61建立数库数表视图索引
611 建立数库
create database Book
612 建立数表
(1)读者类信息表建立:
create table ReaderType(
LBID char(5) primary key
LBName char(20) not null
LBnum char(5) not null
LBbqx char(4) not null
LBqx char(3) not null
)
(2)理员基信息表建立:
create table Maneger(
MID char(10) primary key
MName char(10) not null
MSex char(2)
Mpwd char(8) not null
MAuth char(40) not null
MTeleph char(15)
MAddre char(30)
check(MSex '男' or MSex '女')
)
(3)图书馆室基信息表建立:
create table Room(
RoomNo char(5) primary key
RoomMID char(10) not null
Roomnum char(5)
RoomAddre char(20)
foreign key(RoomMID) references Maneger(MID)
)
(4)馆藏图书基信息表建立:
create table Book(
BookID char(9) primary key
BookNo char(20) not null
BookName char(50) not null
BookWriter char(30) not null
BookPublish char(20) not null
BookPrice char(7)
BookDate datetime
BookClass char(20)
BookMain char(200)
BookPrim char(30)
BookCopy char(5)
BookState char(10) not null
BookRNo char(5) not null
foreign key(BookRNo) references Room(RoomNo)
)
(5)读者基信息表建立:
create table Reader(
ReaID char(9) primary key
ReaName char(10) not null
ReaSex char(2) not null
ReaNo char(9) not null
ReaLBID char(5) not null
ReaType char(20)
ReaDep char(20)
ReaGrade char(5)
ReaPref char(20)
ReaDate Datetime
foreign key(ReaLBID) references ReaderType(LBID)
check(ReaSex '男' or ReaSex '女')
)
(6)阅基信息表建立:
create table Borrow(
BookID char(9)
ReaID char(9)
Outdate Datetime not null
YHdate Datetime not null
Indate Datetime
Fine char(5)
CLState char(8)
MID char(10) not null
primary key(BookIDReaID)
foreign key(MID) references Maneger(MID)
)
613 建立视图
(1)查询图书基信息视图定义:
create view Bookview (索书号 书名 作者 出版社 图书状态)
as
select BookNoBookNameBookWriterBookPublishBookState
from Book
(2)读者基信息查询视图定义:
create view Readerview (读者姓名类型学院专业办证日期)
as
select ReaNameReaTypeReaDepReaPrefReaDate
from Reader
(3)显示前阅基信息视图定义:
create view Borrowview (读者编号书名作者阅日期期日期)
as
select ReaIDBookNameBookWriterOutdateYHdate
from BorrowBook
where BorrowBookIDBookBookID and BorrowIndate is null
(4)阅历史信息查询视图定义:
create view Historyview (读者编号书名阅日期日期)
as
select ReaIDBookNameOutdateIndate
from BorrowBook
where BorrowBookIDBookBookID and BorrowIndate is not null
(5)查询罚款信息视图定义:
create view Fineview (读者编号书名阅日期日期罚款处理状态)
as
select ReaIDBookNameOutdateIndateFineCLState
from BorrowBook
where BorrowBookIDBookBookID and Fine is not null
614 建立索引
create clustered index BookPublish on Book(BookPublish)
create clustered index ReaDep on Reader(ReaDep)
615 建立触发器
1.删Reader表中某读者基信息时触发Borrow表删相应记录
create trigger Reader_delete
on Reader
for delete
as
delete Borrow
from deleted
where BorrowReaIDdeletedReaID
2.中增加条阅记录时该图书状态变
create trigger Borrow_insert1
on Borrow
for insert
as
declare @BookID char(9)
select @BookIDBookID
from inserted
update Book
set BookState''
where BookID@BookID
62数入库
系统包括图书基信息理读者基信息理理员信息理阅信息理查询信息理等四功模块6张基表采事先Excel中录入数然SQL Server 2000数导入导出导功直接数导入相应基表中
63创建功存储程
系统创建10存储程具体列表:
表31 创建存储程列表:
编号
存储程名称
定义
作
P1
Book_Insert
详见附录11
Book中插入元组
P2
Reader_Insert
详见附录12
Reader中插入元组
P3
Maneger_Insert
详见附录13
Maneger中插入元组
P4
Borrow_Insert
详见附录14
Borrow中插入元组
P5
Delete_Book
详见附录110
Book中删元组
P6
Delete_Reader
详见附录19
Reader中删元组
P7
Query_Reader_R
详见附录15
读者Reader中查询信息
P8
Query_Reader_M
详见附录16
理员Reader中查询全部读者
P9
Query_Book_Writer
详见附录17
Book作者查询
P10
Query_Book_Name_Publish
详见附录18
Book中书名出版社查询
(表查询修改删表存储程定义致相里具体列出)
7.系统调试测试
该图书理系统进行测试验证功否符合求具体测试:
(1)通视图查基表视图中数(见附录2)
(2)检测存储程功:(见附录2)
8.实心
1 次课程设计熟悉系统设计整体步骤系统设计体分需求分析概念设计逻辑设计物理设计数库实施调试测试六步骤中感触深需求分析阶段阶段必须设计系统总体构思解知道做什实现什实际进行相关调查想象解样会续工作中遇问题
2 次课程设计加深数库系统概相关知识SQL SERVER相关功理解例建立基表视图索引存储程触发器等前更加熟练解决遇种问题程中学新知识导入\导出数时外键约束存常会出现错误注意表导入序问题般先导入键表导入外键表样避免错误
3 进步掌握相关SQL语句方面知识纠正前错误认识理解学会建立存储程触发器通查阅资料明白存储程编译放服务器端程序模块调需重新编译样减轻客户端负担效提高系统执行效率
4 然实程中存问题需求分析阶段工作完成充分面设计程中前时常会出现矛盾致现象反复修改前面结果导致整工作进行利
9.存问题建议
1.觉次课程设计中需求分析阶段致关重学第次做样系统设计熟悉需求分析方法务盲目认便网搜点相关知识实直接影响着面阶段工作进行希老师实前需求分析阶段工作进行定指导
2.实程中然班配备两三名指导老师指导老师轮流班遇问题时时身边找老师浪费宝贵时间者班指导老师班学生指导会耗费定等时间
3.总说次实指导老师知识渊博验丰富十分热情请教问题老师会耐心认真解决老师帮解决问题时教会解决类问题方法学十分益
致谢
次数库课程设计整程中受指导教师杨丽丽老师陈勇老师武苏里老师细心指导关怀时蔚继承老师杨晓辉老师孙建敏老师予帮助表示忠心感谢没老师耐心指导根利完成次课程设计务里尤真诚感谢杨丽丽老师蔚继承老师两位老师丰富知识编程验帮解决少难题时传授少新知识技巧
时感谢帮助鼓励学帮助鼓励遇困难时点亮希灯塔灰心丧气时带力量信心
参考文献
[1] 萨师煊 王珊数库系统概(第三版)北京高教出版社2000
[2] 软件开发指导民邮电出版社
[3] Delpehi数库开发毕业设计指导实例机械工业出版社2004
附录1 存储程定义
1Book_Insert定义
CREATE PROCEDURE Book_Insert
@BookID char(9)
@BookNo char(20)
@BookName char(50)
@BookWriter char(30)
@BookPublish char(20)
@BookPrice char(7)
@BookDate datetime
@BookClass char(20)
@BookMain char(200)
@BookPrim char(30)
@BookCopy char(5)
@BookState char(10)
@BookRNo char(5)
as
insert into Book
values(@BookID @BookNo@BookName@BookWriter @BookPublish @BookPrice
@BookDate@BookClass @BookMain @BookPrim @BookCopy @BookState
@BookRNo)
2Reader_Insert定义
CREATE PROCEDURE Reader_Insert
@ReaID char(9)
@ReaName char(10)
@ReaSex char(2)
@ReaNo char(9)
@ReaLBID char(5)
@ReaType char(20)
@ReaDep char(20)
@ReaGrade char(5)
@ReaPref char(20)
@ReaDate Datetime
as
insert into Reader
values( @ReaID @ReaName @ReaSex@ReaNo @ReaLBID@ReaType@ReaDep
@ReaGrade @ReaPref @ReaDate)
3Maneger_Insert定义
CREATE PROCEDURE Maneger_Insert
@MID char(10)
@MName char(10)
@MSex char(2)
@Mpwd char(8)
@MAuth char(40)
@MTeleph char(15)
@MAddre char(30)
as
insert into Maneger
alues(@MID @MName @MSex @Mpwd @MAuth @MTeleph @MAddre)
4Borrow_Insert定义
CREATE PROCEDURE Borrow_Insert
@BookID char(9)
@ReaID char(9)
@Outdate Datetime
@YHdate Datetime
@Indate Datetime
@Fine char(5)
@CLState char(8)
@MID char(10)
as
insert into Borrow
values(@BookID @ReaID @Outdate @YHdate @Indate @Fine @CLState @MID )
5Query_Reader_R定义:
create procedure Query_Reader_R
@ReaID char(9)
as
select *
from Readerview
where 编号 ltrim(@ReaID)
6 Query_Reader_M定义:
create procedure Query_Reader_M
as
select *
from Readerview
7 Query_Book_Writer定义:
create procedure Query_Book_Writer
@BookWriter char(50)
as
select *
from Bookview
where 作者 like ''+ltrim(@BookWriter)+''
8 Query_Book_Name_Publish定义:
create procedure Query_Book_Name_Publish
@BookName char(50)
@BookPublish char(20)
as
select *
from Bookview
where 书名ltrim(@BookName) and 出版社ltrim(@BookPublish)
9 Delete_Reader定义:
create procedure Delete_Reader
@ReaNo char(9)
as
delete
from Reader
where ReaNo ltrim(@ReaNo)
10 Delete_Book定义:
create procedure Delete_Book
@BookID char(9)
as
delete
from Book
where BookID ltrim(@BookID)
附录2 数查存储程功验证
1 基表数查(基视图查询):
1) 查Reader(读者信息表)表中数
2) 查Bookview(图书信息)表中数:
3) 查Borrow(阅信息)表中数:
4)查Maneger(理员信息表)表中数
5)查Room(馆室信息表)表中数:
6)查Borrowview(前阅信息)视图中数:
7)查Historyview(阅历史信息)视图数:
8)查Fineview(罚款信息)视图基数
2 存储程功验证:
1) 存储程Query_Reader_R功验证:(ReaID匹配查询读者信息)
2) 存储程Query_Book_Writer 功验证:(BookWriter模糊查询图书信息)
3) 存储程Query_Book_Nmae_Publish功验证:(书名出版社查询图书信息)
4)存储程Query_Reader_M功验证:(理员身份查询读者信息)
5)存储程Reader_Insert 功验证:(插入条读者信息记录)
6)存储程Borrow_Insert功验证:(插入条阅信息记录)
7)存储程Delete_Reader功验证:(ReaNo删相应读者记录)
(注:篇幅限制里仅出中存储程功验证)
3 触发器功验证:(Borrow表中插入条记录触发Book表图书状态改状态)
附录3 SQL运行语句
create database Book
create table ReaderType(
LBID char(5) primary key
LBName char(20) not null
LBnum char(5) not null
LBbqx char(4) not null
LBqx char(3) not null
)
create table Maneger(
MID char(10) primary key
MName char(10) not null
MSex char(2)
Mpwd char(8) not null
MAuth char(40) not null
MTeleph char(15)
MAddre char(30)
check(MSex '男' or MSex '女')
)
create table Room(
RoomNo char(5) primary key
RoomMID char(10) not null
Roomnum char(5)
RoomAddre char(20)
foreign key(RoomMID) references Maneger(MID)
)
create table Book(
BookID char(9) primary key
BookNo char(20) not null
BookName char(50)not null
BookWriter char(30)not null
BookPublish char(20)not null
BookPrice char(7)
BookDate datetime
BookClass char(20)
BookMain char(200)
BookPrim char(30)
BookCopy char(5)
BookState char(10)not null
BookRNo char(5)not null
foreign key(BookRNo) references Room(RoomNo)
)
create table Reader(
ReaID char(9) primary key
ReaName char(10) not null
ReaSex char(2) not null
ReaNo char(9) not null
ReaLBID char(5) not null
ReaType char(20)
ReaDep char(20)
ReaGrade char(5)
ReaPref char(20)
ReaDate Datetime
foreign key(ReaLBID) references ReaderType(LBID)
check(ReaSex '男' or ReaSex '女')
)
create table Borrow(
BookID char(9)
ReaID char(9)
Outdate Datetime not null
YHdate Datetime not null
Indate Datetime
Fine char(5)
CLState char(8)
MID char(10) not null
primary key(BookIDReaID)
foreign key(MID) references Maneger(MID)
)
create clustered index BookPublish on Book(BookPublish)
create clustered index ReaDep on Reader(ReaDep)
create view Bookview (索书号 书名 作者 出版社 图书状态)
as
select BookNoBookNameBookWriterBookPublishBookState
from Book
create view Readerview (编号读者姓名类型学院专业办证日期)
as
select ReaIDReaNameReaTypeReaDepReaPrefReaDate
from Reader
create view Borrowview (读者编号书名作者阅日期期日期)
as
select ReaIDBookNameBookWriterOutdateYHdate
from BorrowBook
where BorrowBookIDBookBookID and BorrowIndate is null
create view Historyview (读者编号书名阅日期日期)
as
select ReaIDBookNameOutdateIndate
from BorrowBook
where BorrowBookIDBookBookID and BorrowIndate is not null
create view Fineview (读者编号书名阅日期日期罚款处理状态)
as
select ReaIDBookNameOutdateIndateFineCLState
from BorrowBook
where BorrowBookIDBookBookID and Fine is not null
create trigger Reader_delete
on Reader
for delete
as
delete Borrow
from deleted
where BorrowReaIDdeletedReaID
create trigger Borrow_insert1
on Borrow
for insert
as
declare @BookID char(9)
select @BookIDBookID
from inserted
update Book
set BookState''
where BookID@BookID
文档香网(httpswwwxiangdangnet)户传
《香当网》用户分享的内容,不代表《香当网》观点或立场,请自行判断内容的真实性和可靠性!
该内容是文档的文本内容,更好的格式请下载文档