数据库原理课程设计报告--基于SQLServer设计与应用.doc_第1页
数据库原理课程设计报告--基于SQLServer设计与应用.doc_第2页
数据库原理课程设计报告--基于SQLServer设计与应用.doc_第3页
数据库原理课程设计报告--基于SQLServer设计与应用.doc_第4页
数据库原理课程设计报告--基于SQLServer设计与应用.doc_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

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

文档简介

数据库原理及应用课程设计报告 基于SQL Server 2012设计与应用姓 名: 班 级: 学 号: 指导老师: 数据库原理课程设计报告目录第1章 需求分析21.1开发背景和意义21.2系统需求概况21.2.1实现功能31.2.2划分功能模块31.3数据字典41.3.1数据项41.3.2数据结构5第2章 概念结构设计62.1数据流图62.2系统E-R图62.2.1分E-R图62.2.2总E-R图7第3章 逻辑结构设计8第4章 物理结构设计104.1建立索引104.2程序流程图10第5章 代码135.1创建数据库135.2创建表135.3创建视图155.4创建索引165.5创建存储过程175.6创建触发器17第6章 测试结果19第7章 总结23参考文献24家庭理财系统第 24 页家庭理财系统系统设计文档第1章 需求分析1.1开发背景和意义全球经济的蓬勃发展带来了金融理财领域的巨大变革和创新,新的金融工具和理财观点不断产生,迅速地刷新着家庭与个人传统的理财观念。改革开放以来,我国社会经济的发展和居民收入水平得到了很大的提高,家庭理财活动已成为居民生活的重要内容。人们迫切需要一个能充分利用计算机优势,并可以管理家庭财务的软件平台,利用这个平台使得个人的财务有了明晰的收支情况的系统。多年以来人们都使用传统的人工方式记录和管理家庭或自己财务情况。这种管理和记录方式不仅不便于长期保存,也存在着不可避免的缺点,如效率太低、保密性太差。时间一长,伴随着居民收入水平的提高和居民各种消费和收入的多样性,家庭理财所需要管理的信息就会越来越多,就会产生大量的文件和数据,这样就会对查阅、更新、保存等方面都产生不少的困难。随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已逐渐被人们认识并掌握。如果使用计算机对家庭理财信息进行管理具有传统的手工管理所没法比拟的优点。例如:统计方便、查找容易、可靠性高、保密性好、更新方便等。这些优点能够极大地提高家庭理财信息管理的效率,大大降低居民在信息管理精力上的投入,使企业获得更大的利润空间。因此,开发一个能够管理家庭内部各种财务信息的家庭理财管理系统是一件十分必要的事情。家庭理财系统利用计算机技术,使家庭理财逐步信息化,从而形成由家庭成员与计算机共同构成服务于家庭的人机信息财务管理系统。随着计算机发展,家庭理财系统已经成为很多家庭财务管理的一个重要途径。计算机的最大优点在于利用它能够高效准确地进行财务信息管理。使用计算机进行信息财务管理,不仅提高了工作效率,而且大大的提高了其安全性。1.2系统需求概况软件需求分析的目标是深入描述软件的功能和性能,确定软件的约束和软件同其它系统元素的接口细节,定义软件的其它有效性需求。要全面理解用户的各项要求,要准确地表达被接受的用户要求。家庭财务管理主要由日常记账管理和应用各种理财手段进行理财实现家庭资金的最大增值。家庭理财管理系统是针对用户要求用计算机,对自己的财务的收入、支出以及相关的各种信息,进行记录、修改、添加、删除而设计的一种现代化管理软件。通过需求分析,本系统需要具有以下功能:(1)由于一项新的软件在被使用之前,对于使用者来说是陌生和崭新的,所以要求系统具有良好的人机界面,布局要合理,窗口的内容尽量简单明了提供的信息,语言要通俗易懂,有层次感,分类清晰明了,服务器程序利于维护。(2)能够家庭理财管理系统的各项功能,能成功的对用户各种信息进行管理,在很大程度上解决家庭的账目管理这个艰巨的任务,减轻家庭成员的负担,降低家庭财务上错误发生率,减少信息交流的烦琐过程及其带来的开销。(3)查询、修改、删除、添加数据方便,系统运行稳定、安全可靠。(4)由于系统中有家庭成员的个人信息,家庭理财信息,不能外泄,所以要设置密码保护,并可以随时修改密码来保证信息安全不被侵犯。1.2.1实现功能实现的具体功能如下:(1)系统管理对用户的收入、支出管理,用户可以输入家庭成员的相关信息,以及收入、支出的情况。(2)家庭成员信息管理用户输入家庭成员的身份证号、出生日期、职业等相关信息,并可以查询他们的信息以及删除不要的信息。(3)信息查询用户可以通过输入家庭成员的姓名来查询该成员的收入、支出情况。(4)用户管理为了保密性,用户可以修改密码。1.2.2划分功能模块根据分析开发家庭理财系统所具备的能力及实现的方法,经过模块化的分析得到系统功能模块结构图如下图所示:图1-1 家庭理财系统功能模块图1.3数据字典1.3.1数据项数据字典是指对数据的数据项、数据结构、数据流、数据存储、处理逻辑、外部实体等进行定义和描述,其目的是对数据流程图中的各个元素做出详细的说明,在数据字典中建立的一组严密一致的定义很有助于改进分析员和用户的通信。数据库数据字典不仅是每个数据库的中心,而且对每个用户也是非常重要的信息。家庭理财系统的主要数据如下表1-1至表1-5所示:表1-1 收入表shouru序号字段别名数据类型数据长度键1EP_ID序列号nchar10主键2EP_NAME姓名nchar103EP_Salary工资nvarchar504EP_Bonus奖金nvarchar505EP_Date日期datetime6EP_remark备注nvarchar50表1-2 用户表userinfo序号字段别名数据类型数据长度键1User_Name用户名nvarchar50主键2Password密码nvarchar50表1-3 家庭成员表userinformation序号字段别名数据类型数据长度键1E_ID身份证号nchar10主键2E_Name姓名nchar103E_Sex性别nchar104E_BornDate出生日期datetime5E_Profession职业varchar506E_Remark备注varchar50表1-4 支出表zhichu序号字段别名数据类型数据长度键1T_ID序列号nchar10主键2T_Name姓名nchar103T_Date日期datetime4T_Money支出金额varchar505T_Content支出内容varchar50表1-5 家庭理财表wageinfoemation序号字段别名数据类型数据长度键1W_ID序列号nchar10主键2W_Name姓名nchar103W_BasicWage股票varchar504W_Boon基金varchar505W_Bonus存款varchar506W_CountMethod债券varchar507W_FactWage外汇varchar501.3.2数据结构数据结构是指相互之间存在一种或多种特定关系的数据元素的集合,一个数据结构可以由若干个数据项组成,也可以由若干个数据结构组成,或若干个数据项和数据结构混合组成。经过数据项和用户需求的分析,家庭理财系统的分组情况如表1-6所示:表1-6 数据结构表数据结构名含义说明组成部分用户登录管理描述用户修改密码,重新登录用户名+密码家庭成员相关信息管理描述各家庭成员的个人信息,收入信息,支出信息,理财信息身份证号+姓名+性别+出生日期+职业+备注收入管理描述各家庭成员的收入情况,发金时间序列号+姓名+工资+奖金+日期+备注支出管理描述各家庭成员的支出情况,支出的金额、时间和内容序列号+姓名+日期+支出金额+支出内容家庭理财管理描述各家庭成员的个人理财信息序列号+姓名+股票+基金+存款+债券+外汇第2章 概念结构设计概念结构设计是在需求分析阶段产生的需求说明的基础上,按照特定的方法把它们抽象为一个不依赖于任何具体机器的数据模型,利用实体关系图来实现,是整个数据库设计的关键。2.1数据流图数据流图表达了数据和处理关系,根据系统中收入、支出管理模块内对收入记录、支出记录具体操作和功能之间的关系,可以得到简单的家庭理财系统数据流图如图2-1所示:图2-1 家庭理财系统数据流图2.2系统E-R图E-R图提供了表示实体类型、属性和联系的方法,是用来描述现实世界的概念模型的有效方法,所使用的图形构件包括矩形、菱形、椭圆形和连接线。2.2.1分E-R图各系统管理模块的E-R图如下所示: 图2-2 家庭成员E-R图 图2-3 家庭理财E-R图 图2-4 收入管理E-R图 图2-5 支出管理E-R图图2-6 用户管理E-R图2.2.2总E-R图家庭理财系统总E-R图如下所示:图2-7 家庭理财系统E-R图第3章 逻辑结构设计将本系统在概念结构设计阶段设计好的基本E-R图转换为关系模型,如下所示:家庭成员(身份证号 姓名 性别 出生日期 职业 备注)家庭理财(序列号 姓名 股票 基金 存款 债券 外汇)收入(序列号 姓名 工资 奖金 日期 备注)支出(序列号 姓名 日期 金额 内容)用户(用户名 密码)图3-1 家庭成员关系模型对应表格图3-2 家庭理财关系模型对应表格图3-3 收入关系模型对应表格图3-4 支出关系模型对应表格图3-5 用户关系模型对应表格第4章 物理结构设计4.1建立索引(1)对收入管理表在各家庭成员的收入情况、发金时间上建立非聚集索引。(2)对支出管理表在各家庭成员的支出情况、支出时间、支出内容上建立非聚集索引。(3)对家庭成员信息管理表在各家庭成员个人信息上建立非聚集索引。(4)对家庭理财管理表在各家庭成员的股票、基金、存款、债券以及外汇上建立非聚集索引。4.2程序流程图用户登录模块流程图如下图所示:图4-1 用户登录流程图系统管理模块流程图如下图所示:图4-2 系统管理流程图信息查询模块流程图如下图所示:图4-3 信息查询流程图家庭成员信息管理模块流程图如下所示:图4-4 家庭成员信息管理流程图用户管理模块流程图如下图所示:图4-5 用户管理流程图第5章 代码5.1创建数据库CREATE DATABASE sCONTAINMENT = NONEON PRIMARY ( NAME = Ns, FILENAME = NE:Program FilesMicrosoft SQL ServerMSSQL11.MSSQLSERVERMSSQLDATAs.mdf , SIZE = 8192KB , MAXSIZE = UNLIMITED, FILEGROWTH = 1024KB )LOG ON ( NAME = Ns_log, FILENAME = NE:Program FilesMicrosoft SQL ServerMSSQL11.MSSQLSERVERMSSQLDATAs_log.ldf , SIZE = 1024KB , MAXSIZE = 2048GB , FILEGROWTH = 10%)GO5.2创建表(1)用户表:CREATE TABLE dbo.userinfo(User_Name nvarchar(50) NOT NULL,Password nvarchar(50) NULL, CONSTRAINT PK_userinfo PRIMARY KEY CLUSTERED (User_Name ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON PRIMARY) ON PRIMARYGO(2)支出表:CREATE TABLE dbo.zhichu(T_ID nchar(10) NOT NULL,T_Name nchar(10) NULL,T_Date datetime NULL,T_Money nvarchar(50) NULL,T_Content nvarchar(50) NULL, CONSTRAINT PK_zhichu PRIMARY KEY CLUSTERED (T_ID ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON PRIMARY) ON PRIMARYGO(3)收入表:CREATE TABLE dbo.shouru(EP_ID nchar(10) NOT NULL,EP_Name nchar(10) NULL,EP_Salary nvarchar(50) NULL,EP_Bonus nvarchar(50) NULL,EP_Date datetime NULL,EP_Remark nvarchar(50) NULL, CONSTRAINT PK_shouru PRIMARY KEY CLUSTERED (EP_ID ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON PRIMARY) ON PRIMARYGO(4)家庭理财表:SET QUOTED_IDENTIFIER ONGOCREATE TABLE dbo.wageinformation(W_ID nchar(10) NOT NULL,W_Name nchar(10) NULL,W_BasicWage nvarchar(50) NULL,W_Boon nvarchar(50) NULL,W_Bonus nvarchar(50) NULL,W_CountMethod nvarchar(50) NULL,W_FactWage nvarchar(50) NULL, CONSTRAINT PK_wageinformation PRIMARY KEY CLUSTERED (W_ID ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON PRIMARY) ON PRIMARYGO(5)家庭成员表:CREATE TABLE dbo.userinformation(E_ID nchar(10) NOT NULL,E_Name nchar(10) NOT NULL,E_Sex nchar(10) NULL,E_BornDate datetime NULL,E_Profession nvarchar(50) NULL,E_Remark nvarchar(50) NULL, CONSTRAINT PK_userinformation PRIMARY KEY CLUSTERED (E_ID ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON PRIMARY) ON PRIMARYGO5.3创建视图(1)收入视图(查看收入里面的名字和,日期和工资)SET QUOTED_IDENTIFIER ONGOCREATE VIEW dbo.View_shouruASSELECT EP_Name, EP_Date, EP_SalaryFROM dbo.shouruGO(2)家庭成员视图(查看姓名,性别,职业)SET QUOTED_IDENTIFIER ONGOCREATE VIEW dbo.View_userinformationASSELECT E_Name, E_Sex, E_ProfessionFROM dbo.userinformationGO5.4创建索引(1)收入表索引(姓名)CREATE NONCLUSTERED INDEX EP_Name ON dbo.shouru(EP_Name ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON PRIMARYGO(2)支出表索引(姓名)CREATE NONCLUSTERED INDEX T_Name ON dbo.zhichu(T_Name ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON PRIMARYGO(3)家庭成员表索引(姓名)CREATE NONCLUSTERED INDEX E_Name ON dbo.userinformation(E_Name ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON PRIMARYGO(4)家庭理财表索引(姓名)CREATE NONCLUSTERED INDEX W_Name ON dbo.wageinformation(W_Name ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON PRIMARYGO5.5创建存储过程(1)建立用户信息存储过程SET QUOTED_IDENTIFIER ONGOCREATE PROCEDURE dbo.selectUsers -建立用户信息存储过程User_Name nvarcharASSELECT * FROM userinfo WHERE user = User_NameGO(2)建立成员信息存储过程SET QUOTED_IDENTIFIER ONGOCREATE PROCEDURE dbo.selectuserinfo -建立成员信息存储过程E_ID nchar(10)ASSELECT * FROM userinformationWHERE E_ID = E_IDGO5.6创建触发器对收入信息表和支出信息表创建删除触发器:CREATE TRIGGER shouru_delete ON dbo.userinformation -建立收入信息表删除触发器FOR deleteASdeclare name nchar(10)select name = deleted.E_Name from deleteddelete from shouruwhere shouru.EP_Name = nameCREATE TRIGGER zhichu_delete ON dbo.userinformation -建立支出信息表删除触发器FOR deleteASdeclare name nchar(10)select name = deleted.E_Name from deleteddelete from zhichuwhere zhichu.T_Name = nameCREATE TRIGGER wageinformation_delete ON dbo.userinformation -建立理财信息表删除触发器FOR deleteASdeclare name nchar(10)select name = deleted.E_Name from deleteddelete from wageinformationwhere wageinformation.W_Name = name第6章 测试结果系统测试结果如下所示:图5-1 登陆界面图5-2 欢迎界面图5-3 家庭成员信息填写界面图5-4 家庭成员信息查询界面图5-5 家庭成员收入信息填写界面图5-6 家庭成员支出信息填写界面图5-7 家庭理财管理界面图5-8 家庭成员收入查询界面图5-9 理财信息查询界面图5-10 家庭成员收入查询界面图5-11 用户修改密码界面第7章 总结通过这两个星期的数据库课程设计,使我对于数据库原理应用与实践这门课程有了更加深入的理解。课程设计是培养学生综合运用所学知识、发现、提出、分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程。只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能

温馨提示

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

评论

0/150

提交评论