家庭理财系统数据库课程设计报告.docx

上传人:b****5 文档编号:6783233 上传时间:2023-01-10 格式:DOCX 页数:18 大小:795.60KB
下载 相关 举报
家庭理财系统数据库课程设计报告.docx_第1页
第1页 / 共18页
家庭理财系统数据库课程设计报告.docx_第2页
第2页 / 共18页
家庭理财系统数据库课程设计报告.docx_第3页
第3页 / 共18页
家庭理财系统数据库课程设计报告.docx_第4页
第4页 / 共18页
家庭理财系统数据库课程设计报告.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

家庭理财系统数据库课程设计报告.docx

《家庭理财系统数据库课程设计报告.docx》由会员分享,可在线阅读,更多相关《家庭理财系统数据库课程设计报告.docx(18页珍藏版)》请在冰豆网上搜索。

家庭理财系统数据库课程设计报告.docx

家庭理财系统数据库课程设计报告

数据库原理及应用

课程设计报告

题目:

家庭理财专家

班级:

1020562

学号:

20

姓名:

武普泉

指导老师:

刘宇君

提交时间:

2012-12—30

一、需求分析

1.系统需求与功能分析

a).课题背景:

近几年来,随着我国城乡居民收入的增加和生活水平的提高,家庭理财已成为人们居家过日子的重要内容.社会学家细心的观察到,时下家庭的财务管理比之计划经济年代,开始发生微妙的变化。

现在的城乡家庭生活发生了明显的变化,人们的收入逐渐拉开档次,消费水平也高了。

大多数家庭关注的是提高生活质量,一方面精打细算,量入为出,把钱用在刀刃上;另一方面保证适当的娱乐活动、社会交际、智力开发等方面的开支。

为此,不少家庭就有中长期财务预算,有基本建设规划.总的来说,家庭收入必须以量入为出为原则,以财产保值增值为目标,处理好积累与消费的关系.因此,开发一个家庭财务管理系统具有很强的实用性,能够达到对家庭财务合理有效的管理。

b).用户功能:

●用户登录,进入本系统,弹出密码对话框,提示用户输入密码,登录本系统。

●类别维护,用户可以增加日常收入、日常支出的类别,并且可以删除相应的类别。

●日常收入,用户可以按照日常收入日期、金额、类别、备注进行数据的增加。

●日常支出,用户可以按照日常支出日期、金额、类别、备注进行数据的增加。

●收入支出统计,按照一定的数据查询条件,用户可以对数据进行统计.

●计算器,可以对活期存款、定期存款进行相应的计算,求其增长值。

●收入查询,用户可以输入相应的查询条件进行数据查询,并且可以删除相应的数据。

●支出查询,支出查询类似于收入查询,同样可以进行查询、删除操作。

●个人信息,用户可以增加自己的个人信息,同时可以修改登录密码.

2.数据库需求和分析

a).数据结构(数据库中表的设计)

收入类别信息(收入类别,收入类别说明)

收入信息(收入编号,收入类别,日期,金额,备注)

支出类别信息(支出类别,支出类别信息)

支出信息(支出编号,支出类别,日期,金额,备注)

家庭成员信息(称呼,姓名,密码,用户名,生日)

b).数据项具体设置(建议放到数据库实施中)

编号

标识符

类型

长度

所属表名

1

用户名

vchar

15

家庭成员

2

密码

vchar

20

家庭成员

3

称呼

vchar

10

家庭成员

4

姓名

vchar

10

家庭成员

5

生日

char

10

家庭成员

6

收入类别

vchar

10

收入类别信息,收入信息

7

收入类别说明

vchar

50

收入类别信息

8

收入编号

int

收入信息

9

收入日期

char

10

收入信息

10

收入金额

int

收入信息

11

收入说明

vchar

50

收入信息

12

支出类别

vchar

10

支出类别信息,支出类别

13

支出类别说明

vchar

50

支出类别信息

14

