-
课程设计报告
课程设计题目
:
个人记账管理系统
专业:计算机科学与技术
班级:
1220701
姓名:赵小龙
学号
: 2
指导教师
:
吴建东
2014
年
1
月
10
日
1
个人记账管理系统
一、需求分析
·家庭成员(
member):
包括姓名(
mn)
、性别(
msex)
、年龄
(
mage)
、地位(
mstatu
s)
、身份证号码(
mID)
、银行账
号
(
banknum)
·收入(
income):
包括姓名(
mn)
、银行账号(
banknum)
、
工资(
isal)
、奖
金(
igang)
、其他收入(
iot
her)
、月份
(
imonth)
·
支出
(<
/p>
outcome):
包括银行账号
(
p>
banknum)
、
电话费
(
otel
)
、
服装费(
ocloth)
、食物费(
ofood)
、书费(
obook)
< br>、医疗
费(
ohos)
、月份(
omonth)
各对象之间的联系
如下:每个成员有多项收入,每个成员有
多项支出。
二、概念结构设计
个人记账管理系统的
E-R
图如图所示:
2
isal
mstat
us
mage
msex
mn
mID
igang
bank
num
mn
iother
members
bankn
um
income
收入
imont
h
支出
outcome
bankn
um
otel
ocloth
obook
ofood
ohos
omont
h
将
E-R
图转换成关系模式
Mem
ber
(
mn
,
banknum
,
msex
,
mage
,
mstatus
< br>)
income
(
mn
,
banknum
,
isal
,
igang
,
iother
,
imont
h
)
outcome
(
banknum
,
otel
,
ocloth
,
ofood
,
obook
,
ohos
,
omonth
)
三、逻辑数据库结构
由实体
members
、
income
、
outcome
转换的关系模式如下:
3
members
(
mn,msex,mage,mstatus,mID,Banknum)
income(mn,isal,iother,igang,imonth)
outcome(banknum,otel,ocloth,ofood,obook,oh
os,omont)
·先建立数据库
create DATABASE
[
个人记账管理系统
]
ON
(
NAME =
个人记账管理系统
_Data,
FILENAME =
'D:
个人记账管理系统
_',
SIZE =10,
FILEGROWTH = 10%)
LOG ON (
NAME =
个人记账管理系统
_Log,
FILENAME =
'D:
个人记账管理系统
',
SIZE = 1,
FILEGROWTH = 10%)
二.建立家庭成员表
create
table members
(
mn char(10) not null primary key,
msex char(2),
mageint,
mstatus char(20),
mIDint
,
banknumint)
插入数据
insert into members values ( '
夏东海
','
男
',45,'
p>
编导
',360121,0013)
insert into members values('
刘梅
','
女
',41,'
护士
',360122,0014)
insert into members values ('
刘星
','
男
',17,'
高二学生
',360124,0016)
insert into members values ('
夏雪
','
女
',18,'
高三学生
',360125,0017)
三.建立收入表
create
table income
(
mn char(10) ,
isalint ,
igangint ,
iotherint,
imonthint)
插入数据
insert into
income values
('
夏东海
',5000,1200,500,1)
4
insert into income values
('
夏东海
',2500,3500,300,3)
insert into income values('
夏
东海
',2400,4000,400,4)
insert
into income
values('
夏东海
',3000,3300,
400,6)
insert into income values('
夏东海
',3000,3500,500,8)
insert into income
values('
刘梅
',3000,1000,100,2)
insert into income values('
刘
梅
',2399,1200,1399,3)
insert
into income values
('
刘梅
',2345,1234,1459,5)
insert into income
values('
刘梅
',2344,1245,329,7)
insert into income
values('
刘梅
',2300,1200,320,9)
四、建立支出表
create
table outcome
(
banknumint,
otelint,
oclothint,
ofoodint,
obookint,
ohosint,
omonthint)
插入数据
insert into
outcome values (0013,30,400,600,450,1000, 1)
insert into outcome
values(0013,32,400,400,430,1900,2)
insert into outcome
values(0013,33,300,200,440,1300,5)
insert into outcome
values(0013,55,500,230,480,1700,8)
insert into outcome
values(0013,57,800,339,770,1000,10)
insert into outcome
values(0014,58,800,340,660,2000,2)
insert into outcome
values(0014,39,600,440,850,3000,3)
insert into outcome
values(0014,60,300,400,880,1000,4)
insert into outcome
values(0015,44,400,300,480,1200,5)
insert into outcome
values(0015,20,430,500,600,1500,6)
insert into outcome
values(0015,30,220,300,400,1200,7)
insert into outcome values
(0015,35,625,300,700,2400,10)
insert
into outcome values(0016,77,700,533,800,1000,11)
insert into outcome
values(0016,30,400,330,500,1000,12)
insert into outcome
values(0016,39,300,400,440,1200,9)
五.
根据表进行相关的查询和更新(插入、修改、删除)
1.
在
me
mbers
表中增加一个字段
alter table members
addpnum
char(10)
1.
将
members
表中姓‘刘’的成员年龄增加一岁
5
update members
set
mage=mage+1
where mn
like'
刘
%'
3.
在
income
表中查询
姓名为‘夏东海’的薪资和月份
selectisal,imonth
from
income
where
mn='
夏东海
'
4.
在
outcome
表中计
算总医疗费
select sum(ohos) as
total
from outcome
5.
在
ou
tcome
表中查询银行账号为‘
13
’的话费和服装费的总支出
selectotel+ocloth
from
outcome
wherebanknum=13
6.
在
outcome
表中查出
2
月份的食物费的总支出
selectomonth,sum(ofood) as total
from outcome
group by omonth
having(omonth=2)
7.
在
income
表中算出所有的
收入
select
sum(isal+igang+iother) as totalincome
from income
8.
p>
从
income
表和
outcome
查询姓名为夏东海,月份为
3
月的话费、服装费、食物费和医疗
费
select
sum(otel+ocloth+ofood+obook+ohos) as totaloutcome
fromoutcome,members
m=m
and
mn='
夏东海
'
andomonth=3
9.
p>
从
members
和
income
表和
outcome
表
中查询
6
月份姓名,总收入和总支出
,sum(isal+igang+iother) as
t
otalincome,sum(otel+ocloth+ofood+obook+ohos) as
totaloutcome
frommembers,income,outcome
where = and m=m
and =(select
mn from income where imonth=6)
group by
6