家庭财务管理系统DOC

合集下载

家庭财务管理系统

家庭财务管理系统

家庭财务管理系统的功能主要包括基本信息管理功能、财务管 理功能和数据统计功能等,有如下具体功能:基本信息管理有 添加、修改、删除、查询功能,财务信息管理同样有添加、修 改、删除、查询功能。数据库结构设计是总体设计阶段非常重 要的环节,本数据库中包含7张表,基本信息表、银行信息表、 家庭成员信息表、日常收支信息表、银行交易信息、银行帐号 信息表和用户信息表。
本系统共分四大模块,分别为基本信息管理模块、财务信息管 理模块、数据统计管理模块、用户管理模块。每个模块中还分 若干小模块。
Hale Waihona Puke 通过对各模块功能的实现,完成对家庭财务的管理。
家庭财务管理系统
如今对家庭收入支出的管理已经越来越深入人心,家庭财务管 理已经成为每个家庭特别关注的问题,以往用笔记录计算的方 式已经不能够满足大多数家庭的需求,因此提出了家庭财务管 理系统,通过开发应用,该系统可以帮助人们做好家庭财务管 理这项工作,精确记录统计,节约时间,提高效率。本文将介 绍家庭财务管理系统的设计过程和系统开发过程,本系统的软 件开发工具采用Visual Basic语言,后台数据库采用Access数 据库,在Visual Basic开发工具中运用ADO、datalist等数据库 访问技术。

案例四 家庭财务管理系统

案例四 家庭财务管理系统

案例四家庭财务管理系统4.1需求分析家庭财务系统主要对家庭的各项财务收支管理进行在计算机上的信息存储和处理,从而简化用户的工作量。

在需求分析过程中,概括描述了本软件能够为用户提供哪些服务、系统功能的整体框架,以及相应的业务流程。

4.1.1 系统概述家庭财务管理系统给家庭成员提供了一个管理平台,家庭成员可以对其成员编号、姓名以及收入、支出构成进行增加、删除、修改等管理操作。

同时,该系统还提供了家庭成员管理功能,根据家庭成员的分类,其拥有的权限也不同,系统可以判断登录家庭成员的用户名和密码,从而判断其是否可以使用该系统。

系统亦可登录家庭成员的权限信息,从而判断该家庭成员能够使用该系统的哪些特定功能,不同级别的家庭成员之间不能够越权使用系统功能。

家庭成员分家长和普通成员两类。

4.1.2 系统运行环境一、硬件环境●处理器:Intel Pentium 166 MX或更高●内存:32MB●硬盘空间:1GB●显卡:SVGA显示适配器二、软件环境●操作系统:Windows 98/ME/2000/XP4.1.3 功能需求描述家庭财务管理系统软件是为用户对家庭成员的收支构成及信息进行辅助管理的应用软件,功能需求描述如下。

1.用户登录:系统获取的家庭成员用户名和密码判断该家庭成员能否成功登录系统,并且当用户登录后根据权限判断该家庭成员是家长还是普通成员,可以使用哪些对应功能。

普通用户只能管理财务信息,而家长还可以管理用户信息。

2.给家庭成员提供功能选择界面:不同级别的家庭成员对应不同的功能选择界面。

功能选择界面包括输入功能选项、调用相应程序两大需求。

3.创建收支信息文件:用户根据提示输入家庭成员序号、姓名、各项财务信息,如收入、支出、合计。

可一次性输入多条家庭成员的收支信息。

并将家庭成员收支信息存储在系统磁盘文件中,以便进行管理、查找和备份。

4.增加家庭成员收支信息:可在原有收支信息文件的基础上增加新的家庭成员财务信息,并保存至磁盘,5.删除家庭成员收支信息:提示用户输入要删除的家庭成员序号,如果在文件中有该家庭成员的收支信息,则将该序号对应的信息在文件中删除。

家庭财务管理系统

家庭财务管理系统

