Oracle数据库项目S3.pdf

上传人:wj 文档编号:3437567 上传时间:2023-05-05 格式:PDF 页数:10 大小:279.45KB
下载 相关 举报
Oracle数据库项目S3.pdf_第1页
第1页 / 共10页
Oracle数据库项目S3.pdf_第2页
第2页 / 共10页
Oracle数据库项目S3.pdf_第3页
第3页 / 共10页
Oracle数据库项目S3.pdf_第4页
第4页 / 共10页
Oracle数据库项目S3.pdf_第5页
第5页 / 共10页
Oracle数据库项目S3.pdf_第6页
第6页 / 共10页
Oracle数据库项目S3.pdf_第7页
第7页 / 共10页
Oracle数据库项目S3.pdf_第8页
第8页 / 共10页
Oracle数据库项目S3.pdf_第9页
第9页 / 共10页
Oracle数据库项目S3.pdf_第10页
第10页 / 共10页
亲,该文档总共10页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

Oracle数据库项目S3.pdf

《Oracle数据库项目S3.pdf》由会员分享,可在线阅读,更多相关《Oracle数据库项目S3.pdf(10页珍藏版)》请在冰点文库上搜索。

Oracle数据库项目S3.pdf

1项目实战1项目实战1开放式基金交易平台(数据库设计)开放式基金交易平台(数据库设计)1.1需求描述需求描述随着我国经济水平的持续发展,金融产品也在不断发展。

经中国证监会批准,开放式上市基金已在逐渐发展,为了开展此项业务,招商银行某分行需要一个基金交易平台,以便银行窗口人员在此平台上为广大用户提供基金交易管理的服务,同时为用户提供网上基金交易的便捷服务。

该系统的功能分为前台和后台管理。

1、1、后台管理后台管理?

基金管理:

添加基金公司、基金公司查询、停用基金公司、添加基金、基金信息查询、停用基金。

?

客户账户管理:

活期账户开户、查询活期账户信息、活期账户冻结与解冻、理财账户开户、查询理财账户信息、理财账户冻结与解冻、基金账户冻结与解冻。

?

交易审核:

审核基金购买和赎回。

2、2、前台管理前台管理?

信息查询:

基金信息查询、理财资金查询、当日交易查询、未完成交易查询、历史交易查询。

?

委托交易:

购买、赎回、撤单。

?

基金账户管理:

基金账户开户、基金账户信息查询。

?

理财账户:

转账、修改密码。

1.2问题分析问题分析分析上面的需求,我们可以得出系统中应该有如下数据表。

系统中基金公司表(FundCompany)字段及说明见表1-1。

表1-1FundCompany表的字段及说明表1-1FundCompany表的字段及说明字段名称数据类型说明CompanyIdvarchar2(20)公司ID,主键Namevarchar2(30)公司名称Contentclob公司简介Moneynumber(10,2)注册资金,单位万元Statenumber(1,0)公司状态,0表示正常,1表示冻结系统中基金表(Fund)字段及说明见表1-2。

2表1-2Fund表的字段及说明表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表的字段及说明表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表的字段及说明表1-4FinancingAccount表的字段及说明字段名称数据类型说明FinancingAccountvarchar2(20)理财帐户账号,主键FinancePassWordvarchar2(20)理财帐户密码MoneyTypenumber(1,0)货币类型,1表示人民币,2表示美元,3表示欧元AccountBalancenumber(10,2)理财帐户金额EnableBalancenumber(10,2)可用余额CongealFundnumber(10,2)冻结资金,购买基金所对应的资金(未审核)3Statenumber(1,0)状态,1表示冻结,0表示可用CurrentAccountvarchar2(20)活期账户账号,外键引用CurrentAccount表的CurrentAccount系统中基金账户表(FundAccount)字段及说明见表1-5。

表1-5FundAccount表的字段及说明表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-6FundBuy的字段及说明表1-6FundBuy的字段及说明字段名称数据类型说明PactNovarchar2(20)合同号,主键FinancingAccountvarchar2(20)理财帐户账号,外键引用FinancingAccount表的FinancingAccountFundNOvarchar2(20)基金账户账号,外键引用Fund表的FundNOFundnamevarchar2(20)购买基金的名称Fundnumbernumber(5,0)购买基金的份数BuyDatedate购买日期Statenumber(1,0)购买基金的状态,0表示未审核,1表示审核系统中交易表(Trade)字段及说明见表1-7。

