陈腾数据库课程设计个人记账管理系统Word格式文档下载.docx

上传人:b****1 文档编号:446071 上传时间:2023-04-28 格式:DOCX 页数:14 大小:109.66KB
下载 相关 举报
陈腾数据库课程设计个人记账管理系统Word格式文档下载.docx_第1页
第1页 / 共14页
陈腾数据库课程设计个人记账管理系统Word格式文档下载.docx_第2页
第2页 / 共14页
陈腾数据库课程设计个人记账管理系统Word格式文档下载.docx_第3页
第3页 / 共14页
陈腾数据库课程设计个人记账管理系统Word格式文档下载.docx_第4页
第4页 / 共14页
陈腾数据库课程设计个人记账管理系统Word格式文档下载.docx_第5页
第5页 / 共14页
陈腾数据库课程设计个人记账管理系统Word格式文档下载.docx_第6页
第6页 / 共14页
陈腾数据库课程设计个人记账管理系统Word格式文档下载.docx_第7页
第7页 / 共14页
陈腾数据库课程设计个人记账管理系统Word格式文档下载.docx_第8页
第8页 / 共14页
陈腾数据库课程设计个人记账管理系统Word格式文档下载.docx_第9页
第9页 / 共14页
陈腾数据库课程设计个人记账管理系统Word格式文档下载.docx_第10页
第10页 / 共14页
陈腾数据库课程设计个人记账管理系统Word格式文档下载.docx_第11页
第11页 / 共14页
陈腾数据库课程设计个人记账管理系统Word格式文档下载.docx_第12页
第12页 / 共14页
陈腾数据库课程设计个人记账管理系统Word格式文档下载.docx_第13页
第13页 / 共14页
陈腾数据库课程设计个人记账管理系统Word格式文档下载.docx_第14页
第14页 / 共14页
亲,该文档总共14页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

陈腾数据库课程设计个人记账管理系统Word格式文档下载.docx

《陈腾数据库课程设计个人记账管理系统Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《陈腾数据库课程设计个人记账管理系统Word格式文档下载.docx(14页珍藏版)》请在冰点文库上搜索。

陈腾数据库课程设计个人记账管理系统Word格式文档下载.docx

个人记账管理系统数据库的设计与实现

描述:

设计一个个人记帐系统。

实现下列功能:

1.家庭人员信息维护

2.支出和收入项目维护;

1.家庭人员的支出明细;

2.家庭人员的收入明细;

二、数据库设计内容3

(一)需求分析………………………………………………………………………………….3

(二)数据库概念设计………………………………………………………………………..3

(三)数据库逻辑设计…………………………………………………………………………5

(四)数据库与数据表设计——物理结构设计……………………………………………5

1.数据库与数据表设计…………………………………………………………………...5

2.数据完整性设计………………………………………………………………………...6

(一)建数据库——家庭管理库……………………………………………………………….7

(二)建表——家庭信息表、支出表、收入表…………………………………..7

(三)视图……………………………………………………………………………………..9

(四)存储过程………………………………………………………………………………..9

(五)触发器…………………………………………………………………………………10

(六)运行和维护……………………………………………………………………………12

1.关系图的建立………………………………………………………………………...12

2.简单查询……………………………………………………………………………...12

3.复杂查询……………………………………………………………………………...15

4.数据库的用户与权限管理……………………………………………………………17

四、实验心得22

个人记账数据库管理系统

一、需求分析

·

家庭成员(jiating):

包括姓名(jtname)、性别(jtsex)、年龄(jtage)、家庭成员关系(jtrelation)、地位(jitstatus)

身份证号码(jtID)、爱好(jthobby)、银行账号(banknum)

收入(income):

包括姓名(inname)、银行账号(banknum)工资(insal)、岗位津贴(ingang)、偶然获得(inchance)、其他收入(inother)、

月份(inmonth)

支出(cost):

包括银行账号(banknum)、电话费(ctel)、服装费(ccloth)、食物费(cfood)、书费(cbook)、医疗费(chospital)、月份(cmonth)