目录摘要 (1)1 绪论 (2)1.1家庭理财信息化状况 (2)1.2系统设计说明 (3)1.3本课题技术方法 (4)2.1 技术可行性 (5)2.2 经济、社会效益分析 (5)2.3 操作可行性分析 (6)3 需求分析 (7)3.1需求分析 (7)3.2业务流程与数据流程分析 (7)4 系统的总体描述 (9)4.1程序特点 (9)4.1.1系统创新点 (9)4.2. J2EE技术架构 (10)4.3 swing技术架构 (10)4.4连接mysql数据库技术架构 (10)5 系统设计与实现 (12)5.1数据库设计 (12)5.1.1 数据库需求分析 (12)5.1.2角色的分配和表空间的分配 (13)5.2.3 数据库中各主要表的结构 (13)5.2系统功能实现 (14)5.2.1 系统管理模块 (14)5.2.2 系统管理模块 (15)5.2.3 信息管理功能的实现 (16)5.2.4 查询功能的实现 (17)5.2.5 收入增删改功能实现 (18)5.2.6 支出增删改功能实现 (18)5.2.7 更改密码功能的实现 (19)5.3.数据库分析 (19)5.3.1系统配置 (19)5.3.2代码设计 (20)6.1测试原则 (21)6.2测试目的 (21)6.3 测试用例 (21)6.4测试人员和测试时间 (22)6.5测试环境 (23)6.6系统测试 (23)6.6.1 连通性测试 (23)6.6.2 功能测试 (23)6.7主机平台系统测试 (23)6.7.1 软件平台系统测试 (24)6.7.2 性能测试 (24)6.8测试结论 (25)6.8.1根据测试报告可得出如下结论: (25)总结 (26)致谢 (28)摘要20世纪90年代以来,随着我国经济的快速增长和从传统计划经济体制向现代市场经济体制的过渡,我国经济和社会发生了巨大的变化。

其中,家庭理财更是获得了突飞猛进的发展。

本文第1章详细阐述了我国家庭投资理财的演变,指出了家庭理财模式从单一向多元化的转变,分析了社会理财的概念及其意义。

家庭财务管理系统的设计与实现

家庭财务管理系统的设计与实现

谢谢观看
一、系统需求分析
在家庭财务管理系统的设计中,我们需要满足以下需求: 1、用户可以方便地记录家庭的收入和支出;
2、用户可以按日期、类别等对收支情况进行查询和统计;
3、具备预算设置和预警功能,当家庭支出超过预设的预算时,系统应给予提 醒;
4、提供报表生成功能,用户可以通过报表了解家庭的收支情况; 5、提供数据导入导出功能,方便用户进行数据备份和迁移。
3、交互处理:通过JavaScript处理用户操作事件,如点击按钮、提交表单等。
四、测试与优化
完成家庭财务管理系统的设计和实现后,我们需要进行测试和优化,确保系统 的稳定性和性能。我们可以采取以下措施:
1、单元测试:对每个模块进行单元测试,确保每个模块的功能正常; 2、集成测试:将所有模块集成在一起进行测试,确保系统整体功能的正常;
3、API接口:提供RESTful API接口,方便前端进行数据请求和提交。
2、前端实现
家庭财务管理系统的前端可以采用HTML5、CSS3和JavaScript等技术进行开发。 在前端开发中,我们需要实现以下功能:
1、数据展示:通过HTML和CSS将数据展示在网页上; 2、数据输入:通过HTML表单等元素接收用户输入的数据;
1、用户表(User):存储用户信息,如用户名、密码等;
2、收入表(Income):存储家庭的收入信息,如日期、金额、来源等; 3、支出表(Expenditure):存储家庭的支出信息,如日期、金额、类别等;
4、预算表(Budget):存储家庭的预算信息,包括预算金额和预算类型等。
2、系统架构设计
3、性能测试:对系统进行压力测试和性能测试,确保系统在高负载下的稳定 性和性能;
4、安全性测试:对系统进行安全性测试,确保系统对各种攻击的防御能力。

