收藏 分销(赏)

数据库课程设计-教材购销系统.doc

上传人:仙人****88 文档编号:8042642 上传时间:2025-02-01 格式:DOC 页数:16 大小:391KB 下载积分:10 金币
下载 相关 举报
数据库课程设计-教材购销系统.doc_第1页
第1页 / 共16页
数据库课程设计-教材购销系统.doc_第2页
第2页 / 共16页


点击查看更多>>
资源描述
课程设计 教材购销系统 目录 1 设计时间 3 2 设计目的 3 3 设计任务 3 4 设计内容 3 4.1需求分析 3 4.2系统设计 5 4.2.1 概念结构设计 5 4.2.2 逻辑结构设计 7 4.2.3 物理结构设计 8 4.3系统实施 9 4.3.1数据库实现 9 4.3.2 数据载入 11 4.4运行与测试 12 4.4.1运行与测试 12 4.4.2分析 15 5 总结与展望 15 参考文献 16 1 设计时间 2 设计目的 数据库原理及应用课程设计是软件工程专业集中实践性环节之一,是学习完《数据库原理及应用》课程后进行的一次全面的综合练习。其目的在于加深对数据库基础理论和基本知识的理解,掌握使用数据库进行软件设计的基本方法,提高运用数据库解决实际问题的能力,最终实现对于给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效地存储数据,满足各种用户的应用需求(信息要求和处理要求)。同时,此次设计对于同学将来的毕业设计和具体工作实践将有重要的意义。 3 设计任务 通过数据库原理及应用这门课的学习,掌握使用数据库进行软件设计的基本方法,提高运用数据库解决实际问题的能力,最终实现对于给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效地存储数据,从而来完成一个教材购销管理系统,并使其具有比较完善的管理与使用功能。 4 设计内容 4.1需求分析   教材购销管理系统: 教材购销管理系统是帮助管理人员、教材销售和库存的管理软件。该教材购销管理系统软件目前已有比较完善的管理与使用功能,该项目的用户是学校,开发本系统是为了教材购销管理系统更完善,为了教材购销对商品库存和销售的管理更方便,为了减轻工作人员的工作负担,以现代化的创新思维模式去工作。 系统的功能要求: 销售子系统 (1)审查有效性 学生将购书单交给教材科秘书,秘书通过查阅各班学生用书表、售书登记表检查是否允许该生买书。 (2)开发票 如果允许学生买书,教材科会计将按购书单查阅教材存量表,如果有书且数量够,则开交款发票,否则,将购书单中无法购买的书的信息写入缺书登记表,以备以后补售教材。 (3)登记并开领书单 教材科出纳员根据发票上的总金额收取现金,并进行售书登记,同时开领书单,学生将领书单交给保管员,领书。 (4)补售教材 采购部门进书后,教材科秘书根据进书通知和缺书登记表给没买到教材的学生发补售通知单。 采购子系统 (1)教材入库 采购员采购教材后,将进书单交给秘书,秘书修改教材库存和待购量。 (2)统计 秘书每月按书号和出版社统计缺书,形成待购教材表和缺书单,供采购员采购时使用。 教材保管员 学生 写购书单 领书单,发票 购买 够 查阅数量 不够 交购书单 检查是否允许购买 是 教材出纳员 教材科秘书 否 采购员 4.2系统设计 4.2.1 概念结构设计 E-R图是分为两部分实体和属性,每个实体可以有多个属性,这些属性用来表示实体的性质。不同实体之间可以用关系进行连接,表明各个实体之间的内在联系。实体和实体之间的关系有一对一的关系(1:1),一对多的关系(1:N)和多对多的关系(N:M)。 各个实体分E-R图如下图所示 实体:教材,学生,购书单,教材库 出版社 书名 书号 单价 购书单 图1-1教材E-R图 性别 姓名 班级 学号 年龄 学生 专业 图1-2学生E-R图 购书人 书号 购书单号 购买数量 购书单 图1-3购书单E-R图 图书管理员 书号 库号 库存量 教材库 图1-4教材库E-R图 出版社名 shehao 地址 出版社号 电话 出版社 图1-2出版社E-R图 总体E-R图及各个实体之间的关系如下图所示 交纳 书费 教材库 学生 1 书库 书库 填写 1 n 对应 购书单 n m n 买教材 教材 购书单细节 图2-1 教材购销管理ER图 4.2.2 逻辑结构设计 E-R图向关系模型的转换 关系模型的逻辑结构是一组关系模式的集合。E-R图则是由实体,实体的属性和实体间的联系三个要素组成。所以将E-R图转换为关系模型实际上就是要将实体,实体的属性和实体间的联系转换为关系模式。转换原则如下。 1. 实体类型的转换:一个实体型转换成一个关系模式。实体的属性就是关系的属性,实体的码就是关系的码。 2.联系类型的转换,根据不同的情况做不同的处理。 ⑴ 一个1:1的联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,每个实体的码均是该关系的候选码。如果与某一端实体对应的关系模式合并,则需要在该关系模式的属性中加入另一个关系模式的码和联系本身的属性。 ⑵ 一个1:N的联系可以转换为一个独立的关系模式,也可以与N端对应的关系模式合并。如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为N端实体的码。 ⑶ 一个M:N联系转换为一个关系模式。与该联系相连的各实体的码为各实体码的组合。 ⑷ 三个或三个以上实体间的一个多元联系可以转换为一个关系模式。与该多元联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为各实体码的组合。 ⑸ 具有相同码的关系模式可合并。 3. 根据销售信息管理系统的E-R图转换为关系模型如下。 将每一个实体转换成一个关系(关系就是给出关系名,属性就是实体属性,并标明该关系的主键用下划线来表示) 关系模式: 学生(学号,姓名,性别,年龄,所在系,班级),主码为学号,符合三范式。 购书单(购书单号,书号,购买数量,购书人学号),主码为购书单号,符合三范式。 教材库(图书管理员,库号,书号,库存量)主键为图书管理员,库号符,合三范式。 教材(书号,书名,单价,出版社)主码为书号,符合三范式。 4.2.3 物理结构设计 表3-1 学生表Student 字段名称 中文名称 类型长度 取值范围 是否非空 主关键字 备注 Sno 学号 char 10 N Y 外码 Sname 姓名 char 30 N N Ssex 性别 char 10 男、女 N N Sage 年龄 char 10 18~28 N N Sdept 专业 char 10 N N Sclass 班级 char 10 N N 表3-2 购书单表BuyBook 字段名称 中文名称 类型长度 取值范围 是否非空 主关键字 备注 BBno 购书单号 char 10 0000~9999 N Y Bno 书号 char 10 0000~9999 N N 外码 BBamount 购买数量 int 10 N N Sno 购书人学号 char 10 N N 外码 表3-3教材库表StackRoom 字段名称 中文名称 类型长度 取值范围 是否非空 主关键字 备注 SRmanager 图书管理员 char 10 0000~9999 N Y SRno 库号 char 10 0000~9999 N N Bno 书号 char 10 0000~9999 N N 外码 SRamount 库存量 int 10 N N 表3-4 教材表Book 字段名称 中文名称 类型长度 取值范围 是否非空 主关键字 备注 Bno 书号 char 10 0000~9999 N Y 外码 Bname 书名 char 30 N N Bprice 单价 char 10 N N Pno 出版社号 char 10 0000~9999 N N 表3-5 出版社表Publish 字段名称 中文名称 类型长度 取值范围 是否非空 主关键字 备注 Pno 出版社号 char 10 0000~9999 N Y 外码 Pname 出版社名 char 30 N N Pphone 电话 char 30 N N Padd 地址 char 30 N N 4.3系统实施 4.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, ) 4.3.2 数据载入 图4-1 学生表数据 图4-2 购书单表数据 图4-3教材库表数据 图4-4教材表数据 图4-5出版社表数据 4.4运行与测试 4.4.1运行与测试 (1)各班学生用书表:班级、书号、书名、购买数量 select distinct Sclass,Book.Bno,Bname,BBamount from Student,BuyBook,Book where BuyBook.Sno=Student.Sno and BuyBook.Bno=Book.Bno 图5-1各班学生用书表 (2)售书登记表:学号、姓名、书号、购买数量 select Student.Sno,Sname,Bno,BBamount from Student,BuyBook where BuyBook.Sno=Student.Sno 图5-2售书登记表 (3)缺书登记表:学号、姓名、书号、缺书数量 select Student.Sno,Student.Sname,BuyBook.Bno,BBamount-SRamount amount from Student,BuyBook,StackRoom,Book where BuyBook.Sno=Student.Sno and BuyBook.Bno=StackRoom.Bno and Book.Bno=BuyBook.Bno and BuyBook.BBamount>StackRoom.SRamount 图5-2缺书登记表 (4)教材存量表:书号、单价、库存量 select Book.Bno,Bprice,SRamount from Book,StackRoom,BuyBook where Book.Bno=StackRoom.Bno and Book.Bno=BuyBook.Bno 图5-4教材存量表 (5)待购教材表:书号、缺书数量 select BuyBook.Bno,BBamount-SRamount amount from BuyBook,StackRoom where BuyBook.Bno=StackRoom.Bno and BuyBook.BBamount >StackRoom.SRamount 图5-5待购教材表 (6)缺书单:书号、缺书数量、出版社、地址、电话 select BuyBook.Bno, BBamount-SRamount amount, Publish.Pno,Padd,Pphone from Student,BuyBook,StackRoom,Publish,Book where BuyBook.Sno=Student.Sno and BuyBook.Bno=StackRoom.Bno and BuyBook.Bno=Book.Bno and Book.Pno=Publish.Pno and BuyBook.BBamount >StackRoom.SRamount 图5-6缺书单 (7)教材一览表:书号、书名、出版社、、电话 select Bno,Bname, Pname,Padd,Pphone from Book,Publish where Book.Pno=Publish.Pno 图5-2教材一览表 4.4.2分析 (1)在创建基本表BuyBook和StackRoom时分别把属性.BBamount和StackRoom的类型设置成了char型,导致在后面查询BBamount-SRamount的差值时这一属性时无法计算,应该将BBamount和StackRoom的类型都设置成int型。 (2)在用SQL语句select BBamount-SRamount查询BBamount与SRamount两列的差值时这一属性时无法显示属性名,应将BBamount-SRamount改为BBamount-SRamount amount则amount即为BBamount与SRamount两列的差值这一属性的列名。 5 总结与展望 通过本次课程设计使我受益匪浅,对课堂上所学的知识有了进一步的巩固加深,并且学到了很多书本上课堂上无法学到的东西。本次课程设计锻炼了我各个方面的能力,对数据库有了更深的理解,让我学会了如何用课堂上所学的知识与实际联系起来 ,使我更灵活的运用数据库的各项功能,加深了我对SQL语句的熟识度和理解度,为以后奠定了良好的基础。回顾系统的开发与论文撰写过程,有很多收获,但也有很多不尽人意之处,同时也认识到了自身的不足,促使我必须继续努力做一名优秀的软件工程师。 参考文献 [1] 萨师煊,王珊.数据库系统概论[M].北京:高等教育出版社,2005 [2] 王珊.数据组织与管理[M].北京:经济科学出版社,1996. [3] 王能斌.数据库系统[M].北京:电子工业出版社,1995. [4] 李石山,盖淑华.信息系统开发中的数据库设计[J].辽宁工程技术大学学报,2000,19(1):65-67. [5] 张龙祥.数据库原理与设计[M].成都:西南交通大学出版社,1994. [6] 刘韶涛,余金山.考试系统的功能模块设计与实现[J].华侨大学学报(自然科学版),2008,29(3):479-480. 成绩评定 成绩 教师签字 16
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 教育专区 > 小学其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服