数据库设计大作业案例.docx
《数据库设计大作业案例.docx》由会员分享,可在线阅读,更多相关《数据库设计大作业案例.docx(15页珍藏版)》请在冰点文库上搜索。
数据库设计大作业案例
大型数据库期末大作业案例
教材购销系统
1.需求分析。
2.数据库设计。
2.1概念结构设计
2.2逻辑结构设计
2.3物理结构设计。
3.数据库实施。
4.数据库运行。
1.需求分析
教材购销管理系统:
教材购销管理系统是帮助管理人员、教材销售和库存的管理软件。
该教材购销管理系统软件目前已有比较完善的管理与使用功能,该项目的用户是学校,开发本系统是为了教材购销管理系统更完善,为了教材购销对商品库存和销售的管理更方便,为了减轻工作人员的工作负担,以现代化的创新思维模式去工作。
系统的功能要求:
销售子系统
(1)审查有效性学生将购书单交给教材科秘书,秘书通过查阅各班学生用书表、售书登记表检查是否允许该生买书。
(2)开发票如果允许学生买书,教材科会计将按购书单查阅教材存量表,如果有书且数量够,则开交款发票,否则,将购书单中无法购买的书的信息写入缺书登记表,以备以后补售教材。
(3)登记并开领书单教材科出纳员根据发票上的总金额收取现金,并进行售书登记,同时开领书单,学生将领书单交给保管员,领书。
(4)补售教材
采购部门进书后,教材科秘书根据进书通知和缺书登记表给没买到教材的学生发补售通知单。
采购子系统
(1)教材入库采购员采购教材后,将进书单交给秘书,秘书修改教材库存和待购量。
(2)统计
秘书每月按书号和出版社统计缺书,形成待购教材表和缺书单,供采购员采购时使用。
2系统设计
2.1概念结构设计
E-R图是分为两部分实体和属性,每个实体可以有多个属性,这些属性用来表示实体的性质。
不同实体之间可以用关系进行连接,表明各个实体之间的内在联系。
实体和实体之间的关系有一对一的关系(1:
1),一对多的关系(1:
N)和多对多的关系(N:
各个实体分E-R图如下图所示
实体:
教材,学生,购书单,教材库
图1-1教材E-R图
图1-3购书单E-R图
出版社
图1-2出版社E-R图
总体E-R图及各个实体之间的关系如下图所示
22逻辑结构设计
E-R图向关系模型的转换
关系模型的逻辑结构是一组关系模式的集合。
E-R图则是由实体,实体的属性和实体间的联系三个要素组成。
所以将E-R图转换为关系模型实际上就是要将实体,实体的属性和实体间的联系转换为关系模式。
转换原则如下。
1.实体类型的转换:
一个实体型转换成一个关系模式。
实体的属性就是关系的属性,实体的码就是关系的码。
2.联系类型的转换,根据不同的情况做不同的处理。
⑴一个1:
1的联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。
如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,每个实体的码均是该关系的候选码。
如果与某一端实体对应的关系模式合并,则需要在该关系模式的属性中加入另一个关系模式的码和联系本身的属性。
⑵一个1:
N的联系可以转换为一个独立的关系模式,也可以与N端对应的关系模式合并。
如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为N端实体的码。
⑶一个MN联系转换为一个关系模式。
与该联系相连的各实体的码为各实体码的组合。
⑷三个或三个以上实体间的一个多元联系可以转换为一个关系模式。
与该多元联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为各实体码的组
合。
⑸具有相同码的关系模式可合并。
3.根据销售信息管理系统的E-R图转换为关系模型如下。
将每一个实体转换成一个关系(关系就是给出关系名,属性就是实体属性,并标明该关系的主键用下划线来表示)
关系模式:
学生(学号,姓名,性别,年龄,所在系,班级),主码为学号,符合三范式。
购书单(购书单号,书号,购买数量,购书人学号),主码为购书单号,符合三范式。
教材库(图书管理员,库号,书号,库存量)主键为图书管理员,库号符,合三范式
教材(书号,书名,单价,出版社)主码为书号,符合三范式
2.3物理结构设计
表3-1学生表Student
字段名称
中文名称
类型长度
取值范围
是否非空
主关键字
备注
Sno
学号
char10
N
Y
外码
Sname
姓名
char30
N
N
Ssex
性别
char10
男、女
N
N
Sge
年龄
char10
18〜28
N
N
Sdept
专业
char10
N
N
Sclass
班级
char10
N
N
表3-2购书单表BuyBook
字段名称
中文名称
类型长度
取值范围
是否非空
主关键字
备注
BBno
购书单号
char10
0000〜9999
N
Y
Bno
书号
char10
0000〜9999
N
N
外码
BBamount
购头数量
int10
N
N
Sno
购书人学号
char10
N
N
外码
表3-3教材库表StackRoom
字段名称
中文名称
类型长度
取值范围
是否非空
主关键字
备注
SRmanager
图书管理员
char10
0000〜9999
N
Y
SRno
库号
char10
0000〜9999
N
N
Bno
书号
char10
0000〜9999
N
N
外码
SRamount
库存量
int10
N
N
表3-4教材表Book
字段名称
中文名称
类型长度
取值范围
是否非空
主关键字
备注
Bno
书号
char10
0000〜9999
N
外码
Bname
书名
char30
N
N
Bprice
单价
char10
N
N
Pno
出版社号
char10
0000〜9999
N
N
表3-5出版社表Publish
字段名称
中文名称
类型长度
取值范围
是否非空
主关键字
备注
Pno
出版社号
char10
0000〜9999
N
Y
外码
Pname
出版社名
char30
N
N
Pphone
电话
char30
N
N
Padd
地址
char30
N
N
3系统实施
3.1数据库实现
创建数据库:
createdatabase教材购销
创建基本表:
(1)学生表:
学号,姓名,性别,年龄,所在系,班级
createtableStudent
(Snochar(10)primarykeynotnuII,
Snamechar(30)notnull,
Ssexchar(10)notnull,
Sagechar(10)notnull,
Sdeptchar(10)notnull,
Sclasschar(10)notnull,
foreignkeySnoreferencesBuyBook(Sno)
)
(2)购书单表:
购书单号,书号,购买数量,购书人学号
createtableBuyBook
(BBnochar(10)primarykeynotnull,
Bnochar(10)notnull,
BBamountint(10)notnull,
Snochar(10)notnull,
foreignkeySnoreferencesStudent(Sno),
foreignkeyBnoreferencesBook(Bno)
)
(3)教材库表:
图书管理员,库号,书号,库存量
createtableStackRoom
(SRmanagerchar(10)notnull,
SRnochar(10)notnull,
Bnochar(10)notnull,
SRamountint(10)notnull,
primarykey(SRno,SRmanager),
foreignkeyBnoreferencesBook(Bno)
)
(4)教材表:
书号,书名,单价,出版社
createtableBook
(Bnochar(10)primarykeynotnull,
Bnamechar(30)notnull,
Bpricechar(10)notnull,
Pnochar(10)notnull,
foreignkeyPnoreferencesPublic(Pno)
)
⑸出版社表:
createtablePublic
(Pnochar(10)primarykeynotnuII,
Pnamechar(30)notnull,
Pphonechar(30)notnull,
Paddchar(30)notnull,
3.2数据载入
Sno
Sname
Ssex
Sage
Sdept
Sdass
0920020225
同学丁
…女
21
网络
09-2
Q92OQ10721
同学丙
…男
20
软件
09-7
0920010301
同学甲
…男
22
软件
09-S
0920010902
同学乙
…女
21
软件
09-9
0920020113
同学戊
男
21
屈络
09*1
图4-1学生表数据
BBno
0no
BBafnount
Sno
0001
aaoi
2000
0920010B01
0002
0002
5000
0920010902
$
0003
0003
^000
0920010731
0004
0004
1000
0920020113
0005
0005
2000
0920020225
图4-2购书单表数据
SRmanagerSRnoBnoSRamount
管理员甲
0001
0QQ3
1000
萱理员乙
0002
0001
2000
管理员丙
0003
0002
2000
管理员丁
0004
OQOS
3000
骨理员丙
0005
0004
3000
管理员甲
OQ03
0006
2000
图4-3教材库表数据
Bno
Bname
Bprice
Pno
0001
高等数学T
23.60
0001
0002
线性代埶…
12,10
0001
0003
JAVA程序设计…
33.0
0002
0004
数拥结构…
30.00
0002
0005
数拥库系绩规…
39.00
00Q1
0006
犬学物理学
25.00
0003
图4-4教材表数据
Pno
Pphane
Padd
0001
离等锁肓岀版社・
,010-585S111B
北赢市西城区劇卜大街蝎
0002
碧华大学岀版社
..OUO-527B6544...
北点簷华大学学研犬眞4座
0003
上愆交通犬学出版小
6^71208..
上海市番禺路旳号
图4-5出版社表数据
4.运行
(1)各班学生用书表:
班级、书号、书名、购买数量
selectdistinetSclass,Book.Bno,Bname,BBamountfromStudent,BuyBook,Book
whereBuyBook.Sno=Student.Snoand
BuyBook.Bno=Book.Bno
Sdass
Bno
Bname
BBamount
1
i(&1
!
_1
OOD4
議据结构
1000
2
*2
0005
数据障系统概论
2000
3
09^7
0003
J/W確序设计
4DQ0
4
0^8
0001
高等数学
2000
5
M-9
0002
线性代数
5000
图5-1各班学生用书表
(2)售书登记表:
学号、姓名、书号、购买数量selectStudent.Sno,Sname,Bno,BBamountfromStudent,BuyBook
whereBuyBook.Sno=Student.Sno
Soo
Sname
Bno
BBamount
1
$0S2WW801
i同学甲
0001
2000
2
0920010902
同学乙
D0D2
5000
3
092D0W721
同学丙
4000
4
0920020113
同学戊
MXW
1000
5
0320020225
同学丁
0005
2000
图5-2售书登记表
(3)缺书登记表:
学号、姓名、书号、缺书数量
selectStudent.Sno,Student.Sname,BuyBook.Bno,BBamount-SRamountamountfromStudent,BuyBook,StackRoom,Book
whereBuyBook.Sno=Student.Snoand
BuyBook.Bno=StackRoom.Bnoand
Book.Bno=BuyBook.Bnoand
BuyBook.BBamount>StackRoom.SRamount
Sno
Sname
Bno
amount
1[09200107211
同学丙
0003
3000
20520010902
同学乙
0002
30DD
图5-2缺书登记表
(4)教材存量表:
书号、单价、库存量
selectBook.Bno,Bprice,SRamountfromBook,StackRoom,BuyBookwhereBook.Bno=StackRoom.Bnoand
Book.Bno=BuyBook.Bno
Bno
Bpoce
SRamount
1
i
|0003[
38.0
1D00
2
0001
2160
2000
3
0002
1210
2000
4
0005
3900
3000
5
KXK
30.M
3000
图5-4教材存量表
(5)待购教材表:
书号
缺书数量
selectBuyBook.Bno,BBamount-SRamountamountfromBuyBook,StackRoom
whereBuyBook.Bno=StackRoom.Bnoand
BuyBook.BBamount>StackRoom.SRamount
Sna
Sname
Bno
amount
1
j092001D721
MX)3
3000
2
0920C10M2
同学乙
0002
3000
图5-5待购教材表