家庭财务管理系统

家庭财务管理系统

收入管理
收入管理
新增功能:单击“添加”按钮,可以添加新的收入记录
家庭成员管理
家庭成员管理:用来查看家庭成员的相关信息,可新增记录,
具有查看、编辑、删除单条记录的功能(与账簿管理的对应功
能相似,将不做介绍)
ቤተ መጻሕፍቲ ባይዱ庭成员管理
家庭成员管理
新增功能:单击“新增”按钮,新增家庭成员信息
支出管理
支出项目管理:用来查看支出项目名称等相关信息,可新增
记录,具有查看、编辑、删除单条记录的功能(与收入管理的
对应功能相似,将不做介绍)
支出管理
支出管理
新增功能:单击“新增”按钮,新增支出项目名称等信息
报表统计
报表统计页面可以查看家庭财务收支的汇总情况
鸣谢
首先,向我的导师老师表示崇高的敬意和由衷的感谢,在
整个论文写作期间老师给了我很大的关心和指导,才使我的论 文顺利完成。 感谢同学对我的支持和鼓励,也感谢各位同学的帮助。 另外,非常感谢在百忙之中抽出时间来评阅本论文的各位 专家教授,感谢他们付出的辛勤劳动!
家庭财务管理系统
页面需求分析
登陆界面
管理员 家庭成员管理 收入管理 支出管理
登陆界面
登陆界面
在登陆界面中输入正确的用户名和密码才能进入程序进行下
一步操作
如果输入的用户名或密码不正确将跳出如下图的消息提示框
收入管理
账簿管理页面可以显示家庭收入情况,具有新增、查找等功
能,并可以查看、编辑、删除单条记录。
Thank You! 谢谢观看!!

家庭财务管理体系

家庭财务管理体系

家庭财务管理体系
家庭财务管理体系是指家庭成员通过制定合理的财务计划,合理分配家庭收支,实现家庭财务稳定和可持续发展的一种管理方式。

在当今社会,随着经济的发展和生活水平的提高,家庭财务管理越来越受到人们的关注。

因此,建立一个完善的家庭财务管理体系对于每个家庭来说都是非常重要的。

家庭成员应该制定一个详细的家庭预算计划。

这个计划应该包括家庭的收入和支出,以及每个月的固定支出和可变支出。

家庭成员应该根据家庭的实际情况,制定一个合理的预算计划,以确保家庭的收支平衡。

家庭成员应该建立一个家庭账户。

这个账户应该是一个共同账户,所有家庭成员都可以使用。

家庭成员应该定期将收入存入这个账户,并从中支付家庭的各种支出。

这样可以避免家庭成员之间的财务纠纷,也可以更好地控制家庭的支出。

第三,家庭成员应该建立一个家庭储蓄计划。

这个计划应该包括家庭成员的储蓄目标和计划,以及每个月的储蓄金额。

家庭成员应该根据家庭的实际情况,制定一个合理的储蓄计划,以确保家庭的储蓄目标得以实现。

家庭成员应该建立一个家庭投资计划。

这个计划应该包括家庭成员的投资目标和计划,以及每个月的投资金额。

家庭成员应该根据家
庭的实际情况,制定一个合理的投资计划,以确保家庭的投资目标得以实现。

建立一个完善的家庭财务管理体系对于每个家庭来说都是非常重要的。

家庭成员应该根据家庭的实际情况,制定一个合理的财务计划,建立一个共同账户,制定一个储蓄计划和投资计划,以确保家庭的财务稳定和可持续发展。

家庭财务管理系统C++

家庭财务管理系统C++

目录一、需求分析 (1)二、程序的主要功能 (2)三、程序运行平台 (3)四、系统总框架图 (4)五、程序类的说明 (5)六、模块分析 (6)七、比较有特色的函数 (7)八、存在的不足与对策 (8)一、需求分析家庭财务收支管理是一个家庭日常生活中不可缺少一部分,也是财务管理的重要组成部分。

