第一篇:学生系统数据库设计
数据库系统设计与实现 04综合设计实例
《数据库系统设计与实现》教案:系统综合设计实例 1
第四章 系统综合设计实例
一、系统综合设计过程
业务分析——组织结构分析——职能活动分析——业务流程分析建立逻辑模型——数据流图——数据字典数据库设计——概念设计:E-R图——逻辑设计:定义表系统结构设计——结构图系统分析系统设计
《数据库系统设计与实现》教案:系统综合设计实例 2
二、储蓄业务处理系统 1. 数据流图
顶层数据流图
1基础信息维护A 基础信息3统计查询2业务处理B 业务处理信息
第一层数据流图 图1 基础信息维护
1.1职员信息维护AA 职员信息1.2帐户信息维护AB 帐户信息
图2 业务处理
2.1存款处理BA 存款信息A 基础信息2.2取款处理BB 取款信息
《数据库系统设计与实现》教案:系统综合设计实例 3 图3 统计查询
3.1帐户账目查询3.2A 基础信息职员账目查询 业务处理信息B3.3职员业务统计3.4帐户业务统计
2. 数据库设计
(1) 概念设计——E-R图
帐号户名身份证号开户日期余额状态n帐户1编号业务类别收入金额支出金额日期属于n经办业务n经办11时间余额职员编号姓名性别电话状态
《数据库系统设计与实现》教案:系统综合设计实例 4 (2) 逻辑设计——建立表
职员表(编号*,姓名,性别,电话,状态)
帐户表(帐号*,户名,身份证号,开户日期,余额,状态,经办职员编号)
业务表(编号*,业务类别,收入金额,支出金额,日期,时间,余额,经办职员编号,帐号)
3. 系统结构设计
储蓄业务处理系统(切换面板)职员信息维护(窗体)帐户信息维护(窗体)存款处理(窗体)取款处理(窗体)帐户账目查询(窗体)职员账目查询(窗体)职员业务统计(查询)帐户业务统计(查询)加载(事件过程)确认(事件过程)清空业务临时表(查询)计算帐户余额(查询)信息存入业务表(查询)
《数据库系统设计与实现》教案:系统综合设计实例 5
三、超市管理系统 1. 数据流图
0. 顶层数据流图
1基础信息管理A 基础信息2进货管理B进货信息 3库存管理C 库存信息4销售管理D销售信息 E 库存量G 价格5进货决策6销售定价7统计查询F 进货决策信息
1. 基础信息管理
1.1员工信息管理1.2商品信息管理AB 商品信息AA 员工信息
《数据库系统设计与实现》教案:系统综合设计实例 6 2. 进货管理
2.1进货基本信息录入BA 进货基本信息2.3进货库存计算2.2进货明细录入BB 进货明细2.4更新进货价格GA 进货价格E 库存量
3. 库存管理
3.1库存核算E 库存量3.4清点库存计算3.2库存清点录入3.3商品损失计算CA 损失明细GA 进货价格3.5损失核销基本信息录入CB损失核销基本信息
4. 销售管理
4.1销售基本信息录入DA 销售基本信息4.3销售库存计算4.2销售明细录入DB 销售明细E 库存量GB 销售价格
5. 进货决策
《数据库系统设计与实现》教案:系统综合设计实例 7 进货点法:给每种商品设定一个安全库存量,当商品的库存小于安全库存时即按设定的最大库存进货,进货量=最大库存-当前库存。安全库存及最大库存根据商品的日销售量设置。
5.1销售速率统计FA 销售速率E5.2进货控制参数设置FB 进货点参数5.3 库存量产生订货FC 订货表
6. 销售定价
进价加成定价法:在商品当前进价的基础上,按照一定的加成(毛利润率)考虑确定商品的售价。计算出每种商品的毛利润率,参照其调整商品的售价。
FA 毛利润率6.1毛利润率计算GA 进货价格6.2调整销售价格GB 销售价格
7. 统计查询
商品进货、销售、清点明细查询; 各次进货、销售、清点明细查询; 某时期销售额、销售利润统计; 各商品销售额、销售利润统计。
《数据库系统设计与实现》教案:系统综合设计实例 8 2. 数据库设计
(1) 概念设计——E-R图
销售速率安全库存最大库存最近订货量毛利润率进货单号进货日期供应商商品种数总金额商品编码商品名称商品类别初始库存当前库存当前进价当前售价销售单号销售日期销售时间商品种数总金额进货nm进货数量细目n进货价格核算数量清点数量商品nn销售数量损失数量定损价格细目m进货价格销售n销售价格细目经办m损失核销n经办核销单号核销日期商品种数经办总金额11员工1工号姓名性别部门职务
(2) 逻辑设计——表
员工(工号*,姓名,性别,部门,职务)
商品(商品编码*,商品名称,商品类别,初始库存,当前库存,当前进价,当前售价,销售速率,安全库存,最大库存,最近订货量,毛利润率)
进货(进货单号*,进货日期,供应商,商品种数,总金额,经办人工号) 销售(销售单号*,销售日期,销售时间,商品种数,总金额,经办人工号) 损失核销(核销单号*,核销日期,商品种数,总金额,经办人工号) 进货细目(进货单号*,商品编码*,进货数量,进货价格)
销售细目(销售单号*,商品编码*,销售数量,销售价格,进货价格)
核销细目(核销单号*,商品编码*,核算数量,清点数量,损失数量,定损价格)
《数据库系统设计与实现》教案:系统综合设计实例 9 3. 系统结构设计
顶层结构:
超市管理信息系统基础信息管理(mdb)进货管理(mdb)库存管理(mdb)销售管理(mdb)进货决策(mdb)销售定价(mdb)统计查询(mdb)员工信息录入(查询)商品录入(查询)数据库
《数据库系统设计与实现》教案:系统综合设计实例 10 进货管理子系统结构
进货管理(mdb)进货单输入(窗体)进货明细输入(子窗体)进货金额合计(文本框)确认输入(按钮)取消输入(按钮)金额合计(文本框)更新库存更新进价(处理过程)(处理过程)计算合计金额(处理过程)删除进货单(处理过程)删除进货明细(处理过程)
《数据库系统设计与实现》教案:系统综合设计实例 11 销售管理子系统结构
销售管理(mdb)销售单输入(窗体)销售明细输入(子窗体)销售金额合计(文本框)确认输入(按钮)取消输入(按钮)金额合计(文本框)更新库存填入进价(处理过程)(处理过程)计算合计金额(处理过程)删除销售单(处理过程)删除销售明细(处理过程)
《数据库系统设计与实现》教案:系统综合设计实例 12 库存管理子系统结构
库存管理(mdb)损失核销(窗体)库存核算(处理过程)清点及损失明细输入(子窗体)损失数量及金额合计(文本框)确认输入(按钮)取消输入(按钮)库存清点(临时表)损失数量及金额合计(文本框)保存损失明细(处理过程)更新库存(处理过程)计算合计金额(处理过程)删除核销单(处理过程)
进货决策子系统结构:
进货决策(mdb)进货参数设定(窗体)商品订货量输入(窗体)销售速率统计(处理过程)商品类型选择(组合框)安全天数最大天数(计算字段)(计算字段)商品类型选择(组合框)清除订货量(按钮、处理过程)订货表(报表)
《数据库系统设计与实现》教案:系统综合设计实例 13 销售定价子系统结构:
销售定价(mdb)销售价格录入(窗体)商品类型选择(组合框)毛利润(计算字段)毛利润率(计算字段)
第二篇:图书管理系统数据库设计
一个简单的图书管理系统包括图书馆内书籍的信息、学校在校学生的信息以及学生的借阅信息。此系统功能分为面向学生和面向管理员两部分,其中学生可以进行借阅、续借、归还和查询书籍等操作,管理员可以完成书籍和学生的增加,删除和修改以及对学生,借阅、续借、归还的确认。
一、需求分析
针对一般图书管理信息系统的需求,通过对图书管理工作过程的内容和数据流程分析,设计如下面所示的数据项:
1.读者信息
属性:读者学号,读者姓名,读者性别,联系电话,所在系,生效日期,失效日期,违章状况,累计借书,备注
主键:读者学号
2.书籍信息
属性:ISBN,书名,作者,出版社,出版日期,简介,备注
主键:ISBN 3.管理员信息
属性:工作号,姓名,性别,电话,家庭住址,备注
主键:工作号
数据流程
通过对系统的调查和可行性分析,画出系统的数据流程图:
1.读者
学生对图书管理系统的要求有:
1)能按各种方式(比如书名、编号、作者)查询图书馆的藏书情况。
2)能够方便地借阅图书、续借图书、归还图书
3)能够查询自己的基本资料、图书情况
4)能够熟悉图书管理系统的使用。
读者进入系统工作的流程为:
注册→查询→修改信息→借阅续借→图书归还→注销
2.图书管理员
他们对图书管理系统的要求有:
1)能方便的对图书进行录入登记,注销陈旧的书籍。
2)能够方便地对新生进行登记,或注销已经毕业的学生信息(基本信息,借阅信息)。
3)能够随时发布一些诸如各学院学生借阅图书超期情况、馆内藏书情况、借情况等信息,以便各学院能够随时获知本院学生的一些借书信息。
图书管理员工作的流程为::
注册→录入图书→录入新生→注销图书→注销学生→注销→修改个人信息→超期处理
二、概念模型设计
数据库需要表述的信息有以下几种:
1.读者信息
2.书籍信息
3.管理员信息
4.读者与书籍之间的关系(借阅关系E-R图)
5.管理员与书籍之间的关系(管理员_书籍E-R图) 6.管理员与学生之间的关系(管理员_学生 E-R图)
三、逻辑设计
从理论‘E/R模型’到理论‘关系模型’的整理转换,通过E/R模型到关系模型的转化,可以得到如下关系模式:
借阅关系
属性:工作号,读者学号,ISBN,是否续借,借书日期,还书日期,备注。
主键:工作号,读者学号,ISBN 管理员_书籍关系
属性:工作号,ISBN,添加时间,是否在馆
主键:工作号,ISBN 管理员_学生关系
属性:工作号,读者学号,确认借还
主键:工作号,读者学号
四、数据库逻辑结构
1.图书信息表
字段名称
数据类型 是否可为空
ISBN(key)varchar(20) 否
书名
varchar(50) 否
作者
varchar(12) 否
出版社
varchar(50) 是
出版日期 datetime
是
简介
varchar(200) 是
备注
varchar(200) 是
2.读者信息表
字段名称数据类型是否可为空
读者学号(key)varchar(12)否
读者姓名varchar(10)否
读者性别varchar(2)否
联系电话varchar(10)是
所在系varchar(12)否
生效时间datatime是
失效时间datatime是
违章状况varchar(2)是
累计借书int是
备注varchar(100)是
3.管理员信息表
字段名称数据类型是否可为空
工作号(key)varchar(12)否
姓名varchar(12)否
性别varchar(2)否
电话varchar(12)是
住址varchar(12)是
备注varchar(100)是
4.借阅表
字段名称数据类型是否可为空
工作号 char(10) 否
ISBN char(10) 否
读者学号 char(10) 否
借书日期datetime否
还书日期datetime否
是否续借char(4)否
备注varchar(100)是
5.管理员_书籍
字段名称数据类型是否可为空
工作号char(10)否
ISBNchar(10)否
添加时间data time是
是否在馆char(14)是
6.管理员_学生
字段名称数据类型是否可为空
工作号char(10) 否
读者学号char(10)否
借还确认char(4)否
五、物理设计
从理论‘关系模型’到‘数据库建立’,物理文件的安排和建立索引
1.建立索引
为了提高在表中搜索元组的速度,在实际实现的时候应该基于键码建立索引是各表中建立索引的表项:
(1) 读者信息(读者学号)
(2) 书籍信息(ISBN)
(3)管理员信息(工作号)
(4)借阅(工作号,读者学号,ISBN)
(5)管理员_书籍(工作号,ISBN)
(6)管理员_学生(工作号,读者学号)
2.用SQL实现设计
实现该设计的环境为Windows 2000 Perfessinal+MSSQLServer 2000.0 1)建立图书信息表
create table 图书
(ISBN varchar(20) not null primary key, 书名 varchar(50) not null, 作者 varchar(12) not null, 出版社 varchar(50), 出版日期 datetime, 简介 varchar(200), 备注 varchar(200),) 2)建立读者信息表
create table 读者 (读者学号 varchar(12) not null primary key, 读者姓名 varchar(10) not null, 读者性别 varchar(2) not null, 联系电话 varchar(12),
所在系
varchar(20) not null, 生效日期 datetime, 失效日期 datetime, 违章状态 char(2) 累计借书 int,
备注
varchar(100),) 3)建立管理员信息表
create table 管理员
(工作号 varchar(12) not null primary key,
姓名
varchar(12) not null, 性别
varchar(2) not null, 电话
varchar(12), 家庭住址 varchar(50), 备注 varchar(100)) 4)建立借阅表
create table 借阅
(工作号 char(10) not null, ISBN char(10) not null, 读者学号 char(10) not null, 借书日期 datetime not null, 还书日期 datetime not null, 是否续借 char(4) not null,
备注 varchar(100) )
5)建立管理员_书籍表
create table 管理员_书籍
(工作号 char(10) not null, ISBN char(10) not null, 添加时间 datetime, 是否在馆 char(4))
6)建立管理员_学生表
create table 管理员_学生
(工作号 char(10) not null, 读者学号 char(10) not null, ISBN char(10) not null, 借还确认 char(4) not null) 7)建立索引
CREATE UNIQUE INDEX 图书索引 ON 图书(ISBN)
CREATE UNIQUE INDEX 读者索引 ON 读者(读者学号)
CREATE UNIQUE INDEX 管理员索引 ON 读者(工作号)
CREATE UNIQUE INDEX借阅索引 ON 借阅(工作号,读者学号,ISBN) CREATE UNIQUE INDEX管理员_书籍索引 ON 管理员_书籍 (工作号,ISBN读者学号)
CREATE UNIQUE INDEX管理员_学生ON管理员_学生 (工作号,读者学号) 8)定义视图
读者表视图
CREATE VIEW 读者视图
AS
SELECT *
FROM 读者
图书表视图
CREATE VIEW 图书视图
AS
SELECT *
FROM 图书
管理员表视图
CREATE VIEW 管理员视图
AS
SELECT *
FROM 管理员者
第三篇:数据库课程设计+飞机订票系统
飞机订票系统
1.概述(设计题目与可行性分析)
1.1设计题目:飞机订票系统
1.2可行性分析
飞机订票系统是为机场工作人员和客户提供订票退票等与机票相关内容的管理系统,方便机场工作人员对机票的管理,以提高机场工作人员对机票管理工作的效率。当前飞机订票问题:手工订票所产生的客座率低。而我们的目标是:建立一个飞机订票系统数据库。
1.2.1研究现有系统,画现有系统的流程图
了解当前系统能够完成的功能及组成
航班管理:票据管理
售票点:直接面向用户 航班管理
票据管理
票库
订票库
订票管理
出售管理
打印机票
售票点1 售票点n
现有系统:票据都分布在各个售票点
1.2.2导出新系统的高层逻辑结构
数据流图的基本符号:
数据源/终点(人机界面):
加工处理:
文件名
文件: 数据流名
数据流: 票价信息
机票
查订票号
订票处理
客户信息
出票处理
订票记录
顾客
订票信息
订票号
库存信息
票价信息
票价管理
航班管理
航班信息
操作员
航班信息
保存
新系统的数据流图:
说明:流向文件的数据流的名可以省略
1.2.3可行性分析报告
随着Internet的迅速发展和用户数量的急剧增加,互联网对于企业和事业单位的运营和发展日益重要,网上交易也逐渐被人们认可,并成为未来交易的发展方向。在这种情况下,很多原有的C/S模式的系统也逐步向B/S模式靠拢,飞机订票系统也不例外。
飞机订票系统是飞机旅游服务信息系统的一个重要组成部分。为旅客提供优质便捷的服务,为了提高飞机客运的售票效率,丰富飞机客运的营销手段,飞机售票总站的下属代售点可以通过公用的互联网资源,建立数据库,实现网上的售票,查询及管理工作。
2.系统目标和设计原则
2.1系统目标:
建立一个飞机订票系统数据库。
2.1.1系统简介:
本系统是专为乘坐飞机的旅客准备的,旅客只需把自己的信息(姓名.性别.工作单位.身份证号.旅行时间.旅行目的地)预先交给旅行社,旅行社就可以将信息输入本系统,系统就可以为旅客安排航班,打印出取票通知和帐单。旅客只要在飞机起飞的前一天凭取票通知单和帐单交款取单,系统校对无误即印出机票给旅客。
2.2设计原则
2.2.1根据实际情况考虑三种可行性
技术可行性、经济可行性、操作可行性
2.2.2提出侯选方案
1 、提出各种各样的实现方案
主机(纯主机型、C/S型)、开发环境、网络方案
2 、对提出的每个方案进行成本估计
硬件、软件费用投资(根据各公司的报价) 开发成本估计(任务估算法)
运行费用、投资回收期
纯收入:通过本系统的运行、投资回收后的收入
3、描述推荐理由:分别从技术、经济、用户、投资方的不同角度考虑
3.支撑环境规划
3.1整体系统运作图
3.2运行环境
服务器:硬件配置:CPU Intel P4 1.2G以上
内存256 硬盘 80G以上
软件配置:Windows 2000/2003 SERVER SQL SERVER 2000 4.系统功能结构
1、录入:可以录入航班情况(数据可以存储在一个数据文件中,数据结构、具体数据自定)
2、查询:可以查询某个航线的情况(如,输入航班号,查询起降时间,起飞抵达城市,航班票价,票价折扣,确定航班是否满仓);可以输入起飞抵达城市,查询飞机航班情况;
3、订票:(订票情况可以存在一个数据文件中,结构自己设定) 可以订票,如果该航班已经无票,可以提供相关可选择航班;
4、退票:可退票,退票后修改相关数据文件;
客户资料有姓名,证件号,订票数量及航班情况,订单要有编号。
5、修改航班信息:当航班信息改变可以修改航班数据文件。
5.数据库设计
5.1概念结构设计
E-R图如下:
5.2逻辑结构设计
1.航空公司表:AIRLINE 2.客户表CUSTOMER
3、飞机表PLANE 4.航线表LINE 5.航班表FLIGHT 6.订票表BOOKTICKET
5.3实现设计
实现以下操作:
1、注册航空公司:
2、增加飞机:
3、增加航线:
4、增加航班:
5、增加客户:
6、建立一个订票的存储过程,存储过程名为Book_Ticket,请完成以下存储过程,实现订票的操作:
a) 指定要订的航班号(HID)及客户的编号(KID);
b) 先查看客户是否为特殊客户,如果不是,票价不打折扣;
c) 否则如果客户航程超过5万公里,票价7折,超过15万公里,票价打5折;
d) 查看客户订票以后,所有乘客的票数是否超过总的座位数,如果超过,回滚订票操作;
e) 要求在操作过程中使用到事务技术。
CREATE PROCEDURE Book_ticket @HID VARCHAR(20)
@HID VARCHAR(20)
AS DECLARE @TRANS_NAME VARCHAR(20) select @TRANS_NAME=’ ’
BEGIN TRANSACTION DECLARE @Bookid int,@seats int,@IsSpec char(1) /*定义订票里程DIST、折扣率discount、总的订票里程distance、票价PRICE(实型)*/ select @Isspec=Isspec,@distance=Points FROM Customer where select @discount=1 IF @ BEGIN
END /*选择出票价*/ SELECT @PRICE=PRICE FROM FLIGHT WHERE /*加入客户订票信息*/
/*将客户新订票里程的信息累计到用户信息里面*/
UPDATE SET WHERE /*查看客户订票后,是否超过可容纳的座位数目,如果超过,取消所有操作*/ SELECT booked=count(*) FROM WHERE FID= /*查看额定座位容量*/ SELECT @seats=seatsnum FROM WHERE
IF @BOOKED>@SEATS
ELSE
COMMIT TRANSACTION GO 7. 运行这个订票操作的存储过程(自己设定客户及航班)
book_ticket , 8. 事务运行成功后,再显示各表的数据,按表分别写出来。
6.总体实施计划
6.1可行性研究:
研究现有系统,画现有系统的流程图,编写可行性分析报告
6.2进行数据库设计:
概念结构设计,逻辑结构设计,实现设计
6.3概要设计:
从数据流图导出初始结构图,设计优化 6.4详细设计:
结构化的程序设计,采用流程图的形式
6.5保密设计
1. 每个用户需要注册才能进入航空订票信息系统,并进行网上订票的。用户必须
用自己真实的身份进行注册。
2. 系统要另外在备一份数据库,防止系统出现错误而使数据信息丢失的可能性。
3. 系统要安装防火墙,防止黑客入侵破坏系统。还有就是安装杀毒软件,防止
病毒入侵而导致系统瘫痪。
6.6维护设计
系统设置提供管理员操作页面:
1. 提供管理员密码,方便维护操作. 2. 固定时间对系统进行维护和检测. 3. 若系统出现瘫痪时,可出动备用系统维持运转. 4. 定期对系统进行更新整顿清空.
7.总结
这次数据库课程设计的“飞机订票系统”,通过近一周的上机操作,充分应用了所学的数据库的知识,并去图书馆查阅了一些书集和上网搜索一部分相当资料,粗略设计出该系统。 总体上来说,这次课程设计还是比较成功的,充分运用了所学的软件工程设计、数据库的设计,设计出E-R图、流程图、数据库基本表,从整体规划出了系统的运行环境和系统实现的功能。
当然,由于学艺不精,在课程设计的过程也碰到的一些问题。其中,画E-R图时,各实体中的关系的确定,由于对系统还不够了解而找不到一个准确的词来形容;总体规划时,材料太多,不易整理;相关数据库技术方面没有多注意,这次课程设计的重点只在对整个系统的总体思路设计。
其实这些通过最近的课程设计觉得最重要一点就是:我们一定要自己动手,这样才能真正的学到东西。书本知识固然重要,但我们更要学会将书本知识应用到实际的工作中。实践中才会发现错误,也才能改进,才能达到学习的最终目的。
最后感谢在这次课程设计中帮助过我的老师,同学! 8.参考文献
物流信息系统
赵刚 四川大学人民出版社 2002/9 物流信息管理
尹涛 东北财经大学出版社
2005/1 数据库系统概论
王珊 萨师煊 高等教育出版社 2006/5 数据库技术与应用-Access2000篇 郭力平 人民邮电出版社
2002/8 软件设计师教程 陈平禇华
清华大学出版社 2006/6 文章引用自:
第四篇:图书管理系统的数据库设计
摘要:虚拟为某公司建立的图书馆管理系统进行数据库设计,目的在于使该系统的运行能提高该公司的资料管理水平和现代化管理水平。本系统是一个中小型管理系统,运行环境是Windows2003 server,因此使用Windows环境下最容易使用且功能又比较强大的Microsoft SQL Server 2000 作为后台的数据库系统。??
关键词:图书管理系统;数据库;设计??
中图分类号:TP311.11文献标识码:A文章编号:1672-7800(2011)07-0164-02?お?
??
作者简介:刘定智(1976-),女,贵州贵阳人,贵州职业技术学院实验师,研究方向为算法设计,数据库。
0引言??
目前,国内大部分大型的公共图书馆和高校图书馆都实现了网络管理,中小型图书馆(包括企业图书馆),也在朝着这个方向发展。在本文中,我们虚拟为某公司建立的图书馆管理系统进行数据库设计,目的在于使该系统的运行能提高该公司的资料管理水平和现代化管理水平。本系统是一个中小型管理系统,运行环境是Windows2003 server,因此使用Windows环境下最容易使用且功能又比较强大的Microsoft SQL Server 2000 作为后台的数据库系统。??
1需求分析??
需求分析是数据库设计的重要工作,通过需求分析,对整个系统的主要需求描述如图1所示:??
图1数字图书馆系统(Use Case View)??
2数据库设计??
在图书管理系统中,数据库设计占重要位置,数据库设计质量的优劣,可直接影响到数据库数据的冗余度、数据的一致性、数据丢失等问题。下面就系统数据库规范化设计进行说明。??
2.1数据库设计的理论指导??
数据库设计的理论指导是范式理论,其主要内容如下:①如果关系模式R,其所有的域为单纯域则称R是规范化的关系,或称第一范式 (1NF);②如果关系模式R为第一范式,且每个非主属性完全函数依赖于码,则模式R为第二范式(2NF);③如果关系模式R为第二范式,且每个非主属性非传递依赖于码,则称关系模式R为第三范式(3NF);④关系模式R为第一范式,满足函数依赖集合F,X和A均为R的属性集合,且X不包含A,如果R满足X->A且X必包含R的码,称关系模式R为BCNF范式。??
2.2数据库设计??
图书管理系统数据库常常要设计含有如下数据项:借书证号、姓名、单位、馆藏号(馆藏号为每本书上的条形码号)、书名、分类号、作者、价格等。如何进行模式的设计呢?下面以图书流通模块所涉及的数据库为例来说明。??
先设计图书流通的实体-关系图(E-R图)。E-R图由3个相关联的部分构成,即实体、实体与实体之间的关系以及实体和关系的属性。图书流通过程中实体“图书”与“读者”之间的关系是借阅和被借阅的关系,实体“读者”与“单位”之间的关系是属于和被属于的关系,“图书”的属性有“馆藏号”、“书名”、“分类号”、“作者”、“价格”,“读者”的属性有“借书证号”、“姓名”、“性别”,“单位”的属性有“单位编号”和“单位名称”,“借阅”属性“借书日期”,由此得出E-R图如图2所示:??
图2图书流通的E-R??
从图中可以知道:①“借书证号”是唯一的,所以“借书证号”决定“姓名”,每位读者应只属于一个性别,所以“借书证号”也决定“性别”;②“馆藏号”是唯一的,所以“馆藏号”决定“书名”、“分类号”、“作者”、“价格”;③“单位编号”是唯一的,所以“单位编号”决定“单位名称”;④每位读者在一个时间只能借一本书,所以“借书证号” +“馆藏号”决定“借阅时间”。??
如果将这些数据项置于一个关系模式中,根据范式理论,该关系模式属于1NF(第一范式),它存在删除异常和冗余等问题,不是理想的模式,因此要把它分解成满足3NF或BCNF的关系模式。根据范式理论和E-R图转换成关系模型的规则,上面的E-R图可转换为4个关系模式:①图书(馆藏号、书名、分类号、作者、价格);②读者(借书证号、姓名、性别、单位编号);③借阅(借书证号、馆藏号、借阅时间),④单位(单位编码、单位名称),其中打下划线的为码,这样就解决了插入、删除和数据冗余等问题。??
我们对数据的结构进行详细的分析,按照上述的设计思想,共设计了读者表,书目表,馆藏表,流通表等百余张数据表,然后创建视图和存储过程。下面举例说明:①读者表:借书证号、姓名、单位、读者类别、职称等字段;②书目表:馆藏号、ISBN、题名、作者、出版社、复本数、语种、文献类型、版次等字段;③馆藏表:馆藏号、索书号、分类号、种次号、馆藏位置、单价、出版日期等字段;④流通表:借书证号、馆藏号、借期、还期、续借、应还期、操作员等字段;⑤借阅规则表:读者类别编码、图书类别编码、限借册数、每期天数、续借天数、过期日期、罚金等字段;⑥读者类别表:读者类别编码、读者类别等字段;⑦图书类别表:图书类别编码、图书类别等字段。??
3数据库索引??
建立索引是加快查询速度的有效手段,数据库的每一个表建立了主键,主键由一个或几个字段组成,每一个表都按主键建立了索引,部分表为了满足查询和排序的需要,除建立主索引外,还建立了次索引。例如在查询时要用到“馆藏号”、“作者”、“题名”等条件来查找图书,因此,在书目表上除了对主键“馆藏号”建立了主索引外,也对“作者”、“书名”等建立了次索引。??
4视图??
视图是从一个或几个基本表导出的表,它是定义在基本表之上的,它是一个虚表,数据库中只存放视图的定义,而不存放视图对应的数据,数据仍然存放在原来的基本表中。通过定义视图,可以使用户眼中的数据库结构简单、清晰,并可以简化用户的数据查询操作。由于本系统数据表较多,表中的字段多,为了简化对表的操作,我们创建了图书_按书名查询、期刊_按刊名查询、期刊_按编辑部查询、借阅规则查询、待还书查询、超期记录查询等30余个视图。??
5存储过程??
存储过程是一段经过编译的程序代码,存放在数据库服务器端。通过调用适当的存储过程,可在服务器端处理大量数据,再将处理结果送到客户端。这样可减少数据在网络上的传送,消除网络阻塞现象;例如:要查询某条记录,若该记录在表中的顺序号是10000,不采用存储过程,服务器将从1至于10000条记录数据逐条送至客户端,采用存储过程后,由于过程是经过编译的并且是在本地,不需要通过网络,因此能很快查出所需记录并将结果送到客户端,大大减少了网上数据传输量。存储过程另一好处是可供不同的开发工具调用,如PB、VB、ASP、Delphi等开发工具均可调用。在流通模块和WEB查询模块上均有图书检索功能,实际上调用同一存储过程完成的。本系统建立了60多个存储过程,实现诸如借还书处理、新书入库统计、编目入馆藏、读者统计、生成索书号等功能。??
6数据库调用??
Client/Server采用ODBC接口实现数据库的调用,Browser/Server采用ADO接口调用。??
参考文献:??
[1]宫昌利.图书管理系统的设计与实现[D].山东大学,2009.??
[2]顾俐.图书馆图书管理系统的设计[J].中国科技信息, 2007(11).??
[3]赵晨.图书管理系统[D].吉林大学,2009.??
[4]陈杰志.图书管理系统[D].华南理工大学,2011.??
[5]黄剑樱.高校图书管理系统的设计与实现[D].电子科技大学,2007.??
[6]栾丁.图书管理系统设计与实现[D].吉林大学,2010.??
[7]花昀峤.基于面向对象技术的图书管理系统研究[D].吉林大学,2010.??
[8]张佳慧.图书信息管理系统的设计与实现[D].电子科技大学, 2009.
?ぃㄔ鹑伪嗉?:王钊)
第五篇:数据库课程设计学籍管理系统
学籍管理系统
本次数据库课程设计是以Access数据库作为后台以VB作为前台的应用型设计课程。
综合我们所学的两大课程创建应用型的数据库系统,大大的提高了我们学生的动手能力,作到了理论与实践相结合。 一.题目说明:
学生学藉管理系统是典型的学藉管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强、数据安全性好的库。而对于后者则要求应用程序功能完备,易使用等特点。
本系统主要完成对学生情况和学生成绩的管理,包括数据库中表的添加、删除等。系统还可以完成对各类信息的浏览、添加、删除、等功能。
系统的核心是数据库中各个表联系,每一个表的修改都将联动的影响其它的表,当完成对数据的操作时系统会自动地完成数据库的修改。查询功能也是系统的核心之一,在系统中即有单条件查询和多条件查询,也有精确查询和模糊查询,系统不仅有静态的条件查询,也有动态生成的条件查询,其目的都是为了方便用户使用。系统有完整的用户添加、删除和密码修改功能,并具备报表打印功能。 关键字:窗体、数据库、vb6.0、access2000。
学生学籍管理系统被广泛应用于各类学校的学生学籍管理工作中,要求其具有实用性强、使用方便、效率高和安全可靠等特点。本管理系统正是围绕以上几个方面进行开发的,在开发过程中充分考虑到本系统的应用特点,并进行了大量的检验,证明其的确达到了设计的要求,是一个已具备了实际应用能力的软件。本文主要论述学生学籍管理系统的开发过程,在涉及到VB及Access中的部分知识以举例的方式进行讲解 二. 总体设计:
我的总体设计如下:
(1).利用Access建立数据库,并在该数据库下创建五张表格,分别是学生表、课程表、选课表、学生选课表以及口令表。
(2)利用VB来建立界面并对它进行设计和修改,大体框架如下: FORM1 用于首界面
FORM2 用于登陆此系统的登录界面
FORM3 是主窗体,在这上面建立相应的菜单 如:文件——退出、添加用户(FORM4) 数据信息——管理使用(FORM5)
基本操作——学生操作、选课操作、课程操作 (FORM
6、FORM
7、FORM8) (3)对以上的界面进行设计以及对所要操作的部件进行编程。
三.常用控件的说明: 所有的Windows应用程序窗口或对话框,都是由诸如文本框、列表框、命令按扭、滚动条、命令菜单等组成的。VB通过控件工具箱提供了它们与用户进行交
互的可视化部件,即控件。程序开发人员只需要通过简单的操作,在窗体上安排所需要的控件,完成应用程序的用户界面设计即可。 序号
名称
功能
1 Label标签
用于说明
2 Textbox文本框
用于文本输入或显示 3 Frame框架
用于组合控件
4 Commandbutton命令按扭
单击执行命令 5 Timer计时期
用于定时
6 Data数据控件
用于访问数据库
三.详细说明:
1.数据库的建立与设计:
数据库是有结构的数据集合,它与一般的数据文件不同,(其中的数据是无结构的)是一串文字或数字流。数据库中的数据可以是文字、图象、声音等。
Access数据库由六种对象组成,它们是表、查询、窗体、报表、宏和模块。
(1).表(Table) ——表是数据库的基本对象,是创建其他5种对象的基础。表由记录组成,记录由字段组成,表用来存贮数据库的数据,故又称数据表。
(2).查询(Query)——查询可以按索引快速查找到需要的记录,按要求筛选记录并能连接若干个表的字段组成新表。
(3).窗体(Form)——窗体提供了一种方便的浏览、输入及更改数据的窗口。还可以创建子窗体显示相关联的表的内容。窗体也称表单。
(4).报表(Report)——报表的功能是将数据库中的数据分类汇总,然后打印出来,以便分析。
(5).宏(Macro)——宏相当于DOS中的批处理,用来自动执行一系列操作。Access列出了一些常用的操作供用户选择,使用起来十分方便。
(6).模块(Module)——模块的功能与宏类似,但它定义的操作比宏更精细和复杂,用户可以根据自己的需要编写程序。模块使用Visual Basic编程。
我们利用Access来建立数据库,我们的库中有五张表格,其分别是学生表、课程表、选课表、学生选课表以及口令表。
我们就以学生表为例做一个简单的说明:
我们使用设计器来创建表的,我的这张表有七个字段,每个字段的名称分别是:学号、班级、姓名、性别、出生年月、民族、地址、电话号码,每个字段有七个数据。我并对其字段的属性进行了重新的修改,以做到不浪费其空间。
我具体的实施步骤是:启动数据库管理器——建立数据库——建立数据表结构——输入记录。
最终产生了这样的一个数据库:(如下)
2.VB界面的建立设计以及程序的编写说明:
VB 是在Windows操作平台下,用于开发和创建具有图形用户界面的应用程序的强有力工具之一。VB为开发Windows应用程序不仅提供了全新的相对简单的方式,而且也引进了新的程序设计方法——面向对象的设计方法(00P)。从传统的面向过程的程序设计,转移到更先进的面向对象的程序设计,无论是对老的程序员,还是初学者,都是一个挑战。而学习VB,则是掌握这一新的程序设计方法的一条捷径。
(1).界面的设计和程序的编写:
设计一个像这样的友好的界面,我考虑到它的颜色的配制,界面的大小,界面所载的内容的多少等,在后台我用定时器给其限定时间让它在一定的时间后自动跳到下一个界面。
这个界面是系统的主界面,用户可以在通过系统登录后直接到我们的主界面上来进行相应的操作,我的主界面采用的是一张苏州市职业大学的图片,在这个图片的上面有三个菜单,分别是文件、数据信息和基本操作。在各自的下面还有与之相对应的子菜单,文件下有退出和添加用户,数据信息下有管理使用,基本操作下有学生操作、选课操作和课程操作。我利用FORMn.SHOW命令连接到相对应的界面上。
我们的界面有好几张我就对其中的一张进行详细的分析:
这是一张学生选课浏览表的界面,这也是对应我的主界面菜单中的数据信息下的管理使用子菜单的一张界面,在这张界面中包含了8个LABEL标签控件、7个 TEXTBOX文本框控件、6个COMMANDBUTTON命令按扭控件、1个FRAME框架控件和1个DATA部件。我利用DATA部件将界面与 ACCESS数据库相连接,具体的操作是利用DATABASENAME与数据库连接,在RECORDSOURCE中找到与之对应的表,再用 DATASOURCE、DATAFIELD与个文本框内容对应,从而实现界面与数据库的连接。 下面是程序的编写过程:
显示前一个数据: COMMAND1:
Private Sub Command1_Click() If Data1.Recordset.RecordCount = 0 Then MsgBox "没有记录" Else If Data1.Recordset.BOF Then Data1.Recordset.MoveFirst MsgBox "这是第一条记录!" Else Data1.Recordset.MovePrevious If Data1.Recordset.BOF = True Then
Data1.Recordset.MoveFirst MsgBox "这是第一条记录!" End If End If End If End Sub 显示第一个数据: COMMAND2:
Private Sub Command2_Click() If Data1.Recordset.RecordCount = 0 Then MsgBox "没有记录" Else Data1.Recordset.MoveFirst End If End Sub 显示最后一个数据: COMMAND4:
Private Sub Command4_Click() If Data1.Recordset.RecordCount = 0 Then MsgBox "没有记录" Else Data1.Recordset.MoveLast End If End Sub 显示后一个数据: COMMAND3:
Private Sub Command3_Click() If Data1.Recordset.RecordCount = 0 Then MsgBox "没有记录" Else If Data1.Recordset.EOF Then Data1.Recordset.MoveLast MsgBox "这是最后一条记录!" Else Data1.Recordset.MoveNext If Data1.Recordset.EOF = True Then Data1.Recordset.MoveLast MsgBox "这是最后一条记录!" End If End If End If End Sub 添加一个数据:COMMAND6 Private Sub command6_Click() If Command6.Caption = "添加" Then
Command1.Enabled = 0 Command2.Enabled = 0 Command3.Enabled = 0 Command4.Enabled = 0 Command6.Caption = "确定" Command5.Caption = "放弃" If Data1.Recordset.RecordCount > 0 Then Data1.Recordset.MoveLast End If Data1.Recordset.AddNew Text1.SetFocus Else Command1.Enabled = -1 Command2.Enabled = -1 Command3.Enabled = -1 Command4.Enabled = -1 Command6.Caption = "添加" Command5.Caption = "删除" Text2.Enabled = 0 Text5.Enabled = 0 Text3.Enabled = 0 Text4.Enabled = 0 Text6.Enabled = 0 Text7.Enabled = 0 Data1.Recordset.Update Command1.SetFocus End If End Sub 删除一个记录:COMMAND5 Private Sub Command5_Click() If Command5.Caption = "放弃" Then Command4.Enabled = -1 Command5.Enabled = -1 Command6.Enabled = -1 Command3.Enabled = -1 Command1.Caption = "添加" Command2.Caption = "删除" Text2.Enabled = 0 Text5.Enabled = 0 Text6.Enabled = 0 Text7.Enabled = 0 Text1.Enabled = 0
Else If Data1.Recordset.RecordCount = 0 Then MsgBox "没有记录", 32, "注意" Exit Sub Else str1 = MsgBox("删除该记录吗?", 17, "删除") If str1 = 1 Then Data1.Recordset.Delete Data1.Refresh If Data1.Recordset.RecordCount = 0 Then MsgBox "记录数为零" Data1.Recordset.AddNew End If End If End If End If End Sub
四、在此过程中遇到的问题以及解决方法: 在开始编写程序的时候总是有一些出错,在查找有关书籍和向老师询问后得出了结果。在将界面与数据库相连接的时候,不知道用哪种方法,在老师的帮助下我学会了两种方法:1.DATA、2.ADODC。我最终使用DATA这种方法。
五、心得体会:
在这次的设计过程中,我学到的不仅是知识,我还认识到许多事情。这次设计使我的编程水平提高了一大步,使我充分的认识到合作的可贵。由于这次设计涉及到数据库,我的学到了不少编程工具与数据库连接的知识,对数据库的操作有了进一步的了解。这次设计对我的综合能力是一次很好的锻炼,但是我必须承认自己的能力和知识还很肤浅。所以今后我的学习道路还是很漫长的。最后,在这里我要衷心的感谢我们的指导老师牛丽、程渊,谢谢她的悉心指导和热心帮助。由于我水平有限,加之时间短暂,故学籍管理系统中还有许多不足之处,请老师批评指正,我会在以后的制作中不断改进,不断完善。