校园一卡通管理系统设计Word文件下载.docx
《校园一卡通管理系统设计Word文件下载.docx》由会员分享,可在线阅读,更多相关《校园一卡通管理系统设计Word文件下载.docx(14页珍藏版)》请在冰点文库上搜索。
学生,一卡通,银行卡,账单四个关系。
标示联系集:
学生和一卡通:
一名学生只能拥有一张一卡通,一张一卡通也只能被一名学生持有。
学生与一卡通关系为:
1:
1。
一卡通和银行卡:
一张一卡通可以与多张银行卡绑定或不与银行卡绑定,一张银行卡可与多张一卡通绑定或不绑定。
一卡通与银行卡的关系为:
N:
M。
③、标示属性集:
学生(学号,姓名,性别,班级,系别)
一卡通(卡号,密码)
银行卡(卡号,银行类别,办理地区,户主)
账单(流水号,时间,支出金额,转入金额,余额)
2.2画出E-R图
一卡通信息图如下:
图2-2-1一卡通实体集的E-R图
学生信息图如下:
图2-2-2学生实体集E-R图
银行卡信息图如下:
图2-2-银行卡实体集E-R图
账单图如下:
图2-2-4消费记录实体集E-R
2.3学生成绩管理系统总E-R图
M
学生
拥有
绑定
银行卡
一卡通
收支
账单
1
根据上面对实体联系的分析,可以画出E-R图如下:
N
图2-2-5校园一卡通管理系统总E-R图
三、数据库逻辑设计
逻辑结构是独立于任何一种数据模型的信息结构。
逻辑结构的任务是把概念结构设计阶段设计好的基本E-R图转化为宜选用的DBMS所支持的数据模型相符合的逻辑结构,并对其进行优化。
E-R图向关系模型转化要解决的问题是如何将实体型和实体间的联系转化为关系模式,如何确定这些关系模式的属性和码。
设计校园一卡通管理数据库,包括学生、一卡通、银行卡、消费账单四个关系,其关系模式中对每个实体定义的属性如下:
一卡通信息表
card:
(卡号,密码)
学生信息表
Student:
(学号,姓名,性别,所属班级,系别)
银行卡信息表
bank:
(卡号,银行类型,办理地区,户主)
账单表
bill:
(流水号,时间,转入金额,支出金额,余额)
设计出E-R图后,可将E-R图转换为数据库模式。
运行本系统时在库中所建立的表分别介绍如下:
3.1一卡通信息表(card)
字段名
描述
数据类型
字段限制
Cno
卡号
number(5)
Primarykey
Password
密码
number(6)
Notnull
3.2学生信息表(Student)
字段权限
Sno
学号
Primarykey
Sname
姓名
Varchar2(10)
Notnull
ssex
性别
char
(2)
sclass
班级
varchar2(16)
sdept
系别
varchar2(4)
3.3银行卡信息表(bank)
属性
Bno
number(9)
Bname
银行类名
Bdiqu
办理地区
Bhuzhu
户主
varchar2(8)
3.4账单表(zhangdan)
Zno
流水号
number(4)
Zshijian
时间
date
Zzhuanru
转入
number(10,2)
Zzhichu
支出
Zyue
余额
四、建表
4.1创建模式并授权
打开“oracle-oraDb11g”——“SQLplus”
在窗口中登陆超级管理员system
创建模式:
CREATE
USER
gwb
IDENTIFIED
BY
gwb;
授权:
grantconnect,resourcetogwb;
连接:
conngwb/gwb
4.2创建数据表
一个完整的数据库不可缺少的就是数据表,若干个数据表的集合成一个数据库。
数据表主要用来存放一定格式的记录,数据表中的行被称为记录,列被称为字段。
创建数据表的过程其实就是定义字段的过程。
在此校园一卡通管理系统中需要创建五个表,即学生信息表、一卡通信息表、银行卡信息表、银行卡与一卡通绑定表(桥表)、消费账单表。
创建并连接gwb模式后,在数据库该模式下添加数据表,步骤如下。
在窗口中键入下列SQL语句
createtablestudent(
snonumber(5)primarykey,
snamevarchar2(10)notnull,
ssexchar
(2),
sclassvarchar2(16)notnull,
sdeptvarchar2(4)notnull,
constraintssexcheck(ssexin('
男'
'
女'
))
);
执行上述SQL语句即可创建学生信息表相关表格
createtablecard(
cnonumber(5)primarykey,
cpasswordnumber(6)notnull,
snonumber(10)referencesstudent(sno)
);
执行上述SQL语句即可创建一卡通信息表相关表格
createtablebank(
bnonumber(9)primarykey,
bnamevarchar2(16)notnull,
bdiquvarchar2(16)notnull,
bhuzhuvarchar2(8)notnull
执行上述SQL语句即可创建银行卡表相关表格
createtabletie(
bank_nonumber(9)referencesbank(bno),
card_nonumber(5)referencescard(cno),
primarykey(bank_no,card_no)
执行上述SQL语句即可创建一卡通和银行卡绑定信息表相关表格
createtablezhangdan(
znonumber(4)primarykey,
zshijiandatenotnull,
zzhichunumber(10,2)notnull,
zzhuanrunumber(10,2)notnull,
zyuenumber(10,2)notnull,
cnonumber(10)referencescard(cno)
执行上述SQL语句即可创建消费账单信息表相关表格
五、数据库的运行和维护
5.1定义
基本表的创建、修改及删除。
5.1.1基本表的创建,建表语句
createtablestudent(//创建学生表
snonumber(5)primarykey,//学号
snamevarchar2(10)notnull,//姓名
ssexchar
(2),//性别
sclassvarchar2(16)notnull,//班级
sdeptvarchar2(4)notnull,//系别
))//表级约束
5.1.2基本表的删除
droptableStudent
5.2数据操作
5.2.1单表查询:
查询学号为“1204”学生的姓名
selectsnamefromStudentwheresno=1204;
结果:
5.2.2连接查询
查询学生的学号、姓名,所持一卡通号、所绑定银行卡号和余额变化。
SelectStudent.sno,Student.sname,o,tie.bank_no,zhangdan.zyue
fromStudent,card,tie,zhangdan
WhereStudent.sno=card.snoandtie.card_no=oando=o;
5.2.3嵌套查询
查询卡号为“11002”这张一卡通学生的学号、姓名、班级及系别。
Selectsno,sname,sclass,sdept
FromStudent
Wheresnoin
(selectsno
Fromcard
Wherecno='
11002'
)
查询结果:
5.2.4操作结果集查询
查询一卡通号为11002和11047各所绑定的银行卡中,相同的办理地区
Selectbdiqu
Frombank
Wherebnoin(selectbank_no
Fromtie
Wherecard_no=11002)
Intersect
Wherecard_no=11047)
5.3数据库更新操作
5.3.1插入数据
向bank表中添加一项记录:
卡号:
233456756银行名:
中国建设银行,办理地区:
南昌,户主:
lila。
insertinto
bankvalues(233456756,'
中国建设银行'
,'
南昌'
lila'
5.3.2修改数据
修改学号1305的同学所在班级为会计学131
updateStudentsetsclass='
会计学131'
wheresno='
1305'
;
结果为:
5.3.3删除数据
删除银行卡号为123456711的绑定信息
Delete
fromtie
Where(bank_no='
123456711'
5.4数据库的安全性
所谓计算机系统安全性,是指为计算机系统建立和采取的各种安全保护措施,以保护计算机系统中的硬件,软件及数据,防止其偶然或恶意的原因使系统遭到破坏,数据遭到更改或泄露等。
为防止因用户非法使用数据库造成数据泄露、更改或破坏,必须采取一些安全性控制措施以保证数据库中数据的安全、可靠和正确有效。
安全性控制的防范对象是非法用户和非法操作,防止他们对数据库数据的非法存取。
主要采用用户标识及鉴定,使用用户名或用户标识号来标明用户身份。
用户想要对对数据库内容进行相关操作,必须申请一个用户名或用户标识号,每次登陆都必须输入该用户名以及相应正确的口令,然后系统对其进行验证,只有通过验证的用户方可对数据库进行操作。
5.5数据库的完整性
5.5.1实体完整性定义:
在学生信息表student中将sno定义为主码。
createtablestudent(//创建学生信息表
snamevarchar2(10)notnull,//名字
ssexchar
(2),//性别
sdeptvarchar2(4)notnull,//系别
))//表级约束
5.5.2参照完整性定义:
在账单表zhangdan中将cno定义为外码。
createtablezhangdan(//创建账单表
znonumber(4)primarykey,//账单流水号
zshijiantimestampnotnull,//账单生成时间
zzhichunumber(10,2)notnull,//支出金额
zzhuanrunumber(10,2)notnull,//转入金额
zyuenumber(10,2)notnull,//账户余额
cnonumber(10)referencescard(cno)//外键
六、总结
本校园一卡通系统设计简单,功能单一,只能实现最基础的数据查询管理功能。
各实体及实体间联系,实体与属性间联系都是凭自己的想法,在部分逻辑联系和现实有所不同,但整体还是较为符合常理。
部分是参照课本数据库结构进行设计,因此在独立思维和创新方面还有很大不足之处。
另外由于思维上的漏洞,考虑不够周全导致数据库中插入的数据给后期处理和查询带来一些不便。
设计过程中我也遇到了一些问题,再向其他同学请教的过程中我收获了很多。
(1)在设计表时应注意字符的使用,尤其是标点符号,很容易搞错。
(2)正确定义数据类型,字符型要加单引号。
(3)注意时间戳的格式转化。
一个学校的校园一卡通管理是一个庞大而又十分重要的数据管理系统,通过唯一确定的编号,给每个人的身份进行了标识,对于学校管理人员来说,大大提高了管理效率,减少工作量,使管理更方便快捷。
同时每个人都有作为本校成员的有效凭证,在生活、学习、消费上都带来极大的便捷。
总的来讲,对课本上的主要知识进行了汇总和运用,对数据库的基础知识进一步掌握,达到了预期的效果。
通过这次的数据库课程设计锻炼了我们的操作能力和团结协作能力,增强团队合作意识。
让我们从实际上去分析一件事比较全面和对数据库设计有了更深的了解。