它的内容对于财务管理者来说都至关重要,设计一个程序对财务收支进行管理是必不可少的。

二、程序的主要功能1、用户管理:对账单的用户进行登记。

2、消费明细:对用户账单明细进行记录。

3、个人账单查询:对用户的账单进行查询。

4、账单总计:对整个系统所存账单进行总计。

5、显示所有用户账单:把所有账单进行显示。

三、程序运行平台Dev c++四、系统总框架图五、程序类的说明class inter_f//定义一个界面类{public:inter_f(){};//构造~inter_f(){};//析构void display();//声明显示用户信息界面函数/////////////////// void check(user*p);//声明用户登记函数void seek(user*p);//声明用户查询函数void show(user*p);//声明显示用户信息函数void add(user*p);//声明用户新增函数void cancel(user*p);//声明用户注销函数void exit();//声明用户退出函数void limit(user&ru);//声明用户操作界面函数void display2();//消费明细界面函数///////////////////////void water_cost(user*p);//水费函数void elec_cost(user*p);//电费函数void comm_cost(user*p);//通信费函数void shop_cost(user*p);//购物费函数void gas_cost(user*p);//煤气费函数void pin_cost(user*p);//零用函数void exit2();//声明退出消费明细函数void limit2(user&ru);//声明消费明细操作界面函数void display1();//声明显示总信息界面//////////////////////void personal_bill(user*p);//声明个人账单函数void amount_bill(user*p);//账单总计函数void show1(user*p);//声明显示所有用户账务函数void exit1();//声明财务退出函数void limit1(user&ru);////总界面函数};六、模块分析1、用户管理:对账单的用户进行登记。

家庭财务管理系统

家庭财务管理系统

家庭财务管理系统随着现代生活节奏的加快和经济压力的增大,家庭的财务管理变得越来越重要。

家庭财务管理系统是一种有助于家庭成员有效管理和控制财务的工具。

它可以帮助家庭成员记录和追踪收入和支出、制定预算计划、监控投资和债务等方面的信息。

本文将介绍家庭财务管理系统的重要性,以及如何建立和运用这个系统来实现财务稳定和目标实现。

一、家庭财务管理系统的重要性家庭财务管理系统对于一个家庭的经济稳定至关重要。

首先,它可以帮助家庭成员了解家庭的整体财务状况。

通过记录收入和支出,并生成相应的财务报表,家庭成员可以清楚地知道家庭的财务状况和健康程度。

其次,家庭财务管理系统可以帮助家庭成员制定和实施预算计划。

通过分析收入和支出的情况,家庭成员可以制定合理的预算,合理分配收入,并控制支出,从而实现财务的健康发展。

此外,家庭财务管理系统还可以帮助家庭成员监控投资和债务情况,提供决策依据,避免财务风险。

二、建立家庭财务管理系统的步骤1. 收集和整理家庭财务信息:首先,家庭成员需要收集和整理所有的财务信息,包括收入来源、固定支出、可变支出、债务和投资等方面的信息。

这些信息可以通过查看银行对账单、信用卡账单、股票交易记录以及其他财务文件来获取。

2. 设定财务目标:家庭成员应该共同设定明确的财务目标,如购买房屋、子女教育基金或养老金等。

这些目标将成为建立财务计划和预算的基础。

3. 制定预算计划:基于家庭财务信息和设定的财务目标,家庭成员应该制定合理的预算计划。

预算计划应包括家庭的收入、支出和储蓄目标。

预算计划应该根据家庭的实际情况进行灵活调整。

4. 选择合适的财务管理工具:家庭成员可以选择适合自己的财务管理工具,如电子表格、个人财务软件或在线财务管理平台等。

这些工具可以帮助家庭成员记录和追踪收入和支出、制定预算计划、监控投资和债务等方面的信息。

