家庭财务管理系统DOCWord文档下载推荐.docx
- 文档编号:16433010
- 上传时间:2022-11-23
- 格式:DOCX
- 页数:20
- 大小:245.91KB
家庭财务管理系统DOCWord文档下载推荐.docx
《家庭财务管理系统DOCWord文档下载推荐.docx》由会员分享,可在线阅读,更多相关《家庭财务管理系统DOCWord文档下载推荐.docx(20页珍藏版)》请在冰豆网上搜索。
3.3.1.建立关系模型
1.实体部分
1)用户(用户名,家庭成员编号,用户密码)
主键:
用户名。
外键:
家庭成员。
2)家庭成员(家庭成员编号,成员姓名,成员身份)
家庭成员编号。
3)银行账户(银行账户编号,银行编号,账户所有人编号,账户类型)
银行账户编号。
银行编号、账户所有人编号
4)银行(银行编号,银行名称,银行简称,银行位置)
银行编号。
5)理财产品(理财产品编号,理财名称,预期利率,投资周期,周期单位,最低购买金额,风险概述,违约说明,备注)
理财产品编号。
6)理财账户(理财账户编号,银行账户编号,用户名,理财类型,备注)
理财账户编号。
银行账户编号,用户名。
7)现金账户(变更流水号,现金账户编号,银行账户编号,用户名,收支类型,现金类型,变更金额,变更日期,备注)
变更流水号。
银行账户编号、用户名。
2.联系部分
1)理财产品交易(理财账户编号,理财产品编号,交易类型,交易金额,交易日期,备注)
主键:
理财账户编号,理财产品编号。
外键:
之中交易类型为买入或卖出,交易日期必须在理财经营表中经营时间的范围内。
2)理财产品经营(银行编号,理财产品编号,经营开始时间,经营结束时间,备注)
银行编号,理财产品编号。
3.3.2.确定函数依赖、属于第几范式
1.实体表
1)用户表(用户名,家庭成员编号,用户密码)
用户名→用户密码,用户名→家庭成员编号,没有部分依赖,没有传递依赖,则此范式属于第三范式。
2)家庭成员表(家庭成员编号,成员姓名,成员身份)
家庭成员编号→成员姓名,家庭成员编号→成员身份,没有部分依赖,没有传递依赖,则此范式属于第三范式。
3)银行账户表(银行账户编号,银行编号,账户所有人编号,账户类型)
银行账户编号→银行编号,银行账户编号→账户所有人编号,银行账户编号→账户类型,没有部分依赖,没有传递依赖,则此范式属于第三范式。
4)银行表(银行编号,银行名称,银行简称,银行位置)
银行编号→银行名称,银行编号→银行简称,银行编号→银行位置,没有部分依赖,没有传递依赖,则此范式属于第三范式。
5)理财产品表(理财产品编号,理财名称,预期利率,投资周期,周期单位,最低购买金额,风险概述,违约说明,备注)
理财产品编号→理财名称,理财产品编号→预期利率,理财产品编号→投资周期,理财产品编号→周期单位,理财产品编号→最低购买金额,理财产品编号→风险概述,理财产品编号→违约说明,理财产品编号→备注,没有部分依赖,没有传递依赖,则此范式属于第三范式。
6)理财账户表(理财账户编号,银行账户编号,用户名,理财类型,备注)
理财账户编号→银行账户编号,理财账户编号→用户名,理财账户编号→理财类型,理财账户编号→备注,没有部分依赖,没有传递依赖,则此范式属于第三范式。
7)现金账户表(变更流水号,现金账户编号,银行账户编号,用户名,收支类型,现金类型,变更金额,变更日期,备注)
变更流水号→现金账户编号,变更流水号→银行账户编号,变更流水号→用户名,变更流水号→收支类型,变更流水号→现金类型,变更流水号→变更金额,变更流水号→变更日期,变更流水号→备注,没有部分依赖,没有传递依赖,则此范式属于第三范式。
2.关系表
1)理财产品交易表(理财账户编号,理财产品编号,交易类型,交易金额,交易日期,备注)
(理财账户编号,理财产品编号)→交易类型,(理财账户编号,理财产品编号)→交易金额,(理财账户编号,理财产品编号)→交易日期,(理财账户编号,理财产品编号)→备注,没有部分依赖,没有传递依赖,则此范式属于第三范式。
2)理财产品经营表(银行编号,理财产品编号,经营开始时间,经营结束时间,备注)
(银行编号,理财产品编号)→经营开始时间,(银行编号,理财产品编号)→经营结束时间,(银行编号,理财产品编号)→备注,没有部分依赖,没有传递依赖,则此范式属于第三范式。
3.4.物理结构设计
3.4.1.表设计
本系统共有9张表,包括实体表(7张):
用户表、家庭成员表、银行账户表、银行表、理财产品表、理财账户表、现金账户表;
关系表(2张):
理财产品交易表、理财产品经营表。
表3-4-1用户表
字段名
含义说明
别名
数据类型
空值
约束
键引用
用户名
数据库账户
UserName
Char(10)
否
——
主键
家庭成员编号
家庭成员的编号
FNo
外键
密码
数据库密码
Userpassword
Char(20)
表3-4-2家庭成员表
数据项名
家庭成员的特定编号
姓名
家庭成员的姓名
FName
Char(8)
成员身份
家庭成员在家庭中的身份、地位
FStatus
Char(6)
表3-4-3银行账户表
银行账户编号
银行账户的惟一标识
BANo
银行编号
银行的唯一标示
BNo
账户所有人编号
账户类型
AcType
Char(4)
表3-4-4银行表
银行名称
银行的名称
BName
银行简称
银行的简称
BShort
地理位置
银行的地址
BPlace
Text
表3-4-5理财产品表
理财产品编号
理财产品的唯一编号
FMID
理财名称
理财产品名称
FMName
预期利率
预期收益率
FMIntertst
Char
(2)
投资周期
FMTime
周期单位
周期的单位
TimeType
Check(天、月年)
最低购买金额
最低购买的金额
FMSMoney
Money
风险概述
风险评级
FMRisk
违约说明
未达投资周期的违约声明
FMDefault
备注
产品服务备注信息
Memos
表3-4-6理财账户表
理财账户编号
理财账户特定编号
INo
理财账户类型
IType
信息备注
表3-4-7现金账户表
变更流水号
变更记录流水号
SeNo
现金账户编号
现金账户特定编号
CashNo
收支类型
收支的类型
DType
Check(收入、支出)
现金类型
货币类型
MType
变更金额
MSum
变更日期
变更的时间
DDate
Datertime
变更说明
表3-4-8理财产品交易表
投资账户编号
投资账户的唯一编号
主键约束
交易类型
交易的类型
Check(买入、卖出)
交易金额
交易的金额
交易日期
交易的日期
Datetime
交易备注
表3-4-9理财产品经营表
经营开始时间
经营开始的日期
RSDate
经营结束时间
经营结束的日期
REDate
Check(REDate>
RSDate)
经营备注
3.4.2.约束设计
使用Check约束,约束理财产品表的投资周期为“日”、“月”或“年”;
约束现金表的收支类型为“收入”或“支出”;
约束理财产品交易表的交易类型为“买入”或“卖出”。
3.4.3.触发器设计
创建级联删除触发器,当银行表中的元组被删除时将触发银行账户表中对应元组的删除,之后会触发删除对应的理财账户、现金账户中对应元组的删除操作。
3.4.4.视图设计
创建理财产品基本信息视图,完善安全性,包括理财产品编号、理财产品名称及银行名称组成。
满足最基本的信息需求即可。
3.4.5.索引设计
创建理财产品编号的索引及银行简称的索引,方便信息查询、提高相关查询的效率。
3.4.6.存储过程设计
创建触发器实现查询特定现金账户在某一年的特定货币类型的收支情况,用以方便查询操作。
4.数据库实施、运行
数据库的实施完全按照数据库设计阶段给出的安全需求、性能要求等实施最终的数据库设计过程,包括了数据表及约束的创建,视图、触发器及存储过程的创建,最终录入数据完成数据库的运行。
4.1.创建表及约束
---家庭成员表
createtableFamily(
FNonchar(10)primarykey,
FNamenchar(10)notnull,
FStatusnchar(10)notnull
)
---用户表
createtableAccount(
UserNamenchar(10)primarykey,
FNonchar(10)notnull,
UserPassWordnchar(20)notnull,
foreignkey(FNo)referencesFamily(FNo)
---银行表
createtableBank(
BNonchar(10)primarykey,
BNamenchar(10)notnull,
BShortnchar(8)notnull,
Bplacetextnotnull
---银行账户表
createtableBank_Account(
BANonchar(10)primarykey,
BNonchar(10)notnull,
AcTypenchar(4)notnull,
foreignkey(FNo)referencesFamily(FNo),
foreignkey(BNo)referencesBank(BNo),
CONSTRAINTCK_Bank_AccountCHECK(AcType='
投资'
ORAcType='
现金'
---理财产品表
createtableFinance_Product(
FMIDnchar(10)primarykey,
FMNAMEnchar(10)notnull,
FMIntertstnchar(10),
FMTimeintnotnull,
TimeTypenchar(4)notnull,
FMSMoneymoneynotnull,
FMRisktextnotnull,
FMDefaulttextnotnull,
Memostext,
CONSTRAINTCK_Finance_ProductCHECK(TimeType='
天'
ORTimeType='
月'
年'
---现金账户表
createtableCase_Account(
SeNonchar(10)primarykey,
CashNonchar(10),
BANonchar(10)notnull,
UserNamenchar(10)notnull,
DTypenchar(4)notnull,
MTypenchar(4)notnull,
MSummoneynotnull,
DDatedatetimenotnull,
foreignkey(BANo)referencesBank_Account(BANo),
foreignkey(UserName)referencesAccount(UserName),
CONSTRAINTCK_Case_AccountCHECK(DType='
收入'
ORDType='
支出'
---理财账户表
createtableFinance_Account(
INonchar(10)primarykey,
Itypenchar(4)notnull,
foreignkey(UserName)referencesAccount(UserName)
---理财产品交易表
createtableFinance(
INonchar(10),
FMIDnchar(10),
primarykey(INo,FMID),
foreignkey(INo)referencesFinance_Account(INo),
foreignkey(FMID)referencesFinance_Product(FMID),
CONSTRAINTCK_FinanceCHECK(DType='
买入'
卖出'
---理财产品经营表
createtableFinance_Run(
BNonchar(10),
RSDatedatetimenotnull,
REDatedatetimenotnull,
primarykey(BNo,FMID),
CONSTRAINTCK_Finance_RunCHECK(RSDate<
REDate)
4.2.触发器创建
---银行表级联删除
createtriggerB_Dl
onBank
fordelete
as
begin
deletefromBank_Account
whereBNoin
(selectBNofromdeleted)
end
---银行账户表级联删除
createtriggerBA_Dl
onBank_Account
afterdelete
if((selectAcTypefromdeleted)='
deletefromCase_Account
whereBANo
in(selectBANofromdeleted)
else
deletefromFinance_Account
---理财账户表级联删除
createtriggerFiA_Dl
onFinance_Account
deletefromFinance
whereINoin
(selectINofromdeleted)
4.3.视图
---创建理财产品基本信息视图
CREATEVIEWFin_ProAS
SELECTa.FMIDas理财产品编号,a.FMNAME理财产品名,c.BName服务提供银行
FROMFinance_Producta,Finance_Runb,Bankc
WHEREa.FMID=b.FMIDANDb.BNo=c.BNo;
4.4.索引
---创建理财产品索引
CREATEINDEXFinPro_indexONFinance_Product(FMID)
---创建银行索引
CREATEINDEXBank_INDEXONBank(BShort)
4.5.游标和存储过程
---某现金账户某年特定货币类型的收支情况
createprocedureCase_Sum(
@ydatetime,
@CashIDnchar(10),
@CashMTypenchar(4)
as
declare@CashInSummoney,
declare@CashOutSummoney
set@CashInSum=0
set@CashOutSum=0
---游标声明
declareS_DTypecursor
forselectCashNo,DType,MType,MSum,DDatefromCase_Account
---打开游标
openS_Dtype
declare@CNnchar(10)
declare@DTnchar(4)
declare@MTnchar(4)
declare@MSmoney
declare@DDdatetime
---读取游标
fetchnextfromS_DTypeinto@CN,@DT,@MT,@MS,@DD
---循环读取
while@@fetch_status=0
begin
if(year(@y)=year(@DD)and
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 家庭 财务管理 系统 DOC