1、家庭理财系统 课 程 设 计 报 告课程设计名称: 数据库系统概论 系 部: 学生姓名: 班 级: 学 号: 成 绩: 指导教师: 陈 林 开课时间: 2011-2012 学年 2 学期目录一. 设计题目: 1二. 实验目的 1三. 实验要求 1四. 实验内容 11. 需求分析 12. 概念结构设计 43. 逻辑结构设计 64. 物理结构设计 85. 数据库的实施与维护 9五. 心得体会 13六. 参考文献 13一. 设计题目: 家庭理财系统 二. 实验目的数据库系统概论课程设计对于巩固数据库知识,加强学生的实际动手能力和提高学生综合素质十分必要。本课程设计实验主要围绕两方面内容:数据库设计和
2、基本数据库编程实践。通过本实验,使学生了解数据库系统的理论,掌握数据库的设计方法及数据库的运用和基本开发技术。 1. 掌握数据库设计的基本方法,熟悉数据库设计的步骤; 2. 通过设计数据库系统应用课题,进一步熟悉数据库管理系统的操作技术,提高动手能力,提高分析问题和解决问题的能力;3. 学习基本数据库编程方法。三. 实验要求 掌握数据库的设计的每个步骤,以及提交各步骤所需图表和文档。通过使用MS SQL SERVER2005,建立所设计的数据库,并在此基础上实现数据库查询、连接等基本操作操作。四. 实验内容1. 需求分析 需求分析的任务是通过详细调查现实世界要处理的对象,充分了解原系统工作情况
3、,明确用户的各种需求,然后在此基础上确定新的系统功能,新系统必须考虑以后要扩充和改变的要求来设计数据库。a.对于家庭管理系统而言,整个系统就是一个管理“家庭财务”从用户的需求描述可知,用户是数据的起点。另外,财务总监需要录入用户信息,管理信息,则用户管理和输出信息是数据流;同样,用户查询和反馈结果也是数据流,因此得到第一层数据流图,如图1-1所示.。 b根据第一层数据数据流图细化财务管理,用户要对家庭成员的信息进行输入,同时要录入理财信息,管理信息和用户 “合法性检查”和“反馈结果”,这四个加工代替第一层中的家庭财务,并且增加数据流对应的数据存储,即是“用户管理”、“用户查询”、“存入”和“累
4、计”,得到第二层数据流图,如图1-2所示。 C数据字典(一) 数据项1) 数据项名:身份编号;数据类型: char;数据长度:102) 数据项名:收入编号;数据类型: char;数据长度:103) 数据项名:支出编号;数据类型: char;数据长度:104) 数据项名:收入名称;数据类型:varchar;数据长度:505) 数据项名:收入时间;数据类型:datetime6) 数据项名:支出名称;数据类型:varchar;数据长度:507) 数据项名:支出时间;数据类型:datetime8) 数据项名:收入金额;数据类型:int9) 数据项名:支出金额;数据类型:int10) 数据项名:剩余金额
5、;数据类型:int; 与其它数据项的关系: 剩余金额= 收入金额-支出金额11) 数据项名:姓名;数据类型:char;数据长度:1012) 数据项名:管理密码;数据类型:varchar;数据长度:5013) 数据项名:备注; 数据类型:varchar;数据长度:5014) 数据项名:收入次数; 数据类型:int15) 数据项名:支出次数;数据类型:int(二)数据结构1) 数据结构名:家庭成员; 组成:身份编号+管理密码+成员姓名+剩余金额+备注2) 数据结构名:收入来源; 组成:收入编号+身份编号+收入时间+收入金额+收入名称3) 数据结构名:支出来源; 组成:支出编号+身份编号+支出时间+
6、支出金额+支出名称(三)数据流1) 数据流名:录入; 数据流来源:用户; 数据流去向:最近收入和最近支出2) 数据流名:查询; 数据流来源:用户; 数据流去向:总收入和总支出3) 数据流名:反馈; 数据流来源:总收入和总支出; 数据流去向:用户4) 数据流名:存入; 数据流来源:原来余额和最近收入; 数据流去向:总收入5) 数据流名:管理; 数据流来源:用户; 数据流去向:总收入和总支出和总余额6) 数据流名:累计; 数据流来源:原来余额和最近余额; 数据流去向:总余额2. 概念结构设计 概念结构特点:a.真实反映客观世界b.易于理解c.易于更改d.易于转换 概念结构步骤:a.局部设计b.总体
7、设计注:生成E-R图时,注意属性冲突、命名冲突和结构冲突 数据库概念结构设计就是在数据项和数据结构的前提下,设计出用户需求的实体,以及它们之间的关系,为后面的逻辑结构的设计打下基础。 概念模型最常用的就是E-R图(实体-联系)的描述法。 实体与属性如图1-3所示。实体及其联系如图1-4所示。E-R图主要有三个要素:1)实体:实体是矩形框表示,是客观存在并且可以相互区别的事物。 2)属性:属性是椭圆表示,是实体拥有的某种特性。 3)联系:联系是菱形表示,是实体与实体之间发生的动作,从属或者其他依赖关系, 。 3. 逻辑结构设计 逻辑结构设计的任务就是把概念设计阶段设计好的E-R图转换为与选用DB
8、MS产品所支持的数据模型想符合的逻辑结构。步骤如下:a.将概念结构转换为一般的关系、网状、层次模型 b.对数据模型进行优化 c.建立必要的视图 将E-R图转换成关系模型:家庭成员(身份编号,管理密码,姓名,剩余金额,备注)如表1-1所示。收入来源(收入编号,收入名称,收入时间,收入金额)如表1-2所示。支出用途(支出编号,支出名称,支出时间,支出金额)如表1-3所示。支出 (支出次数,支出编号,身份编号)注:此表为了将实体支出用途与家庭成员联系起来,支出属性包括支出用途主码属性、家庭成员的主码属性和本来属性。 如表1-4所示收入 (收入次数,收入编号,身份编号)注:此表为了将实体收入来源与家庭
9、成员联系起来,收入属性包括收入来源主码属性、家庭成员的主码属性和本来属性。如表1-5所示逻辑表格如下: 表 1-1家庭成员字段名字段说明数据类型字段长度主码FamilyID身份编号Char10是FamilyName姓名Char10否FamilyCode管理密码Varchar50否FamilyBZ备注Varchar50否FamilySYJE剩余金额Int否表 1-2收入来源字段名字段说明数据类型字段长度主码SRID收入编号Char10是SRTime收入时间Datetime否SRname收入名称Varchar50否SRJE收入金额Int否表 1-3支出用途字段名字段说明数据类型字段长度主码ZCID
10、支出编号Char10是ZCTime支出时间Datetime否ZCname支出名称Varchar50否ZCJE支出金额Int否表1-4支出字段名字段说明数据类型字段长度主码ZCID支出编号Char10是ZCCS支出次数Int否FamilyID身份编号Char10是表1-5收入字段名字段说明数据类型字段长度主码SRID收入编号Char10是SRCS收入次数Int否FamilyID身份编号Char10是4. 物理结构设计物理结构的的设计就是数据库在物理设备上的存储结构与存取方法,它依赖于数据库的管理系统。主要步骤:a.确定存取方法和存储结构。 b.对物理结构进行评价,重点是时间和空间效率。1)建立索
11、引a.由于需要对时间进行查询,需要对收入时间和支出时间建立索引b.由于对余额进行求最大与最小,需要对余额建立索引c.由于收入编号,支出编号,身份编号经常作为连接条件,需要对收入编号,支出编号,身份编号建立索引2) 经过分析:家庭成员关系模式属于第三范式,支出用途关系模式属于第三范式收入来源关系模式属于第三范式,收入和支出关系模式属于第二范式 3)确定数据的存放位置为了提高计算机系统性能,应该根据应用情况将数据的易变部分与稳定部分、经常存取部分和存取频率较低部分分开存放。5. 数据库的实施与维护 功能调用如图1-5所示。 数据库实施阶段就是完成数据库的物理设计之后,设计人员就要用RDBMS提供的
12、数据定义语言和其他实用程序将数据逻辑设计和物理设计结果严格描述出来,成为DBMS可以接受的源代码,在经过调试产生目标模式。主要任务:首先创建数据库和家庭信息表,收入人员表,支出人员表,然后用户通过设置权限对其修改,进行添加,删除,插入等。1) 创建数据库,命名为CWGLcreate database CWGL 2) 在数据库中创建家庭信息表,收入人员表,支出人员表 如: create table family ( familyID char(10)primary key,FamilyName char(10),FamilyCode varchar(50),FamilyBZ varchar(50
13、),FamilySYJE int)3)为家庭信息表,收入人员表,支出人员表(包括插入、删除、修改和查询)创建存储过程并且调用 如:use CWGL gocreate procedure p1(familyID char(10),FamilyName char(10),FamilyCode varchar(50), FamilyBZ varchar(50),FamilySYJE int)asinsertinto familyvalues(familyID,FamilyName,FamilyCode,FamilyBZFamilySYJE)exec p1 002,songze,123,vxcv,20
14、4) 建用户,依次将家庭成员设置为用户如:a通过调用存储过程创建DBMS系统用户财务总监并设置密码exec sp-addlogin CWZJ,12345b通过调用存储过程将财务总监设置为数据库管理系统的用户 exec sp-grantdbaccess CWZJ5)运用grant语句给用户设置权限如:grant all privilegesOn familyTo CWZJ;6)建立索引如:use CWGLcreate index familyIDYEon family(familyID,familyYE)7)建立视图 如 Creat eview tongji (familyID,SRtime,ZCtime,SRJE,ZCJE,YE) as select SR.familyID,SRtime,ZCtime
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1