DBS数据库课程设计总结.docx

上传人:b****4 文档编号:5461025 上传时间:2023-05-08 格式:DOCX 页数:21 大小:401.05KB
下载 相关 举报
DBS数据库课程设计总结.docx_第1页
第1页 / 共21页
DBS数据库课程设计总结.docx_第2页
第2页 / 共21页
DBS数据库课程设计总结.docx_第3页
第3页 / 共21页
DBS数据库课程设计总结.docx_第4页
第4页 / 共21页
DBS数据库课程设计总结.docx_第5页
第5页 / 共21页
DBS数据库课程设计总结.docx_第6页
第6页 / 共21页
DBS数据库课程设计总结.docx_第7页
第7页 / 共21页
DBS数据库课程设计总结.docx_第8页
第8页 / 共21页
DBS数据库课程设计总结.docx_第9页
第9页 / 共21页
DBS数据库课程设计总结.docx_第10页
第10页 / 共21页
DBS数据库课程设计总结.docx_第11页
第11页 / 共21页
DBS数据库课程设计总结.docx_第12页
第12页 / 共21页
DBS数据库课程设计总结.docx_第13页
第13页 / 共21页
DBS数据库课程设计总结.docx_第14页
第14页 / 共21页
DBS数据库课程设计总结.docx_第15页
第15页 / 共21页
DBS数据库课程设计总结.docx_第16页
第16页 / 共21页
DBS数据库课程设计总结.docx_第17页
第17页 / 共21页
DBS数据库课程设计总结.docx_第18页
第18页 / 共21页
DBS数据库课程设计总结.docx_第19页
第19页 / 共21页
DBS数据库课程设计总结.docx_第20页
第20页 / 共21页
亲,该文档总共21页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

DBS数据库课程设计总结.docx

《DBS数据库课程设计总结.docx》由会员分享,可在线阅读,更多相关《DBS数据库课程设计总结.docx(21页珍藏版)》请在冰点文库上搜索。

DBS数据库课程设计总结.docx

DBS数据库课程设计总结

课程设计报告

 

 

课程设计题目:

个人理财系统

院系:

管理学院

2014年06月24日

 

目录

一、项目概述

1.1设计背景

1.2设计目的

1.3设计内容

二、需求分析

2.1业务流程

2.2功能分析

2.3数据流图

2.4数据字典

三、数据库设计

3.1概念结构设计(E-R图)

3.2逻辑结构

四、数据库建立

4.1表的创建

4.3数据代码

五、基于SQL或PLSQL的数据库重要功能模块实现及调试

 

一、项目概述

1.1设计背景

随着经济的不断发展,大众的经济意识也正在逐步增强,个人理财或者家庭理财越来越受到大众的重视。

并且理财是个人存储财富的一个重要手段,人们通过个人理财不仅仅可以对自己的财产进行合理管理,也可以通过对个人财务的管理增强个人成就感。

随着计算机网络时代的到来,运用计算机软件可以使我们更加方便、快捷地对个人财产进行管理。

而本次个人理财系统的设计就是设计一个系统来模仿我们平时生活中接触到的一个手机理财软件——随手记。

1.2设计目的

本次个人理财系统的设计目的主要是通过计算机对个人财产或者家庭财产进行有效管理。

将分为以下几步来实现设计个人理财系统的目的:

(1)对整个系统进行关系模式分析,根据数据库的相关理论,画出ER图,并进行相关说明。

(2)将ER图转化为关系模式,最终得出物理设计;

(3)根据数据库的物理设计,结合Oracle相关语言支持。

编写数据库各对象的创建及使用代码。

(4)从高级语言开发的角度出发,写出各模块所需的查询、数据操作及事务语句。

(4)从数据库底层开发的角度出发,建立各模块所需的视图、存储过程及触发器。

(5)提交完整的建库代码,并完成本报告。

1.3设计内容

(1).写出个人理财系统的需求分析,要求包括个人理财系统的数据流图、数据字典等。

(2).画出个人理财系统的E-R图。

(3).通过E-R图转化成为关系模型。

(4).建立个人理财系统的数据库。

二、需求分析

2.1业务流程

2.2功能分析

个人理财系统将实现以下三大功能:

(1)用户可以动态添加收入、支出的明细项,比如日常花了多少钱、某天收入多少、支出多少等。

(2)用户可以动态级联删除、修改、查询收入、支出的明细项,比如日常花了多少钱、某天收入多少、支出多少等。

