ImageVerifierCode 换一换
格式:DOCX , 页数:14 ,大小:109.66KB ,
资源ID:305052      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-305052.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(陈腾数据库课程设计个人记账管理系统.docx)为本站会员(b****1)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

陈腾数据库课程设计个人记账管理系统.docx

1、陈腾数据库课程设计个人记账管理系统课程设计报告 课程设计题目: 个人记账数据库管理系统 专 业:软件工程 班 级:1221805* *学 号: * * 2014年 1月09日 关系数据库原理及应用课程设计任务书一、目的:通过本次课程设计让学生能够综合运用所学的关系数据库原理知识解决并能设计一个实际问题,进一步掌握数据库原理的相关理论和数据库的设计实现过程,进一步提高学生的分析问题和解决问题的能力以及学生的动手能力。二、课程设计要求:1对各个系统进行系统功能需求分析2. 数据库设计分析阶段,进行详细的数据库需求分析,进行概念数据库的设计,画出数据库的E-R图(局部和整体E-R图)3. 设计出详细

2、的逻辑数据库结构,将各个实体和联系转化为相应的二维表即关系模式,指定各个关系的主关键字和外部关键字,并对各个关系的约束加以限定4. 通过企业管理器或是查询分析器实现各个二维关系(建议最好用SQL代码实现),要求建立相关的索引5. 根据系统功能需求设计相应的查询视图6. 要求根据系统功能需求建立存储过程7. 根据功能需求建立相应的触发器以保证数据的一致性8. 通过建立用户和权限分配实现数据库一定的安全性,考虑数据库的备份与恢复(此内容选作)三、课程是设计题目: 个人记账管理系统数据库的设计与实现描述:设计一个个人记帐系统。实现下列功能:1家庭人员信息维护2支出和收入项目维护;1家庭人员的支出明细

3、;2家庭人员的收入明细;二、数据库设计内容 3 (一)需求分析.3 (二)数据库概念设计.3 (三)数据库逻辑设计5 (四)数据库与数据表设计 物理结构设计5 1.数据库与数据表设计.5 2.数据完整性设计.6 (一)建数据库家庭管理库.7 (二)建表家庭信息表、支出表、收入表.7 (三)视图.9(四)存储过程.9(五)触发器 10(六)运行和维护12 1. 关系图的建立.12 2. 简单查询.123. 复杂查询.154.数据库的用户与权限管理17四、实验心得 22个人记账数据库管理系统一、需求分析家庭成员(jiating):包括姓名(jtname)、性别(jtsex)、年龄(jtage)、家

4、庭成员关系(jtrelation)、地位(jitstatus) 身份证号码(jtID)、爱好(jthobby)、银行账号(banknum)收入(income):包括姓名(inname)、银行账号(banknum)工资(insal)、岗位津贴(ingang)、偶然获得(inchance)、其他收入(inother)、月份(inmonth)支出(cost):包括银行账号(banknum)、电话费(ctel)、服装费(ccloth)、食物费(cfood)、书费(cbook)、医疗费(chospital)、月份(cmonth)各对象之间的联系如下:每个成员有多项收入,每个成员有多项支出。二概念结构设计

5、个人记账管理系统的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)create database zhaozqdrop databas

6、e zhaozq1.建立家庭成员表 use zhaozqcreate table jiating -家庭表(jtname char(10) not null primary key, -姓名,主键,起唯一标识作用 jtsex char(2), -性别 jtage int, -年龄 jtrelation char(10), -关系 jtstatus char(20), -职业 jtID int , -身份证号 jthobby char(20), -兴趣爱好 banknum int) -银行账号插入数据insert into jiating values ( 赵小山,男,50,父亲,司机,3601

7、21,踢足球,0013)insert into jiating values(李晓玲,女,45,母亲,职工,360122,购物,0014)insert into jiating values (赵小刚,男,20,哥哥,教师,360124,唱歌,0016)insert into jiating values (赵小强,男,26,我,学生,360125,看书,0017)-查看成员表select *from jiating-删除成员表drop table jiating2.建立收入表 use zhaozqcreate table income -收入表(inname char(10) , -收入人姓

8、名 insal int , -工资 infuli int , -福利收入 inchance int, -偶然获得 inother int, -其它收入 inmonth int) -月份插入数据insert into income values (赵小山,5000,1200,200,500, 1)insert into income values (赵小山,2500,3500,400,300,3)insert into income values(赵小山,2400,4000,400,300,4)insert into income values(赵小山,3000,3300, 400,399,6)

9、insert into income values(赵小山,3000,3500,300,500,8)insert into income values(李晓玲,3000,1000,100,300,2)insert into income values(李晓玲,2399,1200,1399,340,3)insert into income values(李晓玲,2345,1234,1459,330,5)insert into income values(李晓玲,2344,1245,1456,329,7)insert into income values(李晓玲,2300,1200,1300,32

10、0,9)insert into income values(赵小刚,1200,1300,120,330,12)insert into income values(赵小刚,1280,1900,170,270,6)insert into income values(赵小刚,1200,1300,130,220,12)insert into income values(赵小刚,1200,1400,130,280,11)insert into income values(赵小刚,600,50,100,300,8)-查看收入表select *from income -删除成员表drop table inc

