数据库课程设计报告-自来水管理公司_第1页
数据库课程设计报告-自来水管理公司_第2页
数据库课程设计报告-自来水管理公司_第3页
数据库课程设计报告-自来水管理公司_第4页
数据库课程设计报告-自来水管理公司_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

《数据库课程设计》系统开发报告课程名称:自来水公司收费管理系统专业:数字媒体技术班级:2013级小组成员:指导教师:、数据库逻辑结构设计4.1根据上述概念模型设计得出的E—R图和数据字典,我们可以得出系统中涉及的主要实体有8个,其结构如下:编号数据结构名属性1客户表客户ID,客户密码,客户姓名,客户地址,联系方式,客户余额,信用值2业务员表业务员ID,业务员密码,业务员姓名,业务员年龄,业务员地址,联系方式3水费单表客户ID,水费单ID,说明,金额,日期,是否欠费4充值记录表客户ID,日期,金额,说明5客户公告表公告ID,日期,标题,内容6客户与客户公告对应表公告ID,客户ID7企业新闻表通知ID,通知标题,通知内容,通知时间8停水通知表停水通知ID,停水时间,停水地区,停水内容4.2实体间的联系自来水收费管理系统中实体之间有4个联系,其关系如下:1、业务员和客户的关系是1:N,1个业务员可以有多个客户。2、客户和水费单的关系是1:N,每个客户可以有几张水费单.3、客户和充值记录的关系是1:N,每个客户可以有几次充值记录。4、客户与客户公告的关系是1:1,1条客户公告对应1个客户。根据以上逻辑结构分析我们可以知道:一个业务员有多个客户,每个客户可以有几张水费单,同时客户也能充值多次金额,而每条客户公告只对应一个客户。四、员工薪资管理系统数据库功能模块的创建1建立员工表,工资表,科室表--USEygxz--GO--CREATETABLE科室--(部门代码kchar(10)PRIMARyKEY,--部门名称char(30)NOTNULL)--GO--CREATETABLE员工--(员工工号ychar(10)PRIMARyKEY,--姓名ychar(10)notnull,--性别char(2)constraintY3check(性别in('男','女')),--出生日期datetime,--部门代码ychar(10)foreignkey(部门代码y)references科室(部门代码k),--职业char(20))--GO--CREATETABLE工资--(--员工工号gchar(10)primarykey,--constraintY1check(员工工号gbetween'1110000'and'1111111'),--foreignkey(员工工号g)references员工(员工工号y),--姓名gchar(10),----基本工资money,--福利补贴money,--奖励工资money,--失业保险money,--住房公积金money,--日期datetime,--constraintc1check(基本工资+福利补贴+奖励工资-失业保险-住房公积金<=3000))GO2录入员工表,工资表,科室表的数据然后查询表USEygxzGOINSERT科室VALUES('0001','经理室')INSERT科室VALUES('0002','财务科')INSERT科室VALUES('0003','技术科')INSERT科室VALUES('0004','销售科')GOSELECT*FROM科室USEygxzGOINSERT员工VALUES('1110001','张毅','男','1991-01-01','0003','工程师')GOINSERT员工VALUES('1110002','张尔','男','1991-02-01','0003','工程师')INSERT员工VALUES('1110003','张三','男','1991-02-02','0003','助理工程师')INSERT员工VALUES('1110004','李四','女','1991-04-02','0003','助理工程师')NSERT员工VALUES('1110005','李梦','女','1992-04-02','0003','助理工程师')INSERT员工VALUES('1110006','李飞','女','1991-04-02','0002','会计')NSERT员工VALUES('1110007','王梦','女','1992-04-02','0002','助理会计')NSERT员工VALUES('1110008','邢梦','女','1992-04-02','0002','助理会计')INSERT员工VALUES('1110009','武阳','男','1992-05-02','0002','助理会计')INSERT员工VALUES('1110010','无双','男','1993-05-02','0001','副经理')INSERT员工VALUES('1110011','霸气','男','1992-05-02','0001','秘书')SELECT*FROM员工USEygxzGOINSERT工资VALUES('1110001','张毅','2000','200','300','100','240','2013-05-15')INSERT工资VALUES('1110002','张尔','2000','200','300','100','240','2013-05-15')INSERT工资VALUES('1110003','张三','1800','200','200','100','240','2013-05-15')INSERT工资VALUES('1110004','李四','1800','200','200','100','240','2013-05-15')INSERT工资VALUES('1110005','李梦','1800','200','200','100','240','2013-05-15')INSERT工资VALUES('1110006','李飞','2500','200','400','100','240','2013-05-15')INSERT工资VALUES('1110007','王梦','2100','200','400','100','240','2013-05-15')INSERT工资VALUES('1110008','邢梦','2100','200','400','100','240','2013-05-15')INSERT工资VALUES('1110009','武阳','2100','200','400','100','240','2013-05-15')INSERT工资VALUES('1110010','无双','2700','100','300','200','240','2013-05-15')INSERT工资VALUES('1110011','霸气','2000','200','400','100','140','2013-05-15')INSERT工资VALUES('1110012','吴淑敏','2200','200','400','100','240','2013-05-15')INSERT工资VALUES('1110013','吴飞扬','2250','100','400','100','240','2013-05-15')INSERT工资VALUES('1110014','邢小迪','2750','200','400','100','440','2013-05-15')INSERT工资VALUES('1110015','朱鸿儒','2100','200','300','100','240','2013-05-15')INSERT工资VALUES('1110016','熊朝辉','2100','200','300','100','240','2013-05-15')INSERT工资VALUES('1110017','吴飞扬','2100','200','300','100','240','2013-05-15')INSERT工资VALUES('1110018','杨亚迪','2140','200','300','100','240','2013-05-15')INSERT工资VALUES('1110019','李敏','2100','200','300','100','240','2013-05-15')INSERT工资VALUES('1110020','郭佳','2440','200','300','100','240','2013-05-15')GOSELECT*FROM工资3运用触发器删除表中的信息createtriggerdel_ygon员工insteadofdeleteasbegindelete工资where员工工号gin(select员工工号yfromdeleted)delete员工where员工工号yin(select员工工号yfromdeleted)enddelete员工where员工工号y='1110003'goSELECT*FROM工资SELECT*FROM员工I4视图查询表中的信息createviewY01(员工工号y,姓名y,性别,职业,部门名称,出生日期,基本工资,福利补贴,奖励工资,失业保险,住房公积金)asselect员工工号y,姓名y,性别,职业,部门名称,出生日期,基本工资,福利补贴,奖励工资,失业保险,住房公积金from员工,工资,科室where员工工号y=员工工号g;查询职工总人数selectcount(distinct员工工号y)职工总人数fromY01--查询部门总数--selectcount(distinct部门名称)as科室--fromy015存储过程的创建1)、创建存储过程查询每个员工的实际发放工资USEygxzGOCREATEPROCEDURE员工工号y_实际工资@员工工号ychar(10)='%'ASBEGINSELECT员工工号y,姓名y,部门代码y,职业,基本工资+福利补贴+奖励工资-失业保险-住房公积金as实际工资,日期FROM员工,工资WHERE员工工号y=员工工号gand员工工号g=@员工工号yEND执行存储过程员工工号y_实际工资execute员工工号y_实际工资'1110011'2)、创建存储过程查询每个员工的扣除工资USEygxzGOCREATEPROCEDURE员工工号y_扣除工资@员工工号ychar(10)='%'ASBEGINSELECT员工工号y,姓名y,部门代码y,职业,失业保险+住房公积金as扣除工资,日期FROM员工,工资WHERE员工工号y=员工工号gand员工工号g=@员工工号yEND执行存储过程员工工号y_扣除工资execute员工工号y_扣除工资'1110011'3)、创建存储过程查询各部门的人数USEygxzGOCREATEPROCEDURE部门_人数@部门代码char(10)='%'ASBEGINselect部门名称,count(*)as总人数from员工,科室where部门代码k=部门代码yand部门代码y=@部门代码groupby部门名称;END执行存储过程部门_人数execute部门_人数'0003'4)、创建存储过程查询各职业的人数USEygxzGOCREATEPROCEDURE职业_人数@职业char(10)='%'ASBEGINselect职业,count(*)as总人数from员工where职业=@职业groupby职业END执行存储过程职业_人数execute职业_人数'销售专员'5)、创建存储过程按部门查询工资USEygxzGOCREATEPROCEDURE部门_工资@部门代码char(10)='%'ASBEGINselect员工工号y,姓名g,部门名称,职业,基本工资+福利补贴+奖励工资-失业保险-住房公积金as实际工资from员工,工资,科室where部门代码k=部门代码yand员工工号y=员工工号gand部门代码ylike@部门代码end执行存储过程部门_工资execute部门_工资'0002'6)、创建存储过程按职业查询工资USEygxzGOCREATEPROCEDURE职业_工资@职业nchar(20)='%'ASBEGINselect员工工号y,姓名g,职业,基本工资+福利补贴+奖励工资-失业保险-住

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论