oracle一卡通课程设计.docx
《oracle一卡通课程设计.docx》由会员分享,可在线阅读,更多相关《oracle一卡通课程设计.docx(17页珍藏版)》请在冰豆网上搜索。
oracle一卡通课程设计
成绩:
实验报告
课程名称:
Oracle数据库试验
实验项目:
校园一卡通的设计与实现
姓名:
xxx
专业:
计算机科学与技术
班级:
计算机09-1班
学号:
0904010102
计算机科学与技术学院
实验教学中心
2012年5月10日
校园一卡通的设计与实现
一、引言:
1.1背景
一卡通网校园一卡通系统是数字化校园的基础工程,是数字化校园中有机的、重要的组成部分。
为数字化校园提供了全面的数据采集平台,结合学校的管理信息系统和网络,形成全校范围的数字空间和共享环境。
为学校管理人员提供具有开放性、灵活性、面向学校的应用服务管理平台、是管理科学化的必要前提和基本途径。
以校园一卡通系统为平台,实现以人为本,并可充分利用银行的金融服务,实现“一卡在手,走遍校园”,必将满足学校数字化建设的需求及目的。
1.2简要需求说明
有多个校区,每个校区都有自己独立的服务器,校区间通过宽带连接,校园卡在校区间可通用(服务器之间数据要同步)。
针对学校的实际情况,校园一卡通可以实现以下三个方面的功能:
(1).电子钱包功能:
校区内的所有消费网点,都可以使用一卡通进行交易。
应用范围:
水控(浴室、开水房)、食堂餐饮、超市购物、缴费、医疗收费、发放补助、发放奖学金等。
(2).管理(身份识别)功能:
校内使用的各种证卡均可由校园一卡通代替,实现图书馆、电子阅览室、学生公寓、考勤的身份识别一卡通。
实现校内所有重要场所的出入门禁管理。
(3).金融功能:
学生可以使用与校园卡关联的银行卡进行存取款、转账结算等金融业务
1.3系统需求:
中心数据库:
oracle10g
操作系统:
WindowsServer2000/2003,Linux
内存要求:
不小于2G
交换空间:
不小于8G
工作站操作系统:
Windows2000/XP(内存256M左右)
系统容量:
系统帐户容量10万,可以扩充
子系统接入数量:
128个,可以扩充
网络设置:
根据学校建筑布局结合现有走线管道,并为安全性考虑,提供两种一卡通网络的组建方案:
(1)在现有校园主干网中分一个VLAN(虚拟局域网),将所有一卡通系统的计算机全部接入这个VLAN,以达到一卡通网络与校园网逻辑上分开互相不能访问。
(2)利用现有管道重新铺设线路并添置新的网络设置(交换机、集线器等),将一卡通系统组成一个单独的网络,这样在物理上与校园网分开。
校区互联:
应用代理服务器机制,代理服务器只接受用户的查询并转发服务器中的数据,在代理服务器上运行专用的软件,定时负责与各个校区的服务器交换数据。
例图如下:
1.4系统设计原则:
安全、可靠、高效、易扩展
1.5设计背景:
项目名称:
校园一卡通系统
用户:
大学或高级中学
1.6参考资料:
1.《IntroductiontoOracle10g:
SQL》
2.《oracle10g:
ProgramwithPL/SQL》
3.《数据库系统概论》
4.CSDN有关Oracle数据库资料
二、数据库的物理结构设计
2.1数据库设计:
(1)全局数据库名称:
LCB
(2)数据库类型选择:
TransactionProcessing类型。
(2)数据库字符集选择:
采用UTF8字符集
(3)数据库的DB_FILES设置使用默认的值200
根据数据库所从事的操作和提供的服务可以判断数据库的类型时OLTP类型:
db_block_size用比较小的取值范围:
2048或4096
2.2数据库控制文件配置:
E:
\ORACLE\ORADATA\LCB\CONTROL01.CTL
E:
\ORACLE\ORADATA\LCB\CONTROL02.CTL
E:
\ORACLE\ORADATA\LCB\CONTROL03.CTL
2.3数据库重做日志文件配置:
C:
\ORACLE\ORADATA\LCB\REDO01.LOG
C:
\ORACLE\ORADATA\LCB\REDO02.LOG
C:
\ORACLE\ORADATA\LCB\REDO03.LOG
三、数据库的逻辑结构设计
3.1有关表空间的设计与实现:
1、管理员信息表:
table_admin_info记录系统管理者的有关信息
用户编号
姓名
密码
权限
注:
权限分三级,用数字1,2,3来表示,权限大小递减
Createtabletable_admin_info
(admin_idvarchar2(20)constraintadmin_info_pkprimarykey,
admin_namevarchar2(20)notnull,
admin_passwordvarchar2(15)nonull,
admin_privilegenumber
(1)
);
2、用户信息表:
table_user_info记录学生用户的有关信息
用户编号
姓名
信息卡号
性别
院系/部门
注:
用户编号为学号或教职工编号
Createtabletable_user_info
(user_numvarchar2(20)constraintstudent_info_pkprimarykey,
user_namevarchar2(20)notnull,
user_card_idvarchar2(20)notnull,
user_sexvarchar2(4)notnull,
user_departmentvarchar2(30)notnull,
Constraintuser_info_fkforeignkey(user_card_id)
referencestable_user_info(user_num)
);
3、一卡通信息表:
table_info_card记录一卡通用户的有关信息
信息卡号
用户编号
剩余金额
密码
挂失
注:
0表示为非挂失状态,1表示为挂失状态
Createtabletable_info_card
(card_numvarchar2(20)primarykey,
card_user_idvarchar2(20),
card_leftmoneynumber(10,2),
card_passwordvarchar2(20)notnull,
card_lostednumber
(1)notnulldefault(0),
Constraintinfo_card_fkforeignkey(card_user_id)
referencestable_info_card(card_num)
);
4、流水帐消费记录表:
table_consume_info记录用户消费情况
信息卡号
消费金额
消费日期
终端号
Createtabletable_consume_info
(consume_numvarchar2(20)notnull,
consume_moneynumber(10,2)notnull,
consume_datevarchar2(20)notnull,
concume_machine_idnumber(3)notnull
);
5、存款/转账记录表:
table_save_money记录学生存款的情况
信息卡号
存款金额
存款日期
存款类型
操作员编号
注:
此表记录学生存现、转账情况。
如果是转账:
存款类型为0,操作员编号为POS机的编号(自动编号为0000)
如果是存现:
存款类型为1
Createtabletable_save_money
(
save_user_idvarchar2(20)primarykey,
save_moneynumber(10,2)notnull,
save_datevarchar2(20)notnull,
save_typenumber
(1)notnulldefault(0),
save_operator_idvarchar2(6)notnull
);
6、连接银行卡和一卡通的中间记录表(银校表):
table_bank_campus
信息卡号
储蓄卡号
储蓄密码
储蓄折号
转账金额
身份证号
注:
仅用来作为一卡通用户进行转账时的用户安全验证
Createtabletable_save_money
(
bank_campus_useridvarchar2(20)primarykey,
bank_campus_banknumvarchar2(30)notnull,
bank_campus_bankpasswordvarchar2(6)notnull,
bank_campus_bankbookvarchar2(30)notnull,
Bank_campus_transfernumber(10,2)notnulldefault(50.00),
bank_campus_idcardvarchar2(20)notnull
);
7、假设用户在银行开的账户表如下:
表名table_bank_account
储蓄折号
储蓄卡号
储蓄密码
用户姓名
剩余金额
身份证号
Createtabletable_save_money
(
bank_account_bankbookidvarchar2(30)primarykey,
bank_account_banknumvarchar2(30)notnull,
bank_account_bankpasswordvarchar2(6)notnull,
bank_account_namevarchar2(20)notnull,
Bank_account_leftmoneynumber(10,2)notnull,
bank_account_idcardvarchar2(20)notnull
);
8、退款销户记录表:
table_remove_user_info用于记录退款销户情况
用户编号
退款金额
退款日期
操作类型
操作员
Createtabletable_remove_user_info
(
remove_useridvarchar2(20)primarykey,
remove_moneynumber(10,2)notnull,
remove_datevarchar2(20)notnull,
remove_typenumber
(1)notnull,