数据库技术作业文档格式.docx
《数据库技术作业文档格式.docx》由会员分享,可在线阅读,更多相关《数据库技术作业文档格式.docx(11页珍藏版)》请在冰豆网上搜索。
最后使用SQL语言的数据定义、数据操作和数据查询功能创建数据库和数据表,进行数据插入、数据修改和删除操作,最后进行数据查询。
三、本次作业的主要内容和要求(包括需求分析、采用E-R模型的概念结构设计、逻辑结构设计等)
本系统实现家庭主要财产的管理,例如银行储蓄、基金、证券、股票、房产、汽车等;
能够灵活、方便的进行查询、插入、删除和修改指定项目的内容;
能对相应的内容进行求和、统计个数等相应的统计计算。
建议本系统中包含的信息至少应有:
家庭成员信息,财产类别(房产、汽车、保险、股票、投资理财、基金、储蓄)、购买日期、地点、财产名称、总价、备注等等
建议本系统至少要有以下数据表:
家庭成员信息表;
财产登记表;
银行储蓄登记表;
股票登记表;
……
请自行定义数据表中的属性名称、数据类型和宽度等。
要求:
⒈独立完成。
⒉按照第8章数据库设计的要求进行需求分析;
⒊建立E-R模型。
⒋将E-R模型转换为关系模型(必须规范到第三范式)。
⒌用SQL数据定义功能创建数据库和数据表(视情况设置主码、域、默认值、外码等)。
⒍用SQL数据操作功能,向数据表中插入数据。
⒎用SQL的数据查询功能实现必要的查询和统计(自己设计查询和统计语句,不能少于8条语句,要包括一般查询、连接查询、自查询、分组查询、统计查询等)。
需求分析
家庭财务管理系统是一个家庭必需的信息管理系统。
通过我们对家庭财务管理的详细调查,大部分家庭对于财务的管理还是局限在使用传统的人工纸质记账管理的方式,这种方式存在许多缺点,如:
效率很低、安全性差、管理难和产生大量纸质文件等。
所以需要一个家庭财务管理系统来为每一个家庭的管理者提供充足的信息和快捷的查询手段。
家庭财务管理系统的信息数据主要是家庭管理员对家庭的收支消费信息的输入,由于一个家庭每天都会有收入和支出的情况,同时家庭也会在银行等金融机构有不同的基金,理财产品等。
当然,汽车,房产也算在内,股票也是一个不容忽视的地方。
这些不同的家庭财务的更新也导致数据库时时有更新,因此,能够及时有效的处理数据,就需要建立一个数据库来存储数据。
通过对不同的数据进行分析,找出不同表格之间的关系,进而通过数据库的查找来获得相关的信息的变化,能够对银行储蓄、基金、证券、股票、房产、汽车等灵活、方便的进行查询、插入、删除和修改指定项目的内容;
本系统由根据不同的家庭成员信息的日常收支管理、银行储蓄管理、股票基金证券管理和房产,车产等模块组成。
基础数据管理模块需求:
通过此模块可以对家庭成员的添加、删除和修改,对个人的财产添加、删除和修改。
银行储蓄管理模块需求:
通过此模块可以对银行存款进行动态的观察,比如存取款,同时便于对资金进行最合理化的管理。
理财分析模块需求:
通过此模块可以查询收支明细,对基金,证券进行动态的查询。
房产,车产模块需求:
便于通过此模块可以对房产的归属问题等有清晰的了解。
E-R概念模型设计
首先,家庭成员的信息表与各成员之间的财产关系。
通常,采用实体-联系图(E-R图)来建立数据模型,包含实体、关系和属性三种成分,它是描述现实世界概念结构模型的有效方法。
是一种数据库设计的概念模型,是描述数据实体与其他数据实体的关联的一种设计模式,实体内部的联系通常是指组成实体的各种属性之间的联系,实体之间的联系通常是指不同实体集之间的联系。
该系统主要有多个实体,分别为用户、银行、股票基金、房产和车产等的购买或消费记录。
用户可以到银行开户、可以存取款,借贷等。
存取款的记录需要存入银行账户里。
基金股票等需要用户开户,进行基金的投资。
房子通过用户购买年份的增加,也会升值,这也会记录到产权人财产里。
针对车子来说,在买来的那一刻就意味着财产到了车主的手里。
家庭成员信息模块结构图:
个人财产分类模块图:
银行储蓄登记模块图:
房产登记模块图:
股票,基金登记模块图:
车产登记模块图:
家庭财务管理的E-R图如下所:
逻辑结构设计
关系模式:
由以上E-R图可知,该模型可以转化为个关系模式:
用户(姓名,出生日期,性别,称呼,联系方式)主码:
姓名
股票,基金(账户,收益,余额,总额,名称,姓名)主码:
账户
车产(车主,车牌,品牌,金额)主码:
车主
房产(地址,购买日期,产权人,金额)主码:
产权人
银行储蓄(账户,存取,金额,余额,日期)主码:
候选码和范式分析:
用户中,若家庭成员的出生日期的不同,也可以作为候选码。
股票基金中,股票的名称也可以作为主键,因此可以作为候选码。
同时,若每人购买的基金,股票不同,也可以用姓名作为主键。
车产中,车的车牌的不同,每辆车的车牌号是独立的,也可以作为主键,因此可以作为候选码。
房产中,房产的地址因房子的不同也会有独立的编号,因此,也可以作为主键,即候选码。
数据库表中,每一行只能表示一个单位信息,每行所表示的单位信息不能重合,同一列,所表示的信息种类相同,但是,每一列只能表示一类信息,不同列的信息表示不能相同。
此为第一范式。
数据库表中,侯选建组合能够推出同一表中各类非属性键。
且满足第一范式,此为第二范式。
银行储蓄表中,只有一个主键,且满足第二范式,可以有账户找到同一表中的其他相关信息,所以符合数据库结构。
股票基金数据表中,由侯选建组合可以推出同一表中的部分信息,再通过部分信息可以推知同一表中的其他相关信息,即可说明该数据库表满足第三范式。
在用户信息表中,姓名为码,用户信息说明完全依赖于码,不存在部分依赖和传递依赖,达到第三范式。
车产信息表中,车主为码,其他信息完全依赖于码,不存在部分依赖和传递依赖,达到第三范式。
在房产信息表中,产权人为码,房产信息说明完全依赖于码,不存在部分依赖和传递依赖,达到第三范式。
银行储蓄信息表中,账户为码,其他信息完全依赖于码,不存在部分依赖和传递依赖,达到第三范式。
数据定义
家庭成员用户表:
字段名
数据类型
长度
字段约束
varchar
20
Notnull
性别
enum
出生年月
date
电话号码
名称
createtable家庭成员用户表
(姓名varchar(20)identityprimarykey,性别varchar(20),名称varchar(20),出生年月date,电话号码varchar,)
股票,基金收支表:
40
收益
float
10
金额>
日期
金额
80
createtable股票,基金收支表
(账户varchar(40)identityprimarykey,姓名varchar(20),名称varchar(80),购买日期date,金额float(10)金额>
0,收益float(10)金额>
0,)
银行储蓄收支表:
余额
存取
存取金额
createtable银行储蓄收支表
(账户varchar(20)identityprimarykey,存取varchar(10),购买日期date,存取金额float(10)金额>
0,余额float(10)金额>
车产表:
购买金额
购买日期
品牌
车牌
createtable车产表
(车主varchar(20)identityprimarykey,品牌varchar(40),车牌varchar(20),购买日期date,购买金额float(10)金额>
房产表:
地址
createtable房产表
(产权人varchar(20)identityprimarykey,地址varchar(80),购买日期date,购买金额float(10)金额>
数据操作
数据删除:
deleteform股票,基金收支表where名称=80
deleteform车产表where名称=40
deleteform家庭成员用户表where名称=20
数据插入:
Insertinto银行储蓄收支表select姓名(varchar,20,notnull)
Insertinto车产表select颜色(varchar,8,notnull)
Insertinto房产表select面积(int,20,notnull)
数据约束:
alterTable家庭成员用户表Add电话号码bitnotnull
数据查询
SELECT金额FROM房产表WHERE金额>
”1000000”;
SELECT品牌FROM车产表WHERE品牌是”红旗”;
SELECT面积FROM房产表WHERE面积>
”100m2”;
selectmax(出生年月)as最大年龄from家庭成员用户表;
selectSUM(购买金额)from车产表;
selectAVG(购买金额)from车产表;
leftjoin:
select车主from车产表leftjoin家庭成员用户表on车主=姓名;
fulljoin:
select姓名from家庭成员用户表fulljoin股票,基金收支表on姓名=姓名;
select*from股票,基金收支表
where(收益>
=2000and收益<
=30000)
and账户=”男”
select账户from股票,基金收支表
where金额isnotnull
select账户from银行储蓄收支表
where余额isnotnull
主要参考文献
1)数据库技术与应用周虹黄研秋主编华东理工大学出版社
2)数据库技术与应用出版社:
清华大学出版社;
第1版(2010年7月1日)
3)网络数据库谭文芳主编出版社:
北方交通大学2005年2月1日
4)王珊,萨师煊.数据库系统概论(第四版)[M].高等教育出版社,2006:
70~100。
后记
经过一周的设计和开发,家庭财务管理系统基本开发完毕。
其功能基本符合用户需求。
对于数据的致性的问题也通过程序进行了有效的解决。
但是该系统还有许多不尽如人意的地方,在今后有待进一步改善。
通过这次作业设计我真切地体会到大作业的目的并不止于自己单纯任务的完成,而在于学习新的知识并掌握具体的方法,如何具体使用和具体应用你所学所用的语言。
从而获得一种本领:
就是融会贯通各种语言。
回首整个开发设计过程,我学到了很多书本上学不到的东西。
在每个设计阶段我都能学到一些新知识,对我的动手能力提高很大。
在整个作业设计过程中,我基本上完成了家庭财务管理系统各个模块的功能。
页面设计还有进一步改善的地方,我会在今后的学习工作中着重加强这方面的锻炼。
选修这门课,大家都说难,真正学习时会发现它是非常有意思的。
数据库技术这门课,让我懂得了很多知识,我相信这些知识会在我今后的生活,学习,工作中留下浓墨重彩的一笔。
评价
题目
概念结构设计
本报告撰写格式
得分
满分
5
15
100
自评
4
12
13
16
81
教师评分