logo资料库

一卡通系统数据库设计.doc

第1页 / 共15页
第2页 / 共15页
第3页 / 共15页
第4页 / 共15页
第5页 / 共15页
第6页 / 共15页
第7页 / 共15页
第8页 / 共15页
资料共15页,剩余部分请下载后查看
数据库应用大作业
校园一卡通的设计与实现
数据库应用大作业 实 验 报 告 课程名称: Oracle 数据库试验 实验项目: 校园一卡通的设计与实现 姓 名: 任秀虎 学 号: 13101192 班 级: 软件开发技术
校园一卡通的设计与实现 一 、引言: 1.1 背景 一卡通网 校园一卡通系统是数字化校园的基础工程,是数字化校园中有机的、重要的 组成部分。为数字化校园提供了全面的数据采集平台,结合学校的管理信息系统和网络,形 成全校范围的数字空间和共享环境。为学校管理人员提供具有开放性、灵活性、面向学校的 应用服务管理平台、是管理科学化的必要前提和基本途径。以校园一卡通系统为平台,实现 以人为本,并可充分利用银行的金融服务,实现“一卡在手,走遍校园”,必将满足学校数字 化建设的需求及目的。 1.2 简要需求说明 有多个校区,每个校区都有自己独立的服务器,校区间通过宽带连接,校园卡在校区间 可通用,前提是服务器之间数据要同步。 针对学校的实际情况,校园一卡通可以实现以下几个方面的功能: 1 电子钱包功能:校区内的所有的食堂,都可以使用一卡通进行交易。 2 管理(身份识别)功能:校内使用的各种证卡均可由校园一卡通代替,实现图书馆、 电子阅览室、学生公寓、考勤的身份识别一卡通。实现校内所有重要场所的出入门禁管理。 3 .金融功能:学生可以使用与校园卡关联的银行卡进行存取款、转账结算等金融业务 1.3 系统需求: 中心数据库:oracle11g 操作系统:Windows xp,Linux 内存要求:不小于 2G
交换空间:不小于 8G 工作站操作系统:Windows 2000/XP 等 系统容量:系统帐户容量 10 万,可以扩充 子系统接入数量:128 个,可以扩充 网络设置:根据学校建筑布局结合现有走线管道,并为安全性考虑,提供两种一卡通 网络的组建方案: (1)在现有校园主干网中分一个 VLAN(虚拟局域网),将所有一卡通系统的计算 机全部接入这个 VLAN,以达到一卡通网络与校园网逻辑上分开互相不能访问。 (2)利用现有管道重新铺设线路并添置新的网络设置(交换机、集线器等),将一 卡通系统组成一个单独的网络,这样在物理上与校园网分开。 校区互联:应用代理服务器机制,代理服务器只接受用户的查询并转发服务器中的数 据,在代理服务器上运行专用的软件,定时负责与各个校区的服务器交换数据。 例图如下: 校区 A 校区 B 代 理 服 务 器 校区 C 1.4 系统设计原则: 安全、可靠、高效、易扩展 1.5 设计背景:
项目名称:校园一卡通系统 用户:大学或高级中学 1.6 参考资料: 1.《oracle10g:Program with PL/SQL》 2.《数据库系统概论》 3.CSDN 有关 Oracle 数据库资料 二 、数据库的物理结构设计 2.1 数据库设计:  全局数据库名称:orcl  数据库字符集选择 :采用 UTF8 字符集  数据库的 DB_FILES 设置 使用默认的值 200  OLTP 类型:db_block_size 用比较小的取值范围: 2048 或 4096 2.2 数据库控制文件配置: D:\ORACLE\ORADATA\ORCL\CONTROL01.CTL D:\ORACLE\ORADATA\ORCL\CONTROL02.CTL D:\ORACLE\ORADATA\ORCL\CONTROL03.CTL 2.3 数据库重做日志文件配置: D:\ORACLE\ORADATA\ORCL\REDO01.LOG D:\ORACLE\ORADATA\ORCL\REDO02.LOG D:\ORACLE\ORADATA\ORCLREDO03.LOG
三 、数据库的逻辑结构设计 3.1 有关表空间的设计与实现: 1、管理员信息表: admin_info 记录系统管理者的有关信息,权限分三级,用数字 1,2,3 来表示,权 限大小递减 用户编号 姓名 密码 权限 Create table admin_info ( admin_id varchar2(20) constraint admin_info_pk admin_name varchar2(20) not null, admin_password admin_privilege number(1) varchar2(15) not null, primary key , ); 2、用户信息表: user_info 记录学生用户的有关信息 用户编号 姓名 信息卡号 性别 院系/部门 用户编号为学号或教职工编号 varchar2(20) constraint student_info_pk primary key , varchar2(20) not null, Create table user_info ( user_num user_name user_card_id varchar2(20) not null , user_sex user_department varchar2(4) not null, varchar2(30) not null, Constraint user_info_fk foreign key( user_card_id) references user_info(user_num) ); 3、一卡通信息表: info_card 记录一卡通用户的有关信息
信息卡号 用户编号 剩余金额 密 码 挂 失 0 表示为非挂失状态,1 表示为挂失状态 Create table info_card ( varchar2(20), card_num varchar2(20) primary key, card_user_id card_leftmoney number(10,2) , card_password varchar2(20) not null, card_losted number(1) not null default(0), Constraint info_card_fk foreign key( card_user_id) references info_card(card_num) ); 4、流水帐消费记录表: consume_info 记录用户消费情况 信息卡号 消费金额 消费日期 终端号 Create table consume_info ( consume_num consume_money consume_date concume_machine_id varchar2(20) not null, number(10,2) not null, varchar2(20) number(3) not null not null, ); 5、存款/转账记录表:save_money 记录学生存款的情况 信息卡号 存款金额 存款日期 存款类型 操作员编号 此表记录学生存现、转账情况。 如果是转账:存款类型为 0 如果是存现:存款类型为 1 操作员编号为 POS 机的编号(自动编号为 0000) Create table save_money ( save_user_id varchar2(20) primary key,
save_money save_date save_type save_operator_id number(10,2) not null, varchar2(20) number(1) not null default(0), not null, varchar2(6) not null ); 6、连接银行卡和一卡通的中间记录表(银校表):bank_campus 信息卡号 储蓄卡号 储蓄密码 储蓄折号 转账金额 身份证号 仅用来作为一卡通用户进行转账时的用户安全验证 Create table save_money ( bank_campus_userid bank_campus_banknum bank_campus_bankpassword bank_campus_bankbook Bank_campus_transfer bank_campus_idcard varchar2(20) primary key, varchar2(30) not null, varchar2(6) not null, varchar2(30) not null , number(10,2) not null default(50.00), varchar2(20) not null ); 7、假设用户在银行开的账户表如下:bank_account 储蓄折号 储蓄卡号 储蓄密码 用户姓名 剩余金额 身份证号 Create table bank_account ( bank_account_bankbookid bank_account_banknum bank_account_bankpassword bank_account_name Bank_account_leftmoney bank_account_idcard varchar2(30) primary key, varchar2(30) not null, varchar2(6) not null, varchar2(20) not null , number(10,2) not null , varchar2(20) not null ); 8、退款销户记录表: remove_user_info 用于记录退款销户情况
用户编号 退款金额 退款日期 操作类型 操作员 Create table ( remove_user_info remove_userid varchar2(20) primary key, remove_money remove_date remove_type remove_operator varchar2(10) not null number(10,2) not null, varchar2(20) not null, number(1) not null, ); 3.2 有关表索引的设计与实现: 1.对学生用户表按院系/部门建立索引:index_student Create index index_student on user_info(user_department); 2.对一卡通信息表的挂失字段建立索引:index_card_lost Create index index_card_lost on info_card(card_losted); 3.3 有关视图的设计与实现: 1、终端交易记录视图:view_terminal_record 终端号 交易金额 消费日期 Create or replace view view_terminal_record (terminal_id,terminal_trademoney,terminal_date) As select concume_machine_id,sum(consume_money),consume_date From Where Order by concume_machine_id,to_date(consume_date,'DD-Mon-YY'); consume_info concume_machine_id = &p_terminal_id
分享到:
收藏