版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、数据库课程设计任务书一、课程设计的目的一、课程设计的目的数据库课程设计是软件工程专业(本科)教学大纲要求的重要实践性环节之一,是学习完数据库原理及应用和Oracle 数据库应用两门课程后进行的一次数据库方面的综合练习。其目的在于:配合数据库原理及应用和Oracle 数据库应用课程的教学,使学生能巩固和加深对数据库基础理论和基本知识的理解;掌握使用数据库进行软件设计的基本思想和方法;提高学生运用数据库理论解决实际问题的能力;培养学生调查研究、查阅技术文献、资料、手册以及编写技术文献的能力。二、课程设计的内容及要求二、课程设计的内容及要求内容内容:用一种高级语言和当前流行的数据库管理系统相结合,完
2、成一个小型管理系统的设计与开发。所设计的小型管理系统应包含两个以上(不多于 4 个)的模块以及输入输出、查询、插入、删除等基本功能。根据课程设计 2 周时间的安排选择适当大小的设计课题,课题的选择可以是实际问题,也可以是虚构的问题。根据题目的基本需求,画出系统结构图,并对数据库进行详细设计,编写程序,同时写出关于本数据库管理系统的报告书。要求:要求:(1) 要求学生按照数据库原理及应用和Oracle 数据库应用相关知识以及数据库课程设计教学大纲完成一个数据库设计,并撰写相应的课程设计报告。(2)提交课程设计报告。要求完成课程设计报告大约 15 页-20 页,包括相应的模块设计文档、数据库设计文
3、档、所承担模块的核心代码、测试过程分析与运行结果等。分组进行的同学共同完成基本设计与数据库设计,但每个人至少必须独立完成一个模块设计与实现,并写入课程设计报告中。三、课程设计时间三、课程设计时间课程设计时间为 2 周(10 个工作日)四、课程设计分组四、课程设计分组一人一组五、课程设计的成果和形式五、课程设计的成果和形式1报告一篇建议论文按下列的提纲书写2符合设计要求的数据库应用系统一个指导教师签字:年 月 日目目 录录1 需求分析需求分析.41.1 引言.41.2 任务概述.41.2.1 用户角色.41.2.2 管理员角色.52 数据库概要设计数据库概要设计.52.1 逻辑模型.52.2 数
4、据字典.53. 数据库逻辑设计数据库逻辑设计.73.1 关系模式.73.2 实体间的关系.73.3 完整性约束.73.4 范式.73.5 DBMS 选择 .74. 数据库实施数据库实施.84.1 基于 SQL SERVER的数据表设计 .84.1.1教工信息表.84.1.2 用户信息表.84.1.3 工资等级表.84.2 角色.84.3 关系图.95 系统实现系统实现.95.1 登陆界面.95.2 主菜单界面.12参考文献参考文献.17附件:附件:.181 1 需求分析需求分析1.11.1 引言引言随着全球信息化的发展,人事信息化建设也赶上时代的步伐。工资管理系统的主要目标是支持企、事业的财政
5、管理与事务处理业务人员的劳动强度,辅助企、事业管理,辅助高层领导决策,提高企、事业的工作效率,从而使企、事业能够以少的投入获得更好的社会效益与经济效益,像人事系统、工资管理系统等就属于人事工资管理系统的范畴。它是单位实现现代化建设的基础工程,是提高单位的管理水平、业务的运转效率和服务质量的必要手段。因此许多的程序员都可能面对如何开发一套比较完善的人事工资管理系统是相当有必要的问题。随着计算机技术的飞速发展,计算机在企、事业管理中应用的普及,利用计算机实现企、事业人事工资的管理势在必行。本系统结合人事、财务制度,经过需求分析、总体设计和详细设计,采用功能强大的 Visual C+6.0 作为开以
6、语言,以 Microsoft access 作为后台数据库,来开发模拟我校的、单机版的人事工资管理系统。整个系统从符合操作简便、接口友好、灵活、实用、安全的要求出发,完成人事、工资管理的全过程,包括新进员工加入时人事档案的建立、老员工的转出、职位等的变动引起职工信息的修改、员工信息查询、统计等人事管理工作以及新进员工工资的新增、老员工工资修改等工资管理工作。论文主要介绍了本课题的开发背景,所要完成的功能和开发的过程。重点说明了系统设计的重点、思想、难点技术和解决方案。1.21.2 任务概述任务概述 教师工资管理系统共有 2 个角色选择:用户角色,管理员角色。1.2.11.2.1 用户角色用户角
7、色 玩家角色能够实现如下 2 项功能: 1. 信息查询:用户可以查询自己工资的发放情况 2. 密码修改:用户可以修改需要更改的密码1.2.21.2.2 管理员角色管理员角色 管理员角色能够实现如下 3 项功能: 1.添加功能:向系统中添加新的数据 2.删除功能:删除系统中不需要的数据 3.修改功能:修改系统中修要更新的数据2 2 数据库概要设计数据库概要设计2.12.1 逻辑模型逻辑模型教师工资管理系统系统用户管理管理员管理工资信息管理用户密码修改用户信息修改教工信息添加教工信息修改教工信息删除工资统计工资修改工资创建用户数据查询图 2-1 总体逻辑模型2.22.2 数据字典数据字典表 2-1
8、 工资信息数据字典表表中列名数据类型长度数据来源C_numvarchar10工资信息表WorkdayChar4工资信息表AbsentdayChar4工资信息表Monthvarchar2工资信息表 表 1.2 教工工资数据字典表表中列名数据类型长度数据来源idint4教工工资信息表objectidint4教工工资信息表propertyvarchar64教工工资信息表valuevarchar255教工工资信息表uvaluenvarchar255教工工资信息表lvalueimage16教工工资信息表versionint4教工工资信息表表 1.3 教工信息数据字典表表中列名数据类型长度数据来源e_nu
9、mvarchar10教工信息表namevarchar15教工信息表passwordvarchar8教工信息表postnvarchar20教工信息表sexchar2教工信息表tel_numberchar15教工信息表stu_degreevarchar15教工信息表deptvarchar15教工信息表 E-R 图 根据所要实现的功能设计,可能建立它们之间的关系,进而实现逻辑结构功能。 教师工资管理系统可划分 3 个实体: 用 E-R 图描述这些实体。3.3. 数据库逻辑设计数据库逻辑设计3.13.1 关系模式关系模式 本系统含有 3 个实体,将之转换为 2 个关系模式 种族-职业选择(种族名称,职
10、业名称) 职业-装备选择(职业名称,装备属性,装备名称)3.23.2 实体间的关系实体间的关系 本系统含有 3 个实体( 为主码, 为外码) 职称(种族名称,阵营,职业名称,种族介绍) 教工(职业名称,装备属性,职业介绍,种族名称) 装备(装备名称,装备属性,装备部位,伤害加成,暴击加成,急速加成)3.33.3 完整性约束完整性约束 3.3.1 实体完整性:3 个实体中的 4 个主码都不为空,满足实体完整性。 3.3.2 参照完整性:3 个实体之间外码已经给出,都能找到主码关系表中属性与之对应,满足参照完整性3.43.4 范式范式 本系统 3 个实体,众多属性之间不存在任何函数依赖关系,所以满
11、足第三范式。3.53.5 DBMSDBMS 选择选择 本系统选择 SQL Server 为数据库管理系统。4.4. 数据库实施数据库实施4.14.1 基于基于 SQLSQL ServerServer 的数据表设计的数据表设计4.1.14.1.1 教工信息表教工信息表图 4-1 种族表4.1.24.1.2 用户信息表用户信息表图 4-2 职业表4.1.34.1.3 工资等级表工资等级表图 4-3 装备表4.2 角色 建立了用户和管理员 2 个角色 用户角色:只能执行查询和密码修改操作。 管理员角色:能进行查询,修改,添加,删除操作。4.3 关系图图 4-4 关系图5 5 系统实现系统实现5.15
12、.1 登陆界面登陆界面packagepackage salary;importimport java.awt.*;importimport javax.swing.*;importimport java.awt.event.*;importimport java.sql.*;classclass LandFrame extendsextends JFrameJComboBox list;JLabel jLabel1;JLabel jLabel2;JTextField jtf1;/TextField jtf2;JPasswordField jpwf;JButton jbtn,jbtn1;Land
13、Frame(String s)supersuper(s);setLayout(nullnull);setBounds(100,100,500,400);list=newnew JComboBox();list.setBorder(BorderFactory.createTitledBorder(请选择登录);list.addItem(管理员登录);list.addItem(用户登录);list.setBounds(175,50,150,50);jLabel1=newnew JLabel(用户名:);jLabel2=newnew JLabel(密码:);jbtn=newnew JButton(登
14、录);jbtn.addActionListener(newnew ActionListener()publicpublic voidvoid actionPerformed(ActionEvent e)testify(););jbtn1=newnew JButton(退出);jbtn1.addActionListener(newnew ActionListener()publicpublic voidvoid actionPerformed(ActionEvent e)dispose(););jtf1=newnew JTextField(10);/jtf2=new TextField(10);
15、/ jtf2.setEchoChar(*);jpwf=newnew JPasswordField(10);jpwf.setEchoChar(*);jLabel1.setBounds(155,150,50,30);jLabel2.setBounds(155,190,50,30);jtf1.setBounds(210,150,100,25);/jtf2.setBounds(230,190,100,25);jpwf.setBounds(210,190,100,25);jbtn.setBounds(120,250,80,40);jbtn1.setBounds(290,250,80,40);/jbtn.
16、setBounds(110,110,50,50);Container con=getContentPane();con.add(list);con.add(jLabel1);con.add(jtf1);con.add(jLabel2);/ con.add(jtf2);con.add(jpwf);con.add(jbtn);con.add(jbtn1);setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);getRootPane().setDefaultButton(jbtn);setVisible(truetrue);/validate();voi
17、dvoid testify()String str;str=(String)list.getSelectedItem();ifif(str=管理员登录)test_manage();/System.out.println(Hello);elseelsetest_employee();/System.out.println(list.getSelectedItem();图 5-1 登陆界面5.2 主菜单界面 packagepackage salary;importimport javax.swing.*;importimport java.awt.*;importimport java.awt.e
18、vent.*;importimport java.sql.*;importimport javax.swing.table.*;importimport java.util.*;/*public class ManageFrame public static void main(String args)Manage mf=new Manage(工资管理系统);*/ classclass ManageFrame extendsextends JFrame JLabel jLabel1,jLabel2,jLabel4,jLabel5,jLabel6,jLabel7;JTextField jtf1,
19、jtf2,jtf3,jtf4,jtf5;JButton btn1,btn2,btn3,btn4,btn5,btn6,btn7,btn8;JComboBox jcb1,jcb2;ManageFrame(String s)supersuper(s);setLayout(nullnull);setBounds(100,100,500,500);jcb1=newnew JComboBox();jcb1.addItem(1);jcb1.addItem(2);jcb1.addItem(3);jcb1.addItem(4);jcb1.addItem(5);jcb1.addItem(6);jcb1.addIt
20、em(7);jcb1.addItem(8);jcb1.addItem(9);jcb1.addItem(10);jcb1.addItem(11);jcb1.addItem(12);jcb2=newnew JComboBox();jcb2.setBorder(BorderFactory.createTitledBorder(请选择月份);jcb2.addItem(1);jcb2.addItem(2);jcb2.addItem(3);jcb2.addItem(4);jcb2.addItem(5);jcb2.addItem(6);jcb2.addItem(7);jcb2.addItem(8);jcb2
21、.addItem(9);jcb2.addItem(10);jcb2.addItem(11);jcb2.addItem(12);jLabel1=newnew JLabel(员工号:);jLabel2=newnew JLabel(日期:);jLabel4=newnew JLabel(月);jLabel5=newnew JLabel(工作天数:);jLabel6=newnew JLabel(缺席天数:);jLabel7=newnew JLabel(按月份查询员工工资:);jtf1=newnew JTextField(10);jtf4=newnew JTextField(2);jtf5=newnew
22、JTextField(2);btn1=newnew JButton(更改基本工资);btn1.addActionListener(newnew ActionListener()publicpublic voidvoid actionPerformed(ActionEvent e)S_change sc=newnew S_change(修改工资););btn2=newnew JButton(修改员工信息);btn2.addActionListener(newnew ActionListener()publicpublic voidvoid actionPerformed(ActionEvent
23、e)Alter al=newnew Alter(修改););btn3=newnew JButton(增加员工);btn3.addActionListener(newnew ActionListener()publicpublic voidvoid actionPerformed(ActionEvent e) IncreaseFrame inf=newnew IncreaseFrame(增加员工););btn4=newnew JButton(删除员工);btn4.addActionListener(newnew ActionListener()publicpublic voidvoid acti
24、onPerformed(ActionEvent e)Delete dl=newnew Delete(删除员工););btn5=newnew JButton(查看所有员工信息);btn5.addActionListener(newnew ActionListener()publicpublic voidvoid actionPerformed(ActionEvent e) / TODOTODO 自动生成方法存根lookover(););btn6=newnew JButton(确定);btn6.addActionListener(newnew ActionListener()publicpubli
25、c voidvoid actionPerformed(ActionEvent e) / TODOTODO 自动生成方法存根count(););btn7=newnew JButton(查询);btn7.addActionListener(newnew ActionListener()publicpublic voidvoid actionPerformed(ActionEvent e)query(););btn8=newnew JButton(退出);btn8.addActionListener(newnew ActionListener()publicpublic voidvoid actio
26、nPerformed(ActionEvent e)dispose(););jLabel1.setBounds(60, 40, 50, 20);jtf1.setBounds(115,40,100,20);jLabel2.setBounds(300,40,30,20);jcb1.setBounds(340,40,45,20);jLabel4.setBounds(395,40,20,20);jLabel5.setBounds(60,80,60,20);jtf4.setBounds(125,80,30,20);jLabel6.setBounds(200,80,60,20);jtf5.setBounds
27、(265,80,30,20);jLabel7.setBounds(80,120,130,30);jcb2.setBounds(215,120,80,50);btn1.setBounds(90,230,130,30);btn2.setBounds(270,230,130,30);btn3.setBounds(100,290,100,30);btn4.setBounds(280,290,100,30);btn5.setBounds(150,370,200,30);btn6.setBounds(340,75,60,30);btn7.setBounds(340,130,60,30);btn8.setB
28、ounds(200,420,80,30);Container con=getContentPane();con.add(jLabel1);con.add(jtf1);con.add(jLabel2);con.add(jcb1);con.add(jLabel4);con.add(jLabel5);con.add(jtf4);con.add(jLabel6);con.add(jtf5);con.add(jLabel7);con.add(jcb2);con.add(btn1);con.add(btn2);con.add(btn3);con.add(btn4);con.add(btn5);con.add(btn6);con.add(btn7);con.add(btn8);setDefaultC
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- TMB肿瘤突变负荷精准评估
- DB5308T 16.3-2014 景东无量山乌骨鸡养殖综合技术规范 第3部分:繁殖与饲养管理
- 2026云南楚雄州双柏县选调由政府安排工作退役士兵6人备考题库及1套参考答案详解
- 2026广西职业技术学院高层次人才招聘52人备考题库及答案详解一套
- 2026济南能源集团产业发展有限公司招聘3人备考题库及1套参考答案详解
- 2026新疆吐鲁番市托克逊县面向社会招聘警务辅助人员138人备考题库有答案详解
- 2026第二季度重庆中医药学院附属江津医院(重庆市江津区中医院)招聘15人备考题库及完整答案详解1套
- 2026中国科学院海洋研究所特别研究助理(含博士后)招聘83人备考题库及答案详解一套
- 2026北京师范大学南山附属学校南山区招聘6人备考题库及一套完整答案详解
- 2026重庆巫山工业园区管理委员会招聘全日制公益性岗位工作人员1人备考题库及一套参考答案详解
- 2026福建蓝碳信用体系建设评估规划报告
- 埃博拉病毒病诊疗方案(2026年版)解读课件
- 2026年高考地理三轮复习:10大地理热点考点+模拟试题(含答案)
- 2026年合肥高新区社区工作者招聘96名笔试参考题库及答案解析
- 凉山州2025年四川凉山州州属事业单位选调工作人员53名笔试历年参考题库典型考点附带答案详解
- 2026甘肃中考地理考前一周加分卷含答案
- GJB190A-2024《特性分类》标准深度解读
- 工商银行装修工程施工组织设计
- 2026年高考新高考II卷英语考试试卷及答案
- 教育强国建设三年行动计划(2025-2027年)
- 20S515 钢筋混凝土及砖砌排水检查井
评论
0/150
提交评论