ImageVerifierCode 换一换
格式:DOCX , 页数:17 ,大小:30.82KB ,
资源ID:19567013      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/19567013.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(数据库大作业一卡通课程设计Word格式.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

数据库大作业一卡通课程设计Word格式.docx

1、不小于8G 工作站操作系统:Windows 2000/XP等 系统容量:系统帐户容量10万,可以扩充 子系统接入数量:128个,可以扩充 网络设置:根据学校建筑布局结合现有走线管道,并为安全性考虑,提供两种一卡通网络的组建方案: (1)在现有校园主干网中分一个VLAN(虚拟局域网),将所有一卡通系统的计算机全部接入这个VLAN,以达到一卡通网络与校园网逻辑上分开互相不能访问。 (2)利用现有管道重新铺设线路并添置新的网络设置(交换机、集线器等),将一卡通系统组成一个单独的网络,这样在物理上与校园网分开。 校区互联: 应用代理服务器机制,代理服务器只接受用户的查询并转发服务器中的数据,在代理服务

2、器上运行专用的软件,定时负责与各个校区的服务器交换数据。 例图如下: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 数据库控制文件

3、配置: D:ORACLEORADATAORCLCONTROL01.CTLORACLEORADATAORCLCONTROL02.CTLORACLEORADATAORCLCONTROL03.CTL 2.3 数据库重做日志文件配置:ORACLEORADATAORCLREDO01.LOGORACLEORADATAORCLREDO02.LOGORACLEORADATAORCLREDO03.LOG三 、数据库的逻辑结构设计 3.1 有关表空间的设计与实现: 1、管理员信息表: admin_info 记录系统管理者的有关信息,权限分三级,用数字1,2,3来表示,权限大小递减用户编号姓名密码权限 Create

4、 table admin_info ( admin_id varchar2(20) constraint admin_info_pk primary key , admin_name varchar2(20) not null, admin_password varchar2(15) not null, admin_privilege number(1); 2、用户信息表: user_info记录学生用户的有关信息信息卡号性别院系/部门 用户编号为学号或教职工编号Create table user_info( user_num varchar2(20) constraint student_i

5、nfo_pk primary key , user_name varchar2(20) not null, user_card_id varchar2(20) not null , user_sex varchar2(4) not null, user_department varchar2(30) not null, Constraint user_info_fk foreign key( user_card_id) references user_info(user_num) 3、一卡通信息表: info_card 记录一卡通用户的有关信息 剩余金额密 码挂 失 0表示为非挂失状态,1表示

6、为挂失状态Create table info_card( card_num varchar2(20) primary key, card_user_id varchar2(20), 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、流水帐消费记录表: consu

7、me_info 记录用户消费情况消费金额消费日期终端号Create table consume_info( consume_num varchar2(20) not null, consume_money number(10,2) not null, consume_date varchar2(20) not null, concume_machine_id number(3) not null5、存款/转账记录表:save_money 记录学生存款的情况存款金额存款日期存款类型操作员编号 此表记录学生存现、转账情况。 如果是转账:存款类型为 0 如果是存现:存款类型为 1 操作员编号为POS

8、机的编号(自动编号为0000)Create table save_money( save_user_id varchar2(20) primary key, save_money number(10,2) not null, save_date varchar2(20) not null, save_type number(1) not null default(0), save_operator_id varchar2(6) not null6、连接银行卡和一卡通的中间记录表(银校表):bank_campus 储蓄卡号储蓄密码储蓄折号转账金额身份证号 仅用来作为一卡通用户进行转账时的用户安全

9、验证 bank_campus_userid varchar2(20) primary key, bank_campus_banknum varchar2(30) not null, bank_campus_bankpassword varchar2(6) not null, bank_campus_bankbook varchar2(30) not null , Bank_campus_transfer number(10,2) not null default(50.00), bank_campus_idcard varchar2(20) not null 7、假设用户在银行开的账户表如下:

10、bank_account用户姓名剩余金额Create table bank_account bank_account_bankbookid varchar2(30) primary key, bank_account_banknum varchar2(30) not null, bank_account_bankpassword varchar2(6) not null, bank_account_name varchar2(20) not null , Bank_account_leftmoney number(10,2) not null , bank_account_idcard var

11、char2(20) not null 8、退款销户记录表: remove_user_info 用于记录退款销户情况退款金额 退款日期操作类型操作员Create table remove_user_info remove_userid varchar2(20) primary key, remove_money number(10,2) not null, remove_date varchar2(20) not null, remove_type number(1) not null, remove_operator varchar2(10) not null); 3.2 有关表索引的设计与实

12、现: 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,termin

13、al_trademoney,terminal_date) As select concume_machine_id,sum(consume_money),consume_date From consume_info Where concume_machine_id = &p_terminal_id Order by concume_machine_id,to_date(consume_date,DD-Mon-YY3.4 PL/SQL程序实现(存储过程和函数) 在用户存在且一卡通没有挂失的条件下实现 1、存现函数 :Fun_save_money用来完成对一卡通现金的存储, 存款不成功返回值为Fa

14、lse,存现成功则返回为True Create or replace function Fun_save_money ( P_userid IN info_card.Card_num%TYPE, p_save_money IN info_card.Card_leftmoney%TYPE, P_operatorid IN varchar2, P_show_message OUT varchar2 ) return boolean Is Begin If p_save_money 0 then Update info_card Set card_leftmoney=card_leftmoney+p

15、_save_money Where card_num=p_userid; Insert into save_money Values(p_userid,p_save_money,to_char(sysdate,yyyy-mm-dd hh:mi:ss),1,p_operatorid); P_show_message=用户 p_userid存现成功!; Return true; Else P_show_message = 存款金额非法!; Retrun false; End if End Fun_save_money; 2、转账函数:Fun_hand_transfer和Proc_auto_tran

16、sfer 用来从银行储蓄卡里面向一卡通里充值,可以自动充值也可手动充值。当一卡通余额不足10元时系统可以自动向一卡通充值(默认值50元,可以修改),用户也可手动用储蓄卡向一卡通充值。 手动充值函数:Fun_hand_transfer Create or replace function Fun_hand_transfer ( P_posid IN number, p_tansfer_money IN bank_campus.bank_campus_transfer%TYPE, P_userid IN bank_campus.bank_campus_userid %TYPE, P_bank_ac

17、count_num IN bank_campus.bank_campus_banknum%TYPE, P_bank_account_psw IN bank_campus.bank_campus_bankpassword%TYPE, )return boolean V_bank_money number(10,2); If p_tansfer_money 0 then V_bank_money = Fun_bank_interface(p_tansfer_money,P_bank_account_num,P_bank_account_psw); If v_bank_money !=0 then

18、Update table_info_card -更新一卡通信息表 Set card_leftmoney=card_leftmoney + v_bank_money Where card_num=p_userid; Insert into save_money -记录转账信息 Values(p_userid,p_tansfer_money,to_char(sysdate,),0,p_posid); P_show_message= p_userid转账成功! Else p_userid转账失败! End if P_show_message=输入金额非法! Return false;End Fun_

19、hand_tansfer 自动充值存储过程: Proc_auto_transfer Create or replace procedure Proc_auto_transfer V_money number(10,2); V_addmoney number(10,2); V_user_id varchr2(20); V_bank_cardid varchar2(30); V_bank_psw varchar2(6); Cursor auto_transfer_cursor is Select card_num,card_leftmoney From info_card Where card_l

20、eftmoney 0 and v_money-ptansfer_num0) then Update bank_account Set Bank_account_leftmoney=bank_account_leftmoney-p_tansfer_num Where P_tansfer_accountid=bank_account_banknum Update 转账成功!; Return p_tansfer_num; P_show_message=转账失败! Return 0; End Fun_bank_interface; 3、就餐消费函数:Fun_consume Create or repl

21、ace function Fun_consume ( p_user_id IN info_card.card_num%TYPE, P_consume_money IN consume_info.consume_money%TYPE, P_terminal_id IN consume_info.concume_machine_id%TYPE, V_leftmoney number(10,2); Select card_leftmoney Into v_leftmoney Where card_num=p_user_id ; If v_leftmoney p_consume_money then Update info_card Set card_leftmoney=card_leftmoney - p_consume_money Insert into consume_info Values(p_user_id,p_consume_money,to_char(sysdate,yyyy-mm-dd hh:),p_terminal_id); P_show_message=|p_user_id|消费成功! P_show_message=用户|p_user_id|消费失败! End i

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

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