收藏 分销(赏)

数据库设计全篇.doc

上传人:仙人****88 文档编号:9374125 上传时间:2025-03-23 格式:DOC 页数:17 大小:257.50KB
下载 相关 举报
数据库设计全篇.doc_第1页
第1页 / 共17页
数据库设计全篇.doc_第2页
第2页 / 共17页
点击查看更多>>
资源描述
江 西 理 工 大 学 本 科 数 据 库 课 程 设 计(论文) 题 目:工资管理系统 学 院:信息工程学院 专 业: 班 级: 学 生: 学 号: 指导教师: 目 录 第一章 需求分析……………………………………………3 1.1数据录入功能…………………………………………………3 1.2数据查询功能…………………………………………………3 1.3系统功能图……………………………………………………4 第二章 概念结构设计…………………………………………4 2.1概念设计………………………………………………………4 2.2逻辑设计………………………………………………………6 2.3物理设计………………………………………………………7 2.4数据完整性设计………………………………………………10 第三章 开发工具及平台……………………………………11 3.1开发工具………………………………………………………11 3.2开发平台………………………………………………………11 3.3数据库连接方式………………………………………………11 第四章 关键代码和主要界面………………………………12 4.1连接数据库代码…………………………………………12 4.2添加代码…………………………………………………12 4.3删除代码…………………………………………………15 4.4修改代码…………………………………………………15 4.5登陆界面…………………………………………………17 第一章 需求分析 本系统实现以下主要功能 1.1数据录入功能 主要任务是对各种工资信息进行日常的管理,如工资信息的输入、查询、修改、增加、删除,迅速准确地完成各种工资信息的统计计算和汇总。 1.2数据查询功能 系统需要提供以下查询功能: 1)员工津贴信息情况、保留工资、综合补贴、薪级工资等信息。 2)员工工资基本情况:年、月、姓名、部门、基本工资、医疗金、失业金、应发工资、实发工资等。 1.3系统功能图 表1-3 功能图 工资管理系统 员工信息 工资信息 工资汇总 工资查询 系统维护 资料输入 员工查询 工资总表 工资查询 基本工资 工资浏览 员工增删 工龄工资 岗位工资 删除用户 增加用户 第二章 概念结构设计 2.1概念设计 分析前面的系统功能要求,需要一个表来存储和管理员工信息,使系统能够接受员工原始的各项数据,以实现数据录入、查询和统计员工信息等功能。员工是本系统的第一个实体。 为了能实现查询和统计部门内员工情况等功能,必须要有一个表来存储和管理所有部门的信息。部门是本系统的第二个实体。 工资是以员工工作情况来制定的,需要建立一个表来记录各种工资、津贴、扣款的信息。它主要为各种查询和统计功能提供工资数据,工资是第三个实体。 据此可画出E-R图如下: 表2.1 E—R图 部门 工作 员工 获得 工资 N M M 部门名称 负责人 人数 公积金 岗位津贴 保留工资 工会费 实发工资 应发小计 综合补贴 职岗津贴 薪级工资 失业金 养老保险 医疗金 员工号 工龄 部门名称 职务等级 性别 姓名 年龄 1 2.2逻辑设计 将数据库的概念模型转换为关系模型: 实体转换成的关系模式有: 员工(工号,姓名,性别,年龄,部门名称,工龄,职务等级) 部门(部门名称,部门负责人,部门人数) 获得(工号,姓名) 工资(工号,岗位津贴,保留工资,职岗津贴,综合补贴,薪级工资,应发小计,养老保险,医疗金,失业金,公积金,工会费,实发工资) 带下划线的属性为各个关系模式的外码,字体为粗体的属性为各关系模式的主码。 关系范式:工资管理系统∈1NF 每个属性均不可再分。 2.3物理设计 1.数据库与数据表设计 ①员工信息数据表定义 列名 数据类型 长度 允许空 员工号 Varchar 20 姓名 Varchar 50 √ 性别 Varchar 2 工龄 Char 10 部门名称 Varchar 50 √ 年龄 Char 10 √ 职务等级 Varchar 50 √ 其中员工号是主键,唯一标识。 部门名称是外键。员工号将记录员工的编号,在员工信息表中增加这一列时,虽然增加了数据冗余,但可以在查询每个员工信息时,提高系统的性能。因为员工信息表的记录数相对固定,相比之下,增加这个冗余的列对于整个系统来说是有利的。通过它,系统将引用到工资信息。 ②部门信息数据表定义 列名 数据类型 长度 允许空 部门名称 Varchar 50 负责人 Varchar 50 √ 人数 Int √ 其中部门名称是该表的主键,唯一标识一个部门 ③工资数据表定义 列名 数据类型 长度 允许空 保留工资 Float 10 √ 岗位津贴 Float 10 √ 职岗津贴 Float 10 √ 综合补贴 Float 10 √ 薪级工资 Float 10 √ 应发小计 Float 10 √ 养老保险 Float 10 √ 医疗金 Float 10 √ 失业金 Float 10 √ 公积金 Float 10 √ 工会费 Float 10 √ 实发工资 Float 10 √ 员工编号 Varchar 20 其中员工编号作为该表的主键,唯一标识,保证信息表的数据的参照完整性。 2.4数据完整性设计 1)给每个表实施主键约束。 ①主键约束、非空值约束 员工:员工号为主键,所以此项非空。 部门:部门名称为主键所以此项非空。 工资:员工编号为主键,所以此项非空。 2)实施check约束 员工表中建立一个检查约束,即员工性别不是“男”就是“女”。 第三章 开发平台及工具 3.1开发工具: Dreamweaver 8 3.2开发环境的选择: Microsoft access 2003以及IIS信息服务 在使用Dreamweaver 8作为工具的条件下,运用VB Script语言 、Html标签、css页面布局,以Microsoft access 2003作为后台数据库,在IIS环境下编写并测试运行网页。 3.3数据库连接方式: 本系统使用的是ADO 中OLE DB Connection 方式连接数据库。 OLE DB是通向不同的数据源的低级应用程序接口。OLE DB不仅包括微软资助的标准数据接口开放数据库连通性(ODBC)的结构化查询语言(SQL)能力,还具有面向其他非SQL数据类型的通路。OLE DB中的对象主要包括数据源对象、阶段对象、命令对象和行组对象。 第四章 关键代码和主要界面 4.1连接数据库代码 <% On error resume next dim DBPath,connstr,conn DBPath="Database/FlexMenu.mdb" '动态链接路径 connstr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(DBPath) set conn=server.createobject("ADODB.CONNECTION") conn.open connstr %> 4.2添加代码 <% Set excconn=Server.CreateObject("ADODB.Connection") excStrConn= "Driver={Microsoft Excel Driver (*.xls)};DBQ="&request("file") excconn.Open excStrConn '查询excel语句 Set excrs = Server.CreateObject("ADODB.Recordset") excSql="select * from [Sheet1$]" excrs.Open excSql,excconn,2,2 set rs=server.createObject("ADODB.Recordset") do while Not excrs.EOF flat = 0 sql="select * from namesfz where name='"&excrs(0)&"'" set rs=server.createObject("ADODB.Recordset") rs.open sql,conn,1,1 if not rs.EOF then '此用户存在 'response.write rs("id") 'if not rs.eof then 'j=0 sql1="select * from jhgz where name='"&rs("name")&"'" set rs1=server.CreateObject("adodb.recordset") rs1.open sql1,conn,1,3 do while Not rs1.EOF if year(date())= year(rs1("time")) and month(rs1("time"))=month( year(date())&"-"&request("month_gz")&"-"&day(date())) then flat = 1 for t_i=1 to 19 rs1(t_i+1) = excrs(t_i) next rs1("time") =( year(date())&"-"&request("month_gz")&"-"&day(date())) rs1.update 'response.write rs1(2) ' response.write "<script>alert('更新成功!');location.href='gzmanage.asp';<'/script>" end if rs1.movenext loop if flat<>1 then rs1.addnew for t=0 to 19 rs1(t+1)=excrs(t) next rs1("time") =( year(date())&"-"&request("month_gz")&"-"&day(date())) rs1.update end if rs1.close set rs1=nothing ' response.write "<script>alert('添加成功!');location.href='gzmanage.asp';</'script>" else '此用户不存在 sql="select * from cunzainame " set jhgz_rs=server.createObject("ADODB.Recordset") jhgz_rs.open sql,conn,1,3 jhgz_rs.addnew jhgz_rs("name")=excrs(0) jhgz_rs.update ' response.write jhgz_rs("name") jhgz_rs.close end if ' rs.close excrs.MoveNext Loop set rs=nothing set jhgz_rs=nothing excrs.close set excrs=nothing excConn.close set excConn=nothing set cunzai_rs=server.createObject("ADODB.Recordset") cunsql="select * from cunzainame " cunzai_rs.open cunsql,conn,1,1 %> <table width="100%" border="0" cellspacing="0" cellpadding="0"> <% do while Not cunzai_rs.EOF %> <tr> <td><%= cunzai_rs(1)%></td> <td><%= cunzai_rs(2)%></td> </tr> </table> <% cunzai_rs.MoveNext loop response.write "以下用户没有注册!数据没有存入数据库!" cunzai_rs.close set rss=server.createobject("adodb.recordset") sql="delete from cunzainame " rss.open sql,conn,1,1 set rss=nothing conn.close set conn=nothing 4.3删除代码 <% dim UserID,sql,rs UserID=trim(Request("ID")) idArr=split(UserID) for i = 0 to ubound(idArr) sql="delete from jhgz where ID="&clng(idarr(i)) conn.Execute sql next rs.close conn.close set rs=nothing set conn=nothing response.redirect "gzmanage.asp" %> 4.4修改代码 <% if request("act")="xg" then sql1="select * from jhgz where ID="&request("ID") set rs1=server.CreateObject("adodb.recordset") rs1.open sql1,conn,1,3 for t=2 to 20 if request("gz"&t)<>"" then rs1(t)=request("gz"&t) end if next rs1(22) = request("gz21") rs1(23) = request("gz22") rs1(24) = request("gz23") rs1.update ' response.write rs1("sex") rs1.close set rs1=nothing response.write "<script>alert(' 修改成功!');location.href='gzmanage.asp';</script>" else set rs=server.CreateObject("adodb.recordset") sql="select * from jhgz where ID="&request("ID") rs.open sql,conn,1,1 %> 4.5登陆界面 第 17 页
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 教育专区 > 小学其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服