支出编号

int

支出信息

15

支出日期

char

10

支出信息

16

支出金额

int

*

支出信息

17

支出说明

vchar

50

支出信息

二、概念结构设计

1.流程图(系统功能模块图)

2.数据库概念结构设计(E—R模型:

注意标出是哪种联系)

a)。

收入类别信息:

b)。

收入信息:

c)。

支出类别信息:

d)。

支出信息:

e).家庭成员信息:

f).综合以上E-R图模型,得出整个系统的E-R关系图:

 

三、逻辑结构设计

1。

由E—R图转化的关系模式为:

收入类别信息(收入类别,收入类别说明)

收入信息(收入编号,收入类别,日期,金额,备注)

支出类别信息(支出类别,支出类别信息)

支出信息(支出编号,支出类别,日期,金额,备注)

家庭成员信息(称呼,姓名,密码,用户名,生日)

2。

对关系模式进行规范化

在收入类别信息表中,收入类别为码,收入类别说明完全依赖于码,不存在部分依赖和传递依赖,达到第三范式;

收入信息表中,收入编号为码,其他信息完全依赖于码,不存在部分依赖和传递依赖,达到第三范式;

在支出类别信息表中,支出类别为码,支出类别说明完全依赖于码,不存在部分依赖和传递依赖,达到第三范式;

支出信息表中,支出编号为码,其他信息完全依赖于码,不存在部分依赖和传递依赖,达到第三范式;

家庭成员信息表中,用户名为码,其他信息完全依赖于码,不存在部分依赖和传递依赖,达到第三范式;

3。

数据库的完整性和安全性作何考虑?

安全性:

有两种角色:

老妈和普通家庭成员。

其中,老妈可以查看和修改任何表,拥有所有权限;普通家庭成员可以修改自己的信息,其他表只有查询功能。

完整性:

按照表间的关系做了完整性约束、触发器和存储过程。

四、物理结构设计

1。

数据库设计:

首先需要对整个系统的数据库进行设计,本系统总共包括5张表,分别为收入类别信息表、支出类别信息表、收入信息表、支出信息表以及家庭成员信息表。

a).收入类别信息表:

用于记录日常收入类别的相关信息,主要字段有日常收入类别名称、日常收入类别的说明信息,具体设计如图:

b)。

收入信息表:

用于记录日常收入数据的相关信息,主要字段有:

日常收入日期、金额、类别、备注,具体设计如图:

c).支出类别信息表:

用于记录日常支出类别的相关信息,主要字段有:

日常支出类别名称、日常支出类别的说明信息,具体设计如图:

d)。

支出信息表:

用于记录日常支出数据的相关信息,主要字段有:

日常支出日期、金额、类别、备注,具体设计如图:

e).家庭成员信息表:

用于记录用户个人信息数据的相关信息,主要字段有:

用户名、称呼、姓名、密码、生日,具体设计如图:

五、数据实施和维护

1.数据库的代码

——建表

—-收入类别信息表

createtableIncomeCate

