图书共享的设计解析

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
捐赠表(捐书者的学号,捐赠图书的编号,捐书的时间)
书籍借阅(图书编号,借阅者的学号,借阅时间,归还时间,续借情况,罚款记录)
四、物理结构设计
数据库名:class book corner
数据库物理文件初始大小:10MB
是否允许自动增长:是
自动增长方式:每次增加5MB
最大数据容量:不受限
是否自动收缩:是
1.班级图书共享的图书为班级同学的捐赠,捐赠时管理员记录捐赠人的姓名,学号,性别,联系方式,捐书时间,捐书姓名,捐书数量,书的好坏程度的情况。
2.每位同学每次只能借一本书,借阅时间为一个月,到期允许续借,期限也为一个月,每本书只有一次可以续借的机会。如果超过借书期限,每天收费0.1元,如有破损则借书者按照损坏程度进行赔偿。
varchar
20

外键,引用student表中主键sno
btime
datetime
8

借阅时间
brtime
dቤተ መጻሕፍቲ ባይዱtetime
8

归还时间
bqk
float
8

超过归还时间,每天0.1元,欠款为1,
不欠款为0
bxj
int
4

续借次数
bkj
bit
1

是否可借(1为可借。0为不可借)
捐书表
表名
donate
作用
ssex
char
10

性别
spnum
varchar
20

联系电话
图书表
表名
book
作用
图书信息
列名
数据类型
长度
是否允许为空
字段说明
bno
varchar
20

主键,图书标号
bname
varchar
50

书名
bauthor
varchar
50

作者
bsl
Int
4

数量
btype
varchar
50

图书类型
5.查询捐了三本书的学生的姓名
Select sname
From student
Where sno=(select dsno
From donate
Group by
Having count(‘20130101’)=3)
创建视图
(1)视图名称:借书信息;显示:图书编号,图书名,借书者学号,借书者姓名。
Create view借书信息
3.管理员需要记录下借阅学生的姓名,学号,性别,联系方式,借书时间和借阅书籍的名字。还要负责将同学们捐来的书籍进行分类,防止同名书的混淆,并给书目编号。
4.统计出捐书数目最多的人,奖励一本书籍。
二,概念结构设计
1.书籍
2.学生
3.整体结构
三、逻辑结构设计
学生(姓名,学号,性别,联系方式)
图书(书名,图书编号,作者,数量,类别,污损情况)
From student
Where sname=’孙菲’)
4.查询孙菲借书的书名
Select bname
From book
Where bno=(select bnumber
From borrow
Where snumber=(select sno
From student
Where sname=’孙菲’))
bsituation
varchar
100

污损情况
brenew
bit
1

续借情况,1(可续借),0(不可续借)
借阅表
表名
borrow
作用
借阅信息
列名
数据类型
长度
是否允许为空
字段说明
bnumber
varchar
20

外键,引用book表中的主键bno
Bnumber与snumber共同为主键
snumber
create view每个学生捐书的数量
as
select dsno as'学生学号',count(*) as'捐书总数'
from donate
图书共享的设计
一.需求分析
为了能够使学生通过书本了解更多的知识,丰富自己的知识储备,我们班建立一个图书角供学生们互相交换图书进行阅览。图书角的书籍来源是学生的捐赠,捐赠的书籍需要根据内容进行分类,借阅书籍需要进行相关的记录,借阅的同学必须按时归还书籍,安排图书角管理员,保证图书角能够正常开放。
该数据库的主要是实现图书捐赠,图书管理,图书借阅信息的功能。
(3)视图名称:图书污损情况,显示:损坏书籍的编号,书名,捐献者和书籍类型
create view图书污损情况
as
select bno as'图书编号',bname as'图书名称',btype as'书籍类型'
from book
where bsituation='污损'
(4)视图名称:每个学生捐书的数量显示;学生姓名,捐书总数
是否是只读数据库:否
事务日志文件位置:f:\class book corner
事务日志文件初始大小:1MB
事务日志文件最大数据容量:20 MB
创建如下数据表:
学生表
表名
student
作用
学生信息
列名
数据类型
长度
是否允许为空
字段说明
sno
varchar
20

主键,学号
sname
varchar
50

学生姓名
From student
Where sno=’20130105’
2.查询捐了书的编号为’007’学生姓名
select sname
from student,donate
where student.sno=donate.dsno
3.查询孙菲捐书的书的编号
Select dbno
From donate
Where dno=(select sno
捐书信息
列名
数据类型
长度
是否允许为空
字段说明
dsno
varchar
20

外键,引用student表中的主键sno
dbno
varchar
20

外键,引用book表中主键bno
dsno和dbno共同为主键
dtime
datetime
8

捐书时间
查询
1.查询学号为’20130105’的学生姓名和联系电话。
Select sname,spnum
create view捐书信息
as
select dsno as '捐书人学号',dbno as'捐书的编号',dtime as'捐书时间',sname as'捐书人姓名',bname as'书籍名称'
from donate inner join student on dsno=sno inner join book on dbno=bno
As
Select bno as'图书编号',bname as'图书名称',sno as'借书人学号',sname as'借书人姓名'
From borrow inner join book on bno=bnumber inner join student on sno=snumber
(2)视图名称:捐书信息,显示:图书编号,图书名,捐书人学号,捐书人姓名和捐书时间
相关文档
最新文档