数据库图书管理系统课程设计Word文件下载.docx
- 文档编号:19577730
- 上传时间:2023-01-07
- 格式:DOCX
- 页数:23
- 大小:297.70KB
数据库图书管理系统课程设计Word文件下载.docx
《数据库图书管理系统课程设计Word文件下载.docx》由会员分享,可在线阅读,更多相关《数据库图书管理系统课程设计Word文件下载.docx(23页珍藏版)》请在冰豆网上搜索。
E-R图
第3章数据库逻辑结构设计
转换原则
⒈一个实体型转换为一个关系模式.
⏹关系的属性:
实体型的属性
⏹关系的码:
实体型的码
⒉一个m:
n联系转换为一个关系模式.
与该联系相连的各实体的码以及联系本身的属性
各实体码的组合(或码的一部分)
⒊一个1:
n联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并.
⏹1)转换为一个独立的关系模式
n端实体的码
⏹2)与n端对应的关系模式合并
⏹合并后关系的属性:
在n端关系中加入1端关系的码和联系本身的属性
⏹合并后关系的码:
不变
⒋一个1:
1联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并.
⏹
(1)转换为一个独立的关系模式
⏹
(2)与某一端对应的关系模式合并
⒌三个或三个以上实体间的一个多元联系转换为一个关系模式.
与该多元联系相连的各实体的码以及联系本身的属性
⒍同一实体集的实体间的联系,即自联系,也可按上述1:
1、1:
n和m:
n三种情况分别处理
⒎具有相同码的关系模式可合并.
⏹目的:
减少系统中的关系个数.
各个表的逻辑结构,格式举例为:
表3.1出版社表结构
列名
数据类型
长度
主键
非空
备注
出版社编号
Int
Yes
出版社名称
Varchar
50
出版社地址
Yes
表3.2图书表结构
int
图书类型编号
Char
10
书库号
图书编号
20
书名
作者
(8,2)
价格
Numeric
页码
现存量
库存总量
入库时间
Datetime
借出次数
表3.3图书类型表结构
10
图书类型名
表3.4读者表结构
读者类型编号
借书证编号
20
姓名
性别
出生日期
身份证件号码
图书借阅次数
是否挂失
可借册数
已借册数
未交罚款金额
Numeric(6,2)
表3.5读者类型表结构
读者类型名
varchar
4
可借阅册数
借期天数
可续借天数
表3.6书库表结构
书库名
表3.7图书入库单表结构
图书入库单编号
日期
表3.8图书入库单明细表结构
入库单编号
外码
入库单明细编号
yes
20
yes
是否已入库
Int
2
表3.9图书报损单表结构
报损单编号
Date
表3.10图书报损单明细表结构
图书报损单明细编号
报损原因
表3.11罚款交费单表结构
缴费单编号
金额
表3.12借阅表结构
借书日期
还书日期
超期罚款金额
(8,2)
污损罚款金额
丢失罚款金额
第4章数据库物理结构设计
为各个表的设计的索引结构,格式为:
表名
索引名
索引列
唯一索引
出版社
出版社名称索引
属性经常在查询条件中出现
图书
书名索引
作者索引
图书类型
图书类型编号索引
聚集函数的参数
读者
姓名索引
身份证索引
身份证
书库
书库索引
图书入库单明细
入库单明细索引
书名,作者,是否入库
罚款交费单
罚款缴费索引
借阅
借书日期索引
还书日期索引
第5章数据库实施
5.1建表语句
/*建表引语句*/
createtable出版社
(出版社编号intprimarykey,
出版社名称varchar(50)notnull,
出版社地址varchar(50)
);
createtable图书类型
(图书类型编号char(10)primarykey,
图书类型名varchar(50)notnull
createtable书库
(书库号intprimarykey,
书库名varchar(20)notnull
createtable读者类型
(读者类型编号intprimarykey,
读者类型名varchar(4)notnull,
可借册数int,
借期天数int,
可续借天数int
createtable图书
(出版社编号intnotnull,
图书类型编号char(10)notnull,
书库号intnotnull,
图书编号intprimarykey,
书名varchar(50)notnull,
作者varchar(50)notnull,
价格numeric(8,2),
页码int,
现存量int,
库存总量int,
入库时间datetime,
借出次数int,
foreignkey(出版社编号)references出版社(出版社编号),
foreignkey(图书类型编号)references图书类型(图书类型编号),
foreignkey(书库号)references书库(书库号),
createtable读者
(借书证编号intprimarykey,
读者类型编号int,
姓名varchar(50)notnull,
性别char
(2)check(性别in('
男'
'
女'
)),
出生日期datetimenotnull,
身份证件号码varchar(18)notnull,
图书借阅次数int,
是否挂失char,
已借册数int,
未交罚款金额numeric(8,2),
foreignkey(读者类型编号)references读者类型(读者类型编号)
createtable图书入库单
(书库号int,
图书入库单编号intprimarykey,
日期datetimenotnull,
foreignkey(书库号)references书库(书库号)
createtable图书入库单明细
(图书入库单编号int,
入库单明细编号intprimarykey,
图书编号intnotnull,
书名varchar(50)notnull,
作者varchar(50)notnull,
出版社号varchar(50),
图书类型编号varchar(25),
数量int,
价格numeric(8,2)notnull,
是否已入库varchar
(2),
页码int,
foreignkey(图书入库单编号)references图书入库单(图书入库单编号)
createtable图书报损单
(报损单编号intprimarykey,
日期datetimenotnull
);
createtable图书报损单明细
(报损单编号int,
图书报损单明细编号intprimarykey,
图书编号int,
报损原因varchar
foreignkey(报损单编号)references图书报损单(报损单编号)
createtable罚款缴费单
缴费单编号int,
日期datetime,
金额numeric(8,2)
foreignkey(借书证编号)references读者(借书证编号)
createtable借阅
(借书日期datetimeprimarykey,
还书日期datetime,
超期罚款金额numeric,
污损罚款金额numeric,
丢失罚款金额numeric,
5.2建索引语句
/*建索引语句*/
createuniqueindex出版社名称索引on出版社(出版社名称);
createuniqueindex书名索引on图书(书名);
createuniqueindex作者索引on图书(作者);
createuniqueindex图书类型编号索引on图书类型(图书类型编号);
createuniqueindex姓名索引on读者(姓名);
createuniqueindex身份证索引on读者(身份证件号码);
createuniqueindex书库索引on书库(书库号);
createuniqueindex入库单明细编号索引on图书入库单明细(入库单明细编号);
createuniqueindex缴费单编号索引on罚款缴费单(缴费单编号);
createuniqueindex借书日期索引on借阅(借书日期);
createuniqueindex还书日期索引on借阅(还书日期);
5.3存储过程
5.3.1存储过程1
1.存储过程1的功能说明
2.建立存储过程1的语句
createprocedurep1@图书入库单编号intASdeclare@库存总量int,@图书编号int,@出版社号varchar,@图书类型编号char,@价格numeric(8,2),@作者varchar(50),@是否已入库char
(2),@数量int,@页码int,@现存量int,@入库时间datetime,@借出次数int,@书库号int,@书名varchar(50)declarec1cursorforselect图书编号,书名,作者,数量,出版社号,图书类型编号,价格,是否已入库,页码from图书入库单明细,图书入库单where图书入库单明细.图书入库单编号=图书入库单.图书入库单编号openc1while1=1beginfetchnextfromc1into@图书编号,@书名,@作者,@数量,@出版社号,@图书类型编号,@价格,@是否已入库,@页码if@@fetch_status<
>
0breakif((@是否已入库)=0)beginIfexists(select*from图书where图书编号=@图书编号)update图书set库存总量=@库存总量+@数量elseinsertinto图书values(@出版社号,@图书类型编号,@书库号,@图书编号,@书名,@作者,@价格,@页码,@现存量,@库存总量,@入库时间,@借出次数)EndENdupdate图书入库单明细set是否已入库=1closec1deallocatec1go
5.3.2存储过程2
1.存储过程2的功能说明
2.建立存储过程2的语句
5.4触发器
5.4.1触发器1
1.触发器1的功能说明
2.建立触发器1的语句
第6章系统测试
6.1通过查询查看各个基本表和视图中的数据
6.2测试各个存储过程的功能
Insert
Into书库
Values(1,’经管库’)
Insert
Into图书入库单
Values(1,100,’06-21-2012’)
insert
into图书入库单明细
values(100,1,10,'
数据库'
王珊'
A1'
A2'
10,20,0,360)
values(100,2,15,'
离散'
屈婉玲'
B3'
10,20,0,350)
values(100,3,15,'
c++'
刘培强'
A4'
A3'
10,24,0,450)
Values(1,101’06-21-2012’)
values(101,5,22,'
线性代数'
王庆'
10,20,0,300)
values(101,6,23,'
高等数学'
李丽'
10,50,0,260)
values(101,7,24,'
数据结构'
张云'
10,250,0,370)
values(101,8,25,'
计算机组成原理'
赵辉'
6.3测试各个触发器的功能
第7章结论
设计体会感想等
(课程设计中遇到的主要问题和解决方法;
创新和得意之处;
课程设计中存在的不足,需进一步改进的设想;
课程设计的感想和心得体会)
忽略此处..
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 图书 管理 系统 课程设计