11、ome3.建立支出表use zhaozqcreate table cost(banknum int , ctel int, -电话费 ccloth int, -衣服费 cfood int, -食物费 cbook int, -书费 chospital int ,-医疗费cmonth int) -月份插入数据insert into cost values (13,30,400,600,450,1000, 1)insert into cost values (13,32,400,400,430,1900,2)insert into cost values (13,33,300,200,440,130

12、0,5)insert into cost values (13,55,500,230,480,1700,8)insert into cost values (13,57,800,339,770,1000,10)insert into cost values (14,58,800,340,660,2000,2)insert into cost values (14,39,600,440,850,3000,3)insert into cost values (14,60,300,400,880,1000,4)insert into cost values (15,44,400,300,480,12

13、00,5)insert into cost values (15,20,430,500,600,1500,6)insert into cost values (15,30,220,300,400,1200,7)insert into cost values (15,35,625,300,700,2400,10)insert into cost values (16,77,700,533,800,1000,11)insert into cost values (16,30,400,330,500,1000,12)insert into cost values (16,39,300,400,440

14、,1200,9)-查看支出表select *from cost-删除成员表drop table cost五.根据表进行相关的查询和更新(插入、修改、删除)-1.在jiating表中建立一个check约束 -用来检查字段值所允许的范围alter table jiatingadd constraint jt_age check(jtage between 10 and 60)-2.在jiating表中增加一个字段alter table jiating add jtaaa char(10)-3.将jiating表中姓名为“赵小刚”的职位改为“经理”update jiating set jtstatu

15、s=经理where jtname=赵小刚-查看修改后的家庭表select *from jiating-4.在income表中查询姓名为“赵小山”的一年内其中几个月的收入select insal ,inmonthfrom income where inname=赵小山-5.在jiating和income表中查询爱好、工资、偶然获得和月份select jthobby,insal,inchance,inmonthfrom jiating ,income where jiating.jtname=income.inname -6.在cost表中查询医疗费的总支出select sum(chospital

16、) as total from cost-7.算出cost表中电话费和衣服费的总支出select sum(ctel+ccloth) as totalfrom cost-9.在cost表中查询银行账号为0013的电话费和衣服费的总支出select ctel+ccloth from costwhere banknum=13-10.在cost表中查出2月份的食物费的总支出select sum(cfood) as total,cmonthfrom costgroup by cmonthhaving (cmonth =2)-11.从cost表中算出所有的支出select sum(ctel+ccloth+

17、cfood+cbook+chospital) as alltotalfrom cost-12.从income表中算出所有的收入select sum(insal+infuli+inchance+inother) as 收入总数from income-13利用income和cost表算出实际收入,用总收入减去总支出select (sum(insal+infuli+inchance+inother)-sum(ctel+ccloth+cfood+cbook+chospital) as 实际收入from cost,income-14.从jiating和cost 表中找出姓名为“赵小山”的在2月份的总支出

18、select sum(ctel+ccloth+cfood+cbook+chospital) as totalfrom cost,jiatingwhere jtname=赵小山 and cmonth=2-15.在cost表中建立有返回参数的存储过程create procedure costq(banknum int , ctel int , ccloth int , cfood int , cbook int, chospital int, cmonth int )as insert into cost values( banknum,ctel,ccloth,cfood,cbook,chospi

19、tal,cmonth) -执行存储过程exec costq banknum=16,ctel=40,ccloth=45, cfood=360,cbook=80,chospital=400,cmonth=6-删除存储过程drop procedure costq-16.在jiating和income中建立一个有查询功能的视图create view m_ias select jiating.jtname,jtsex,jtage,insalfrom jiating ,incomewhere jiating.jtname=income.inname -查看视图select *from m_i-17.在ji

20、ating中建立一个有查询功能的视图create view m_nas select jtsex,jtage,jthobbyfrom jiating-18.在cost表中建立一个有查询功能的视图create view m_s as select ctel,ccloth,cbookfrom cost-19.利用视图m_s和m_n查询年龄为20的电话费、衣服费和性别select ctel,ccloth,jtsexfrom m_n,m_swhere jtage=20-20.创建用户登录和访问权限exec sp_addlogin user2,123,zhaozqexec sp_adduser user

21、2,user2,db_ownerexec sp_addlogin user1,456,zhaozqexec sp_adduser user1,user1,db_owner-21.将jiating的查询功能授予所有用户grant select on jiating to public-22.将查询和更新功能授予用户user2,并将此功能授予其他用户grant select,update(jtname)on jiatingto user2with grant option七、实验总结和心得:通过这次课程设计的实际调查与操作,我了解了目前记账管理的现状,学习并掌握了记账管理系统的设计思路,以及相应SQL语言的编写,同时,可以熟练运用流程控制语句来完成一些较为复杂的设计,存储过程和触发器也基本掌握,视图和索引的功能也有了相当程度的了解。同时也由于个人知识不全面,所做程序功能不是很齐全。对于用户管理权限的限制做的不够完善,还有对于数据库的安全不能有效保证。 掌握了SQL Server 2000的功能与特点以及相应的SQL语言,让我们可以很好地运用触发器和存储过程等模块,去解决一些生活中的实际问题,而不光是纸上谈兵;同时,可以使我们对一个完整数据库系统的设计过程有了更深入的了解和体会。

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

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