数据库设计大作业案例
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
大型数据库期末大作业案例教材购销系统
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:M)。各个实体分E-R图如下图所示
实体:教材,学生,购书单,教材库
图1-1教材E-R图
图1-3购书单E-R图
图1-4教材库E-R图
图1-2出版社E-R图总体E-R图及各个实体之间的关系如下图所示
图2-1 教材购销管理ER图
2.2 逻辑结构设计
E-R图向关系模型的转换
关系模型的逻辑结构是一组关系模式的集合。E-R图则是由实体,实体的属性和实体间的联系三个要素组成。所以将E-R图转换为关系模型实际上就是要将实体,实体的属性和实体间的联系转换为关系模式。转换原则如下。
1. 实体类型的转换:一个实体型转换成一个关系模式。实体的属性就是关系的属性,实体的码就是关系的码。
2.联系类型的转换,根据不同的情况做不同的处理。
⑴一个1:1的联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,每个实体的码均是该关系的候选码。如果与某一端实体对应的关系模式合并,则需要在该关系模式的属性中加入另一个关系模式的码和联系本身的属性。
⑵一个1:N的联系可以转换为一个独立的关系模式,也可以与N端对应的关系模式合并。如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为N端实体的码。
⑶一个M:N联系转换为一个关系模式。与该联系相连的各实体的码为各实体码的组合。
⑷三个或三个以上实体间的一个多元联系可以转换为一个关系模式。与该多元联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为各实体码的组合。
⑸具有相同码的关系模式可合并。
3. 根据销售信息管理系统的E-R图转换为关系模型如下。
将每一个实体转换成一个关系(关系就是给出关系名,属性就是实体属性,并标明该关系的主键用下划线来表示)
关系模式:
学生(学号,姓名,性别,年龄,所在系,班级),主码为学号,符合三范式。
购书单(购书单号,书号,购买数量,购书人学号),主码为购书单号,符合三范式。
教材库(图书管理员,库号,书号,库存量)主键为图书管理员,库号符,合三范式。
教材(书号,书名,单价,出版社)主码为书号,符合三范式。
2.3 物理结构设计
3系统实施
3.1数据库实现
创建数据库:
create database 教材购销
创建基本表:
(1)学生表:学号,姓名,性别,年龄,所在系,班级create table Student
(Sno char (10) primary key not null,
Sname char (30) not null,
Ssex char (10) not null,
Sage char (10) not null,
Sdept char (10) not null,
Sclass char (10) not null,
foreign key Sno references BuyBook(Sno)
)
(2)购书单表:购书单号,书号,购买数量,购书人学号create table BuyBook
(BBno char (10) primary key not null,
Bno char (10) not null,
BBamount int(10) not null,
Sno char (10) not null,
foreign key Sno references Student(Sno),
foreign key Bno references Book(Bno)
)
(3)教材库表:图书管理员,库号,书号,库存量create table StackRoom
(SRmanager char (10) not null,
SRno char (10) not null,
Bno char (10) not null,
SRamount int(10) not null,
primary key (SRno, SRmanager),
foreign key Bno references Book(Bno)
)
(4)教材表:书号,书名,单价,出版社create table Book
(Bno char (10) primary key not null,
Bname char (30) not null,
Bprice char (10) not null,
Pno char (10) not null,
foreign key Pno references Public(Pno)
)
(5)出版社表:
create table Public
(Pno char (10) primary key not null,
Pname char (30) not null,
Pphone char (30) not null,
Padd char (30) not null,