家庭财务系统数据库设计格式模板
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据库设计报告
题目:家庭财务管理
班级:09信管1班
一、引言
家庭财务管理系统是每一个家庭管理家庭财务收入和支出的不可缺少的一个管理信息系统,它的内容对于家庭的管理者来说是至关重要的,所以家庭财务管理系统应该能够为每一个家庭的管理者提供充足的信息和快捷的查询手段,大大方便了家庭的管理者的合理理财。
二、需求分析
家庭财务管理系统是对家庭成员、往来人员信息的规划,对家庭成员财政实际收入、财政支出这些方面的计划,对于往来人员详细得记录使用资产、资金互补情况。
1.功能分析
1
功能结构图
2. 数据流图
我们采用自顶向下的数据流图设计方法。顶层的数据流程图如图2所示。
图3 第1层的数据流图
三、概念结构设计
概念结构设计阶段的主要任务就是将需求分析阶段得到的用户需求抽象为概念模型,它独立于具体的DBMS,通常用E-R图的形式表示。
绘制E-R图主要在于进行实体与属性的区分及找出实体与实体之间的联系。
实体是一个存在着显著的、易辨认的属性的客观对象。现实世界中一组具有某些共同特性和行为的对象就可以抽象为一个实体。
属性是对象类型的组成成分,组成成分和对象类型之间是“is part of”的关系。属性具有以下两个特点:
1.属性必须是不可分的数据项,不能包含其他属性。
2.属性不能和其他实体具有联系,与其他实体有联系的属性一般应按照实体处理。
实体与实体之间的联系还包括一对一联系(1:1)、一对多(1:n)、多对一联系(n:1)和多对多联系(n:n)
根据家庭财政管理分析,得出家庭成员、收入、支出、收入项目和支出项目5实体,收入项目与收入之间存在属于关系、支出项目与支出之间存在属于关系、家庭成员与支出、收入之间存在管理关系,对应的E-R图如图5所示,
四、逻辑结构设计
逻辑结构设计阶段的任务是将概念结构转化为关系、网状或层次模型,将转化来的关系、网状或层次模型向特定DBMS支持下的数据模型转化,最后对数据模型进行优化。关系模型是当前最流行的数据模型。
E-R图向关系模型的转换的主要规则为:
1.一个实体型转换为一个关系模式
2.一个1:1联系可以转换一个独立的关系模式,也可以与任意一端对应的关系模式合并。
3.一个1:n联系可以转换一个独立的关系模式,也可以与n端对应的关系模式合并。
4.一个m:n联系转换一个关系模式。
根据如前绘制的E-R图及转换规则,得出以下几个关系模式:
1.家庭成员表(编号、姓名、性别、权限)
2.收入表(编号、时间、金额)
3.支出表(编号、时间、金额)
4.收入项目表(编号、名称)
5.支出项目表(编号、名称)
五、数据库表结构及SQL定义语句
在确定系统逻辑结构之后,我们首先要为系统确定一个合适应用的物理环境,根据课程
4.outgo(支出项目)
5.receive(收入项目)
对应与以上表结构,创建表的SQL语句如下:
1.创建family(家庭成员表)
create table family(sno varchar2(10) constraint pk_family primary key, smane varchar2(8) not null, sex varchar2(2) not null, spower varchar2(15) not null); 2.创建income(收入)
create table income(isno varchar2(10) constraint pk_income primary key,time varchar2(20) not null, imony varchar2(9) not null);
3.创建expenses(支出)
create table income(esno varchar2(10) constraint pk_expenses primary key,etime varchar2(20) not null, emony varchar2(9) not null);
4.创建outgo(支出项目)
create table income(osno varchar2(20) not null, oname varchar2(9) not null);
5.创建receive(收入项目)
create table income(rsno varchar2(20) not null, rname varchar2(9) not null);
六、小结
通过本次数据库设计,我了解了怎么样来设计一个数据库,通过本次设计我发现自己在课本上所学的东西并不是全部,在掌握课本知识的同时还要实践不然你还是不懂,这次数据库设计有老师在一般指点我们才能完成,要不然以我们的基础完成它有难度。