数据库+机房管理系统设计.docx

上传人:b****8 文档编号:10523569 上传时间:2023-02-17 格式:DOCX 页数:17 大小:86.81KB
下载 相关 举报
数据库+机房管理系统设计.docx_第1页
第1页 / 共17页
数据库+机房管理系统设计.docx_第2页
第2页 / 共17页
数据库+机房管理系统设计.docx_第3页
第3页 / 共17页
数据库+机房管理系统设计.docx_第4页
第4页 / 共17页
数据库+机房管理系统设计.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

数据库+机房管理系统设计.docx

《数据库+机房管理系统设计.docx》由会员分享,可在线阅读,更多相关《数据库+机房管理系统设计.docx(17页珍藏版)》请在冰豆网上搜索。

数据库+机房管理系统设计.docx

数据库+机房管理系统设计

数据库机房管理设计

 

姓名:

学号:

题目:

班级:

 

一、题目

(42)机房管理系统

●实现机房信息、机器信息、学生信息、上机类型信息的管理;

●实现学生上机充值信息的管理;

●实现学生上机过程的登记、费用信息的管理;

●实现教学班及教学班学生信息的管理;

●实现上机费率标准的设置及教学班上机的预约,即设置各教学班的上课时段。

●创建存储过程统计各机房上机费用的统计;

●创建触发器实现费用登记时,自动修改该生的账户余额。

●建立各表之间的关系。

二、需求分析

针对一般高校机房管理系统的需求分析、通过对学生上机过程、教学班上机过程、注册过程、充值过程、的内容的数据流程分析一现设计如下数据项和数据结构

(1)机房基本信息:

包括机房号、机房名、计算机数目、管理人等

(2)计算机基本信息:

包括计算机IP地址、编号、机房号、品牌、备注等

(3)学生基本信息:

包括学号、姓名、性名、行政班等

(4)教学班基本信息:

包括教学班班号、课程名称、课程性质、任课教师、教学班人数等

(5)用户基本信息:

包括用户名、学号、密码、余额等

(6)学生充值基本信息:

包括用户名、充值时间、金额、办理人等

(7)机房收费标准基本信息:

包括机房号、时间段、金额等

(8)学生成绩基本信息:

包括教学班号、学号、成绩等

(9)教学班机房预约基本信息:

包括机房号、上课时段、开始时间、结束时间、教学班号等

(10)学生上机过程登记基本信息:

包括计算机IP地址、日期、上机时间、下机时间、学号、上机类型等

(11)机房费用统计基本信息:

包括计算机IP地址、日期、统计时间、费用等

(12)收费人员基本信息:

包括收费员编号、收费员姓名、性别、身份证号码、时间段等

三、数据库概念结构设计

1、系统功能结构图

图1系统功能结构图

 

2、局部E-R图

图2机房实体E-R图图3学生实体E-R图

图4计算机实体E-R图

 

图5教学班实体E-R图

 

3、全局E-R图

图6实体和实体之间关系E-R图

 

四、数据库逻辑结构设计

1、数据字典

room(机房表)

字段名

数据类型

能否为空

是否为主键

说明

rno

int

机房号

rname

char(10)

机房名

number

smallint

计算机数目

manager

char(10)

管理人

computer(计算机表)

字段名

数据类型

能否为空

是否为主键

说明

IP

char(20)

计算机IP地址

cno

smallint

编号

rno

int

机房号

brand

Char(20)

品牌

note

Varchar(100)

备注

Student(学生表)

字段名

数据类型

能否为空

是否作为主键

说明

sno

Int

学号

sname

Char(10)

姓名

sex

Char

(2)

性别

class

Char(20)

行政班

 

Class(教学班表)

字段名

数据类型

能否为空

是否作为主键

说明

clno

int

教学班号

clname

char(20)

课程名称

cltype

Char(20)

课程类型

teacher

Char(10)

任课教师

clnumber

smallint

教学班人数

Usertable(用户表)

字段名

数据类型

能否为空

是否作为主键

说明

uname

Char(20)

用户名

sno

int

学号

pword

Char(20)

密码

money

money

余额

 

Prepaid(充值表)

字段名

数据类型

能否为空

是否作为主键

说明

uname

Char(20)

用户名

ptime

datetime

充值时间

pmoney

smallmoney

金额

trans

Char(10)

收费人员

 

Standard(收费标准表)

字段名

数据类型

能否为空

是否作为主键

说明

rno

int

机房号

stime

Char(20)

时间段

smoney

smallmoney

金额/小时

 

Result(成绩表)

字段名

数据类型

能否为空

是否作为主键

说明

clno

int

教学班号

sno

int

学号

result

float

成绩

Scheduled(教学班机房预定表)

字段名

数据类型

能否为空

是否作为主键

说明

rno

int

机房号

time

Char(20)

上课时段

begintime

smalltime

开始时间

endtime

smalltime

结束时间

clno

int

教学班号

 

Record(上机过程登记表)

字段名

数据类型

能否为空

是否作为主键

说明

IP

char(20)

计算机IP地址

begintime

datetime

上机时间

sno

Int

学号

endtime

datetime

下机时间

type

Char(15)

上机类型

 

statistik(机房费用统计表)

字段名

数据类型

能否为空

是否作为主键

说明

IP

char(20)

计算机IP地址

dates

datetime

日期

Sno

int

学号

moneys

smallmoney

费用

 