表1-7Trade表的字段及说明表1-7Trade表的字段及说明字段名称数据类型说明PactNovarchar2(20)合同号,外键引用FundBuy表PactNo4FinancingAccountvarchar2(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对象?

使用createsequence创建序列5?

使用createview创建视图?

使用createprocedure创建存储过程?

使用createfunction创建函数?

编写PL/SQL块?

使用createtrigger创建触发器?

使用cratepackagebody创建包和包体工具:

工具:

?

PL/SQLDeveloper1.4阶段划分阶段划分开放式基金交易平台(数据库设计)实现阶段划分见表1-8。

表1-8阶段任务及时间表1-8阶段任务及时间阶段名称使用时间阶段实现第一阶段60分钟创建表空间,创建用户,创建数据表,添加约束,创建表之间关系第二阶段60分钟创建序列分别生成基金公司编号、基金代码、活期账号、理财账号、基金账户、合同号。

创建触发器,使用序列,分别实现添加表数据的时候,自动添加基金公司编号、基金代码、活期账号、理财账号、基金账户、合同号。

实现基金管理模块。

第三阶段30分钟实现账户管理、理财账户模块。

第四阶段60分钟实现客户账户管理、交易审核模块。

第五阶段90分钟实现信息查询、委托交易模块。

1.4.1第一阶段第一阶段实现:

创建表空间,创建用户,创建数据表,添加约束,创建表之间关系。

1、创建表空间fund保存到“D:

”路径下,如下所示。

createtablespacefunddatafiled:

funddb_file.dbfsize50M2、创建用户test_user指定默认表空间为fund,如下所示。

6createusertest_useridentifiedbytest123456defaulttablespacefund3、授予用户角色和权限,如下所示。

grantconnect,resourcetotest_user4、使用test_user用户登录Oracle服务器,创建表。

?

创建基金公司表(FundCompany)并添加约束。

?

创建基金表(Fund)并添加约束。

?

创建活期帐户表(CurrentAccount)并添加约束。

?

创建理财账户表(FinancingAccount)并添加约束。

?

创建基金账户表(FundAccount)并添加约束。

?

创建购买的基金表(FundBuy)并添加约束。

?

创建交易表(Trade)并添加约束。

?

建立表之间的外键关系。

1.4.2第二阶段第二阶段实现:

创建序列分别生成基金公司编号、基金代码、活期账号、理财账号、基金账户、合同号;创建触发器,使用序列,分别实现添加表数据的时候,自动添加基金公司编号、基金代码、活期账号、理财账号、基金账户、合同号;实现基金管理模块。

创建基金管理程序包FundManager_pack,在程序包里创建过程分别实现,添加基金公司、添加基金公司基金、根据公司编号冻结/解冻基金公司、根据基金代码冻结/解冻基金、根据公司编号查询基金公司、根据公司编号查询基金、根据基金代码查询基金。

1、分别创建序列,生成基金公司编号、基金代码、活期账号、理财账号、基金账户、合同号。

要求如下:

?

基金公司编号,字母K+5位数字。

?

基金代码,字母V+6位数字。

?

活期账号,13位数字。

?

理财账号,13位数字。

7?

基金账户,字母L+5位数字。

?

合同号,字母Z+6位数字。

2、分别创建触发器,在添加表数据的时候,自动添加生成的主键编号。

3、添加基金公司“龙腾集团”,如图1-1所示。

图1-1添加基金公司图1-1添加基金公司4、根据基金公司添加基金,如图1-2所示。

图1-2根据基金公司添加基金图1-2根据基金公司添加基金5、根据基金公司查询基金信息,如图1-3所示。

图1-3根据基金公司查询基金图1-3根据基金公司查询基金基金公司、基金的冻结/解冻,只需修改基金公司、基金State的状态值(0表示正常,1表示冻结)。

1.4.3第三阶段第三阶段实现:

基金账户管理、理财账户模块。

创建基金账户管理程序包FundAccountManager_pack,在程序包里创建过程分别实现,基金账户开户、基金账户信息查询。

创建理财账户管理程序包FinancingAccountManager_pack,在程序包里创建过程分别实现,理财账户修改密码、实现转账功能。

1、实现基金账户开户。

?

基金账户的编号不能重复。

8?

一个理财账号对同一个公司只能开一个基金账户。

2、实现基金账户信息查询。

(查询指定理财帐户所开的所有基金账户的信息)3、实现理财账户修改密码。

(修改理财需要判断原密码是否输入正确,如果正确才能修改)。

4、实现转账功能。

?

转帐分为活期转理财和理财转活期。

?

活期转理财,需要判断活期的资金是否足够,如果不足,就不能进行转帐。

?

活期转理财,需要判断活期密码是否正确,不正确不能转帐。

?

活期转理财,活期转入的金额只加入到总金额和可用余额中。

?

理财转活期,需要判断理财的活动资金是否充足,如果不充足不能进行转帐。

?

理财转活期,需要判断密码是否正确。

?

转帐时需要判断理财/活期是否被冻结。

1.4.4第四阶段第四阶段实现:

客户账户管理、交易审核模块。

创建客户账户管理程序包ClientAccountManager_pack,在程序包里创建过程分别实现,活期账户开户、查询活期账户信息、活期账户冻结与解冻、理财账户开户、查询理财账户信息、理财账户冻结与解冻、基金账户冻结与解冻。

创建交易审核程序包Auditing_pack,在程序包里创建过程分别实现,审核基金购买、赎回。

1、活期账户开户。

(活期帐户账号编号不能重复)2、查询活期账户信息。

(可以根据活期账号精确查询,可以根据姓名模糊查询)3、活期账户冻结与解冻。

(冻结活期帐户时,必须冻结理财帐户,启用活期帐户时,不能启用理财帐户)4、理财账户开户。

?

一个活期帐户只能开一个理财帐户。

?

活期帐户被冻结不能开理财帐户。

?

活期帐户不存在不能开理财帐户。

?

理财帐户的用户名称应该跟活期帐户的用户名相同。

9?

理财帐户的信息不允许进行修改。

5、查询理财账户信息。

(可以根据编号精确查询,可以根据姓名模糊查询)6、理财账户冻结与解冻。

(活期帐户被冻结,理财帐户不能被启用)7、基金账户冻结与解冻。

?

基金账户被冻结不能购买相对应公司的基金。

?

基金公司被冻结,不能解冻基金账户。

1.4.5第五阶段第五阶段实现:

信息查询、委托交易模块。

创建信息查询程序包Information_pack,在程序包里创建过程分别实现,基金信息查询、理财资金查询、当日交易查询、未完成交易查询、历史交易查询。

创建委托交易程序包Consign_pack,在程序包里创建过程分别实现,基金的购买、赎回、撤单。

1、基金信息查询。

(根据理财账号,查询所有购买成功的基金记录)2、理财资金查询。

(根据理财账号,查询理财资金(总金额,可用余额,冻结资金)3、当日交易查询。

(根据理财账号,获取系统时间查询当天的交易记录)4、未完成交易查询。

(根据理财账号,查询所有未完成的交易记录)5、历史交易查询。

(根据理财账号,查询所有交易记录)6、购买基金。

(根据基金账户,购买相应基金公司的基金)?

购买时判断是否开启所需要购买的基金所对应的公司的基金账户。

?

购买时应判断该公司和该基金是否被冻结。

?

购买时应判断购买下限是否大于购买数量。

?

购买时应判断购买所需资金是否足够。

?

购买时应判断该公司所对应的基金账户是否冻结,冻结了不能基金交易。

?

购买成功后需要扣除交易手续费用,费率0.75%。

?

购买时需要插入一条交易记录。

?

购买成功后,未审核前,购买所需要使用的资金应该在冻结资金中,没有审核前,不能扣去这次交易的手续费用。

107、赎回基金。

(根据基金账户,赎回购买的基金)?

赎回时应该判断该公司和该基金是否被冻结。

?

赎回时应判断所拥有的基金的数量是否大于赎回的数量。

?

赎回时应判断该公司所对应的基金账户是否被冻结,冻结了就不能进行交易。

?

赎回成功后需要交手续费用,费率1.5%。

?

赎回时需要插入一条交易记录。

?

赎回成功后,赎回的基金的数量应该被减去,在冻结资金中应该加入等价的资金。

8、撤单。

(根据基金账户,查询购买的基金,撤单是在购买成功后,未审核前,撤单可以把本次交易撤销掉,不能扣去手续费用)1.5项目总结项目总结本项目从数据库设计的角度出发,依据前面学习的Oralce数据库知识,设计了开放式基金交易平台的数据库。

该项目涵盖的内容比较丰富,涉及到数据库的三类完整性约束,实体间的1:

n的联系,n:

n的联系等。

在项目中使用到了Oracle创建数据库表空间、用户、表、视图、序列、触发器、程序包、存储过程等等。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > PPT模板 > 商务科技

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2