DBS数据库课程设计总结.doc_第1页
DBS数据库课程设计总结.doc_第2页
DBS数据库课程设计总结.doc_第3页
DBS数据库课程设计总结.doc_第4页
DBS数据库课程设计总结.doc_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

课程设计报告课程设计题目:个人理财系统 院 系:管理学院 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或PL SQL的数据库重要功能模块实现及调试一、项目概述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账户关系模式列名数据类型宽度约束是否为空说明*账号Char20主键NOT NULL姓名Char8NOT NULL出生日期DateNOT NULL性别Char2NOT NULL身份证号Char20NOT NULL密码Char20NOT NULL2.4.2 支出单关系模式列名数据类型宽度约束是否为空说明*支出单号Char20主键NOT NULL支出日期DatetimeNOT NULL支出用途Char150支出金额Int20NOT NULL账号Char20外键NOT NULL密码Char20外键NOT NULL2.4.3 收入单关系模式列名数据类型宽度约束是否为空说明*收入单号Char20主键NOT NULL收入日期DatatimeNOT NULL收入用途Char150收入金额Int20NOT NULL账号Char20外键NOT NULL密码Char20外键NOT NULL2.4.4 投资单关系模式列名数据类型宽度约束是否为空说明*投资编号Char20主键NOT NULL投资项目Char20投资金额IntNOT NULL账号Char20外键NOT NULL密码Char20外键NOT NULL2.4.5银行卡存款关系模式列名数据类型宽度约束是否为空说明*银行卡号Char20主键NOT NULL取款金额IntNOT NULL账号Char20外键NOT NULL密码Char20外键NOT NULL2.4.5银行卡取款关系模式列名数据类型宽度约束是否为空说明*银行卡号Char20主键NOT NULL存款金额IntNOT NULL账号Char20外键NOT NULL密码Char20外键NOT NULL三、 数据库设计3.1概念结构设计(E-R图)密码添加用户姓名账号身份证号收入添加支出计算查询汇总总收入总支出日期性别出生日期当前金额收入单号收入日期收入金额支出单号支出日期支出金额支出用途收入用途11NNNM密码密码添加投资MN1银行卡MN3.2逻辑结构用户(账号,姓名,出生日期,性别)收入(收入单号,收入日期,收入金额,收入用途)支出(支出单号,支出日期,支出金额,支出用途)汇总(日期,总收入,总支出,当前金额)投资表(投资编号,投资项目,投资金额,账号,密码)银行卡取款表(银行卡号,取款金额,账号,密码)银行卡存款表(银行卡号,存款金额,账号,密码)四、 数据库建立(1).创建数据库“pfm.mdf”CREATE DATABASE pfmON(NAME=pfm_dat,FILENAME=D: pfm.mdf)(2).创建账户数据表“account”use pfmgocreate table account( 账号Char(20) not null primary key,密码 Char(20) not null, 姓名Char(8) not null, 出生日期 datetime not null, 性别Char(2) not null, 身份证号 Char(20) not null,)(3)插入数据:insert accountvalues(00001,王若楠,941201,1994-12-1,女,13012819941201021)(4).创建支出单数据表“payoutlist”create table payoutlist( 支出单号 Char(20) not null primary key, 支出日期 Datetime not null, 支出金额 int not null, 支出用途 Char(20) not null, 账号 Char(20) not null,密码 Char(20) not null,Foreign key(账号) references account(账号)Foreign key(密码) references account(密码)On delete cascade/*用于当某个账户被删除时,所有与其相关的收入、支出也同时会被级联删除*/On update cascade/*用于当某个账户被修改时,所有与其相关的收入、支出也同时会被级联修改*/)(5).创建收入单数据表“incomelist”use pfmgocreate table incomelist( 收入单号 Char(20) not null primary key, 收入日期 Datetime not null, 收入金额 int not null, 收入用途 Char(20) not null, 账号 Char(20) not null, 密码 Char(20) not null,Foreign key(账号) references account(账号)Foreign key(密码) references account(密码)On delete cascade/*用于当某个账户被删除时,所有与其相关的收入、支出也同时会被级联删除*/On update cascade/*用于当某个账户被修改时,所有与其相关的收入、支出也同时会被级联修改*/)(6).创建数据表“summarize”use pfmgocreate table summarize/*建立的汇总表包含总支出、总收入以及当前金额的信息*/(账号 Char(20) not null primary key, 密码 Char(20) not null,总收入金额 int not null,总支出金额 int not null,当前金额 int not nullForeign key(账号) references account(账号)Foreign key(密码) references account(密码)On delete cascade/*用于当某个账户被删除时,所有与其相关的收入、支出也同时会被级联删除*/On update cascade/*用于当某个账户被修改时,所有与其相关的收入、支出也同时会被级联修改*/)(7)创建投资表“investlist”create table investlist(投资编号 Char(20) not null primary key,投资项目 Char(20) not null,投资金额 int not null,账号Char(20) not null,密码 Char(20) not null,Foreign key(账号) references account(账号)Foreign key(密码) references account(密码)(8)创建银行卡存款表“deposit”create table deposit(银行卡号 Char(20) not null primary key,存款金额 int not null,账号Char(20) not null,密码 Char(20) not null,Foreign key(账号) references account(账号)Foreign key(密码) references account(密码)(9)创建银行卡取款表“withdraw”create table withdraw(银行卡号 Char(20) not null primary key,取款金额 int not null,账号Char(20) not null,密码 Char(20) not null,Foreign key(账号) references account(账号)Foreign key(密码) references account(密码)(10)插入收入数据插入收入数据1insert incomelistvalues(00001,2014-6-25 , 3500, 工资所得,00001,941201)插入收入数据2insert incomelistvalues(00002,2014-6-26 , 300,收回欠款,00001,941201)(11)插入支出数据插入支出数据1insert payoutlistvalues(00003,2014-6-27 , 100,日常支出, 00001,941201)插入支出数据2insert payoutlistvalues(00004,2014-6-29 , 500,借给他人 , 00001,941201)(12)插入投资数据insert investlistvalues(10000,股票投资, 10000, 00001,941201)(13)插入银行卡存款数据insert depositvalues(499444441523, 10000, 00001,941201)(14)插入银行卡取款数据insert depositvalues(499444441523, 2000, 00001,941201)(15)建立触发器建立触发器目的是为了,当用户的收入、支出发生变化是,触发器可以使对应汇总的部分可以相应发生变化。Create trigger tri_summarizeon incomelistafter insert As beginInsert summeriazeSelect incomelist.账号,sum(收入金额),sum(支出金额),sum(收入金额)-sum(支出金额)From payoutlist,incomelistGroup by incomelist.账号;End;Create trigger tri_summarize1on payoutlistafter insert As beginInsert summeriazeSelect payoutlist.账号,sum(收入金额),sum(支出金额),sum(收入金额)-sum(支出金额)From payoutlist,incomelistGroup by payoutlist.账号;End;(16)查询Select *From account;Select *From payoutlist;Select *From incomelist;Select *From summarize; /*用于查询账户表、支出表、收入表、汇总表的信息*/(17)删除账户由于之前建立了级联删除的功能,所

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论