各对象之间的联系如下:

每个成员有多项收入,每个成员有多项支出。

二概念结构设计

个人记账管理系统的E-R图如图所示:

三、逻辑数据库结构

由实体jiating、income、cost转换的关系模式如下:

jiating(jtname,jtsex,jtage,jtrelation,jtstatus,jtID,jthobby,

Banknum)

income(jtname,insal,inother,ingang,inchance,inmonth)

cost(banknum,ctel,ccloth,cfood,cbook,chospital,cmonth)

四、通过查询分析器实现各个二维表

--先建立数据库(zhaozq)

createdatabasezhaozq

dropdatabasezhaozq

1.建立家庭成员表

usezhaozq

createtablejiating--家庭表

(jtnamechar(10)notnullprimarykey,--姓名,主键,起唯一标识作用

jtsexchar

(2),--性别

jtageint,--年龄

jtrelationchar(10),--关系

jtstatuschar(20),--职业

jtIDint,--身份证号

jthobbychar(20),--兴趣爱好

banknumint)--银行账号

插入数据

insertintojiatingvalues('

赵小山'

'

男'

50,'

父亲'

司机'

360121,'

踢足球'

0013)

insertintojiatingvalues('

李晓玲'

女'

45,'

母亲'

职工'

360122,'

购物'

0014)

insertintojiatingvalues('

赵小刚'

20,'

哥哥'

教师'

360124,'

唱歌'

0016)

赵小强'

26,'

我'

学生'

360125,'

看书'

0017)

-查看成员表

select*

fromjiating

--删除成员表

droptablejiating

2.建立收入表

createtableincome--收入表

(innamechar(10),--收入人姓名

insalint,--工资

infuliint,--福利收入

inchanceint,--偶然获得

inotherint,--其它收入

inmonthint)--月份

insertintoincomevalues('

5000,1200,200,500,1)

2500,3500,400,300,3)

insertintoincomevalues('

2400,4000,400,300,4)

3000,3300,400,399,6)

3000,3500,300,500,8)

3000,1000,100,300,2)

2399,1200,1399,340,3)

2345,1234,1459,330,5)

2344,1245,1456,329,7)

2300,1200,1300,320,9)

1200,1300,120,330,12)

1280,1900,170,270,6)

1200,1300,130,220,12)

1200,1400,130,280,11)

600,50,100,300,8)

--查看收入表

fromincome

--删除成员表

droptableincome

3.建立支出表

usezhaozq

createtablecost

(banknumint,ctelint,--电话费cclothint,--衣服费

cfoodint,--食物费

cbookint,--书费

chospitalint,--医疗费

cmonthint)--月份

insertintocostvalues(13,30,400,600,450,1000,1)

insertintocostvalues(13,32,400,400,430,1900,2)

insertintocostvalues(13,33,300,200,440,1300,5)

insertintocostvalues(13,55,500,230,480,1700,8)

insertintocostvalues(13,57,800,339,770,1000,10)

insertintocostvalues(14,58,800,340,660,2000,2)

insertintocostvalues(14,39,600,440,850,3000,3)

insertintocostvalues(14,60,300,400,880,1000,4)

insertintocostvalues(15,44,400,300,480,1200,5)

insertintocostvalues(15,20,430,500,600,1500,6)

insertintocostvalues(15,30,220,300,400,1200,7)

insertintocostvalues(15,35,625,300,700,2400,10)

insertintocostvalues(16,77,700,533,800,1000,11)

insertintocostvalues(16,30,400,330,500,1000,12)

insertintocostvalues(16,39,300,400,440,1200,9)

--查看支出表

fromcost

droptablecost

五.根据表进行相关的查询和更新(插入、修改、删除)

--1.在jiating表中建立一个check约束--用来检查字段值所允许的范围

altertablejiating

addconstraintjt_agecheck(jtagebetween10and60)

--2.在jiating表中增加一个字段

