数据库课程设计报告
- 格式:doc
- 大小:267.50 KB
- 文档页数:25
数据库设计报告学生选课系统学院:计算机科学与技术学院专业:软件工程班级:软件工程四班姓名:付郭中完成时间:2013.7.15目录数据库设计报告 (1)1.系统概述 (3)2.系统分析 (3)2.1需求分析 (3)2.2可行性分析 (3)3.总体设计 (4)3.1项目规划 (4)3.2系统功能结构图 (4)4系统设计 (5)4.1设计目标 (5)4.2开发及运行环境 (5)4.3学生选课系统的详细设计 (5)4.3.1 登录界面的设计 (5)4.3.2 新用户的注册 (9)4.3.3 关于学生选课的部分 (13)4.3.4 数据库的设计 (19)5.实验总结 (22)1.系统概述现在大学中大学生的人数越来越多,而在校期间学生要根据每个学生所选课程进行管理,要使每名学生所选的课程准确无误,这无疑就给从事学生选课管理工作的管理人员带来了巨大的压力。
虽然单机版本的学生选课管理系统软件在一定的程度上可以解决问题,可是在信息网络化的现实面前,它的不足之处就显而易见了。
首先,选课管理系统的使用对象过于单一,仅局限于学校管理者;其次,学生不能通过网络及时预选、正选、退补选等操作,随之带来了信息的全面性、即时性、有效性等方面的问题。
再次,还存在软件版本更新比较麻烦的问题。
本次设计就是在小范围的一个尝试,所列入的课程名称和课程数目可由老师确定和修改。
同时,随着网络的发展,人们通过网络可以更方便更快捷交流、学习、教育、商业贸易等等。
为了促进学校与学生能更好的学习沟通,充分利用学校现有的资源,更实现了无纸化办公节省了日常开销,所以决定开发学生网上选课系统,使选课这一教学环节方便化,简单化,既方便了同学们选课,又减轻了老师的工作量,提高了老师的工作效率。
避免了工作中带来的失误,对每个学生的选课情况一目了然,充分发挥了网络给人们的优势。
2.系统分析2.1需求分析数据库是一种存储数据并对数据进行操作的工具。
数据库的作用在于组织和表达信息,简而言之,数据库就是信息的集合。
数据库课程设计总结报告1. 引言数据库课程设计是我在本学期数据库课程中的一项重要任务。
通过这次设计,我深入理解了数据库的概念和重要性,以及如何设计和实现一个完整的数据库系统。
本文将对我的数据库课程设计进行总结和报告,包括设计目标、数据库结构、功能实现和遇到的问题以及解决方案等内容。
2. 设计目标我在设计数据库系统时,主要考虑了以下几个目标:•数据模型准确性和灵活性:我希望设计的数据库能够准确地反映实际业务需要,并且具备一定的灵活性,使得数据模型可以在一定程度上适应业务需求的变化。
•数据安全性和完整性:数据库中的数据应该得到保护,只有合法用户才能访问和修改数据。
同时,数据库中的数据应该具备完整性,即数据的完整和一致性应得到保证。
•性能和可扩展性:设计的数据库应该具备较高的性能和可扩展性,以应对日益增长的数据量和用户负载。
3. 数据库结构在设计数据库结构时,我采用了关系数据库模型,其中包括了多个表和它们之间的关系。
以下是我设计的数据库结构:3.1 表结构•用户表 (User)–用户ID (UserID)–用户名 (Username)–密码 (Password)–电子邮件 (Email)•订单表 (Order)–订单ID (OrderID)–用户ID (UserID)–订单日期 (OrderDate)–订单金额 (OrderAmount)•产品表 (Product)–产品ID (ProductID)–产品名称 (ProductName)–产品描述 (ProductDescription)–产品价格 (ProductPrice)3.2 表之间的关系•用户表和订单表之间为一对多的关系,一个用户可以拥有多个订单。
•订单表和产品表之间为多对多的关系,一个订单可以对应多个产品,一个产品也可以出现在多个订单中。
4. 功能实现在数据库课程设计中,我实现了以下几个主要功能:•用户注册和登录功能:用户可以通过注册功能创建新用户账户,并通过登录功能进行身份验证。
《数据库课程设计》
题目:
学号:
班级:
姓名:
指导教师:
1.需求分析
1.1. 系统需求分析
根据实际任务确定
1.2. 可行性分析
从硬件和选取软件方面考虑(前台开发工具使用Visual Basic,后台数据库使用SQL Server,中间层采用的数据访问技术)。
1.3. 系统的功能简介
例如:系统管理模块(CTRL+O)
该模块的主要任务是维护系统的正常运行和安全性设置,包括添加用户(快捷键:CTRL+A)、修改密码(快捷键:CTRL+B)、重新登录(快捷键:CTRL+F1)等等。
1.4. 系统开发的目标
本系统的设计目标将完成????????主要任务。
2.数据库设计
2.1数据库的概念设计
做系统的E-R图,分析实体之间的联系
2.2系统的逻辑结构设计
E-R图→关系模式
2.3学生管理系统的物理结构设计
有关实体的数据表,例如:kecheng表:{课程名称,教材}
以及各表的物理结构,例如:kecheng表:
3.总体设计
系统的整体框架图
4.详细设计
本部分主要内容为本系统(或模块)的运行界面以及主要界面的源代码。
例如:系统登陆界面:
本界面的主要功能是为了对系统进行安全性管理,本系统的用户名和密码保存在USE表中,本系统根据不同的用户而设置了不同的权限,可以用909;909为用户名和密码来登陆本系统。
5.全文总结参考文献。
数据库课程设计班级物联网1202学号3120611027姓名杨璐指导老师年轶2014 年1 月目录一、引言 (2)1.目的 (2)2.题目 (2)3.要求 (2)二、系统的分析与设计 (3)1.概念设计 (3)2.逻辑设计 (3)3.系统功能结构 (4)4.完整性设计 (5)三、系统的实现 (6)四、课程设计小结 (22)一、引言1.目的课程设计为学生提供了一个既动手又动脑,独立实践的机会,将课本上的理论知识和实际有机的结合起来,锻炼学生的分析解决实际问题的能力。
提高学生适应实际,实践编程的能力。
课程设计的目的:(1)加深对数据库系统、软件工程、程序设计语言的理论知识的理解和应用水平;(2)在理论和实验教学基础上进一步巩固已学基本理论及应用知识并加以综合提高;(3)学会将知识应用于实际的方法,提高分析和解决问题的能力,增强动手能力;(4)为毕业设计和以后工作打下必要基础。
2.题目题目2.设计一个大学教学数据库应用系统。
该系统涉及学生、教师、课程、分组、登记。
数据见附表2。
因时间关系,只要求每个学生任选1个题目,如有时间﹑有兴趣,可做另外一题,酌情加分。
3.要求运用数据库基本理论与应用知识,在微机RDBMS(SQL Server)的环境上建立一个数据库应用系统。
要求把现实世界的事物及事物之间的复杂关系抽象为信息世界的实体及实体之间联系的信息模型,再转换为机器世界的数据模型和数据文件,并对数据文件实施检索、更新和控制等操作。
(1)用E-R图设计选定题目的信息模型;(2)设计相应的关系模型,确定数据库结构;(3)分析关系模式各属于第几范式,阐明理由;(4)设计应用系统的系统结构图;(5)通过设计关系的主码约束、外码约束和使用CHECK实现完整性控制;(6)完成实验内容所指定的各项要求;(7)分析遇到的问题,总结并写出课程设计报告;(8)自我评价二、系统的分析与设计1.概念设计2.逻辑设计STUDENT(sno,sname,address,zip,state,city,sex) sno是主码TEACHER(tno,tname,phone,salary) tno是主码COURSE(cno,cname,department,credit) cno是主码SECTION(secno,cno,tno,sqty) secno、tno、cno是主码,cno、tno是外码ENROLL(secno,cno,sno,grade) cno,sno是主码,cno,sno是外码3.系统功能结构4.完整性设计/* 包含:关系主码、外码、CHECK约束。
数据库教学管理系统课程设计报告一、项目背景数据库教学管理系统是一种用于管理学校教学信息和学生数据的系统,通过该系统可以方便地管理学生信息、教师信息、课程信息等数据,并支持教务管理、成绩管理、课程安排等功能。
该系统可以提高教学管理效率,实现教学信息的自动化管理,是现代教育管理的重要工具。
二、需求分析1.功能需求•管理学生信息,包括学生基本信息、选课情况等;•管理教师信息,包括教师基本信息、授课情况等;•管理课程信息,包括课程名称、上课时间、上课地点等;•支持教务管理,包括学生选课、成绩录入等功能;•支持课程安排,包括课程表生成、教师排课等功能。
2.性能需求•系统要求稳定可靠,能够处理大量数据;•系统响应速度快,能够快速查询数据;•系统安全性高,能够保护学生和教师信息不被泄露。
三、系统设计1.数据库设计系统采用MySQL数据库,包括以下表格设计: - 学生表(Student):存储学生基本信息,包括学号、姓名、性别等字段; - 教师表(Teacher):存储教师基本信息,包括工号、姓名、职称等字段; - 课程表(Course):存储课程信息,包括课程编号、课程名称、学分等字段; - 选课表(Enrollment):存储学生选课情况,包括学生学号、课程编号等字段; - 成绩表(Grade):存储学生成绩信息,包括学生学号、课程编号、成绩等字段。
2.系统架构设计系统采用B/S架构,前端使用HTML、CSS、JavaScript实现,后端采用Java 语言开发,并采用Spring框架实现业务逻辑,数据库连接采用JDBC连接MySQL 数据库。
四、系统实现1.前端实现前端页面采用响应式设计,包括学生信息管理页面、教师信息管理页面、课程信息管理页面等,使用Bootstrap框架实现页面布局,并通过AJAX与后端交互。
2.后端实现后端采用MVC架构,包括控制器层、服务层、数据访问层,使用Spring MVC 和Spring JDBC框架实现,对前端请求进行处理并访问数据库。
数据库课程设计报告 -------人事/工资/考勤管理系统软件学院软件工程专业08级6班姓名:嵇存学号:200800300083任课教师:王诚梅实验教师:助教:一:系统开发平台本系统采用Eclipse为开发工具,后台数据库采用SQL Server 2008二、数据库规划2.1 任务陈述随着公司的规模不断扩大,员工的数量急剧增加,有关员工的各种信息也成倍增长.面对庞大的信息量,有必要开发人事工资考勤管理系统来提高公司人事工资考勤管理工作的效率.通过这样的系统,可以做到信息的规范管理、科学统计和快速查询,从而减少管理方面的工作量。
公司的人力资源管理的功能范围,也从单一的工资核算、人事管理,发展到可为企业的决策提供帮助的全方位解决方案.这些领域包括人力资源规划、员工考核、劳动力安排、时间管理、招聘管理、员工薪资核算、培训计划、差旅管理等,并同企业管理系统中的财务、生产系统组成高效的、具有高度集成性的企业资源系统.2.2 任务目标本人事工资考勤管理系统包括人事信息管理工资信息管理、考勤信息管理、成绩报表信息管理四大模块。
管理员可以拥有完全的权限管理系统,而员工用户只拥有查询信息和查询信息的权限。
三、系统定义3.1 系统边界1. 系统在员工进入公司时为员工建立人事档案,人事档案的管理由公司经理级人员完成。
人事档案应该包括员工进入公司的时间、员工级别、员工的基本工资、员工所在部门和员工的其他基本信息等。
2. 员工的工资应该包括基本工资和奖金两个部分。
基本工资根据员工的级别划分(试用员工、正式员工、组长、部门经理、总经理),奖金应根据员工的业绩由其直接或更高级领导确定3. 员工在来到公司上班时应该首先登录公司系统签到,离开公司时登录系统签离。
如果办事外出或者出差应由上级领导确认考勤情况。
缺勤或者迟到按一定数额罚款,迟到1小时以上算缺勤。
4. 系统应该可以对基础数据进行维护。
5. 员工调动和离职应保留员工的历史信息,以备日后查询。
《数据库技术课程设计》课程编号:088120课程性质:集中实践环节先修课程:数据结构C语言实践周数:一周学分:1适合层次:本科适合专业:通信技术、电子信息工程一、课程设计目的与任务数据库技术是电子信息类专业基础课,数据库技术应用能力是信息类专业学生必须具备的计算机应用能力之一,数据库技术是信息技术应用的基本手段和方法。
本课程也是实践性很强的课程。
因此,本课程的目的就是使学生在学完《数据库技术原理》这门课程后,为充分理解和掌握这门技术而设计的。
学生通过设计一个实际可行的、完整的数据库系统,学会并掌握数据库技术应用的基本技能,巩固已学的知识,补充未学的但又必要的内容。
二、课程设计的主要内容与要求1、课程设计选题每位学生可以从以下几个任务中选择一个作为自己的设计任务。
①学生学藉管理:内容:学生的基本信息(学号,班级,姓名,性别,出生年月,出生地,毕业学校,原籍住址,学校宿舍,联系方式(可以是电话,手机,邮件地址),是否有过处分奖励,担任班委,参加组织等)学生的成绩(各门必修课程成绩,各门选修课程成绩课(程的成绩包括补考、重修成绩)学生的学分管理毕业设计(设计的课题、指导教师、成绩等)学生的健康信息功能:学生的基本信息的录入、删除和修改,学生基本信息的查询、统计;学生的成绩的录入、删除和修改,学生成绩的查询、统计;学生的学分的查询和统计(学分不能手工输入,应该根据成绩自动录入);②医院管理系统内容:病人档案(病人编号,姓名,性别,出生年月,出生地,籍贯,住院情况,预交医疗费);就医档案(就医科别,主治医生、病因、处方、用药);价格管理(各种药物的价格(不包括中药)、化验价格、);收费管理(药物收费,挂号费,处置费,化验费等);功能:病人档案的录入、删除和修改,病人档案的查询、统计;各项价格录入、删除和修改,各项价格查询、统计;就医档案录入、删除和修改、查询、统计;对病人的收费录入、删除和修改、查询、统计;③图书馆图书管理内容:书库信息(书号,书名,架位,册数,目录,简介)学生档案(借书证号,学号,班级,姓名,性别,联系方式(可以是电话,手机,邮件地址),借书限制)借阅档案(借阅者,借阅书名,借阅日期,还期)功能:各种信息的录入,编辑,删除功能;根据书查询借阅者,根据借阅者查所借阅的书;书库的各种统计功能2、课程设计方案制定开发工具的选择:建议选用VB+SQL Server,但是学生可以根据自己所擅长的语言选择系统开发工具,但是数据库必须选用SQL server。
数据库系统原理课程设计实践报告English:For the database system principles course design practice report, our team focused on implementing a small-scale database system for a fictional university. We started by analyzing the requirements and data model of the university’s various departments, students, and courses. Then, we designed and implemented the database schema using SQL, ensuring proper normalization and indexing for efficient data storage and retrieval. In addition, we developed a simple yet intuitive user interface for administrators to manage the database and for students to access their academic information. We also integrated security measures to protect sensitive data and implemented backup and recovery strategies to ensure the system’s reliability. Throughout the project, we encountered challenges such as optimizing queries for better performance and ensuring data integrity through constraints and triggers. Overall, this course design practice allowed us to apply the theoretical knowledge learned in class to a real-world scenario, honing our practical skills in database system design and implementation.中文翻译:对于数据库系统原理课程设计实践报告,我们团队专注于为一所虚构大学实现一个小规模的数据库系统。
数据库课程设计个人总结5篇第1篇示例:数据库课程设计是一门非常重要的课程,通过学习这门课程,我对数据库的概念和原理有了更深入的了解,也提升了我的实际操作能力。
在这门课程中,我学到了很多知识,让我在未来的工作中能够更好地处理和管理数据。
数据库课程设计让我了解了数据库的基本概念和分类。
数据库是用来存储和管理数据的集合,它按照数据的结构和存储方式可以分为关系型数据库和非关系型数据库。
在课程中,我学习了关系型数据库的原理和操作,掌握了SQL语言的基本语法和使用方法。
通过学习实例和实践操作,我对数据库的结构和设计有了更深刻的理解。
数据库课程设计让我学会了如何设计和实现一个数据库系统。
在课程项目中,我们需要根据需求分析和实际情况,设计数据库的表结构和关联关系,编写SQL语句实现数据的增删改查操作。
在这个过程中,我提高了自己的逻辑思维能力和实际操作能力,学会了如何优化数据库结构和查询性能,提高系统的效率和安全性。
数据库课程设计也让我认识到了数据库管理的重要性。
数据库是组织和管理数据的核心,它涉及到系统的稳定性和数据的完整性。
在实际工作中,数据库管理人员需要及时备份和维护数据库,确保数据的安全和可靠性。
通过学习这门课程,我更加重视数据库管理的技能和实践,意识到了数据是企业的重要资产,需要妥善管理和保护。
数据库课程设计是一门非常有价值的课程,通过学习这门课程,我不仅掌握了数据库的基本原理和操作技能,还培养了自己的逻辑思维能力和实际操作能力。
在未来的工作中,我会继续加强数据库管理和优化的实践,不断提升自己的专业能力,为企业的发展和数据的安全提供更好的支持和保障。
【完成字数403】第2篇示例:数据库课程设计是一门非常重要的课程,它是计算机科学与技术专业中必不可少的一门课程。
通过学习数据库课程设计,我们可以了解数据库系统的基本原理、数据库设计方法、数据库管理系统的建立和管理等知识。
在这门课程中,我学到了很多关于数据库的知识,也深刻地体会到了数据库在现代社会中的重要性。
《数据库类课程设计》系统开发报告学号:111007133姓名:邢小迪题目:企业员工薪资管理指导教师:王红梅提交时间:2013年6月01日计算机科学与应用系目录一绪论二员工薪资管理系统概述 (1)●现状分析 (1)●系统目标 (2)●系统特点 (3)三员工薪资管理系统数据库设计 (3)●需求分析 (3)●数据库物理结构分析 (4)●数据库概念结构设计 (6)●数据库逻辑结构设计 (9)四员工薪资管理系统数据库功能模块的创建 (12)五总结 (21)●体会 (21)●参考文献 (22)一绪论随着计算机技术的飞速发展和经济体制改革的不断深入,传统企业管理方法、手段以及工作效率已不能适应新的发展需要,无法很好地完成员工工资管理工作。
提高公司企业管理水平的主要途径是更新管理者的思想,增强对管理活动的科学认识。
基于 SQL server数据库技术建立一个通用工资管理系统,该系统为提供了查询、增加记录、删除等功能,功能比较的齐全,并对工资进行了统计如津贴管理、报表统计等。
基本上能满足管理员和公司的要求。
此次数据库课程设计的主要设计如下:原理分析、程序设计过程、程序实现和程序调试以及数据库的设计。
需求分析、概要结构设计、逻辑结构设计、物理结构设计和数据库的实施和维护。
二员工薪资管理系统概述1、现状分析随着企业人员数量增加,企业的工资管理工作也变得越来越复杂。
早期的工资统计和发放都是使用人工方式处理纸质材料,不仅花费财务人员大量的时间且不易保存,往往由于个人的因素抄写不慎或计算疏忽,出现工资发放错误的现象。
早期工资管理多采取纸质材料和具有较强的时间限制。
随着我国国民经济建设的蓬勃发展和具有中国特色的社会主义市场经济体制的迅速完善,各个行业都在积极使用现代化的手段,不断改善服务质量,提高工作效率,这些都在很大程度上给企业提出越来越严峻的挑战,对企业体系无论是在行政职能、企业管理水平以及优质服务上都提出更高的要求。
建设一个科学高效的信息管理系统是解决这一问题的必由之路。
企业内部财务管理是该企业运用现代化技术创造更多更高的经济效益的主要因素之一。
工资管理作为企业内部的一种财务管理也是如此,由于企业职工人数较多,每一位职工的具体实际情况也不尽相同,各项工资条款的发放,如果没有一个完整的管理系统对企业和员工的工作都带来许多的不便。
基于以上原因,企业工资管理系统使用电脑安全保存、快速计算、全面统计,实现工资管理的系统化、规范化、自动化。
2、系统目标员工薪资管理系统的主要目的是利用计算机对员工的各种工资信息进行日常的管理,如查询、修改、添加、删除以及存储等,迅速准确地完成各种工资信息的统计计算和汇总工作,针对系统服务对象的具体要求,设计了企业工资管理系统。
企业工资管理系统主要有以下几大功能:(1)对单位人员的变动进行处理。
一个单位的职工不会是一成不变的,总是在不断的变化:有调出、有调入、也有职工在本单位内部调动。
因此,设计系统是应考虑到这些情况。
(2)对职工的工资进行计算、修改。
可以对职工的工资档案进行个别、部分和批量修改,同时,能对各职工的工资进行计算,即计算基本工资、岗位工资及实发金额等。
(3)查询统计功能。
要求即可以单项查询,比如查看某个职工的工资情况等;也可以多项查询,比如某个部门所有的员工的工资信息。
(4)对用户管理功能。
一个系统的应用有管理员和普通用户,他们对系统的权限受到限制。
3、系统特点(1) 本系统使工资管理基本实现了信息化,系统设计的各种查询要求代替了原来了人工查询,即节省了人力,又减轻了员工的工作量,最重要的是由计算机操作,可以提高数据的准确性,避免人为的错误,方便管理。
(2) 本系统设置了系统数据备份功能,定期的系统备份可以在数据库受到意外的或有意的破坏的情况下,系统得以恢复,减少损失。
(3) 本系统的界面设计简洁明了,采用了流行的菜单设计,对于不是计算机专业的管理人员,只需阅读操作说明书,就能方便的使用本系统。
三员工薪资管理系统数据库设计1、需求分析本系统定位于中小型单位,暂时考虑单机环境下的实现;本系统采用会员式管理,每个属于该单位的职工都有一个属于自己的用户名和密码,通过该用户名和密码就可以登陆系统执行基于自己权限范围内的操作,系统功能应包括员工基本信息的输入输出与修改、各部门的基本信息输入修改、员工工资的基本情况、总工资的计算、统计分析。
员工可以通过此系统查询自己本月的基本工资,福利,奖金以及出去失业保险可住房公积金后的工资。
该工资管理系统主要是由基本资料、工资登记、工资查询、系统管理几个部分组成的,主要用于单位工资发放管理。
(1)基本资料包括员工基本资料和部门的基本资料:员工基本资料:可以输入该员工的编号、姓名、性别、出生日期、位于哪个部门、所处的职业。
部门基本资料:可以输入部门的编号、名称。
(2)工资登记包括工资登记和清数据:可以录入员工本月的基本工资、奖金福利、失业保险和住房公积金,可以清除以前的数据。
(3)工资查询包括员工工资汇总查询。
(4)分类查询包括按部门查询和按日期查询。
2、数据库物理结构分析2.1 设计策略由于该系统主要用于员工的工资管理,其中工资的录入、计算、扣除与查询,人员的增删减是主要功能,所以应用程序主要就是实现这几个功能。
2.2 系统总体结构图2.3系统详细设计说明员工工资管理系统员工信息录入部门信息录入员工工资查询员工总工资计算系统管理员工子系统登录验证部门信息修改工资统计个人资料工资查询①员工基本信息表[员工]的创建;②部门基本信息表[科室]的创建;③员工工资基本信息表[工资]的创建3、数据库概念结构设计数据库概念设计是整个数据库设计的关键。
根据用户需求设计数据库的概念,数据模型。
我们首先要将现实世界中的客观对象首先抽象为不依赖任何具体机器的信息结构,这种信息结构不是DBMS支持的数据模型,而是概念级模型。
然后再把概念模型转换为具体机器上DBMS支持的数据模型。
概念模型是对现实世界的抽象和概括。
它真实,充分地反映了现实世界中的事物和事物之间的联系,能满足用户对数据的处理要求。
由于其简洁、明晰、独立于机器,很容易理解,因此可以用概念模型和不熟悉计算机的用户交换意见,使用户能积极参与数据库的设计工作。
概念模型易于变动,还很容易向各种数据模型转换。
概念模型的基本概念涉及的主要有7个,分别为实体、属性、码、域、实体型、实体集、联系。
E-R图是概念模型最常用的表示方法,在E-R图中:1)用长方形表示实体型,在框内写上实体名。
2)用菱形表示实体间的联系,菱形框内写上联系名,用无向边把菱形分别与有关实体相连,在无向边旁标上联系的类型。
若实体间的联系也具有属性,则把属性和菱形也用无向边连上。
员工实体——关系图(图1)部门实体——关系图(图2)员工员工号姓 名性 别职 业所属部门年龄部 门部门编号名 称工资实体——关系图(图3)部门——员工实体关系图(图4)员工——工资实体关系图(图5)4、数据库逻辑结构设计奖励工资住房公积金福利补贴失业保险基本工资工资日期员工员工—工资工资部 门部门—员工员 工4.1 根据上述概念模型设计得出的E—R图,我们可以得出系统中涉及的主要实体有3个,其结构如下:1、员工(员工工号,姓名、性别、出生日期、部门代码和职业)2、部门(部门代码,部门名称)3、工资(员工工号,姓名,日期,基本工资,奖励工资,福利补贴,住房公积金,失业保险)4.2 实体间的联系工资管理系统中实体之间有6个联系,其关系如下:1、具有1关系:员工和奖金的关系是1:N,N个职位相同的员工具有相同的奖金基数。
2、工薪关系:员工和工资单的关系是1:N,每个员工每个月都有一张工资单。
3、属于关系:员工和部门的关系是N:1,一个部门可以有多个员工。
4、聘用关系:员工和职业的关系是N:1,一个职务可以聘用多个员工。
5、设置关系:部门和职业的关系是M:N,一个部门可以设置多个职务,相同的职务也可以设置在多个部门。
根据以上逻辑结构分析我们可以知道:一个部门有多个员工,每个员工都有工资,工资又由基本工资等组成,其关系模式为:员工编号(主键)姓名性别出生日期部门代码(外键)职业员工工号(主键)姓名基本工资福利补贴奖励工资失业保险住房公积金日期表、视图汇总视图/表名类型说明员工基本表集中保存员工的基本信息科室基本表集中存放单位各部门的信息工资基本表存放员工工资的基本信息4.3 完整性约束:基本表[员工]部门号(主键)部门名称基本表[科室]基本表[工资]四员工薪资管理系统数据库功能模块的创建1 建立员工表,工资表,科室表--USE ygxz--GO--CREATE TABLE 科室--(部门代码k char (10) PRIMARy KEY,-- 部门名称char (30) NOT NULL)--GO--CREATE TABLE 员工--(员工工号y char (10) PRIMARy KEY,-- 姓名y char(10) not null,-- 性别char(2) constraint Y3 check (性别in ('男','女')),-- 出生日期datetime,-- 部门代码y char (10)foreign key (部门代码y) references 科室(部门代码k),-- 职业char (20))--GO--CREATE TABLE 工资--(-- 员工工号g char (10)primary key ,--constraint Y1 check (员工工号g between '1110000' and '1111111'),--foreign key(员工工号g) references 员工(员工工号y),-- 姓名g char(10),---- 基本工资money,-- 福利补贴money,-- 奖励工资money,-- 失业保险money,-- 住房公积金money,-- 日期datetime ,-- constraint c1 check (基本工资+福利补贴+奖励工资-失业保险-住房公积金<=3000)) ----GO2 录入员工表,工资表,科室表的数据然后查询表USE ygxzGOINSERT科室V ALUES('0001','经理室')INSERT科室V ALUES('0002','财务科')INSERT科室V ALUES('0003','技术科')INSERT科室V ALUES('0004','销售科')GOSELECT*FROM科室USE ygxzGOINSERT员工V ALUES('1110001','张毅','男','1991-01-01','0003','工程师')GOINSERT员工V ALUES('1110002','张尔','男','1991-02-01','0003','工程师') INSERT员工V ALUES('1110003','张三','男','1991-02-02','0003','助理工程师') INSERT员工V ALUES('1110004','李四','女','1991-04-02','0003','助理工程师') NSERT员工V ALUES('1110005','李梦','女','1992-04-02','0003','助理工程师') INSERT员工V ALUES('1110006','李飞','女','1991-04-02','0002','会计') NSERT员工V ALUES('1110007','王梦','女','1992-04-02','0002','助理会计') NSERT员工V ALUES('1110008','邢梦','女','1992-04-02','0002','助理会计') INSERT员工V ALUES('1110009','武阳','男','1992-05-02','0002','助理会计') INSERT员工V ALUES('1110010','无双','男','1993-05-02','0001','副经理') INSERT员工V ALUES('1110011','霸气','男','1992-05-02','0001','秘书') SELECT*FROM员工USE ygxzGOINSERT工资V ALUES('1110001','张毅','2000','200','300','100','240','2013-05-15') INSERT工资V ALUES('1110002','张尔','2000','200','300','100','240','2013-05-15') INSERT工资V ALUES('1110003','张三','1800','200','200','100','240','2013-05-15') INSERT工资V ALUES('1110004','李四','1800','200','200','100','240','2013-05-15') INSERT工资V ALUES('1110005','李梦','1800','200','200','100','240','2013-05-15') INSERT工资V ALUES('1110006','李飞','2500','200','400','100','240','2013-05-15') INSERT工资V ALUES('1110007','王梦','2100','200','400','100','240','2013-05-15') INSERT工资V ALUES('1110008','邢梦','2100','200','400','100','240','2013-05-15') INSERT工资V ALUES('1110009','武阳','2100','200','400','100','240','2013-05-15') INSERT工资V ALUES('1110010','无双','2700','100','300','200','240','2013-05-15') INSERT工资V ALUES('1110011','霸气','2000','200','400','100','140','2013-05-15') INSERT工资V ALUES('1110012','吴淑敏','2200','200','400','100','240','2013-05-15') INSERT工资V ALUES('1110013','吴飞扬','2250','100','400','100','240','2013-05-15') INSERT工资V ALUES('1110014','邢小迪','2750','200','400','100','440','2013-05-15') INSERT工资V ALUES('1110015','朱鸿儒','2100','200','300','100','240','2013-05-15') INSERT工资V ALUES('1110016','熊朝辉','2100','200','300','100','240','2013-05-15') INSERT工资V ALUES('1110017','吴飞扬','2100','200','300','100','240','2013-05-15') INSERT工资V ALUES('1110018','杨亚迪','2140','200','300','100','240','2013-05-15') INSERT工资V ALUES('1110019','李敏','2100','200','300','100','240','2013-05-15') INSERT工资V ALUES('1110020','郭佳','2440','200','300','100','240','2013-05-15') GOSELECT*FROM工资3运用触发器删除表中的信息create trigger del_ygon员工instead of deleteasbegindelete工资where员工工号g in(select员工工号y from deleted) delete员工where员工工号y in(select员工工号y from deleted) enddelete员工where员工工号y='1110003'goSELECT*FROM工资SELECT*FROM员工I4视图查询表中的信息create view Y01(员工工号y,姓名y,性别,职业,部门名称,出生日期,基本工资,福利补贴,奖励工资,失业保险,住房公积金)asselect员工工号y,姓名y,性别,职业,部门名称,出生日期,基本工资,福利补贴,奖励工资,失业保险,住房公积金from员工,工资,科室where员工工号y=员工工号g;查询职工总人数select count(distinct员工工号y)职工总人数from Y01--查询部门总数--select count(distinct 部门名称) as 科室--from y015存储过程的创建1)、创建存储过程查询每个员工的实际发放工资USE ygxzGOCREATE PROCEDURE员工工号y_实际工资@员工工号y char(10)='%'ASBEGINSELECT员工工号y,姓名y,部门代码y,职业,基本工资+福利补贴+奖励工资-失业保险-住房公积金as实际工资,日期FROM员工,工资WHERE员工工号y=员工工号g and员工工号g=@员工工号yEND执行存储过程员工工号y_实际工资execute员工工号y_实际工资'1110011'2)、创建存储过程查询每个员工的扣除工资----USE ygxz----GO----CREATE PROCEDURE 员工工号y_扣除工资----@员工工号y char(10)='%'----AS----BEGIN----SELECT 员工工号y,姓名y,部门代码y,职业, 失业保险+住房公积金as 扣除工资,日期----FROM 员工,工资----WHERE 员工工号y=员工工号g and 员工工号g=@员工工号y----END------执行存储过程员工工号y_扣除工资----execute 员工工号y_扣除工资'1110011'3)、创建存储过程查询各部门的人数USE ygxzGOCREATE PROCEDURE部门_人数@部门代码char(10)='%'ASBEGINselect部门名称,count(*)as总人数from员工,科室where部门代码k=部门代码y and部门代码y=@部门代码group by部门名称;END执行存储过程部门_人数execute部门_人数'0003'4)、创建存储过程查询各职业的人数USE ygxzGOCREATE PROCEDURE职业_人数@职业char(10)='%'ASBEGINselect职业,count(*)as总人数from员工where职业=@职业group by职业END执行存储过程职业_人数execute职业_人数'销售专员'5)、创建存储过程按部门查询工资USE ygxzGOCREATE PROCEDURE部门_工资@部门代码char(10)='%'ASBEGINselect员工工号y,姓名g,部门名称,职业,基本工资+福利补贴+奖励工资-失业保险-住房公积金as实际工资from员工,工资,科室where部门代码k=部门代码y and员工工号y=员工工号g and部门代码y like @部门代码end执行存储过程部门_工资execute部门_工资'0002'6)、创建存储过程按职业查询工资USE ygxzGOCREATE PROCEDURE职业_工资@职业nchar(20)='%'ASBEGINselect员工工号y,姓名g,职业,基本工资+福利补贴+奖励工资-失业保险-住房公积金as实际工资from员工,工资,科室where员工工号y=员工工号g and部门代码k=部门代码y and职业=@职业end执行存储过程职业_工资execute职业_工资'销售专员'五总结1、体会此次课程设计给我的体会有以下几点:一、看似简单,其实不然以前没有过课程设计的经验,作为第一次课程设计课,我抱着试试看的态度去写,一开始看了只有这么几个模块是心里挺高兴的,但是当我真真正正地去把一个操作写成功时,很多意想不到的情况发生了。