(Icategoryvarchar(10)primarykey,

sayvarchar(50)

——收入信息表

createtableIncome

(idintprimarykey,

idatechar(10),

icategoryvarchar(10),

imoneyint,

isayvarchar(50),

foreignkey(icategory)referencesIncomeCate(Icategory)

-—增删改查

deletefromIncomewhereisaylike'大一下学期%'

insertintoIncomevalues(6,'2011—05-17',’补助’,2400,'大一下学期助学金')

updateIncomesetimoney=1200whereimoney=2400

select*fromExpenseorderbyimoneydesc

—-视图

—-为收入类别中的补助类建立视图

createviewBuZhu_Income

as

selecticategory,imoney,idate,isay

fromIncome

whereicategory='补助'

select*fromBuZhu_Income

——视图

-—为收入类别中的补助类建立视图

createviewBuZhu_Income

as

selecticategory,imoney,idate,isay

fromIncome

whereicategory=’补助’

select*fromBuZhu_Income

——为支出类别中的学习类建立视图(在左侧视图文件夹下完成)

select*fromStudy_Expense

—-约束

useLiCai

createtablePersonalInfo

(Idint,

Isexchar

(2)

constraintC1check(Isexin(’男',’女')),

Ibirthdayvarchar(10)

constraintC2check(Ibirthdaylike’%-%—%’),

Iageint

constraintC3check(Iage〉0andIage<100),

Ibloodvarchar(5)

constraintC4check(Ibloodin('A型',’B型’,’O型’,'AB型')),

Iprovincevarchar(20),

Icityvarchar(20),

Iemailvarchar(30)

constraintC5check(Iemaillike’%@%'),

Ioldpwdvarchar(10)

constraintC6notnull,

constraintPInfoKeyprimarykey(Id)

altertablePersonalInfo

dropconstraintC3

altertablePersonalInfo

addconstraintC3check(Iage>0)

altertablePersonalInfo

addconstraintsex_defaultdefault'男'forIsex

--触发器

createtriggercate_deleteonIncomeCate

fordeleteas

declare@BIcategoryvarchar(10)

print'使用delete触发器级联删除Income表中相关的行’

select@BIcategory=Icategoryfromdeleted

print’删除的类别:

’+@BIcategory

deleteIncomewhereIncome。

icategory=@BIcategory

go

-—测试

deletefromIncomeCatewhereIcategory=’小费’

createtriggerex_cate_deleteonExpenseCate

fordeleteas

declare@BIcategoryvarchar(10)

select@BIcategory=Icategoryfromdeleted

print'删除的类别:

’+@BIcategory

deleteExpensewhereExpense.icategory=@BIcategory

--存储过程

createprocedureP_BuZhuas

selecticategory,imoney,idate,isay

fromIncomewhereicategory=’补助’

execP_BuZhu

—-在Expense数据库中,建立一个存储过程,统计消费大于等于的记录个数

createprocedureP_Expense@n

intoutput

as

select@n=COUNT(*)fromExpense

whereimoney〉=100

declare@nint

execP_Expense@noutput

printconvert(varchar(5),@n)

2.系统模块

a).收入和支出类别维护:

b).添加收入和支出信息:

c).定期和活期存款计算:

d).收入记录查询:

e)。

支出记录查询:

六、总结和建议

本课程设计是利用Android开发的,系统功能已经基本实现。

但同时也存在很多不足的地方,比如整个系统还可以添加更多功能,外观上可以做进一步调整和修饰,以及用户资料的保密性和安全性还没有考虑周全.这次课程设计,由于自己在知识、经验方面都存在着很多不足;另外,在整个过程中忙于复习,没有充足的时间来跟老师和同学沟通。

因此,系统必然会存在一些缺陷和不足。

因为对家庭财务管理的整个流程不太熟悉,在需求分析时未能做到完全满足用户的需求,以致缺少了一些必要功能.

经过这次课程设计,我深刻体会到要做好一件完整的事情,需要有系统的思维方式和方法,对待一个新的问题,要有耐心,善于运用已有的资源来充实自己。

同时我也深刻地认识到,对待一个新事物时,一定要从整体考虑,完成一部之后再做下一步,这样对于系统而言才更加有效。

通过这次设计,我不仅对Android和SQLServer2008有了深刻的认识,积累了使用软件工程的思想来开发软件的经验,最重要的是摸索出了一套考虑问题和解决问题的方法,这对于我将来走上工作岗位受益匪浅。

实践出真知,这次课程设计使我得以将数据库、软件工程课程中所学的理论知识得以充分运用。

理论和实践相结合,动手能力得以很大的提高.开发一个良好的系统需要丰富的知识,由于水平有限,系统不够完善,期待进一步改进.

七、参考文献

1.数据库系统概论

2.Android应用案例开发大全

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

当前位置:首页 > 法律文书 > 调解书

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1