5. 定期检查和评估:家庭成员应该定期检查和评估家庭财务状况和预算计划的执行情况,并进行必要的调整。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

目录1.绪论 (1)2.总体设计 (1)2.1.数据流程分析图 (1)2.2.系统总体模块图 (1)2.3.安全性设计 (2)3.数据库设计 (2)3.1.需求分析 (2)3.1.1.任务概述 (2)3.1.2.系统功能需求 (2)3.2.概念结构设计 (2)3.3.逻辑结构设计 (3)3.3.1.建立关系模型 (3)3.3.2.确定函数依赖、属于第几范式 (3)3.4.物理结构设计 (4)3.4.1.表设计 (4)3.4.2.约束设计 (7)3.4.3.触发器设计 (7)3.4.4.视图设计 (7)3.4.5.索引设计 (7)3.4.6.存储过程设计 (7)4.数据库实施、运行 (8)4.1.创建表及约束 (8)4.2.触发器创建 (10)4.3.视图 (11)4.4.索引 (11)4.5.游标和存储过程 (11)4.6.数据录入 (12)5.结论 (13)参考文献: (13)致谢 (14)1.绪论21世纪的今天,已经成为信息化的时代,人们的生活已离不开计算机。

就在计算机业不断蓬勃发展的同时,也把人们的家庭理财上升到了一个全新的概念,随着信息化生活的不断深入,家庭理财系统也随之应运而生,由原来的简单计算变成了一个全新的图形化显示应用系统。

基于时代的发展,我设计了一套家庭理财系统的方案。

该系统以当前家庭理财方式为实例而设计的一种实用型管理系统。

本系统最大的特点是通用性、简单操作性,使固定资产管理系统真正实现多方操作,满足短期内对资产信息的采集,存储,处理,组织,管理和利用的需求,实现信息资源的集中管理和统一调度。

2.总体设计总体设计即对有关系统全局问题的设计,也就是设计系统总的处理方案。

本阶段的设计就是进行家庭理财系统整体系统的概要设计。

针对本系统的总体设计从数据流程图入手,逐步完善系统中各个模块的设计,最终完善安全性设计来达到最终设计合理可行。

2.1.数据流程分析图家庭理财系统顶层的功能:家庭成员通过家庭理财系统完成对现金账户和投资账户的管理,家庭理财系统记录银行理财产品的购入、卖出及现金的收支记录,同时能够进行相关银行信息的查询操作。

如图2-1。

图2-1顶层数据流图2.2.系统总体模块图银行账户 家庭理财系统家庭成员管理账户银行 现金账户理财账户理财产品银 行 信 息 查 询银 行 信 息 修 改银 行 账 户 信 息 查 询 银 行 账 户 信 息 查 询 现 金 账 户 信 息 查 询 现 金 账 户 信 息 查 询 理 财 账 户 信 息 查 询 理 财 账 户 信 息 查 询 理 财 产 品 信 息 查 询 理 财 产 品 信 息 查 询图 2-2 系统总体模块图2.3.安全性设计本系统通过视图的建立隐藏部分银行信息,从而完善安全需求。

同时创建触发器保 证数据库信息的统一性;创建存储过程隐藏部分操作,实现数据库的操作简化。

3. 数据库设计本阶段的设计决定了家庭理财系统数据库设计的可行性,通过需求分析、概念设计、 逻辑结构设计分别做出了数据库的基础性设计。

最后物理结构设计给出了最终的数据库 的设计方案,包括表设计、约束设计等完善了数据库的实施方案。

3.1.需求分析3.1.1. 任务概述利用数据库相关技术,我对家庭理财系统进行了开发。

该系统解决了家庭理财中需 要的部分功能,对于系统管理员来说,管理功能完备,操作方便。

因此本系统的目的是 开发一个比较安全、简便的家庭理财系统。

3.1.2. 系统功能需求家庭理财管理系统通过日常的各项收入及开支进行统计处理,使用户对自己的经济 情况一目了然。