altertablejiating

addjtaaachar(10)

--3.将jiating表中姓名为“赵小刚”的职位改为“经理”

updatejiating

setjtstatus='

经理'

wherejtname='

--查看修改后的家庭表

--4.在income表中查询姓名为“赵小山”的一年内其中几个月的收入

selectinsal,inmonth

fromincome

whereinname='

--5.在jiating和income表中查询爱好、工资、偶然获得和月份

selectjthobby,insal,inchance,inmonth

fromjiating,income

wherejiating.jtname=income.inname

--6.在cost表中查询医疗费的总支出

selectsum(chospital)astotalfromcost

--7.算出cost表中电话费和衣服费的总支出

selectsum(ctel+ccloth)astotal

--9.在cost表中查询银行账号为0013的电话费和衣服费的总支出

selectctel+cclothfromcost

wherebanknum=13

--10.在cost表中查出2月份的食物费的总支出

selectsum(cfood)astotal,cmonth

groupbycmonth

having(cmonth=2)

--11.从cost表中算出所有的支出

selectsum(ctel+ccloth+cfood+cbook+chospital)asalltotal

--12.从income表中算出所有的收入

selectsum(insal+infuli+inchance+inother)as收入总数

--13利用income和cost表算出实际收入,用总收入减去总支出

select(sum(insal+infuli+inchance+inother)-sum(ctel+ccloth+cfood+cbook+chospital))as实际收入

fromcost,income

--14.从jiating和cost表中找出姓名为“赵小山”的在2月份的总支出

selectsum(ctel+ccloth+cfood+cbook+chospital)astotal

fromcost,jiating

andcmonth=2

--15.在cost表中建立有返回参数的存储过程

createprocedurecostq

(@banknumint,

@ctelint,

@cclothint,

@cfoodint,

@cbookint,

@chospitalint,

@cmonthint)

as

insertintocostvalues(@banknum,@ctel,@ccloth,@cfood,@cbook,@chospital,@cmonth)

--执行存储过程

execcostq@banknum=16,@ctel=40,@ccloth=45,@cfood=360,@cbook=80,@chospital=400,@cmonth=6

--删除存储过程

dropprocedurecostq

--16.在jiating和income中建立一个有查询功能的视图

createviewm_i

asselectjiating.jtname,jtsex,jtage,insal

fromjiating,income

--查看视图

fromm_i

--17.在jiating中建立一个有查询功能的视图

createviewm_n

asselectjtsex,jtage,jthobby

--18.在cost表中建立一个有查询功能的视图

createviewm_s

asselectctel,ccloth,cbook

--19.利用视图m_s和m_n查询年龄为20的电话费、衣服费和性别

selectctel,ccloth,jtsex

fromm_n,m_s

wherejtage=20

--20.创建用户登录和访问权限

execsp_addlogin'

user2'

123'

zhaozq'

execsp_adduser'

db_owner'

user1'

456'

--21.将jiating的查询功能授予所有用户

grantselectonjiatingtopublic

--22.将查询和更新功能授予用户user2,并将此功能授予其他用户

grantselect,update(jtname)

onjiating

touser2

withgrantoption

七、实验总结和心得:

通过这次课程设计的实际调查与操作,我了解了目前记账管理的现状,学习并掌握了记账管理系统的设计思路,以及相应SQL语言的编写,同时,可以熟练运用流程控制语句来完成一些较为复杂的设计,存储过程和触发器也基本掌握,视图和索引的功能也有了相当程度的了解。

同时也由于个人知识不全面,所做程序功能不是很齐全。

对于用户管理权限的限制做的不够完善,还有对于数据库的安全不能有效保证。

掌握了SQLServer2000的功能与特点以及相应的SQL语言,让我们可以很好地运用触发器和存储过程等模块,去解决一些生活中的实际问题,而不光是纸上谈兵;

同时,可以使我们对一个完整数据库系统的设计过程有了更深入的了解和体会。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 解决方案 > 其它

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2