oracle项目实战.doc_第1页
oracle项目实战.doc_第2页
oracle项目实战.doc_第3页
oracle项目实战.doc_第4页
oracle项目实战.doc_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

目录项目实战1开放式基金交易平台(数据库设计)11.1需求描述11.2问题分析11.3相关技术与工具41.4阶段划分51.5项目总结1010项目实战1 开放式基金交易平台(数据库设计)1.1 需求描述随着我国经济水平的持续发展,金融产品也在不断发展。经中国证监会批准,开放式上市基金已在逐渐发展,为了开展此项业务,招商银行某分行需要一个基金交易平台,以便银行窗口人员在此平台上为广大用户提供基金交易管理的服务,同时为用户提供网上基金交易的便捷服务。该系统的功能分为前台和后台管理。1、 后台管理 基金管理:添加基金公司、基金公司查询、停用基金公司、添加基金、基金信息查询、停用基金。 客户账户管理:活期账户开户、查询活期账户信息、活期账户冻结与解冻、理财账户开户、查询理财账户信息、理财账户冻结与解冻、基金账户冻结与解冻。 交易审核:审核基金购买和赎回。2、 前台管理 信息查询:基金信息查询、理财资金查询、当日交易查询、未完成交易查询、历史交易查询。 委托交易:购买、赎回、撤单。 基金账户管理:基金账户开户、基金账户信息查询。 理财账户:转账、修改密码。1.2 问题分析分析上面的需求,我们可以得出系统中应该有如下数据表。系统中基金公司表(FundCompany)字段及说明见表1-1。表1-1FundCompany表的字段及说明字段名称数据类型说明CompanyIdvarchar2(20)公司ID,主键Namevarchar2(30)公司名称Contentclob公司简介Moneynumber(10,2)注册资金,单位万元Statenumber(1,0)公司状态,0表示正常,1表示冻结系统中基金表(Fund)字段及说明见表1-2。表1-2Fund表的字段及说明字段名称数据类型说明FundNovarchar2(20)基金代码ID,主键CompanyIdvarchar2(20)基金公司ID,外键引用FundCompany表的CompanyIdFundNamevarchar2(20)基金名称Pricenumber(10,2)基金净值FundTypenumber(1,0)基金类型,1表示开放式,2表示封闭式Investnumber(1,0)投资方向,1股票,2债券,3货币,4混合BuyLimitnumber(5,0)购买下限Ischangenumber(1,0)是否可转换,0表示不可转换,1表示可转换YearRatenumber(6,5)年利率,必须是0-1之间的数字ApplyDatedate申请日期Statenumber(1,0)基金状态,0表示正常,1表示冻结系统中活期帐户表(CurrentAccount)字段及说明见表1-3。表1-3CurrentAccount表的字段及说明字段名称数据类型说明CurrentAccountvarchar2(20)活期帐户账号,主键CurrentPasswordvarchar2(20)活期帐户密码DepositSumnumber(10,2)活期账户存款金额CardTypenumber(1,0)证件类型,1为身份证,2为房产证,3为驾驶证CardNovarchar2(20)证件号码Namevarchar2(10)开户人姓名Addressvarchar2(100)家庭地址Phonevarchar2(20)电话Sexnumber(1,0)性别,1表示男,2表示女OpenAccDatedate开户日期Statenumber(1,0)帐号状态,1表示不可转帐,0表示可用系统中理财账户表(FinancingAccount)字段及说明见表1-4。表1-4FinancingAccount表的字段及说明字段名称数据类型说明FinancingAccountvarchar2(20)理财帐户账号,主键FinancePassWordvarchar2(20)理财帐户密码MoneyTypenumber(1,0)货币类型,1表示人民币,2表示美元,3表示欧元AccountBalancenumber(10,2)理财帐户金额EnableBalancenumber(10,2)可用余额CongealFundnumber(10,2)冻结资金,购买基金所对应的资金(未审核)Statenumber(1,0)状态,1表示冻结,0表示可用CurrentAccountvarchar2(20)活期账户账号,外键引用CurrentAccount表的CurrentAccount系统中基金账户表(FundAccount)字段及说明见表1-5。表1-5FundAccount表的字段及说明字段名称数据类型说明FundAccountvarchar2(20)基金账户账号,主键FinancingAccountvarchar2(20)理财帐户账号,外键引用FinancingAccount表的FinancingAccountCompanyIDvarchar2(20)公司ID,外键引用FundCompany表的CompanyIDCardTypenumber(1,0)证件类型,1为身份证,2为房产证,3为驾驶证CardNovarchar2(20)证件号码Namevarchar2(10)姓名Sexnumber(1,0)性别,1表示男,0表示女Addressvarchar2(100)家庭地址Phonevarchar2(20)电话PostNumvarchar2(10)邮编emailvarchar2(30)电子邮件createDatedate开户日期CongealStatenumber(1,0)冻结状态(冻结之后该客户不能购买),0 表示未冻结 ,1 表示冻结系统中购买的基金表(FundBuy)字段及说明见表1-6。表1-6 FundBuy的字段及说明字段名称数据类型说明PactNovarchar2(20)合同号,主键FinancingAccountvarchar2(20)理财帐户账号,外键引用FinancingAccount表的FinancingAccountFundNOvarchar2(20)基金账户账号,外键引用Fund表的FundNOFundnamevarchar2(20)购买基金的名称Fundnumbernumber(5,0)购买基金的份数BuyDatedate购买日期Statenumber(1,0)购买基金的状态,0表示未审核,1表示审核系统中交易表(Trade)字段及说明见表1-7。表1-7Trade表的字段及说明字段名称数据类型说明PactNovarchar2(20)合同号,外键引用FundBuy表PactNoFinancingAccountvarchar2(20)理财帐户账号,外键引用FinancingAccount表的FinancingAccountFundNovarchar2(20)基金编号,外键引用Fund表的FundNOFundNamevarchar2(20)基金名称DealTypenumber(1,0)交易类型,1 表示购买,2 表示撤单,3 表示赎回FundQuotientnumber(5,0)基金份数BargainPricenumber(10,2)成交单价DealMoneynumber(10,2)交易金额FundAccountvarchar2(20)基金账户账号,外键引用FundAccount表的FundAccountDealDatedate交易日期Statusnumber(1,0)交易状态,0 表示未完成,1 表示完成1.3 相关技术与工具技术:1、 数据库基础 表空间、数据库用户的创建2、 为字段建立约束 主键约束 检查约束 唯一约束 默认约束 外键约束3、 使用SQL语句 使用insert插入数据 使用update修改数据 使用delete删除数据 使用select查询数据 使用select联接查询4、 使用Oracle对象 使用create sequence 创建序列 使用create view 创建视图 使用create procedure 创建存储过程 使用create function 创建函数 编写PL/SQL块 使用create trigger 创建触发器 使用crate package body 创建包和包体工具: PL/SQL Developer1.4 阶段划分开放式基金交易平台(数据库设计)实现阶段划分见表1-8。表1-8阶段任务及时间阶段名称使用时间阶段实现第一阶段60分钟 创建表空间,创建用户,创建数据表,添加约束,创建表之间关系第二阶段60分钟 创建序列分别生成基金公司编号、基金代码、活期账号、理财账号、基金账户、合同号。 创建触发器,使用序列,分别实现添加表数据的时候,自动添加基金公司编号、基金代码、活期账号、理财账号、基金账户、合同号。 实现基金管理模块。第三阶段30分钟 实现账户管理、理财账户模块。第四阶段60分钟 实现客户账户管理、交易审核模块。第五阶段90分钟 实现信息查询、委托交易模块。1.4.1 第一阶段实现:创建表空间,创建用户,创建数据表,添加约束,创建表之间关系。1、 创建表空间fund保存到“D:”路径下,如下所示。create tablespace funddatafile d:funddb_file.dbf size 50M2、 创建用户test_user 指定默认表空间为fund,如下所示。create user test_useridentified by test123456default tablespace fund3、 授予用户角色和权限,如下所示。grant connect,resource to test_user4、 使用test_user用户登录Oracle服务器,创建表。 创建基金公司表(FundCompany)并添加约束。 创建基金表(Fund)并添加约束。 创建活期帐户表(CurrentAccount)并添加约束。 创建理财账户表(FinancingAccount)并添加约束。 创建基金账户表(FundAccount)并添加约束。 创建购买的基金表(FundBuy)并添加约束。 创建交易表(Trade)并添加约束。 建立表之间的外键关系。1.4.2 第二阶段实现:创建序列分别生成基金公司编号、基金代码、活期账号、理财账号、基金账户、合同号;创建触发器,使用序列,分别实现添加表数据的时候,自动添加基金公司编号、基金代码、活期账号、理财账号、基金账户、合同号;实现基金管理模块。创建基金管理程序包FundManager_pack,在程序包里创建过程分别实现,添加基金公司、添加基金公司基金、根据公司编号冻结/解冻基金公司、根据基金代码冻结/解冻基金、根据公司编号查询基金公司、根据公司编号查询基金、根据基金代码查询基金。1、 分别创建序列,生成基金公司编号、基金代码、活期账号、理财账号、基金账户、合同号。要求如下: 基金公司编号,字母K+5位数字。 基金代码,字母V+6位数字。 活期账号,13位数字。 理财账号,13位数字。 基金账户,字母L+5位数字。 合同号,字母Z+6位数字。2、 分别创建触发器,在添加表数据的时候,自动添加生成的主键编号。3、 添加基金公司“龙腾集团”,如图1-1所示。图1-1添加基金公司4、 根据基金公司添加基金,如图1-2所示。图1-2根据基金公司添加基金5、 根据基金公司查询基金信息,如图1-3所示。 图1-3根据基金公司查询基金基金公司、基金的冻结/解冻,只需修改基金公司、基金State的状态值(0表示正常,1表示冻结)。1.4.3 第三阶段实现:基金账户管理、理财账户模块。创建基金账户管理程序包FundAccountManager_pack,在程序包里创建过程分别实现,基金账户开户、基金账户信息查询。创建理财账户管理程序包FinancingAccountManager_pack,在程序包里创建过程分别实现,理财账户修改密码、实现转账功能。1、 实现基金账户开户。 基金账户的编号不能重复。 一个理财账号对同一个公司只能开一个基金账户。2、 实现基金账户信息查询。(查询指定理财帐户所开的所有基金账户的信息)3、 实现理财账户修改密码。(修改理财需要判断原密码是否输入正确,如果正确才能修改)。4、 实现转账功能。 转帐分为活期转理财和理财转活期。 活期转理财,需要判断活期的资金是否足够,如果不足,就不能进行转帐。 活期转理财,需要判断活期密码是否正确,不正确不能转帐。 活期转理财,活期转入的金额只加入到总金额和可用余额中。 理财转活期,需要判断理财的活动资金是否充足,如果不充足不能进行转帐。 理财转活期,需要判断密码是否正确。 转帐时需要判断理财/活期是否被冻结。1.4.4 第四阶段实现:客户账户管理、交易审核模块。创建客户账户管理程序包ClientAccountManager_pack,在程序包里创建过程分别实现,活期账户开户、查询活期账户信息、活期账户冻结与解冻、理财账户开户、查询理财账户信息、理财账户冻结与解冻、基金账户冻结与解冻。创建交易审核程序包Auditing_pack,在程序包里创建过程分别实现,审核基金购买、赎回。1、 活期账户开户。(活期帐户账号编号不能重复)2、 查询活期账户信息。(可以根据活期账号精确查询,可以根据姓名模糊查询)3、 活期账户冻结与解冻。(冻结活期帐户时,必须冻结理财帐户,启用活期帐户时,不能启用理财帐户)4、 理财账户开户。 一个活期帐户只能开一个理财帐户。 活期帐户被冻结不能开理财帐户。 活期帐户不存在不能开理财帐户。 理财帐户的用户名称应该跟活期帐户的用户名相同。 理财帐户的信息不允许进行修改。触发器5、 查询理财账户信息。(可以根据编号精确查询,可以根据姓名模糊查询)6、 理财账户冻结与解冻。(活期帐户被冻结,理财帐户不能被启用)7、 基金账户冻结与解冻。 基金账户被冻结不能购买相对应公司的基金。 基金公司被冻结,不能解冻基金账户。1.4.5 第五阶段实现:信息查询、委托交易模块。创建信息查询程序包Information_pack,在程序包里创建过程分别实现,基金信息查询、理财资金查询、当日交易查询、未完成交易查询、历史交易查询。创建委托交易程序包Consign_pack,在程序包里创建过程分别实现,基金的购买、赎回、撤单。1、 基金信息查询。(根据理财账号,查询所有购买成功的基金记录)2、 理财资金查询。(根据理财账号,查询理财资金(总金额,可用余额,冻结资金)3、 当日交易查询。(根据理财账号,获取系统时间查询当天的交易记录)4、 未完成交易查询。(根据理财账号,查

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论