本理财系统集合了权限登录、数据管理、打印等功能模块。

3.2.概念结构设计L密码 用户 1归属1家庭成员 家庭成员编号账户1现金账户编号 变更流水号 现金类型 1成员姓名变更日期管理N现金账户变更类型 备注变更金额拥有理财账户编号理财类型 备注N理财账户11 属于1N 银行账户M账户类型 银行账户编号 M服务1银行编号 银行名称交易金额 交易时间 交易类型 备注交易 理财产品编号理财产品N备注 违约说明银行M经营银行地址 银行简称 经营开始时间 经营结束时间 备注理财产品名称最低购买金额风险概述预期利率 投资周期图 3-2 家庭理财系统 E-R 图概念结构设计包括了实体设计及实体联系的设计,其中实体有 7 个,联系有 2 个。

从登陆用户依附的家庭成员实体开始设计,逐步完善联系产生了后续的 6 个实体,最总 通过多对多联系完善了全部概念结构设计。

3.3.逻辑结构设计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张):理财产品交易表、理财产品经营表。

1.实体表表3-4-1用户表表3-4-2家庭成员表表3-4-3银行账户表表3-4-4银行表表3-4-5理财产品表表3-4-6理财账户表表3-4-7现金账户表2.关系表表3-4-8理财产品交易表表3-4-9理财产品经营表家庭理财系统3.4.2.约束设计使用Check约束,约束理财产品表的投资周期为“日”、“月”或“年”;约束现金表的收支类型为“收入”或“支出”;约束理财产品交易表的交易类型为“买入”或“卖出”。

3.4.3.触发器设计创建级联删除触发器,当银行表中的元组被删除时将触发银行账户表中对应元组的删除,之后会触发删除对应的理财账户、现金账户中对应元组的删除操作。

3.4.4.视图设计创建理财产品基本信息视图,完善安全性,包括理财产品编号、理财产品名称及银行名称组成。

满足最基本的信息需求即可。

3.4.5.索引设计创建理财产品编号的索引及银行简称的索引,方便信息查询、提高相关查询的效率。

3.4.6.存储过程设计创建触发器实现查询特定现金账户在某一年的特定货币类型的收支情况,用以方便查询操作。

4.数据库实施、运行数据库的实施完全按照数据库设计阶段给出的安全需求、性能要求等实施最终的数据库设计过程,包括了数据表及约束的创建,视图、触发器及存储过程的创建,最终录入数据完成数据库的运行。

