数据库原理课程设计报告--基于SQL-Server-设计与应用
本作品内容为数据库原理课程设计报告--基于SQL-Server-设计与应用,格式为 doc ,大小 4850176 KB ,页数为 47页
("数据库原理课程设计报告--基于SQLServer设计与应用《数据库原理及应用》课程设计报告基于SQLServer2012设计与应用姓名:班级:学号:指导老师:《数据库原理》课程设计报告目录第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家庭理财系统第1页《数据库原理》课程设计报告《家庭理财系统》系统设计文档第1章需求分析1.1开发背景和意义全球经济的蓬勃发展带来了金融理财领域的巨大变革和创新,新的金融工具和理财观点不断产生,迅速地刷新着家庭与个人传统的理财观念。改革开放以来,我国社会经济的发展和居民收入水平得到了很大的提高,家庭理财活动已成为居民生活的重要内容。人们迫切需要一个能充分利用计算机优势,并可以管理家庭财务的软件平台,利用这个平台使得个人的财务有了明晰的收支情况的系统。多年以来人们都使用传统的人工方式记录和管理家庭或自己财务情况。这种管理和记录方式不仅不便于长期保存,也存在着不可避免的缺点,如效率太低、保密性太差。时间一长伴随着居民收入水平的提高和居民各种消费和收入的多样性,家庭理财所需要管理的信息就会越来越多,就会产生大量的文件和数据,这样就会对查阅、更新、保存等方面都产生不少的困难。随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已逐渐被人们认识并掌握。如果使用计算机对家庭理财信息进行管理具有传统的手工管理所没法比拟的优点。例如:统计方便、查找容易、可靠性高、保密性好、更新方便等。这些优点能够极大地提高家庭理财信息管理的效率,大大降低居民在信息管理精力上的投入,使企业获得更大的利润空间。因此,开发一个能够管理家庭内部各种财务信息的家庭理财管理系统是一件十分必要的事情。家庭理财系统利用计算机技术,使家庭理家庭理财系统第2页《数据库原理》课程设计报告财逐步信息化,从而形成由家庭成员与计算机共同构成服务于家庭的人机信息财务管理系统随着计算机发展,家庭理财系统已经成为很多家庭财务管理的一个重要途径。计算机的最大优点在于利用它能够高效准确地进行财务信息管理。使用计算机进行信息财务管理,不仅提高了工作效率,而且大大的提高了其安全性。1.2系统需求概况软件需求分析的目标是深入描述软件的功能和性能,确定软件的约束和软件同其它系统元素的接口细节,定义软件的其它有效性需求。要全面理解用户的各项要求,要准确地表达被接受的用户要求。家庭财务管理主要由日常记账管理和应用各种理财手段进行理财实现家庭资金的最大增值。家庭理财管理系统是针对用户要求用计算机,对自己的财务的收入、支出以及相关的各种信息,进行记录、修改、添加、删除而设计的一种现代化管理软件。通过需求分析,本系统需要具有以下功能:(1)由于一项新的软件在被使用之前,对于使用者来说是陌生和崭新的,所以要求系统具有良好的人机界面,布局要合理,窗口的内容尽量简单明了提供的信息,语言要通俗易懂,有层次感,分类清晰明了,服务器程序利于维护。(2)能够家庭理财管理系统的各项功能,能成功的对用户各种信息进行管理,在很大程度上解决家庭的账目管理这个艰巨的任务,减轻家庭成员的负担,降低家庭财务上错误发生率减少信息交流的烦琐过程及其带来的开销。(3)查询、修改、删除、添加数据方便,系统运行稳定、安全可靠。(4)由于系统中有家庭成员的个人信息,家庭理财信息,不能外泄,所以要设置密码保护家庭理财系统第3页《数据库原理》课程设计报告并可以随时修改密码来保证信息安全不被侵犯。1.2.1实现功能实现的具体功能如下:(1)系统管理——对用户的收入、支出管理,用户可以输入家庭成员的相关信息,以及收入支出的情况。(2)家庭成员信息管理——用户输入家庭成员的身份证号、出生日期、职业等相关信息,并可以查询他们的信息以及删除不要的信息。(3)信息查询——用户可以通过输入家庭成员的姓名来查询该成员的收入、支出情况。(4)用户管理——为了保密性,用户可以修改密码。1.2.2划分功能模块根据分析开发家庭理财系统所具备的能力及实现的方法,经过模块化的分析得到系统功能模块结构图如下图所示:家庭理财系统第4页《数据库原理》课程设计报告图1-1家庭理财系统功能模块图1.3数据字典1.3.1数据项数据字典是指对数据的数据项、数据结构、数据流、数据存储、处理逻辑、外部实体等进行定义和描述,其目的是对数据流程图中的各个元素做出详细的说明,在数据字典中建立的一组严密一致的定义很有助于改进分析员和用户的通信。数据库数据字典不仅是每个数据库的中心,而且对每个用户也是非常重要的信息。家庭理财系统的主要数据如下表1-1至表1-5所示:表1-1收入表shouru序号字段别名数据类型数据长度键1EP_ID序列号nchar10主键2EP_NAME姓名nchar103EP_Sala工资nvarchar50家庭理财系统第5页《数据库原理》课程设计报告ry4EP_Bonus奖金nvarchar505EP_Date日期datetime6EP_remark备注nvarchar50表1-2用户表userinfo序号字段别名数据类型数据长度键1User_Name用户名nvarchar50主键2Pass密码nvar50家庭理财系统第6页《数据库原理》课程设计报告wordchar表1-3家庭成员表userinformation序号字段别名数据类型数据长度键1E_ID身份证号nchar10主键2E_Name姓名nchar103E_Sex性别nchar104E_BornDate出生日期datetime家庭理财系统第7页《数据库原理》课程设计报告5E_Profession职业varchar506E_Remark备注varchar50家庭理财系统第8页《数据库原理》课程设计报告表1-4支出表zhichu序号字段别名数据类型数据长度键1T_ID序列号nchar10主键2T_Name姓名nchar103T_Date日期datetime4T_Money支出金额varchar505T_Content支出内容varchar50表1-5家庭理财表wageinfoemation序号字段别名数据类型数据长度键1W_ID序列nchar10主键家庭理财系统第9页《数据库原理》课程设计报告号2W_Name姓名nchar103W_BasicWage股票varchar504W_Boon基金varchar505W_Bonus存款varchar506W_CountMethod债券varchar507W_FactWage外汇varchar501.3.2数据结构数据结构是指相互之间存在一种或多种特定关系的数据元素的集合,一个数据结构可以由若干个数据项组成,也可以由若干个数据结构组成,或若干个数据项和数据结构混合组成。经过数据项和用户需求的分析,家庭理财系统的分组情况如表1-6所示:表1-6数据结构表数据结构名含义说明组成部分家庭理财系统第10页《数据库原理》课程设计报告用户登录管理描述用户修改密码,重新登录用户名+密码家庭成员相关信息管理描述各家庭成员的个人信息,收入信息,支出信息,理财信息身份证号+姓名+性别+出生日期+职业+备注收入管理描述各家庭成员的收入情况,发金时间序列号+姓名+工资+奖金+日期+备注支出管理描述各家庭成员的支出情况,支出的金额、时间和内容序列号+姓名+日期+支出金额+支出内容家庭理财系统第11页《数据库原理》课程设计报告家庭理财管理描述各家庭成员的个人理财信息序列号+姓名+股票+基金+存款+债券+外汇家庭理财系统第12页《数据库原理》课程设计报告第2章概念结构设计概念结构设计是在需求分析阶段产生的需求说明的基础上,按照特定的方法把它们抽象为一个不依赖于任何具体机器的数据模型,利用实体关系图来实现,是整个数据库设计的关键。2.1数据流图数据流图表达了数据和处理关系,根据系统中收入、支出管理模块内对收入记录、支出记录具体操作和功能之间的关系,可以得到简单的家庭理财系统数据流图如图2-1所示:图2-1家庭理财系统数据流图2.2系统E-R图E-R图提供了表示实体类型、属性和联系的方法,是用来描述现实世界的概念模型的有效方法,所使用的图形构件包括矩形、菱形、椭圆形和连接线。2.2.1分E-R图各系统管理模块的E-R图如下所示:家庭理财系统第13页《数据库原理》课程设计报告图2-2家庭成员E-R图图2-3家庭理财E-R图图2-4收入管理E-R图家庭理财系统第14页《数据库原理》课程设计报告图2-5支出管理E-R图图2-6用户管理E-R图2.2.2总E-R图家庭理财系统总E-R图如下所示:图2-7家庭理财系统E-R图家庭理财系统第15页《数据库原理》课程设计报告第3章逻辑结构设计将本系统在概念结构设计阶段设计好的基本E-R图转换为关系模型,如下所示:家庭成员(身份证号姓名性别出生日期职业备注)家庭理财(序列号姓名股票基金存款债券外汇)收入(序列号姓名工资奖金日期备注)支出(序列号姓名日期金额内容)用户(用户名密码)图3-1家庭成员关系模型对应表格图3-2家庭理财关系模型对应表格家庭理财系统第16页《数据库原理》课程设计报告图3-3收入关系模型对应表格图3-4支出关系模型对应表格图3-5用户关系模型对应表格家庭理财系统第17页《数据库原理》课程设计报告第4章物理结构设计4.1建立索引(1)对收入管理表在各家庭成员的收入情况、发金时间上建立非聚集索引。(2)对支出管理表在各家庭成员的支出情况、支出时间、支出内容上建立非聚集索引。(3)对家庭成员信息管理表在各家庭成员个人信息上建立非聚集索引。(4)对家庭理财管理表在各家庭成员的股票、基金、存款、债券以及外汇上建立非聚集索引。4.2程序流程图用户登录模块流程图如下图所示:图4-1用户登录流程图系统管理模块流程图如下图所示:家庭理财系统第18页《数据库原理》课程设计报告图4-2系统管理流程图信息查询模块流程图如下图所示:图4-3信息查询流程图家庭成员信息管理模块流程图如下所示:家庭理财系统第19页《数据库原理》课程设计报告图4-4家庭成员信息管理流程图家庭理财系统第20页《数据库原理》课程设计报告用户管理模块流程图如下图所示:图4-5用户管理流程图家庭理财系统第21页《数据库原理》课程设计报告第5章代码5.1创建数据库CREATEDATABASE[s]CONTAINMENT=NONEONPRIMARY(NAME=N's',FILENAME=N'E:\\ProgramFiles\\MicrosoftSQLServer\\MSSQL11.MSSQLSERVER\\MSSQL\\DATA\\s.mdf',SIZE=8192KB,MAXSIZE=UNLIMITED,FILEGROWTH=1024KB)LOGON(NAME=N's_log',FILENAME=N'E:\\ProgramFiles\\MicrosoftSQLServer\\MSSQL11.MSSQLSERVER\\MSSQL\\DATA\\s_log.ldf',SIZE=1024KB,MAXSIZE=2048GB,FILEGROWTH=10%)GO5.2创建表(1)用户表:CREATETABLE[dbo].[userinfo](家庭理财系统第22页《数据库原理》课程设计报告[User_Name][nvarchar](50)NOTNULL,[Password][nvarchar](50)NULL,CONSTRAINT[PK_userinfo]PRIMARYKEYCLUSTERED([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[PRIMARY]GO(2)支出表:CREATETABLE[dbo].[zhichu]([T_ID][nchar](10)NOTNULL,[T_Name][nchar](10)NULL,家庭理财系统第23页《数据库原理》课程设计报告[T_Date][datetime]NULL,[T_Money][nvarchar](50)NULL,[T_Content][nvarchar](50)NULL,CONSTRAINT[PK_zhichu]PRIMARYKEYCLUSTERED([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[PRIMARY]GO(3)收入表:CREATETABLE[dbo].[shouru]([EP_ID][nchar](10)NOTNULL,家庭理财系统第24页《数据库原理》课程设计报告[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]PRIMARYKEYCLUSTERED([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[PRIMARY]GO(4)家庭理财表:家庭理财系统第25页《数据库原理》课程设计报告SETQUOTED_IDENTIFIERONGOCREATETABLE[dbo].[wageinformation]([W_ID][nchar](10)NOTNULL,[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]PRIMARYKEYCLUSTERED([W_ID]ASC)WITH(PAD_INDEX=OFF,STATISTICS_NORECOMPUTE=OFF,家庭理财系统第26页《数据库原理》课程设计报告IGNORE_DUP_KEY=OFF,ALLOW_ROW_LOCKS=ON,ALLOW_PAGE_LOCKS=ON)ON[PRIMARY])ON[PRIMARY]GO(5)家庭成员表:CREATETABLE[dbo].[userinformation]([E_ID][nchar](10)NOTNULL,[E_Name][nchar](10)NOTNULL,[E_Sex][nchar](10)NULL,[E_BornDate][datetime]NULL,[E_Profession][nvarchar](50)NULL,[E_Remark][nvarchar](50)NULL,CONSTRAINT[PK_userinformation]PRIMARYKEYCLUSTERED([E_ID]ASC家庭理财系统第27页《数据库原理》课程设计报告)WITH(PAD_INDEX=OFF,STATISTICS_NORECOMPUTE=OFF,IGNORE_DUP_KEY=OFF,ALLOW_ROW_LOCKS=ON,ALLOW_PAGE_LOCKS=ON)ON[PRIMARY])ON[PRIMARY]GO5.3创建视图(1)收入视图(查看收入里面的名字和,日期和工资)SETQUOTED_IDENTIFIERONGOCREATEVIEW[dbo].[View_shouru]ASSELECTEP_Name,EP_Date,EP_SalaryFROMdbo.shouruGO(2)家庭成员视图(查看姓名,性别,职家庭理财系统第28页《数据库原理》课程设计报告业)SETQUOTED_IDENTIFIERONGOCREATEVIEW[dbo].[View_userinformation]ASSELECTE_Name,E_Sex,E_ProfessionFROMdbo.userinformationGO5.4创建索引(1)收入表索引(姓名)CREATENONCLUSTEREDINDEX[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,家庭理财系统第29页《数据库原理》课程设计报告ALLOW_PAGE_LOCKS=ON)ON[PRIMARY]GO(2)支出表索引(姓名)CREATENONCLUSTEREDINDEX[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[PRIMARY]GO(3)家庭成员表索引(姓名)CREATENONCLUSTEREDINDEX[E_Name]ON[dbo].[userinformation]家庭理财系统第30页《数据库原理》课程设计报告([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[PRIMARY]GO(4)家庭理财表索引(姓名)CREATENONCLUSTEREDINDEX[W_Name]ON[dbo].[wageinformation]([W_Name]ASC)WITH(PAD_INDEX=OFF,STATISTICS_NORECOMPUTE=OFF,SORT_IN_TEMPDB=OFF,家庭理财系统第31页《数据库原理》课程设计报告DROP_EXISTING=OFF,ONLINE=OFF,ALLOW_ROW_LOCKS=ON,ALLOW_PAGE_LOCKS=ON)ON[PRIMARY]GO5.5创建存储过程(1)建立用户信息存储过程SETQUOTED_IDENTIFIERONGOCREATEPROCEDURE[dbo].[selectUsers]--建立用户信息存储过程@User_NamenvarcharASSELECTFROMuserinfoWHEREuser=@User_NameGO(2)建立成员信息存储过程SETQUOTED_IDENTIFIERONGOCREATEPROCEDURE[dbo].家庭理财系统第32页《数据库原理》课程设计报告[selectuserinfo]--建立成员信息存储过程@E_IDnchar(10)ASSELECTFROMuserinformationWHEREE_ID=@E_IDGO5.6创建触发器对收入信息表和支出信息表创建删除触发器:CREATETRIGGERshouru_deleteONdbo.userinformation--建立收入信息表删除触发器FORdeleteASdeclare@namenchar(10)select@name=deleted.E_Namefromdeleteddeletefromshouruwhereshouru.EP_Name=@nameCREATETRIGGERzhichu_deleteON家庭理财系统第33页《数据库原理》课程设计报告dbo.userinformation--建立支出信息表删除触发器FORdeleteASdeclare@namenchar(10)select@name=deleted.E_Namefromdeleteddeletefromzhichuwherezhichu.T_Name=@nameCREATETRIGGERwageinformation_deleteONdbo.userinformation--建立理财信息表删除触发器FORdeleteASdeclare@namenchar(10)select@name=deleted.E_Namefromdeleted家庭理财系统第34页《数据库原理》课程设计报告deletefromwageinformationwherewageinformation.W_Name=@name家庭理财系统第35页《数据库原理》课程设计报告第6章测试结果系统测试结果如下所示:图5-1登陆界面图5-2欢迎界面家庭理财系统第36页《数据库原理》课程设计报告图5-3家庭成员信息填写界面图5-4家庭成员信息查询界面家庭理财系统第37页《数据库原理》课程设计报告图5-5家庭成员收入信息填写界面图5-6家庭成员支出信息填写界面家庭理财系统第38页《数据库原理》课程设计报告图5-7家庭理财管理界面图5-8家庭成员收入查询界面家庭理财系统第39页《数据库原理》课程设计报告图5-9理财信息查询界面图5-10家庭成员收入查询界面家庭理财系统第40页《数据库原理》课程设计报告图5-11用户修改密码界面家庭理财系统第41页《数据库原理》课程设计报告第7章总结通过这两个星期的数据库课程设计,使我对于数据库原理应用与实践这门课程有了更加深入的理解。课程设计是培养学生综合运用所学知识、发现、提出、分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程。只有把所学的理论知识与实践相结合起来,从理论中得出结论才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。由于时间比较紧张,加上自己本身在语言编程方面的能力比较有限,该系统势必还存在着一定的问题。作为一个短时间内完成的实用性软件,本系统在实用性和全面性方面肯定还有不少的欠缺。如本系统后面的查询模块、用户密码管理模块,所能考虑到的方面就不是很全面,所以效果就并不是很理想。总的来讲,这个家庭理财系统能够基本满足简家庭内部成员的理财需求。它和一个功能强大的家庭理财系统比较起来,还有一定的差距。其实还有一些模块功能可以进一步的完善,希望可以通过以后的学习能够不断的完善和强大本系统的功能。尽管如此,在开发和设计这个软件的过程中,通过学习,我掌握了很多编程上的新知识比如说更加了解了SQLServer2012的使用,还有对Java语言也有了更深的认识。在设计的过程中遇到问题,可以说得是困难重重,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻掌握得不够牢固,彼此还是脱离不了集体的力量,遇到问题和同学互相讨论交流,多和同学讨论。我们在做课程设计的过程中要不停的讨论问题,这样,我们可以尽可能的统一思想,这样就不会使自己在做的过程中没有方向。讨家庭理财系统第42页《数据库原理》课程设计报告论不仅是一些思想的问题,还可以深入的讨论一些技术上的问题,这样可以使自己的处理问题要快一些,少走弯路。多改变自己设计的方法,在设计的过程中最好要不停的改善自己解决问题的方法,这样可以方便自己解决问题。总的来说,通过这次课程设计,让我取得了一个相当大的进步。同时,使用家庭理财系统来管理财务的各种信息,对于信息化时代的人们来说,是很有必要的。现在已经有越来越多的人开始认识到家庭理财系统的优势所在,大范围的推广和使用家庭理财系统来管理个人财务信息会逐渐成为大众化个人财务管理的主流模式。从目前来看,各种家庭理财系统的需求量都是相当大的家庭理财系统的市场前景应该是很好的。家庭理财系统第43页《数据库原理》课程设计报告参考文献[1]贾铁君,甘泉.数据库原理应用与实践.北京:科学出版社,2013.1[2]钱雪忠,李京.数据库原理及应用(第二版).北京:北京邮电大学出版社.2007,8[3]解圣庆,徐兴敏.Access2003数据库教程[M].北京:清华大学出版社.2006[4]徐孝凯,贺佳英.数据库基础与SQLServer应用开发.北京:清华大学出版社.2008.4[5]耿祥义.Java2实用教程(第三版)[M].北京:清华大学出版社.2006家庭理财系统第44页",)
提供数据库原理课程设计报告--基于SQL-Server-设计与应用会员下载,编号:1700825245,格式为 docx,文件大小为47页,请使用软件:wps,office word 进行编辑,PPT模板中文字,图片,动画效果均可修改,PPT模板下载后图片无水印,更多精品PPT素材下载尽在某某PPT网。所有作品均是用户自行上传分享并拥有版权或使用权,仅供网友学习交流,未经上传用户书面授权,请勿作他用。若您的权利被侵害,请联系963098962@qq.com进行删除处理。