(3)用户可以根据银行卡、投资情况进行添加、删除、修改。

(4)用户可以查看本月的收支明细,并提供汇总等功能。

2.3数据流图

2.3.1用户添加信息

2.3.2用户查询信息

2.3.3用户删除信息

2.3.4用户银行卡管理或者投资管理

 

2.4数据字典

2.4.1账户关系模式

列名

数据类型

宽度

约束

是否为空

说明

*账号

Char

20

主键

NOTNULL

姓名

Char

8

NOTNULL

出生日期

Date

NOTNULL

性别

Char

2

NOTNULL

身份证号

Char

20

NOTNULL

密码

Char

20

NOTNULL

 

2.4.2支出单关系模式

列名

数据类型

宽度

约束

是否为空

说明

*支出单号

Char

20

主键

NOTNULL

支出日期

Datetime

NOTNULL

支出用途

Char

150

支出金额

Int

20

NOTNULL

账号

Char

20

外键

NOTNULL

密码

Char

20

外键

NOTNULL

 

2.4.3收入单关系模式

列名

数据类型

宽度

约束

是否为空

说明

*收入单号

Char

20

主键

NOTNULL

收入日期

Datatime

NOTNULL

收入用途

Char

150

收入金额

Int

20

NOTNULL

账号

Char

20

外键

NOTNULL

密码

Char

20

外键

NOTNULL

 

2.4.4投资单关系模式

列名

数据类型

宽度

约束

是否为空

说明

*投资编号

Char

20

主键

NOTNULL

投资项目

Char

20

投资金额

Int

NOTNULL

账号

Char

20

外键

NOTNULL

密码

Char

20

外键

NOTNULL

 

2.4.5银行卡存款关系模式

列名

数据类型

宽度

约束

是否为空

说明

*银行卡号

Char

20

主键

NOTNULL

取款金额

Int

NOTNULL

账号

Char

20

外键

NOTNULL

密码

Char

20

外键

NOTNULL

 

2.4.5银行卡取款关系模式

列名

数据类型

宽度

约束

是否为空

说明

*银行卡号

Char

20

主键

NOTNULL

存款金额

Int

NOTNULL

账号

Char

20

外键

NOTNULL

密码

Char

20

外键

NOTNULL

 

三、数据库设计

3.1概念结构设计(E-R图)

3.2逻辑结构

用户(账号,姓名,出生日期,性别)

收入(收入单号,收入日期,收入金额,收入用途)

支出(支出单号,支出日期,支出金额,支出用途)

汇总(日期,总收入,总支出,当前金额)

投资表(投资编号,投资项目,投资金额,账号,密码)

银行卡取款表(银行卡号,取款金额,账号,密码)

银行卡存款表(银行卡号,存款金额,账号,密码)

四、数据库建立

(1).创建数据库“pfm.mdf”

CREATEDATABASEpfm

ON

