更新日期:2003-07-07 更新人:叶性铭北京新中新银通科技发展有限公司一卡通2.0后台系统数据库设计说明书编号密级版本秘密V2.0批准人审核人拟制人叶性铭批准日期: / /一卡通2.0后台系统数据库设计说明书叶性铭更新日期:2003-07-07目录一、引言 (2)1-1编写目的 (2)1-2背景 (2)1-3定义 (2)1-4参考资料 (2)二、外部设计 (3)2-1标识符和状态 (3)2-2使用它的程序 (3)2-3约定 (3)2-4专门指导 (3)2-5支持软件 (3)三、结构设计 (4)3-1概念结构设计 (4)3-2逻辑结构设计 (4)3-3物理结构设计 (5)四、运用设计 (6)4-1数据字典设计 (6)4-1-1一卡通帐户数据字典 (6)4-1-2商户和管理帐户数据字典 (8)4-1-3全局设置数据字典 (9)4-1-4系统管理和运行环境设置数据字典 (10)4-1-5流水帐数据字典 (12)4-1-6报表部分数据字典 (14)4-2安全保密设计 (17)北京新中新银通科技发展有限公司第 1 页一卡通后台系统数据库设计说明书一、引言1-1编写目的此说明书是为了指导设计人员创建数据库,此说明书的预期读者是数据库管理员和应用软件设计人员。
1-2背景此数据库的名称为“电子钱包数据库”,电子钱包系统使用这个数据库。
1-3定义1-4参考资料A. 金龙卡金融化一卡通系统总体概要设计二、外部设计2-1标识符和状态l 数据库名称:SYNTONGl 访问数据库的用户和密码:school/school_password2-2使用它的程序l 电子钱包服务程序dbserve,oserve2-3约定命名规则:中英文对照:次数:number商户:mercacc序列号:seq缩写:school schsystem sysnumber numaccount acc2-4专门指导表结构参见后面的数据字典设计2-5支持软件l 数据库管理系统:Oracle8i Release Notes Release 2 (8.1.6) for SCO UnixWare 7三、结构设计3-1概念结构设计l 一卡通帐户数据字典l 商户和管理帐户数据字典l 全局设置数据字典l 系统管理和运行环境设置数据字典l 流水帐数据字典l 报表部分数据字典3-2逻辑结构设计数据库中包含如下几个表:1. 一卡通帐户数据字典一卡通帐户字典account开通登记表openinfo卡销户表close2. 商户和管理帐户数据字典商户帐户字典mercacc3. 全局设置数据字典学校代码schoolcode日报字典subject操作费用设定表fee各种代码表configinfo持卡人消费折扣表xfzkl4. 系统管理和运行环境设置数据字典组织部门表branch系统登记表sysregister系统参数表cszd操作员表operator操作员权限表czyqx事件代码表trcd系统信息表message操作员日志表log5. 流水帐数据字典交易流水表trjn补助发放流水表subjn历史流水表histrjn收费明细表sfmx6. 报表部分数据字典对帐不符清单checklist业务统计报表sysreport清算报表qsbb商户历史表mhistrjn按部门统计报表deptreport日报表dayreport核算单位统计报表ttrj3-3物理结构设计无四、运用设计4-1数据字典设计4-1-1一卡通帐户数据字典一卡通帐户字典account字段中文名称字段代码数据类型是否为空索引键主键缺省值帐号Account Number(10) Not null √核算单位SchCode Char(2) Not null卡ID号CardID Number(10) Not null √旧卡ID号OldCardID Number(10) null身份序号IdentityID char(12) null √姓名Name char(30)Not null性别Sex char(1)Not null身份代码PID Char(2)Not null部门代码DeptCode Char(15)Not null帐户余额EBagAmt Number(10) Not null卡内余额CardBalance Number(10) Not null押金EnsureAmt Number(10) Not null当前过渡余额TmpBalance Number(10) Not null上次过渡余额PreTmpBalance Number(10) Not null当前补助序列号SubSeq Number(5) Not null上次补助序列号PreSubSeq Number(5) Not null累计用卡次数UseCardNum Number(5) Not null自动转帐警戒额TranLimit Number(10) Not null自动转帐额TransferAmt Number(10) Not null管理附加费率ManageFeeRate Number(5) Not null查询密码QueryPin Char(16) Not null银行帐号BankAcc Char(20) null证件号Identity Char(20)Null √证件类型CertifyType Char(3) Null学工号Sno Char(20)null √电话Phone Char(20)null开户日期CreateDateTime Date Not null有效日期ExpDate Date Not null操作员代码OperCode Char(3) Not null卡类型CardType Char(3) Not null帐户标志Flag char(15) Not null更新日期ProcDateTime Date Not null数字签名DigitalSign Char(8) Not nullflag[0]:身份信息变更标志:0_没变更1_已变更flag[1]:卡状态:0_正常1_预开户2_预销户flag[2]:挂失:0_正常卡1_挂失flag[3]:冻结标志:0_正常1_冻结flag[4]:检查标志:0_正常1_对帐不平2_对帐不平差额超过警戒额flag[5]:转帐标志:0_停止1_自助2_自动flag[6]:交费标志:0_自助1_自动flag[7]:启动密码开关:0_不使用密码限额1_使用密码限额flag[8]:是否已提银行转帐:0_正常1_已提flag[9]:是否用身份管理功能:0_无1_有flag[10]:冻结原因:0_人工冻结1_对帐不平差额超过警戒额create unique index account_account on account(account)create unique index account_cardid on account(cardid)create index account_IdentityID on account(IdentityID)create index account_sno on account(sno)create index account_Identity on account(Identity)create index account_idx on account(schcode,account)开通登记表openinfo字段中文名称字段代码数据类型是否为空索引键主键缺省值帐号Account Number(10)Not null √子系统代码SysCode Number(4) Not null √日期OpenDate Date Not null操作员OperCode Char(3) Not nullcreate unique index openinfo_idx on openinfo(account, SysCode)卡销户表close字段中文名称字段代码数据类型是否为空索引键主键缺省值帐号Account Number(10)Not null √核算单位SchCode Char(2) Not null √卡号CardID Number(10)Not null身份序号IdentityID char(12) null √姓名Name Char(30)Not null身份代码PID Char(2)Not null部门代码DeptCode Char(15)Not null当前过渡余额TmpBalance Number(10))Not null上次过渡余额PreTmpBalance Number(10))Not null帐户余额EBagAmt Number(10)Not null押金EnsureAmt Number(10)Not Null销户余额DelAmt Number(10)Not Null销户日期DelDate Date Not Null帐号标志Flag Char(1)Not Null操作员OperCode Char(3) Not null帐号标志:0_未取,1_已取create unique index close_account on close(account)create index close_idx on close(schcode,account)create index close_identityid on close(identityid)黑名单表blackinfo字段中文名称字段代码数据类型是否为空索引键主键缺省值IC卡号CARDNO NUMBER(10) NOT NULL P身份序号NO CHAR(12) Y创建日期CREATEDATE CHAR(14) NOT NULL操作员OPERCODE CHAR(3) NOT NULLcreate unqiue index blackinfo_cardno on blackinfo(cardno)create index blackinfo_idx on blackinfo(no)4-1-2商户和管理帐户数据字典商户帐户字典mercacc字段中文名称字段代码数据类型是否为空索引键主键缺省值帐号Account Number(10) Not null √核算单位SchCode Char(2) Not null √科目号Subject char(8) Not null帐户名称MercName char(40) Not null联系人Linkman char(20) null卡号CardNo Number(10) Not null部门代码DeptCode char(15) Not null上日发生额LastBalance Number(10) Not null上日发生笔数LastTranNumber Number(10) Not null本日余额Balance Number(10) Not null本日发生笔数TranNumber Number(10) Not null商户编号MercCode Char(10) Null折扣率DiscountRate Number(5) Not Null地址Address Char(40) Null电话Phone Char(20) Null邮编Zip Char(6) Null密码Password Char(16) Not null开户日期OpenDate date Not null操作员OperCode Char(3) Not null标志Flag char(10) Not null数字签名DigitalSign Char(8) Not null标志:flag[0]商户状态:0_正常1_冻结create unique index mercacc_account on mercacc(account)create index mercacc_idx on mercacc(schcode,account)4-1-3全局设置数据字典学校代码SchoolCode字段中文名称字段代码数据类型是否为空索引键主键缺省值核算单位SchCode char(2) Not null √单位名称Name char(40) Not null英文名称EnglishName char(80) null单位地址Address char(80) Not null备注Remark Varchar2(40) nullcreate unique index schoolcode_idx on schoolcode(schcode)日报字典Subject字段中文名称字段代码数据类型是否为空索引键主键缺省值科目号SubjectCode char(8) Not null √科目名称SubjectName char(18) Not null科目简称ShortName char(12) Not null上级科目SuperSubject char(8) null在日报中的序号Sequence Number(3) Not null标志Flag char(10) Not null标志:flag[0]:0_负责类,1_资产类flag[1]:0_借方,1_贷方flag[2]:0_汇总科目 1-9_科目级别Flag[3]:1_明细科目0_否Flag[4]:0_该科目不能删除1_该科目能删除Flag[5]:0_该科目余额不自动清算1_该科目余额自动清算create unique index subject_idx on subject(subjectcode)操作费用设定表fee字段中文名称字段代码数据类型是否为空索引键主键缺省值费用代码FeeCode Char(3)Not null √费用名称FeeName Char(20)Not null核算单位SchCode Char(2) Not null事件代码TranCode Char(2)Not null身份类型PID Char(2)Not null费用FeeAmt Number(10)Not null收费比率FeeAmtRate Number(5) Not null费用使用标志FeeFlag Char(2) Not nullFeeFlag[0]:0_手续费1_押金FeeFlag[1]:0_使用FeeAmt,1_使用FeeAmtRate (该标志对手续费其作用)create unique index fee_idx on fee(feecode)各种代码字典ConfigInfo字段中文名称字段代码数据类型是否为空索引键主键缺省值代码Code Char(3) Not null √名称Name char(40) Not null助记码AssistantCode Char(10)null类别Type Char(2) Not null √类别:01_民族02_国籍03_补助04_扣款05_消费类型 06_证件类型 07_系统类型08_卡类型create unique index configinfo_idx on configinfo(type,code)持卡人消费折扣表xfzkl字段中文名称字段代码数据类型是否为空索引键主键缺省值子系统代码SysCode Number(4) Not null √身份代码Pid char(3) Not null √折扣率DiscountRate Number(5) Not nullcreate unique index xfzkl_idx on xfzkl(syscode,pid)4-1-4系统管理和运行环境设置数据字典组织部门表branch字段中文名称字段代码数据类型是否为空索引键主键缺省值部门代码DeptCode Char(3)Not null √助记码AssistantCode Char(10)null部门名称Name Char(30)Not null上级部门代码SuDeptCode char(3)null部门级别DeptLevel Char(1)Not null部门类型DeptType Char(1) Not nullDeptType:0_持卡人部门1_商户部门create unique index branch_idx on branch(DeptCode)系统登记表sysregister字段中文名称字段代码数据类型是否为空索引键主键缺省值系统代码SysCode Number(4) Not null √核算单位SchCode Char(2) Not null √系统名称SysName char(40) Not null系统类型SysType Char(3) Not null处理机代码CompCode char(3)Not nullIP地址IP Char(15)Not null端口号port Number(5) Not null地址Address char(40) null电话Phone char(20) null同步类型EnableFlag char(1)Not null备注Remark char(10)nullcreate unique index sysregister_syscode on sysregister(SysCode)create index sysregister_idx on sysregister(SchCode,SysCode)系统参数cszd字段中文名称字段代码数据类型是否为空索引键主键缺省值代码code Char(3) Not null √名称name char(20) Not null值value char(20) Not null备注Remark char(40) null标志Flag Char(2) Not nullFlag[0]:0_不能手工修改参数值1_可以手工修改参数值create unique index cszd_idx on cszd(code)操作员表operator字段中文名称字段代码数据类型是否为空索引键主键缺省值操作员代码OperCode char(3)Not null √操作员姓名Opername char(20)Not null学校代码SchCode Char(2) Not null密码OperPIN Char(16)Not null操作员权限OperLevel char(100)Not null子系统代码SysCode Number(4)null标志Flag char(10)Not null启用日期StartDate date Not null停用日期ExpDate date Not nullFlag[0]:操作员状态:0_正常,1_停用Flag[1]:操作员类型:0_系统操作员,1_商户操作员create unique index operator_idx on operator(opercode)商户操作员权限表czyqx字段中文名称字段代码数据类型是否为空索引键主键缺省值操作员代码OperCode char(3)Not null √商户帐号Account Number(10)Not nullCreate unique index czyqx_idx on czyqx(opercode,account)事件代码表trcd字段中文名称字段代码数据类型是否为空索引键主键缺省值事件代码TranCode Char(2)Not null √名称TranName char(40) Not null标志FLAG Char(10) Not nullFlag[0]:0_不收手续费 1_收手续费Flag[1]:0_不收押金 1_收押金Flag[2]:0_不显示 1_显示Flag[3]:0_不能撤销 1_可以撤销Flag[4]:0_不能在别的核算单位子系统操作 1_可以在别的核算单位子系统操作create unique index trcd_idx on trcd(trancode)系统信息表message字段中文名称字段代码数据类型是否为空索引键主键缺省值消息代码MsgCode number(4)Not null √消息正文Describe varchar2(250)nullcreate unique index message_idx on message(MsgCode)操作员日志表log字段中文名称字段代码数据类型是否为空索引键主键缺省值日期时间ProcessDate Date Not null √操作员代码OperCode Char(3)Not null系统原设置OldValue Varchar2(150)null系统新设置NewValue varchar2(150)nullcreate index trace_idx on trace(to_char(ProcessDate,’yyyymmdd’))4-1-5流水帐数据字典交易流水表trjn字段中文名称字段代码数据类型是否为空索引键主键缺省值帐号FromAccount Number(10)Not null开户核算单位OpenLocation Char(2) Not null交易核算单位TradeLocation Char(2) Not null发端流水号FromJnNumber Number(10)Not null √对方帐号ToAccount Number(10)Not null子系统代码SysCode Number(4) Not null √POS号PosCode Number(3) Not null餐次DineSeq Number(1) Not null操作员OperCode char(3)Not null事件代码TranCode Char(2)Not null状态JournalStatus char(1)Not null流水发生日期时间JnDateTime Date Not null入帐日期时间EffectDate Date Not null卡内余额CardBalance Number(8)Not null累计用卡次数UsedCardNum Number(5)Not null补助序列号SubSeq Number(5)Not null交易额TranAmt Number(10)Not null押金EnsureAmt Number(8) Not null管理费FeeAmt Number(8) Not null消费类型ConsumeType Char(3) Not null摘要Resume Char(10) nullJournalStatus:0_正常1_冲正2_被冲正3_错帐create unique index trjn_idx on trjn(syscode,fromjnnumber)create index trjn_fromaccount on trjn(fromaccount)历史流水表histrjn字段中文名称字段代码数据类型是否为空索引键主键缺省值入帐日期LogicDate Char(8) Not null √帐号FromAccount Number(10)Not null √开户核算单位OpenLocation Char(2) Not null交易核算单位TradeLocation Char(2) Not null发端流水号FromJnNumber Number(10)Not null对方帐号ToAccount Number(10)Not null子系统代码SysCode Number(4) Not nullPOS号PosCode Number(3) Not null餐次DineSeq Number(1) Not null操作员OperCode char(3)Not null事件代码TranCode Char(2)Not null状态JournalStatus char(1)Not null流水发生日期时间JnDateTime date Not null入帐日期时间EffectDate date Not null卡内余额CardBalance Number(8)Not null累计用卡次数UsedCardNum Number(5)Not null补助序列号SubSeq Number(5)Not null交易额TranAmt Number(16)Not null押金EnsureAmt Number(16) Not null管理费FeeAmt Number(16) Not null消费类型ConsumeType Char(3) Not null摘要Resume Char(10) nullcreate index histrjn_logicdate on histrjn(logicdate)create index histrjn_fromaccount on histrjn(fromaccount)补助发放流水表SUBJN字段中文名称字段代码数据类型是否为空索引键主键缺省值核算单位SchCode Char(2) Not null帐号FromAccount Number(10)Not null √发端流水号FromJnNumber Number(10) Not null √日期时间JnDateTime date Not null √补助批号BatchNo Number(10) Not null √子系统代码SysCode Number(4) Not null √事件代码TranCode Char(2) Not null发放款项的帐号ToAccount Number(10) Not null补助序列号SubSeq Number(5) Not null补助金额SubAmt Number(10) Not null补助类型SubType Char(3) Not null补助状态SubJnStatus Char(1) Not null操作员OperCode Char(3) Not null摘要Resume Char(10) nullcreate index subjn_fromaccount on subjn(fromaccount)create index subjn_batchno on subjn(batchno)create unique index subjn_idx on subjn(fromjnnumber,syscode,to_char(jndatetime,'yyyymmdd'))收费明细表sfmx字段中文名称字段代码数据类型是否为空索引键主键缺省值核算单位SchCode Char(2) Not null √子系统代码SysCode Number(4) Not null √交费持卡人帐号FromAccount Number(10) Not null √交费ID号FeeID Number(10) Not null √姓名Name Char(30) Not null收费商户帐号ToAccount Number (10) Not null交费金额TranAmt Number (10) Not null费用类型ConsumeType Char(3) Not null通知日期NoticeDate DATE Not null交费日期FeeDate DATE Not Null操作员OperCode Char(3) Not null交费标志FeeFlag char(5) Not Null费用描述FeeDesc Char(30) nullFeeFlag[0]:0_自助交费 1_自动交费FeeFlag[1]:0_校园卡交费 1_银行卡交费FeeFlag[2]:0_已交费 1_未交费create unique index sfmx_idx on sfmx(Account,FeeID)create index sfmx_schcode on sfmx(SchCode,FromAccount)create index sfmx_SysCode on sfmx(SysCode,FromAccount)4-1-6报表部分数据字典对帐不符清单checklist字段中文名称字段代码数据类型是否为空索引键主键缺省值对帐日期CompareDate Char(8)Not null √帐号Account Number(10)Not null √库余额EbagAmt Number(10) Not null卡内余额CardBalance Number(10)Not null差额MarginAmt Number(10)Not null对帐序列号CompareSeq Number(6)Not nullcreate index checklist_idx on check_list(Account,compareDate)字段中文名称字段代码数据类型是否为空索引键主键缺省值报表日期ReportDate Char(8) Not null √核算单位SchCode Char(2) Not null √事件代码TranCode Char(2) Not null发生次数TranNumber Number(8) Not null发生额TranAmt Number(16) Not null管理费FeeAmt Number(16) Not null押金EnsureAmt Number(16) Not null子系统代码sysCode Number(4) Not null操作员OperCode Char(3) Not null数字签名DigitalSign Char(8) Not nullcreate index sysreport_idx on sysreport(ReportDate,SchCode)清算报表qsbb字段中文名称字段代码数据类型是否为空索引键主键缺省值日期ReportDate Char(8)Not null √核算单位SchCode Char(2) Not null √商户帐号MercAcc Number(10)Not null √商户名称MercName Char(40)null商户编号MercCode Char(10)null发生额TranAmt Number(10)Not null折扣率DiscountRate Number(5)Not null实际金额TrueAmt Number(10)Not null折扣金额DisCountAmt Number(10)Not null数字签名DigitalSign Char(8) Not nullcreate index qsbb_idx on qsbb(ReportDate,SchCode,mercacc)商户历史mhistrjn字段中文名称字段代码数据类型是否为空索引键主键缺省值日期ReportDate Char(8)Not null √核算单位SchCode Char(2) Not null √商户帐号MercAcc Number(10)Not null √子系统代码SysCode Number(4) Not nullPOS号PosCode Number(3)Not null餐次DineSeq Number(3)Not null商户名称MercName Char(40)null商户编号MercCode Char(10)null发生额TranAmt Number(10)Not null发生笔数TranNum Number(10)Not null数字签名DigitalSign Char(8) Not nullcreate index mhistrjn_idx on mhistrjn(ReportDate,SchCode,mercacc)字段中文名称字段代码数据类型是否为空索引键主键缺省值报表日期ReportDate Char(8) Not null √核算单位SchCode Char(2) Not null √事件代码TranCode Char(2) Not null子系统代码SysCode Number(4) Not null商户帐号Account Number(10) Not null部门代码DeptCode Char(15)Not null发生笔数TranNumber Number(10) Not null发生额TranAmt Number(10) Not null数字签名DigitalSign Char(8) Not nullcreate index deptreport_idx on deptreport(reportdate,schcode)日报表dayreport字段中文名称字段代码数据类型是否为空索引键主键缺省值核算单位SchCode Char(2) Not null √日期ReportDate Char(8) Not null √科目号SubjectCode Char(8) Not null √上日结存金额PreKeepSum Number(16) Not null上日结存户数PreKeepAccNum Number(8) Not null贷金额LoanSum Number(16) Not null开户数AccOpenNum Number(6) Not null贷笔数LoanNumber Number(8) Not null借金额LendSum Number(16) Not null销户数AccCancelNum Number(6) Not null借笔数LendNumber Number(8) Not null本日结存金额OccurKeepSum Number(16) Not null本日结存户数OccurKeepAccNum Number(8) Not null数字签名DigitalSign Char(8) Not nullcreate unique index dayreport_idx on dayreport (reportdate,SchCode, SubjectCode);核算单位统计报表ttrj字段中文名称字段代码数据类型是否为空索引键主键缺省值日期ReportDate Char(8) Not null √交易核算单位TradeLocation Char(2) Not null √开户核算单位OpenLocation Char(2) Not null √科目号SubjectCode Char(8) Not null开户数AccOpenNum Number(6) Not null贷笔数LoanNumber Number(8) Not null贷金额LoanSum Number(16) Not null销户数AccCancelNum Number(6) Not null借笔数LendNumber Number(8) Not null借金额LendSum Number(16) Not null数字签名DigitalSign Char(8) Not null标志Flag Char(1) Not null Flag[0]:0_现金1_转帐(暂不用)Create index ttrj_idx on ttrj(reportdate,tradelocation,openlocation)4-2安全保密设计所有的密码字段加密后存放。