数据库原理课程设计报告基于SQL Server 设计与应用.docx
- 文档编号:11941122
- 上传时间:2023-04-16
- 格式:DOCX
- 页数:27
- 大小:1.19MB
数据库原理课程设计报告基于SQL Server 设计与应用.docx
《数据库原理课程设计报告基于SQL Server 设计与应用.docx》由会员分享,可在线阅读,更多相关《数据库原理课程设计报告基于SQL Server 设计与应用.docx(27页珍藏版)》请在冰豆网上搜索。
数据库原理课程设计报告基于SQLServer设计与应用
数据库原理课程设计报告--基于SQLServer设计与应用
《数据库原理及应用》
课程设计报告
基于SQLServer2012设计与应用
姓名:
班级:
学号:
指导老师:
《家庭理财系统》系统设计文档
第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
序号
字段
别名
数据类型
数据长度
键
1
EP_ID
序列号
nchar
10
主键
2
EP_NAME
姓名
nchar
10
3
EP_Salary
工资
nvarchar
50
4
EP_Bonus
奖金
nvarchar
50
5
EP_Date
日期
datetime
6
EP_remark
备注
nvarchar
50
表1-2用户表userinfo
序号
字段
别名
数据类型
数据长度
键
1
User_Name
用户名
nvarchar
50
主键
2
Password
密码
nvarchar
50
表1-3家庭成员表userinformation
序号
字段
别名
数据类型
数据长度
键
1
E_ID
身份证号
nchar
10
主键
2
E_Name
姓名
nchar
10
3
E_Sex
性别
nchar
10
4
E_BornDate
出生日期
datetime
5
E_Profession
职业
varchar
50
6
E_Remark
备注
varchar
50
表1-4支出表zhichu
序号
字段
别名
数据类型
数据长度
键
1
T_ID
序列号
nchar
10
主键
2
T_Name
姓名
nchar
10
3
T_Date
日期
datetime
4
T_Money
支出金额
varchar
50
5
T_Content
支出内容
varchar
50
表1-5家庭理财表wageinfoemation
序号
字段
别名
数据类型
数据长度
键
1
W_ID
序列号
nchar
10
主键
2
W_Name
姓名
nchar
10
3
W_BasicWage
股票
varchar
50
4
W_Boon
基金
varchar
50
5
W_Bonus
存款
varchar
50
6
W_CountMethod
债券
varchar
50
7
W_FactWage
外汇
varchar
50
1.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创建数据库
CREATEDATABASE[s]
CONTAINMENT=NONE
ONPRIMARY
(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%)
GO
5.2创建表
(1)用户表:
CREATETABLE[dbo].[userinfo](
[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,
[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,
[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)家庭理财表:
SETQUOTED_IDENTIFIERON
GO
CREATETABLE[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,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
)WITH(PAD_INDEX=OFF,STATISTICS_NORECOMPUTE=OFF,IGNORE_DUP_KEY=OFF,ALLOW_ROW_LOCKS=ON,ALLOW_PAGE_LOCKS=ON)ON[PRIMARY]
)ON[PRIMARY]
GO
5.3创建视图
(1)收入视图(查看收入里面的名字和,日期和工资)
SETQUOTED_IDENTIFIERON
GO
CREATEVIEW[dbo].[View_shouru]
AS
SELECTEP_Name,EP_Date,EP_Salary
FROMdbo.shouru
GO
(2)家庭成员视图(查看姓名,性别,职业)
SETQUOTED_IDENTIFIERON
GO
CREATEVIEW[dbo].[View_userinformation]
AS
SELECTE_Name,E_Sex,E_Profession
FROMdbo.userinformation
GO
5.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,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]
(
[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,DROP_EXISTING=OFF,ONLINE=OFF,ALLOW_ROW_LOCKS=ON,ALLOW_PAGE_LOCKS=ON)ON[PRIMARY]
GO
5.5创建存储过程
(1)建立用户信息存储过程
SETQUOTED_IDENTIFIERON
GO
CREATEPROCEDURE[dbo].[selectUsers]--建立用户信息存储过程
@User_Namenvarchar
AS
SELECT*FROMuserinfo
WHEREuser=@User_Name
GO
(2)建立成员信息存储过程
SETQUOTED_IDENTIFIERON
GO
CREATEPROCEDURE[dbo].[selectuserinfo]--建立成员信息存储过程
@E_IDnchar(10)
AS
SELECT*FROMuserinformation
WHEREE_ID=@E_ID
GO
5.6创建触发器
对收入信息表和支出信息表创建删除触发器:
CREATETRIGGERshouru_deleteONdbo.userinformation--建立收入信息表删除触发器
FORdelete
AS
declare@namenchar(10)
select@name=deleted.E_Namefromdeleted
deletefromshouru
whereshouru.EP_Name=@name
CREATETRIGGERzhichu_deleteONdbo.userinformation--建立支出信息表删除触发器
FORdelete
AS
declare@namenchar(10)
select@name=deleted.E_Namefromdeleted
deletefromzhichu
wherezhichu.T_Name=@name
CREATETRIGGERwageinformation_deleteONdbo.userinformation--建立理财信息表删除触发器
FORdelete
AS
declare@namenchar(10)
select@name=deleted.E_Namefromdeleted
deletefromwageinformation
wherewageinformation.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章总结
通过这两个星期的数据库课程设计,使我对于数据库原理应用与实践这门课程有了更加深入的理解。
课程设计是培养学生综合运用所学知识、发现、提出、分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程。
只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库原理课程设计报告基于SQL Server 设计与应用 数据库 原理 课程设计 报告 基于 SQL 设计 应用
![提示](https://static.bdocx.com/images/bang_tan.gif)