(NAME=pfm_dat,

FILENAME='D:

\pfm.mdf')

(2).创建账户数据表“account”

usepfm

go

createtableaccount

账号Char(20)notnullprimarykey,

密码Char(20)notnull,

姓名Char(8)notnull,

出生日期datetimenotnull,

性别Char

(2)notnull,

身份证号Char(20)notnull,

(3)插入数据:

insertaccount

values('00001','王若楠',’941201’,'1994-12-1','女','13012819941201021')

(4).创建支出单数据表“payoutlist”

createtablepayoutlist

支出单号Char(20)notnullprimarykey,

支出日期Datetimenotnull,

支出金额intnotnull,

支出用途Char(20)notnull,

账号Char(20)notnull,

密码Char(20)notnull,

Foreignkey(账号)referencesaccount(账号)

Foreignkey(密码)referencesaccount(密码)

Ondeletecascade

/*用于当某个账户被删除时,所有与其相关的收入、支出也同时会被级联删除*/

Onupdatecascade

/*用于当某个账户被修改时,所有与其相关的收入、支出也同时会被级联修改*/

(5).创建收入单数据表“incomelist”

usepfm

go

createtableincomelist

收入单号Char(20)notnullprimarykey,

收入日期Datetimenotnull,

收入金额intnotnull,

收入用途Char(20)notnull,

账号Char(20)notnull,

密码Char(20)notnull,

Foreignkey(账号)referencesaccount(账号)

Foreignkey(密码)referencesaccount(密码)

Ondeletecascade

/*用于当某个账户被删除时,所有与其相关的收入、支出也同时会被级联删除*/

Onupdatecascade

/*用于当某个账户被修改时,所有与其相关的收入、支出也同时会被级联修改*/

 

(6).创建数据表“summarize”

usepfm

go

createtablesummarize

/*建立的汇总表包含总支出、总收入以及当前金额的信息*/

账号Char(20)notnullprimarykey,

密码Char(20)notnull,

总收入金额intnotnull,

总支出金额intnotnull,

当前金额intnotnull

Foreignkey(账号)referencesaccount(账号)

Foreignkey(密码)referencesaccount(密码)

Ondeletecascade

/*用于当某个账户被删除时,所有与其相关的收入、支出也同时会被级联删除*/

Onupdatecascade

/*用于当某个账户被修改时,所有与其相关的收入、支出也同时会被级联修改*/

 

(7)创建投资表“investlist”

createtableinvestlist

投资编号Char(20)notnullprimarykey,

投资项目Char(20)notnull,

投资金额intnotnull,

账号Char(20)notnull,

密码Char(20)notnull,

Foreignkey(账号)referencesaccount(账号)

Foreignkey(密码)referencesaccount(密码)

(8)创建银行卡存款表“deposit”

createtabledeposit

银行卡号Char(20)notnullprimarykey,

存款金额intnotnull,

账号Char(20)notnull,

密码Char(20)notnull,

Foreignkey(账号)referencesaccount(账号)

Foreignkey(密码)referencesaccount(密码)

(9)创建银行卡取款表“withdraw”

createtablewithdraw

银行卡号Char(20)notnullprimarykey,

取款金额intnotnull,

账号Char(20)notnull,

密码Char(20)notnull,

Foreignkey(账号)referencesaccount(账号)

Foreignkey(密码)referencesaccount(密码)

(10)插入收入数据

插入收入数据1

insertincomelist

values('00001','2014-6-25',3500,'工资所得','00001',’941201’)

插入收入数据2

insertincomelist

values('00002','2014-6-26',300,'收回欠款','00001',’941201’)

(11)插入支出数据

插入支出数据1

insertpayoutlist

values('00003','2014-6-27',100,'日常支出','00001',’941201’)

插入支出数据2

insertpayoutlist

values('00004','2014-6-29',500,'借给他人','00001',’941201’)

(12)插入投资数据

insertinvestlist

values('10000','股票投资',10000,'00001',’941201’)

(13)插入银行卡存款数据

insertdeposit

values('499444441523',10000,'00001',’941201’)

(14)插入银行卡取款数据

insertdeposit

values('499444441523',2000,'00001',’941201’)

(15)建立触发器

建立触发器目的是为了,当用户的收入、支出发生变化是,触发器可以使对应汇总的部分可以相应发生变化。

Createtriggertri_summarize

onincomelist

afterinsert

Asbegin

Insertsummeriaze

Selectincomelist.账号,sum(收入金额),sum(支出金额),sum(收入金额)-sum(支出金额)

Frompayoutlist,incomelist

Groupbyincomelist.账号;

End;

Createtriggertri_summarize1

onpayoutlist

afterinsert

Asbegin

Insertsummeriaze

Selectpayoutlist.账号,sum(收入金额),sum(支出金额),sum(收入金额)-sum(支出金额)

Frompayoutlist,incomelist

Groupbypayoutlist.账号;

End;

(16)查询

Select*

Fromaccount;

Select*

Frompayoutlist;

Select*

Fromincomelist;

Select*

Fromsummarize;

/*用于查询账户表、支出表、收入表、汇总表的信息*/

(17)删除账户

由于之前建立了级联删除的功能,所以在删除账户时,对应的收入、支出也会被删除

Delete

Fromaccount

Where账号=‘001’;

 

(18)删除收入/支出

删除收入

Delete

Fromincomelist

Where收入单号=‘001’;

删除支出

Delete

Frompayoutlist

Where支出单号=‘007’;

五、基于SQL或PLSQL的数据库重要功能模块实现及调试

(1).创建数据库“pfm.mdf”

(2).创建账户数据表“account”

插入数据:

(3).创建支出单数据表“payoutlist”

(4).创建收入单数据表“incomelist”

(6)插入收入数据

(7)插入支出数据

(8)查询

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

当前位置:首页 > 工程科技 > 冶金矿山地质

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

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