2、关系图

 

五、数据库实现

1、创建数据库

1、创建数据库

createdatabaseroom

on

(name='room_data',

filename='E:

\room\data\room_data',

size=1MB,

maxsize=3MB,

filegrowth=1MB

logon

name='room_log',

filename='E:

\room\log\room_log',

size=1MB,

maxsize=3MB,

filegrowth=1MB

2、创建表

 

2、room(机房表)的创建

createtableroom

rnointnotnullprimarykey,

rnamechar(10)notnull,

numbersmallintnull,

managerchar(10)notnull

 

3、computer(计算机表)的创建

createtablecomputer

IPchar(20)notnullprimarykey,

cnosmallintnotnull,

rnointnotnull,

brandchar(20)null,

notevarchar(50)null

 

4、student(学生表)的创建

createtablestudent

snointnotnullprimarykey,

snamechar(10)notnull,

sexchar

(2)null,

classchar(20)notnull

5、class(教学班)的创建

createtableclass

clnointnotnullprimarykey,

clnamechar(20)notnull,

cltypechar(20)notnull,

teacherchar(10)notnull,

clnumbersmallintnull

 

6、User(用户表)的创建

createtableusertable

unamechar(20)notnullprimarykey,

snointnotnull,

pwordchar(20)notnull,

moneysmoneynull,

 

7、prepaid(充值表)的创建

createtableprepaid

unamechar(20)notnull,

ptimedatetimenotnull,

pmoneysmallmoneynotnull,

transchar(10)notnull,

constraintp_primaryprimarykey(uname,ptime)

 

8、standard(收费标准表)的创建

createtablestandard

rnointnotnull,

stimechar(20)notnull,

smoneysmallmoneynotnull,

constraintc_primaryprimarykey(rno,stime)

 

9、result(成绩表)的创建

createtableresult

clnointnotnull,

snointnotnull,

resultfloatnull,

constraintr_prinaryprimarykey(clno,sno)

 

10、scheduled(教学班机房预定表)的创建

createtablescheduled

clnointnotnull,

rnointnotnull,

stimechar(20)notnull,

begintimedatetimenotnull,

endtimedatetimenotnull,

constraints_primaryprimarykey(rno,stime)

 

11、record(上机过程登记表)的创建

createtablerecord

IPchar(20)notnull,

snointnotnull,

begintimedatetimenotnull,

endtimedatetimenull,

typechar(15)notnull,

constraintt1primarykey(IP,begintime)

 

12、statistik(费用统计表)的创建

createtablestatistik

IPchar(20)notnull,

datesdatetimenotnull,

snointnotnull,

moneyssmallmoneynotnull,

constraintt2primarykey(IP,dates)

 

2、创建存储过程和触发器

1、创建存储过程实现各机房上机费用的统计

1)代码

createprocs_room(@rnoint)

as

selectrname机房名,sum(moneys)费用

fromstatistikinnerjoincomputer

oncomputer.IP=statistik.IPinnerjoinroomonroom.rno=computer.rno

whereroom.rno=@rno

groupbyrname

2)数据测试

execs_room514

 

2、创建触发器实现费用登记时,自动修改该生的账户余额。

1)代码

createtriggeru_moneyonstatistik

forinsert

as

updateusertable

setmoneys=moneys-(selectmoneysfrominserted)

wheresno=(selectsnofrominserted)

2)数据测试

查询插入记录前学生的余额

selectsno学号,moneys余额

fromusertable

wheresno=101

执行插入操作

insertintostatistik

values('321-458-984',getdate(),101,3.5)

查询插入记录前学生的余额

selectsno学号,moneys余额

fromusertable

wheresno=101

2、创建触发器实现充值时自动修改该生余额

1)代码

createtriggerun_moneyonprepaid

forinsert

as

updateusertable

setmoneys=moneys+(selectpmoneyfrominserted)

whereuname=(selectunamefrominserted)

 

2)数据测试

selectsno学号,moneys余额fromusertable

wheresno=102

go

insertintoprepaid

values('bbb',getdate(),4.8,'王俊')

go

selectsno学号,moneys余额fromusertable

wheresno=102

go

select*fromprepaid

 

六、结束语

通过这次课程设计,我更加熟练的掌握了数据库设计的方法,加深了对数据库课程知识的理解,同时也更加深入的了解了利用SQL语言操纵数据库的知识,并且对数据库里面的存储过程有了比较深入的了解。

经过几天的艰苦奋斗,我终于完成了我的数据库课程设计基于DB2的列车票务管理系统。

进一步提高分析解决问题的综合能力。

由于时间仓促,系统还有很多不足之处,所以开发的系统不是很完善,有一些功能未实现,但是列车票务管理的基本功能均已实现。

以前对数据库的很多知识认识都不深刻,做过这次课程设计之后,我对数据库的知识有了一个比较系统的了解;比如:

对表内一些字段的约束,关系等的运用已经比较熟练。

由于是第一次使用,所以运用的不是很熟练。

刚开始的时候,对于数据库设计方法等一系列知识都不熟悉,但当我基本完成此系统开发的时候,我发现其实也没有那么难,在未做之前我还害怕做不出来。

经过对这个系统的开发,在开发过程中遇到但也解决了很多问题。

这个课程设计使我巩固了数据库的知识。

在今后的学习中我会加强理论与实践的结合,通过不断的摸索来弥补自己的不足之处。

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 管理学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1