4.1.创建表及约束1.实体表---家庭成员表create table Family(FNo nchar(10)primary key,FName nchar(10)not null,FStatus nchar(10)not null家庭理财系统---用户表create table Account(UserName nchar(10)primary key,FNo nchar(10)not null,UserPassWord nchar(20)not null,foreign key(FNo)references Family(FNo))---银行表create table Bank(BNo nchar(10)primary key,BName nchar(10)not null,BShort nchar(8)not null,Bplace text not null)---银行账户表create table Bank_Account(BANo nchar(10)primary key,BNo nchar(10)not null,FNo nchar(10)not null,AcType nchar(4)not null,foreign key(FNo)references Family(FNo),foreign key(BNo)references Bank(BNo),CONSTRAINT CK_Bank_Account CHECK(AcType='投资'OR AcType='现金'))---理财产品表create table Finance_Product(FMID nchar(10)primary key,FMNAME nchar(10)not null,FMIntertst nchar(10),FMTime int not null,TimeType nchar(4)not null,FMSMoney money not null,FMRisk text not null,FMDefault text not null,Memos text,CONSTRAINT CK_Finance_Product CHECK(TimeType='天'OR TimeType='月'OR TimeType='年'))---现金账户表create table Case_Account(SeNo nchar(10)primary key,CashNo nchar(10),BANo nchar(10)not null,UserName nchar(10)not null,DType nchar(4)not null,MType nchar(4)not null,MSum money not null,DDate datetime not null,Memos text,foreign key(BANo)references Bank_Account(BANo),foreign key(UserName)references Account(UserName),CONSTRAINT CK_Case_Account CHECK(DType='收入'OR DType='支出') )---理财账户表create table Finance_Account(INo nchar(10)primary key,BANo nchar(10)not null,UserName nchar(10)not null,Itype nchar(4)not null,Memos text,foreign key(BANo)references Bank_Account(BANo),foreign key(UserName)references Account(UserName) )2.关系表---理财产品交易表create table Finance(INo nchar(10),FMID nchar(10),DType nchar(4)not null,MSum money not null,DDate datetime not null,Memos text,primary key(INo,FMID),foreign key(INo)references Finance_Account(INo),foreign key(FMID)references Finance_Product(FMID),CONSTRAINT CK_Finance CHECK(DType='买入'OR DType='卖出') )---理财产品经营表create table Finance_Run(BNo nchar(10),FMID nchar(10),RSDate datetime not null,REDate datetime not null,Memos text,primary key(BNo,FMID),foreign key(BNo)references Bank(BNo),foreign key(FMID)references Finance_Product(FMID),CONSTRAINT CK_Finance_Run CHECK(RSDate<REDate))4.2.触发器创建---银行表级联删除create trigger B_Dlon Bankfor deleteasbegindelete from Bank_Accountwhere BNo in(select BNo from deleted)end---银行账户表级联删除create trigger BA_Dlon Bank_Accountafter deleteasbeginif((select AcType from deleted)='现金')delete from Case_Accountwhere BANoin(select BANo from deleted)elsedelete from Finance_Accountwhere BANoin(select BANo from deleted)end---理财账户表级联删除create trigger FiA_Dlon Finance_Accountfor deleteasbegindelete from Financewhere INo in(select INo from deleted)end4.3.视图---创建理财产品基本信息视图CREATE VIEW Fin_Pro ASSELECT a.FMID as理财产品编号,a.FMNAME理财产品名,c.BName服务提供银行FROM Finance_Product a,Finance_Run b,Bank cWHERE a.FMID=b.FMID AND b.BNo=c.BNo;4.4.索引---创建理财产品索引CREATE INDEX FinPro_index ON Finance_Product(FMID)---创建银行索引CREATE INDEX Bank_INDEX ON Bank(BShort)4.5.游标和存储过程---某现金账户某年特定货币类型的收支情况create procedure Case_Sum(@y datetime,@CashID nchar(10),@CashMType nchar(4))asbegindeclare@CashInSum money,declare@CashOutSum moneyset@CashInSum=0set@CashOutSum=0---游标声明declare S_DType cursorfor select CashNo,DType,MType,MSum,DDate from Case_Account ---打开游标open S_Dtypedeclare@CN nchar(10)declare@DT nchar(4)declare@MT nchar(4)declare@MS moneydeclare@DD datetime---读取游标fetch next from S_DType into@CN,@DT,@MT,@MS,@DD---循环读取while@@fetch_status=0beginif(year(@y)=year(@DD)and@CashID=@CN and@CashMType=@MT) beginif@DT='支出'set@CashOutSum=@CashOutSum+@MSelse set@CashInSum=@CashInSum+@MSendfetch next from S_DType into@CN,@DT,@MT,@MS,@DDend---关闭游标、删除游标close S_DTypedeallocate S_DTypeselect@CashInSum收入,@CashOutSum支出end4.6.数据录入表3-5-6-1家庭成员表表3-5-6-2用户表表3-5-6-3银行表表3-5-6-4银行账户表表3-5-6-5理财账户表表3-5-6-6理财产品表表3-5-6-7现金账户表表3-5-6-8理财产品交易表表3-5-6-9理财产品经营表5.结论此家庭理财系统功能不是很全面,有许多的地方要进行修改,但是基本实现了家庭理财的项目保存、更改、删除、查询的基本功能。

相关文档
最新文档