数据库课程设计源代码

合集下载

数据库课程设计小型管理系统源码

数据库课程设计小型管理系统源码

数据库课程设计小型管理系统源码一、概述随着信息技术的飞速发展,数据库管理系统在各个领域得到了广泛的应用。

数据库课程通常会设计一个小型的管理系统作为课程项目,以帮助学生加深对数据库原理和应用的理解。

在本文中,我们将介绍一个小型管理系统的源码设计,涉及数据库的设计、前端界面和后端代码的编写。

二、数据库设计1. 数据库概述我们选用MySQL作为本系统的数据库管理系统,因为MySQL是一款成熟稳定、性能优越的关系型数据库管理系统,对学生来说也比较容易上手。

2. 数据表设计我们将设计两张主要的数据表,分别是学生信息表和课程信息表。

具体的字段设计如下:- 学生信息表(Student)- 学号(ID)- 尊称(Name)- 芳龄(Age)- 性莂(Gender)- 专业(Major)- 课程信息表(Course)- 课程编号(ID)- 课程名称(Name)- 学分(Credit)- 授课教师(Teacher)3. 数据库连接在系统的后端代码中,需要使用相应的数据库连接方式来连接MySQL 数据库,并对数据表进行增删改查操作。

三、前端界面设计1. 技术选择我们选择使用HTML、CSS和JavaScript来构建系统的前端界面,这些技术简单易用,并且能够实现较为复杂的交互效果。

2. 界面布局我们将设计两个主要的界面,分别是学生信息管理界面和课程信息管理界面。

在这两个界面中,用户可以进行对应数据表的增删改查操作。

3. 交互效果通过JavaScript语言的编写,我们可以实现一些动态的交互效果,比如表单验证、数据的实时更新等。

四、后端代码编写1. 技术选择在后端代码的编写中,我们选择使用Java语言来实现,因为Java具有跨评台性、稳定性好、易于维护等优点。

2. 数据库操作在后端代码中,需要对数据库进行相应的增删改查操作,需要使用MySQL提供的JDBC API来实现数据库连接和数据操作。

3. 接口设计我们将设计各种接口来实现前端界面和后端代码的交互,比如增加学生信息、删除课程信息、更新学生信息等接口。

数据库课程设计说明书---设计简易的数据库管理系统DBMS

数据库课程设计说明书---设计简易的数据库管理系统DBMS

一、设计要求:(1) 设计内容创建和修改表的定义:1、实现:CREATE TABLE <表名> (<列名><数据类型>[<列完整性约束条件>][,<列名><数据类型>[<列完整性约束条件>]…][,<表完整性约束条件>] );2、实现:ALTER TABLE <表名> [ADD <新列名><数据类型>[<列完整性约束>]] [DROP<列完整性约束名>][MODIFY <列名><数据类型>]。

(2) 设计要求1、设计和实现表的物理存储结构;2、语句以命令行和图形化界面两种形式实现;3、分析设计内容,画出程序流程图,设计表的存储结构;4、提交课程设计报告。

(3) 任务步骤1、分析命令语句,得到表名、列名和数据类型等信息;2、根据命令中的关键词确定表和字段的属性;3、创建一个表文件,写入表结构信息;4、打开一个表文件,修改表结构信息;5、演示建立了一个表,并修改了表结构。

二、需求分析:数据库系统能够有效地组织和管理大量的数据。

研究数据库管理系统的实现技术,对于掌握数据库系统的原理和技术,了解数据库系统的内部结构,开发高效的数据库应用系统,具有重要意义。

在建立了数据库之后,首先需要建立表,之后才能进行记录的插入。

这个程序的设计就是实现创建和修改表的定义。

三、设计思想:(1)总体思路此课程设计主要要完成的任务是创建和修改表的定义,因此程序中共包含四个可选项:“新建表”、“修改表”、“显示表的信息”、“保存操作并退出”。

另外,由于是数据库的操作,因此需要将建立的表的信息存储,在执行程序时应该调用已存储的表的信息,并且应该有日志文件以记录对表的操作。

下面依次介绍主要结构、保存表信息、提取表信息、日志文件和主菜单中的四个选项;(2)主要结构1、每一个都有一个固定结构,因此我首先建立了一个表的结构体,具体形式如下:typedef struct{char table_name[10];//表名int property_num;//属性的个数char property_name[10000][10];//属性名int property_type[1000];//属性类型(1=int,2=char)int property_null[100];//属性是否为空(1=允许,2=不允许)int property_key[10];//是否主码(1=是主键,2=不是主键)}TABLE;2、我用一个TABLE型的数组将所有的表联系在一起,具体定义为TABLE table[10000];3、定义一个int型变量记录表的个数,具体定义为int table_num=0。

数据库课程设计---MAC帧封装程序设计

数据库课程设计---MAC帧封装程序设计

网络原理课程设计——项目文档报告MAC帧封装程序设计专业:网络工程班级:08网络1班一、概述学生成绩管理系统是—个关系数据库应用系统。

在数据库应用系统的开发过程中,数据库设计所要解决的问题是:设计优化的数据库逻辑和物理结构,使之满足用户的信息管理要求和数据操作要求,有效的支持数据库应用系统的开发和运行。

二、需求分析学生信息管理系统的主要任务是实现对某高校学生及其相关信息的管理,所有信息由学生信息数据库统一保存和管理。

学生信息数据库主要包括学生基本信息、任课教师的基本信息、所开课程的基本信息和各学生成绩管理。

因此要实现的功能如下所示:1、完成数据的录入和修改,并提交数据库保存。

其中的数据包括:学生信息、教师信息、课程设置、学生成绩等。

2、实现信息查询。

如成绩查询、教师授课情况查询、课程表查询等。

3、信息具有一定安全性,如只有一定的权限,才能进行数据的录入和修改。

故需要设置操作员并对其权限机型设置,并设置密码。

4、具有数据备份和数据恢复功能。

E-R图:三、数据库逻辑设计1、将实体转换为关系模式学生(学号,姓名,年龄,性别,班级);主键为:学号。

教师(教师号,姓名,性别,职称);主键为:教师号。

课程(课程号,课程名);主键为:课程号。

2、联系转换为关系模式成绩(学号,课程号,成绩);主键为(学好,课程号)3、基本表学生信息表(Stu):课程信息表(Cou):成绩表(Gra):3、建立索引:①对Stu表在Stu-ID上建立非聚焦索引②对Tea表在Tea-ID上建立非聚焦索引③对Cou表在Cou-ID上建立非聚焦索引④对Gra表在Stu-ID,Cou-ID上建立非聚焦索引,在Gra上建立聚焦索引。

四、软件功能设计程序运行开始界面如下图所示:点击“添加班级”按钮可进行班级注册,如下图所示:点击“更新成绩”按钮可对学生成绩进行录入,如下图所示:学生注册界面如下图所示:成绩查询界面如下图所示:教师授课情况查询如下图所示:五、程序源代码1、创建各表代码:学生信息表(Stu)create table Stu (Stu-ID char(10) primary key,Stu-Name char(10) not null,Stu-Sex char(4),Stu-date date,Stu-Pass char(20));班级信息表(Cla):create table Cla(Cla-ID char(8) primary key,Cla-Col char(10),Cla-Name char(10));教师信息表(Tea):create table Tea(Tea-ID char(6) primary key,Tea-Name char(8) not null,Tea-PS char(10) not null, );课程信息表:create table Cou(Cou-ID char(6) primary key,Cou-Name char(10) not null,);成绩表:create table Gra(Stu-ID char(10),Cou-ID char(6),Grade integer,primary key(Stu-ID,Cou-ID));2、建立索引CREATE NONCLUSTERED INDEX StuIndex on Stu (Stu-ID);CREATE NONCLUSTERED INDEX CouIndex on Cou(Cou-ID);CREATE NONCLUSTERED INDEX TeaIndex on Tea(Tea-ID);CREATE NONCLUSTERED INDEX GraIndex on Gra(Stu-ID,Cou-ID);4、学生成绩查询declare yb1 cursor forselect Stu-ID,Stu-Name from Stuwhere Stu-ID=:ss and Stu-Pass=:mm;open yb1;String sa,sb,sc;fetch yb1 into :sa,:sb;if sqlca.sqlcode<>0 thenmessageBox("您好!","请检查帐号密码并重新输入");elselb_3.additem("学号: "+sa+" 学生姓名: "+sb);end ifclose yb1;declare yb2 cursor forselect Cou.Cou-Name,Gra.Grade Gradefrom Stu,Cou,Grawhere Cou.Cou-ID in(select Cou.Cou-ID from Cou where Stu.Stu-ID in(select Gra.Stu-ID from Grawhere Gra.Stu-ID=:ss))and Stu.Stu-ID=Gra.Stu-ID and Cou.Cou-ID=Gra.Cou-ID open yb2;fetch yb2 into :sb,:sc;do while sqlca.sqlcode=0lb_1.additem(sb+" "+sc);fetch yb2 into :sb,:sc;loopclose yb2;declare yb3 cursor forselect sum(Gra.Grade),avg(Gra.Grade) from Gragroup by Gra.Stu-IDhaving Gra.Stu-ID=:ss;open yb3;fetch yb3 into :sb,:sc;lb_4.additem("总成绩:"+sb+" 平均成绩:"+sc);close yb3;5、学生成绩录入insert into Gra values(:xm,:xb,:cj);commit;dw_1.retrieve()6、学生注册open yb;String sa,sb,sc;fetch yb into :sa,:sb,:sc;if sqlca.sqlcode=0 thenmessageBox("提示","该学号已经存在");close yb;elseinsert into Stu values(:xh,:xm,:xb,:rq,:mm);close yb;commit;end if7、教师授课查询declare yb cursor forselect Tea.Tea-Name,Cou.Cou-Name from Cou,TeawhereCou.Cou-ID in(select teacher_Cou.Cou-ID from teacher_Cou where Tea.Tea-ID=teacher_Cou.Tea-ID);open yb;String sa,sb,sc;fetch yb into :sa,:sb;lb_3.additem("教师姓名课程名字");do while sqlca.sqlcode=0lb_1.additem(sa+" "+sb);fetch yb into :sa,:sb;loopclose yb;六、结束语在本次课程设计的软件开发的过程中,我全面实践一个面向数据库的应用系统的开发过程,学习了很多有关的知识。

python数据库课程设计

python数据库课程设计

python 数据库课程设计一、课程目标知识目标:1. 理解数据库的基本概念,掌握Python数据库操作的基本原理;2. 学会使用Python中的SQLite数据库,掌握基本的数据库创建、查询、更新和删除操作;3. 了解数据库的规范化和数据完整性,能够对数据库进行合理的设计。

技能目标:1. 能够独立使用Python编程实现对数据库的连接、操作和关闭;2. 能够运用SQL语句实现对数据库的增、删、改、查功能;3. 能够分析和解决数据库操作过程中遇到的问题,具备一定的数据库编程调试能力。

情感态度价值观目标:1. 培养学生对数据库技术的兴趣,激发他们探索数据世界的热情;2. 培养学生的团队协作精神,使他们学会在项目中进行有效沟通和分工合作;3. 培养学生具备良好的数据伦理意识,尊重和保护个人隐私。

本课程针对高年级学生,结合Python编程和数据库知识,注重实践操作和实际应用。

通过本课程的学习,使学生掌握Python数据库操作技能,培养他们解决实际问题的能力,同时提高他们的团队协作和数据伦理素养。

课程目标具体、可衡量,便于教学设计和评估。

二、教学内容1. 数据库基本概念:数据库的定义、分类及用途;关系型数据库和非关系型数据库的特点;SQL语言的基本概念和用法。

教材章节:第一章 数据库概述2. Python数据库操作:SQLite数据库的安装与使用;Python中数据库连接、游标对象的创建与操作;基本的SQL语句(SELECT、INSERT、UPDATE、DELETE)在Python中的实现。

教材章节:第二章 Python数据库操作3. 数据库设计:数据库规范化理论;实体-关系模型;数据完整性约束;关系数据库设计方法。

教材章节:第三章 数据库设计4. 数据库编程实践:项目案例分析与实现;数据库操作综合应用;团队协作完成项目任务。

教材章节:第四章 数据库编程实践5. 数据库安全与伦理:数据库安全策略;数据备份与恢复;数据隐私保护;数据伦理原则。

xml课程设计报告源代码

xml课程设计报告源代码

xml课程设计报告源代码一、课程目标知识目标:1. 让学生掌握XML(可扩展标记语言)的基本概念,理解其语法结构和文档类型定义(DTD);2. 帮助学生学会使用XML编写和解析数据,并能将其应用于实际项目中;3. 引导学生了解XML与数据库、网络服务等技术的关联,拓展知识视野。

技能目标:1. 培养学生运用XML编写和修改文档的能力;2. 提高学生使用XML解析器进行数据解析的技能;3. 培养学生将XML技术应用于实际问题的解决能力。

情感态度价值观目标:1. 激发学生对计算机编程和数据分析的兴趣,培养其主动学习和探究的精神;2. 培养学生具备良好的团队合作意识,学会与他人共同解决问题;3. 增强学生的信息素养,使其认识到XML在现代信息技术中的重要性。

本课程针对高年级学生,课程性质为理论与实践相结合。

在教学过程中,需注重对学生实际操作能力的培养,同时结合学生特点和教学要求,将课程目标分解为具体的学习成果。

教学设计和评估将以此为基础,确保学生能够达到预期学习效果。

二、教学内容1. XML基本概念与语法- XML定义与作用- XML声明与文档结构- 元素、属性、实体与命名空间2. 文档类型定义(DTD)- DTD的基本概念与用途- DTD规则的编写与引用- 验证XML文档与DTD的一致性3. XML解析技术- DOM解析与SAX解析原理- 使用DOM4J解析XML文档- 使用JAXP和JDOM解析XML文档4. XML与数据库- XML与数据库的关联- 使用XML进行数据库数据的导入导出- XML数据查询与更新5. XML应用案例- XML在Web服务中的应用- XML在移动开发中的应用- XML在数据交换与存储中的应用教学内容按照上述五个方面进行组织,确保学生能够系统地学习和掌握XML 技术。

教学大纲将明确教学内容安排和进度,关联课本相应章节,如:- XML基本概念与语法:第1章- 文档类型定义(DTD):第2章- XML解析技术:第3章- XML与数据库:第4章- XML应用案例:第5章三、教学方法为了提高教学效果,激发学生的学习兴趣和主动性,本课程将采用以下多样化的教学方法:1. 讲授法:教师通过生动的语言和形象的比喻,对XML的基本概念、语法、DTD等理论知识进行讲解,帮助学生建立扎实的理论基础。

数据库课程设计概要

数据库课程设计概要

信息工程学院课程设计报告设计名称:数据库课程设计姓名:学号:专业班级:系(院):设计时间:设计地点:指导老师:userName Varchar(16) Not null(主键) 用户名userPassword Varchar(16) Not null 密码userPurview Varchar(8) null 用户权限4 关系图4-15 物理设计数据库物理设计阶段的任务是根据具体计算机系统(DBMS和硬件等)的特点,为给定的数据库模型确定合理的存储结构和存取方法。

所谓的“合理”主要有两个含义:一个是要使设计出的物理数据库占用较少的存储空间,另一个对数据库的操作具有尽可能高的速度。

主要体现在后者。

(1)建立索引:①对课程表在Cno属性列上建立聚集索引,在Cname,Ccredt,Csemester,Cperiod属性列上建立非聚集索引。

②对学生表在Sno属性列上建立聚集索引,在Sname,Ssex,Sage,Sdept属性列上建立非聚集索引③对成绩表在Cno,Sno属性列上建立聚集索引,在grade属性列上建立非聚集索引④对用户表在userName属性列上建立聚集索引,在userPassword,userPurview属性列上建立非聚集索引(2)存储结构确定数据库的存储结构主要指确定数据的存放位置和存储结构,包括确定关系、索引、日志、备份等的存储安排与存储结构,以与确定系统存储参数的配置。

将日志文件和数据库对象(表、索引等)分别放在不同的磁盘可以改进系统的性能。

所以系统将日志文件和数据文件存放在不同磁盘上。

6.数据库建立(1)创建数据库图10-2学生选课系统登录界面图登陆代码为:try{DataBase db = new DataBase();DataSet ds = new DataSet();string sqlStr = "select userPassword,userPurview from 用户表 where userName='" + txtuserName.Text.Trim() + "'"; ds = db.GetDataFormDB(sqlStr);string str1, str2,str3;str1 = ds.Tables[0].Rows[0].ItemArray[0].ToString().Trim();str3 = ds.Tables[0].Rows[0].ItemArray[1].ToString().Trim();str2 = txtPassWord.Text.Trim();if (str1 == str2){if (str3 == comboBox1.Text.ToString().Trim()){Form2 ob_Form2 = new Form2();erInfo[0] = txtuserName.Text.Trim();erInfo[1] = ds.Tables[0].Rows[0].ItemArray[1].ToString();ob_Form2.Show();this.Hide();}else{MessageBox.Show("用户权限错误,请重新输入");comboBox1.Text = "";comboBox1.Focus();}}else{MessageBox.Show("用户名或密码错误,请重新输入");txtuserName.Text = "";txtPassWord.Text = "";txtuserName.Focus();}}catch{MessageBox.Show("用户名或密码错误","错误");}②学生选课系统主界面如图10-3略图10-3学生选课系统主界面③学生信息管理界面如图10-4图10-4学生信息管理界面可以进行学生信息的添加、修改、删除操作。

学生选课管理系统(数据库课程设计)

学生选课管理系统(数据库课程设计)

数据库系统原理及其应用教程课程设计报告设计题目选修课程管理系统的设计与实现指导教师摘要随着计算机技术的日新月异,极大的推动的各个行业的信息化进程。

各大高校也急需进行信息化改革,以促进教学质量和工作效率快速提升.本文是在对各大高校全校公开课学生选课情况进行实地调查后,进行详细分析讨论后撰写的学生选课管理系统数据库设计报告.全文从最初的系统规划,到需求分析、概念设计、逻辑设计、物理设计.每一阶段都进行了详细的分析。

接下来的实现、运行与维护阶段,还进行了对本系统的测试,最后是本次项目开发的心得和体会以及本文的参考文献。

本系统主要功能是对学生选课及相关信息进行管理。

较行业同类产品而言,本系统人机界面设计更加合理、人性化,用户操作简单方便。

数据库的安全性更高,对用户访问权限进行了严格控制。

数据存取速度更快,使用年限更长。

可以很好的满足高校公开课学生选课的要求,极大的提高了学校的工作效率.关键字:学生选课管理系统;分析;设计目录一、概述 ...................................................................................................... 错误!未定义书签。

261.1设计背景ﻩ1.2设计目的................................................................................. 错误!未定义书签。

1。

3设计内容...................................................................................... 错误!未定义书签。

二、需求分析ﻩ错误!未定义书签。

2。

1功能分析.................................................................................... 错误!未定义书签。

数据库管理系统(DBMS)课程设计

数据库管理系统(DBMS)课程设计

数据库系统原理课程设计文档学号:姓名:一、DBMS的实现方式(一)文件存储的设计思想如下:本数据库管理系统(DBMS)主要有一下文件:database.ini:用于存储本数据库管理系统(DBMS)的关系数据库、数据库表信息;[tablename].ini:以关系数据库表名(tablename)命名的.ini文件主要用于存储数据库表的配置信息,如完整性约束,关系表属性名、属性类型、主键等信息;[Tablename]_info.ini:以关系数据库表名(tablename)命名的_info.ini文件主要用于存储数据库表的数据信息(Data information),所有的数据库表数据信息全部存储在此类文件中;[Tablename]_index.ini:以关系数据库表名(tablename)命名的_index.ini文件主要用于存储数据库表的索引文件。

此数据库管理系统(DBMS)中,除数据文件_info.ini、索引文件_ index.ini 外其余的均采用节点名、键名、键值之间的对应关系存储本DBMS系统的关系数据库、数据库表信息和数据库表的配置信息;数据文件的存储,数据文件采用流式文件,字段之间采用Tab间隔开,从左到右根据数据库表的配置信息依次存储关系表数据;在最前端设置一删除标志,为0表示次元组已经被删除,为1表示次元组未被删除;索引文件的建立采用稠密索引方式,每条记录对应于一条索引记录,在索引文件中存放了每条数据元组在数据文件中具体的位置。

这样,由于索引文件较数据文件小很多,故大大加快了数据元组查询速度;图1:文件存储的设计思想(二)DBMS系统流程控制设计思想如下:鉴于此数据库管理系统(DBMS)采用SQL执行,故设计如下程序控制流程:(1)超级管理员、一般管理员、普通用户通过各自的用户名、密码口令登陆系统;(2)对SQL进行编译,本DBMS中采用CCompiler类进行编译,编译过程当中可以对要执行的SQL操作进行信息收集并保存在相应的数据结构(或类)当中。

学生信息管理系统 数据库课程设计

学生信息管理系统 数据库课程设计

目录第一章系统概述 (1)1.1 系统开发的背景 (1)1。

2系统开发的意义 (1)第二章系统需求分析 (2)2.1系统功能要求 (2)2。

2 需求分析概述 (2)2。

3 系统层次划分 (3)2.4 系统数据流图 (3)2。

5 数据字典 (4)第三章系统总体设计目标 (11)3.1 系统总体设计目标 (11)3。

2 系统概念设计 (12)3.2.1 概念模式(E—R 图) (12)3.2.2 关系模式 (14)3。

2.3 关系模式规范化说明 (15)3。

2.4 系统数据库表结构 (15)第四章数据库系统实现 (18)4.1系统实现工具简介 (18)4.2 学生信息管理系统数据库实现 (19)结束语 (32)参考文献 (33)第一章系统概述1.1 系统开发的背景随着学校规模的不断扩大,学生数量急剧增加,有关学生的各种信息也成倍增加。

面对庞大的信息量,传统的人工方式管理会导致学生信息管理上的混乱,人力与物力过多浪费,管理费用的增加,从而使学校管理人员的负担过重,影响整个学校的运作和控制管理,因此,必须制定一套合理、有效,规范和实用的学生信息管理系统,对学生信息进行集中统一的管理。

通过这样的系统,可以做到信息的规范管理、科学统计和快速的查询,从而减少管理方面的工作量。

另一方面,IT产业和Internet获得了飞速发展,计算机应用已渗透到了各个领域,引起信息管理的革命,实现了信息的自动化处理,提高了处理的及时性和正确性.提高学生信息管理的工作效率,作到信息的规范管理,科学统计和快速查询,让该系统更好的为学校,社会服务。

1。

2系统开发的意义学生信息管理作为计算机应用的一个分支,有着手工管理无法比拟的优点,如检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。

这些优点能够极大地提高学生信息管理的效率.因此,开发一套能够为用户提供充足的信息和快捷的查询手段的学生信息管理系统,将是非常必要的,也是十分及时的。

(完整word版)数据库课程设计教务管理系统

(完整word版)数据库课程设计教务管理系统

洛阳理工学院课程设计报告课程名称数据库课程设计设计题目教务管理系统专业计算机科学与技术班级学号姓名完成日期课程设计任务书设计题目:教务管理系统设计内容与要求:设计教务管理系统,类似于我校教务管理系统,有四类用户:教务员、学生、教师、管理员教务员可以输入学生、教师、班级、课程信息。

一个班级只属于一个专业,一个学生只属于一个班级。

教务员负责输入每个专业、每个班级需要学习哪些课程,指定课程的任课教师。

教师可以查看学习该课程的学生名单。

课程结束后,教师可以录入课程成绩。

一个教师可以教授多个班的多门课程,每门课由多位老师讲授。

课程分两类,必修课和选修课。

系统要记录每个学生学习各门必修课的成绩,还要记录学生选修了哪些选修课以及课程成绩。

学生可以查看自己各门课程的成绩。

学生还可以进行评教,给老师打分。

管理员可以输入教室信息,并结合班级、课程、教室信息实现自动排课。

要求:1.完成本系统的需求分析,写出功能需求和数据需求描述;2.完成数据库的概念结构设计、逻辑结构设计、物理结构设计;3.完成本系统的部分功能模块的程序界面设计。

指导教师:2017 年12 月29 日课程设计评语成绩:指导教师:_______________年月日目录一、概述 (2)1.1、本设计的目的与意义 (2)1.2、数据库开发工具和应用程序开发工具 (2)二、需求分析 (2)2.1功能需求 (2)2.2数据需求 (2)三、概念结构设计 (2)3.1、E-R模型设计 (2)3.2、总体E-R图描述 (4)四、逻辑结构设计 (4)4.1、关系模型 (4)4.2、关系模式的优化与说明 (4)五、物理结构设计 (5)5.1建立数据库 (5)5.2表与表结构 (5)六、应用程序设计 (6)6.1、系统总体结构 (6)6.2、系统界面与源代码 (7)6.2.1、界面 (8)6.2.2、功能描述 (9)6.2.3、程序源代码 (10)七、设计总结 (23)一、概述本系统后台数据库采用Microsoft SQL Server 数据库,该数据库系统在安全性、准确性和运行速度方面有绝对的优势,并且处理数据量大,效率高;前台采用Microsoft 公司的Visual Studio 2010作为主要开发工具,可与SQL Server 2008数据库无缝链接。

数据库课程设计--java+sql-server--学生管理系统

数据库课程设计--java+sql-server--学生管理系统

课程设计任务书题目:学生管理系统学姓专课号名业程信息科学与工程学院数据库技术与应用指导教师职称讲师完成时间:2011年06 月----2010 年07 月枣庄学院计算机科学系制目录1学生信息管理系统概述 (5)1.1系统的任务 (5)1.2系统的目标 (5)2系统具体需求分析 (6)2.1系统需求 (6)2.2数据字典 (6)2.3数据流图 (10)3概念结构设计 (11)4.逻辑结构设计 (14)5.物理结构设计 (15)表汇总 (15)表A—F (16)6.数据保护设计 (18)6.1防止用户直接操作数据库的方法 (18)6.2用户帐号密码的加密方法 (18)6.3角色与权限 (18)7.运行管理与维护说明 (19)8.SQL语句及部分关键JAVA语句 (20)9.心得与体会 (29)8.参考资料 (29)课程设计任务书及成绩评定课程设计的任务和具体要求数据库应用课程设计是计算机技术专业重要的实践课程之一,是在掌握程序设计语言的基础上,学习《数据库原理》课程后的一次综合实践练习。

通过本课程设计,将在课堂上了解和掌握的数据库原理以及设计阶段的方法与技术,直接运用到实际系统的开发工作中。

并且在项目小组长及成员间的合作和沟通中,体验软件项目管理技能和方法,熟悉软件工具与环境。

本次课程设计要求我们小组成员间加强团队合作和沟通,同时每个成员承担明确的责任,独立按时完成相应任务;按照模版完成相应的文档,语言简洁、通顺,开发的系统功能符合需求规格,并能够准确、稳定地运行。

日期:指导教师签字:指导教师评语成绩:指导教师签字:日期:需求分析:1、学生信息管理系统概述学生信息管理系统主要用来管理学生基本信息。

本系统是一个简单的学生信息管理系统,系统管理的信息主要是学生基本信息、课程信息和学生选课信息。

系统的目的是有效地处理这些信息,同时为用户提供信息检索、信息修改和保护功能。

1.1 系统的任务学生信息管理系统是学校有效管理学生的重要工具,它的任务主要有以下几项:◆◆◆◆◆学生基本信息管理,主要负责管理学生基本信息。

数据库课程设计--学生选课成绩管理系统

数据库课程设计--学生选课成绩管理系统

《数据库系统概论》课程设计实验报告书姓名:学号:专业:软件工程班级:软093班学院:计算机一概述1.1.1 问题的提出随着科技的发展,基本上所有的具有一定数量数据的机构都开始使用计算机数据库来做管理。

几乎所有学校也都已经在使用计算机管理数据的机制,大大减少了学校学生成绩管理的工作量。

系统概述:通过对学校日常教学管理中的课程、选课、学生、教师、成绩等相关内容进行分析,完成具有学生管理、成绩管理、课程管理等相关功能的小型数据库管理应用系统。

基本要求:完成学生、班级、课程表的维护。

完成成绩表的维护、浏览查找。

按班级、按课程计算平均成绩、最高成绩、最低成绩、及格率。

统计某学生、某学期的所有课程的平均成绩。

完成用户管理功能。

完成数据备份与恢复功能,1.1.2 本课题的意义通过该课程设计,可以达到把数据库理论知识更加的巩固加深,加强动手能力与实践能力,学以致用,与现实生活中的应用充分的结合起来。

1.2设计环境① Oracle 11G② C# .net平台二需求分析2.1 系统功能要求设计此系统实现如下系统功能:(1)使得学生的成绩管理工作更加清晰、条理化、自动化。

(2)通过用户名和密码登录系统,查询课程基本资料,学生所选课程成绩,修改用户密码等功能。

容易地完成学生信息的查询操作。

(3) 设计人机友好界面,功能安排合理,操作使用方便,并且进一步考虑系统在安全性,完整性,并发控制,备份和恢复等方面的功能要求。

2.2 系统模块设计成绩管理系统大体可以分成二大模块如,一是学生的基本信息模块,里面应该包含学生的各方面的基本信息;再者便是课程管理模块,在该模块中应该包含有对学生成绩信息的查询和处理,如平均成绩、最好成绩、最差成绩以及不及格学生的统计等功能模块;再其次还有教师、课程等相关信息的模块;2.3 数据字典数据项是数据库的关系中不可再分的数据单位,下表分别列出了数据的名称、数据类型、长度、取值能否为空。

利用SQL Server 2000建立“学生选课”数据库,其基本表清单及表结构描述如下:数据库中用到的表:Student基本情况数据表,结构如下:Teach基本情况数据表,结构如下Course数据表,结构如下:Stu_cour情况数据表,结构如下:Score情况数据表,结构如下:三概念模型设计由需求分析的结果可知,本系统设计的实体包括:(1)学生基本信息:学号,姓名,学院,班级,年龄,性别。

数据库课程设计源代码

数据库课程设计源代码

数据库课程设计源代码一、课程目标知识目标:1. 理解数据库的基本概念,掌握数据库设计的基本原理。

2. 学习并运用数据库设计源代码的编写方法,能够独立完成小型项目的数据库设计。

3. 掌握数据库表、字段、索引、关系等基本元素的创建和使用。

技能目标:1. 培养学生运用数据库设计工具进行数据库设计的能力。

2. 培养学生编写结构化查询语言(SQL)进行数据操作的能力。

3. 提高学生分析问题、解决问题的能力,使其能够根据实际需求设计合适的数据库结构。

情感态度价值观目标:1. 激发学生对数据库技术的兴趣,培养其主动学习的积极性。

2. 培养学生的团队协作意识,使其在项目实践中学会与他人合作、沟通。

3. 培养学生的创新意识,鼓励其在数据库设计过程中尝试新思路和方法。

课程性质:本课程为实践性较强的课程,旨在培养学生的数据库设计能力,提高其在实际项目中的应用水平。

学生特点:学生具备一定的编程基础,对数据库有一定的了解,但缺乏实际设计经验。

教学要求:1. 结合课本知识,注重理论与实践相结合,使学生能够在实践中掌握数据库设计方法。

2. 强化编程实践,让学生通过编写源代码,巩固所学知识,提高动手能力。

3. 鼓励学生参与项目实践,培养其独立分析和解决问题的能力。

二、教学内容1. 数据库基本概念:数据库的定义、作用、分类。

2. 数据库设计原理:实体关系模型、关系数据库设计、范式理论。

3. 数据库设计工具:使用ER图、DFD图等工具进行数据库设计。

4. SQL语言:数据定义、数据操纵、数据查询、数据控制。

5. 数据库表、字段、索引、关系的创建和使用。

6. 数据库设计实例:结合实际项目,进行数据库设计案例分析。

7. 实践项目:设计并实现一个简易的数据库项目,包括以下环节:a. 需求分析b. 概念结构设计c. 逻辑结构设计d. 物理结构设计e. 数据库实施f. 数据库维护教学内容安排和进度:1. 第1周:数据库基本概念、设计原理。

2. 第2周:数据库设计工具、SQL语言基础。

数据库课程设计详细代码

数据库课程设计详细代码

数据库课程设计详细代码一、教学目标本课程的教学目标是使学生掌握数据库的基本理论、设计方法和操作技能,培养学生运用数据库技术解决实际问题的能力。

具体目标如下:1.知识目标:(1)了解数据库的基本概念、发展历程和分类;(2)掌握关系模型、实体-关系模型等数据库设计方法;(3)熟悉SQL语言及其基本操作;(4)掌握数据库的创建、管理、备份和恢复方法。

2.技能目标:(1)能够使用数据库管理系统进行数据库设计、创建和管理;(2)能够运用SQL语言进行数据的增、删、改、查操作;(3)能够进行数据库的备份和恢复操作;(4)能够运用数据库技术解决实际问题。

3.情感态度价值观目标:(1)培养学生的团队协作精神,使其能够与他人共同完成数据库设计任务;(2)培养学生的问题解决能力,使其能够运用数据库技术解决实际问题;(3)培养学生的创新意识,使其能够积极探索数据库技术的新应用。

二、教学内容本课程的教学内容主要包括以下几个方面:1.数据库基本概念:数据库、数据库管理系统、数据库系统、数据模型等;2.数据库设计方法:关系模型、实体-关系模型、E-R图等;3.SQL语言:数据定义、数据操纵、数据查询、数据控制等;4.数据库管理:数据库的创建、管理、备份和恢复等;5.数据库应用案例:运用数据库技术解决实际问题。

三、教学方法本课程采用多种教学方法,以激发学生的学习兴趣和主动性:1.讲授法:讲解数据库的基本概念、设计方法和操作技能;2.案例分析法:分析数据库在实际应用中的案例,使学生更好地理解数据库技术;3.实验法:让学生亲自动手进行数据库设计、创建和管理,提高学生的实践能力;4.讨论法:学生进行小组讨论,培养学生的团队协作能力和问题解决能力。

四、教学资源本课程的教学资源包括:1.教材:选用权威、实用的数据库教材,为学生提供系统、全面的学习资料;2.参考书:提供相关领域的参考书籍,拓展学生的知识视野;3.多媒体资料:制作课件、教学视频等,使教学内容更加生动形象;4.实验设备:提供计算机、数据库管理系统等实验设备,保障学生的实践操作。

数据库原理课程设计指导书20070725

数据库原理课程设计指导书20070725

《数据库原理》课程设计指导书课程名称:数据库原理课程代码:02113008一、课程基本情况1.学分:3 学时:2周2.课程性质:实践教学3.适用专业:计算机科学与技术,计算机科学与教育4.适用对象:本科5.先修课程:计算机基础,数据结构6.教材与参考书目:王珊萨师煊编著《数据库系统概论》7.考核方式:设计答辩二、课程教学目的课程设计是课程教学中的一项重要内容,是完成教学计划达到教学目标的重要环节,是课程教学计划中综合性较强的实践教学环节,它对帮助学生全面牢固地掌握课堂教学内容、培养学生的实践和实际动手能力、提高学生全面素质具有很重要的意义。

本课程设计是计算机科学与技术专业的专业技术实践课。

其主要目的是:1、培养学生运用所学的数据库原理理论知识和技能,分析解决计算机应用实际问题的能力。

2、培养学生掌握用所学的数据库原理知识设计计算机课题的思想和方法。

3、培养学生调查研究、查阅文献、资料、手册以及编写技术文献的能力。

4、通过课程设计,要求学生在指导教师的指导下,独立完成设计课题的全部内容,包括:⑴通过调查研究和上机实习,收集和调查有关技术资料。

⑵掌握设计课题的基本步骤和方法。

⑶根据课题的要求进行上机实验调试。

三、课程内容、时间分配及教学基本要求1、选题原则课程设计可根据课程的教学要求,使学生能达到某一技能的训练,为学生毕业设计提供扎实的基本技能训练的需要进行选题。

选题的基本原则是:1、必须符合计算机科学专业课程训练的要求。

2、在满足课程训练要求的前提下,尽可能选择一些有一定实用价值的课题。

3、选题要有利于深化所学课程的知识和拓展知识面。

4、课题任务要有一定的设计、工程量,以保证学生得到一定程度的训练。

5、课题的设计难度要适中,以学生在规定时间内经过努力可以完成为宜。

2、课程设计题目由指导教师或学生自行选择一个数据库相关的题目。

题目至少要包括后台数据库和前台应用程序两部分。

数据库中应该含有多张表,表与表之间应该有一定的联系。

学生信息管理系统java课程设计代码

学生信息管理系统java课程设计代码

学生信息管理系统java课程设计代码学生信息管理系统Java课程设计代码一、引言学生信息管理系统是一种方便、高效的信息管理工具,可以帮助学校或教育机构管理学生的个人信息、学籍信息等。

本文将介绍一个基于Java语言的学生信息管理系统的设计代码。

二、系统设计1. 需求分析学生信息管理系统需要满足以下需求:- 学生信息的录入、修改和删除- 学生信息的查询和显示- 学生成绩的录入、修改和查询- 学生课表的查询和显示- 学生考勤情况的记录和查询2. 数据库设计系统需要设计学生信息、学生成绩、课程表和考勤情况等相关数据库表。

每个表需要定义相应的字段,如学生姓名、学号、性别、年龄等。

3. 界面设计系统需要设计用户友好的界面,方便用户进行操作。

可以使用JavaSwing等图形界面库进行开发,界面要清晰、美观,并提供相应的按钮和输入框供用户使用。

4. 功能实现系统的功能实现需要编写相应的Java代码。

可以使用面向对象的编程思想,将学生、成绩、课程表和考勤等信息封装成对象,通过调用对象的方法来完成相应的操作。

5. 数据库连接系统需要与数据库进行连接,使用Java JDBC等技术来实现数据库的增删改查操作。

可以使用MySQL等关系型数据库管理系统。

6. 用户权限管理系统可以设计管理员和普通用户两种角色,管理员具有录入、修改和删除学生信息的权限,普通用户只能查询和显示学生信息。

三、代码实现以下是一个简单的学生信息管理系统的Java代码示例:```javaimport java.sql.*;import javax.swing.*;public class StudentManagementSystem {// 数据库连接信息private static final String URL = "jdbc:mysql://localhost:3306/student_db";private static final String USERNAME = "root";private static final String PASSWORD = "123456";public static void main(String[] args) {// 连接数据库Connection conn = null;try {conn = DriverManager.getConnection(URL, USERNAME, PASSWORD);} catch (SQLException e) {e.printStackTrace();JOptionPane.showMessageDialog(null, "数据库连接失败!");System.exit(0);}// 界面初始化JFrame frame = new JFrame("学生信息管理系统");frame.setSize(800, 600);frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);// 添加组件JPanel panel = new JPanel();JLabel label = new JLabel("学生信息管理系统");panel.add(label);frame.add(panel);// 显示界面frame.setVisible(true);}}```四、总结通过以上的代码示例,我们可以看到一个简单的学生信息管理系统的实现框架。

数据库课程设计(学生管理系统)-附代码

数据库课程设计(学生管理系统)-附代码

数据库课程设计报告题目:学生信息管理系统院系名称:计算机学院专业名称:班级:学生姓名:学号(8位):指导教师:设计起止时间:2011年12月19日~2011年12月30日一. 设计目的1、掌握DBMS的基本工作原理2、培养数据库应用系统设计的基本思路和方法3、培养分析、解决问题的能力二. 设计内容利用数据库实现对学生信息的管理所用数据库:sqlserver 2008开发语言:java、开发工具:eclipse三.概要设计通过访问数据库实现以下功能:1、不同用户权限登陆系统2、用户密码修改3、学生信息的添加、查询、修改、浏览1.功能模块图2.各个模块详细的功能描述。

1、系统用户管理模块管理员和普通用户通过这个模块登陆系统,不同的用户用不同的用户名登陆,通过选择登陆模式(管理员或者普通用户)登陆系统,完成不同的操作。

两种用户都可以对自己的登陆密码进行修改。

新用户可进行注册操作,注册后登陆,并进行信息的完善。

2、学生信息管理模块管理员和普通用户对学生信息由不同的操作。

管理员可以对信息进行增加,删除,修改和列表查看,普通用户对自己的信息可进行查询,和修改。

四.详细设计1.功能函数的调用关系图2.各功能函数的数据流程图3.重点设计及编码、--学生信息表--create table studentinfo(Sid int primary key identity(1,1),Sname varchar(30) not null,Ssex varchar(10) check(Ssex='男' or Ssex='女'),Snumber varchar(8) check(Snumber like '0409[0-9][0-9][0-9][0-9]') not null,Sprofession varchar(30),Sclass varchar(20),Sdate datetime default getDate());--普通用户登陆信息表--create table userinfo(id int primary key identity(1,1),name varchar(30) not null,mima varchar(20) not null);--管理员登陆信息表--create table userinfo(id int primary key identity(1,1),name varchar(30) not null,mima varchar(20) not null);--连接数据库—try{Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");}catch(ClassNotFoundException e){System.out.print("加载驱动程序失败");}String conURL="jdbc:sqlserver://localhost:1433; DatabaseName=SIMS";try{Connectioncon=DriverManager.getConnection(conURL,"sa","majie");Statement st=con.createStatement();、}catch(SQLException g){System.out.println("错误代码:"+g.getErrorCode());System.out.println("错误内容:"+g.getMessage());}五.测试数据及运行结果1.正常测试数据和运行结果登录信息查询修改信息2.异常测试数据及运行结果六.调试情况,设计技巧及体会1.改进方案本次课程设计实现了系统的基本功能,做的不是很复杂,跟预期想的结果有些差距,数据库表的设计有点简单,下来还要增加表的复杂度,以及触发器的使用。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

use kjq111007307/*创建一个部门信息表包含“部门号,部门名,部门经理,人数”属性列*/create table department(depart_no char(2)primary key,depart_name char(30)not null,depart_manage char(6)not null,depart_people int not null)/*创建一个职位信息表包含“职位,基本薪资,福利,失业保险,住房公积金”属性列*/ create table position(pos char(30)primary key,basesalary float not null,benefits float not null,insurances float not null,housing_funds float not null)/*创建一个职工信息表包含"职工号,职工名,性别,年龄,学历,部门号,职位"属性列*/ create table staff_message(staff_no char(4)primary key,staff_name char(10)not null,staff_sex char(2)check(staff_sex in('男','女')),staff_age int not null,staff_edu char(10)not null,staff_dep char(2)not null,staff_job char(30)not null,foreign key(staff_dep)references department(depart_no), foreign key(staff_job)references position(pos))/*创建一个员工考勤表包含“职工号,年月,迟到,缺勤,加班”属性列*/create table staff_days(staff_no char(4),month_date char(6),staff_late int not null,staff_absent int not null,workoverdays int not null,primary key(staff_no,month_date))/*创建一个薪资表包含“职工号,年月,奖金,罚金,真实薪资”属性列*/create table salary(staff_no char(4),month_date char(6),addsalary float not null,subsalary float not null,relsalary float not null,primary key(staff_no,month_date))create index salary_index on salary(month_date asc,staff_no asc); /*部门表信息的录入*//*经理室*/insertinto departmentvalues('01','manage_department','王栋','1');/*财务科*/insertinto departmentvalues('02','financial_department','张鹏','3');/*技术科*/insertinto departmentvalues('03','plan_department','代淑英','5');/*销售科*/insertinto departmentvalues('04','market_department','金加容','6');/*职位表信息的录入*//*经理*/insertinto positionvalues('manager','4500','1125','-45','-36');/*副经理*/insertinto positionvalues('assistant_manager','4000','1000','-40','-32');/*办事*/insertinto positionvalues('clerk','3500','875','-35','-28');/*助理*/insertinto positionvalues('assistant','2000','500','-20','-16');/*职工信息表信息的录入*/insertinto staff_messagevalues('0101','王栋','男','38','硕士','01','manager');insertinto staff_messagevalues('0201','张鹏','男','35','硕士','02','manager');insertinto staff_messagevalues('0202','程雷','男','30','本科','02','clerk');insertinto staff_messagevalues('0203','王晶晶','女','29','本科','02','assistant');insertinto staff_messagevalues('0301','代淑英','女','35','硕士','03','manager'); insertinto staff_messagevalues('0302','刘燕','女','30','本科','03','assistant_manager'); insertinto staff_messagevalues('0303','杨浩','男','27','本科','03','clerk');insertinto staff_messagevalues('0304','程伟','男','31','本科','03','clerk');insertinto staff_messagevalues('0305','唐琦','女','25','本科','03','assistant');insertinto staff_messagevalues('0401','金加容','女','34','本科','04','manager'); insertinto staff_messagevalues('0402','吴辉','男','35','本科','04','assistant_manager'); insertinto staff_messagevalues('0403','陈睿','男','32','本科','04','clerk');insertinto staff_messagevalues('0404','万莉','女','36','本科','04','clerk');insertinto staff_messagevalues('0405','方冬雨','女','31','本科','04','clerk'); insertinto staff_messagevalues('0406','陈晨','女','27','专科','04','assistant'); insertinto staff_daysvalues('0101','201205','0','0','0');insertinto staff_daysvalues('0201','201205','0','0','0');insertinto staff_daysvalues('0202','201205','0','0','0');insertinto staff_daysvalues('0203','201205','0','0','0');insertinto staff_daysvalues('0301','201205','0','0','0');insertinto staff_daysvalues('0302','201205','0','0','0');insertinto staff_daysvalues('0303','201205','0','0','0');insertinto staff_daysvalues('0304','201205','0','0','0');insertinto staff_daysvalues('0305','201205','0','0','0');insertinto staff_daysvalues('0401','201205','0','0','0');insertinto staff_daysvalues('0402','201205','0','0','0');insertinto staff_daysvalues('0403','201205','0','0','0');insertinto staff_daysvalues('0404','201205','0','0','0');insertinto staff_daysvalues('0405','201205','0','0','0'); insertinto staff_daysvalues('0406','201205','0','0','0'); insertinto salaryvalues('0101','201205','0','0','5544'); insertinto salaryvalues('0201','201205','0','0','5544'); insertinto salaryvalues('0202','201205','0','0','4312'); insertinto salaryvalues('0203','201205','0','0','2464'); insertinto salaryvalues('0301','201205','0','0','5544'); insertinto salaryvalues('0302','201205','0','0','4928'); insertinto salaryvalues('0303','201205','0','0','4312'); insertinto salaryvalues('0304','201205','0','0','4312'); insertinto salaryvalues('0305','201205','0','0','2464'); insertinto salaryvalues('0401','201205','0','0','5544'); insertinto salaryvalues('0402','201205','0','0','4928'); insertinto salaryvalues('0403','201205','0','0','4312'); insertinto salaryvalues('0404','201205','0','0','4312'); insertinto salaryvalues('0405','201205','0','0','4312');insertinto salaryvalues('0406','201205','0','0','2464');/*******************触发器***********************//*创建一个触发器当修改考勤表中的加班或迟到或缺勤时,薪资表中的数据有自动更新的功能*/ create trigger xinzi1on staff_daysfor updateas/*定义三个变量late,absent,overdays当考勤表有更新时用来记录新的数据*/declare @late int,@absent int,@overdays int/*给变量赋值*/select @late=staff_late from insertedselect @absent=staff_absent from insertedselect @overdays=workoverdays from inserted/*定义变量来记录组成最终真实薪资的各项薪资*/declare @kkbasesalary float,@kkaddsalary float,@kksubsalary float,@kkbenefits float,@kkinsurances float,@kkhousing_funds float,@kkrelsalarys float/*给组成最终真实薪资的各项薪资赋值*/select @kkbasesalary=(select basesalaryfrom positionwhere pos=(select staff_jobfrom staff_messagewhere staff_no=(select staff_no from inserted)))select @kkaddsalary=(select workoverdays from inserted)*30select @kksubsalary=(select staff_late from inserted)*(-10)+(select staff_absent from inserted)*(-30)select @kkbenefits=@kkbasesalary*(0.25)select @kkinsurances=@kkbasesalary*(-0.01)select @kkhousing_funds=@kkbasesalary*(-0.008)/*用组成真实薪资的各项薪资来给真实薪资赋值*/select @kkrelsalarys=@kkbasesalary+@kkaddsalary+@kksubsalary+@kkbenefits+@kkinsurances+@kkhousing_funds/*利用变量对薪资表中的'加班费,迟到缺勤扣除费'进行更新*/update salaryset addsalary=@kkaddsalarywhere staff_no=(select staff_no from inserted)and month_date=(select month_date from inserted)update salaryset subsalary=@kksubsalarywhere staff_no=(select staff_no from inserted)and month_date=(select month_date from inserted)update salaryset relsalary=@kkrelsalaryswhere staff_no=(select staff_no from inserted)and month_date=(select month_date from inserted)/*创建一个触发器当对考勤表插入新数据时,薪资表有自动对应插入新数据的功能*/ create trigger xinzi2on staff_daysfor insertasbegin/*定义变量来记录薪资表中应插入的各项数据*/declare @jjstaff_no char(4),@jjmonth_date char(6)declare @jjbasesalary float,@jjaddsalary float,@jjsubsalary float,@jjbenefits float,@jjinsurances float,@jjhousing_funds float,@jjrelsalarys float/*给各个变量赋值*/select @jjstaff_no=(select staff_nofrom inserted)select @jjmonth_date=(select month_datefrom inserted)select @jjbasesalary=(select basesalaryfrom positionwhere pos=(select staff_jobfrom staff_messagewhere staff_no=(select staff_no from inserted)))select @jjaddsalary=0select @jjsubsalary=0select @jjbenefits=@jjbasesalary*(0.25)select @jjinsurances=@jjbasesalary*(-0.01)select @jjhousing_funds=@jjbasesalary*(-0.008)select @jjrelsalarys=@jjbasesalary+@jjbenefits+@jjinsurances+@jjhousing_funds/*将新值插入到薪资表中*/insertinto salaryvalues(@jjstaff_no,@jjmonth_date,@jjaddsalary,@jjsubsalary,@jjrelsalarys)end/*对员工信息表创建一个触发器实现当登记新来员工信息时,薪资表和考勤表中自动对应增加新记录的功能*/create trigger staffmessage1on staff_messagefor insertasbegin/*定义变量来记录待插入薪资表和考勤表的数据*/declare @hhstaff_no char(4)select @hhstaff_no=(select staff_no from inserted)/*向考勤表中自动插入新员工的薪资数据,同时薪资表也会自动插入新数据*/insertinto staff_daysvalues(@hhstaff_no,'201206',0,0,0)end/*对员工信息表创建一个触发器来实现当某员工信息从信息表中删除时,薪资表和考勤表能自动删除关于该员工的信息的功能*/create trigger staffmessage2on staff_messagefor deleteasbegin/*删除辞职员工在薪资表中的记录*/deletefrom salarywhere staff_no=(select staff_no from deleted)/*删除辞职员工在考勤表中的记录*/deletefrom staff_dayswhere staff_no=(select staff_no from deleted)end/******************存储过程********************//*创建一个存储过程实现向部门表录入新数据的功能*/create procedure department_insert@aadepart_no char(2),@aadepart_name char(30),@aadepart_manage char(6),@aadepart_people intasbegininsertinto departmentvalues(@aadepart_no,@aadepart_name,@aadepart_manage,@aadepart_people) end/*创建一个存储过程实现向职位表录入新数据的功能*/create procedure position_insert@bbpos char(30),@bbbasesalary float,@bbbenefits float,@bbinsurances float,@bbhousing_funds floatasbegininsertinto positionvalues(@bbpos,@bbbasesalary,@bbbenefits,@bbinsurances,@bbhousing_funds) end/*创建一个存储过程实现向职工信息表录入新数据的功能*/create procedure staffmessage_insert@ccstaff_no char(4),@ccstaff_name char(10),@ccstaff_sex char(2),@ccstaff_age int,@ccstaff_edu char(10),@ccstaff_dep char(2),@ccstaff_job char(30)asbegininsertinto staff_messagevalues(@ccstaff_no,@ccstaff_name,@ccstaff_sex,@ccstaff_age,@ccstaff_edu,@ccstaff_dep, @ccstaff_job)end/*创建一个存储过程实现在新的一月时向考勤表中插入新数据的功能*/create procedure kaoqin_insert@qqstaff_no char(4),@qqmonth_date char(6),@qqstaff_late int,@qqstaff_absent int,@qqworkoverdays intasbegininsertinto staff_daysvalues(@qqstaff_no,@qqmonth_date,@qqstaff_late,@qqstaff_absent,@qqworkoverdays) end/*创建一个存储过程实现只能查看自己的基本信息的功能*/create proc select_staffmessage@staff_number char(4)asselect*from staff_messagewhere staff_no=@staff_number;/*创建一个存储过程实现只能查看自己的工资情况的功能*/create proc select_salary@staff_num char(4)as/*查看自己某年某月的福利,失业保险,住房公积金,奖金,罚金,最终真实工资*/select salary.staff_no,salary.month_date,position.benefits,position.insurances, position.housing_funds,salary.addsalary,salary.subsalary,salary.relsalaryfrom salary,staff_message,positionwhere salary.staff_no=@staff_numand salary.staff_no=staff_message.staff_noand staff_message.staff_job=position.pos;/*创建一个存储过程实现只能查看自己的考勤信息的功能*/create proc select_staffdays@staff_no char(4)asselect*from staff_dayswhere staff_no=@staff_no;/*****************实现功能的代码********************//*查看五个基本表*/select*from department;select*from position;select*from staff_message;select*from staff_daysselect*from salary;/*查看某员工自己的信息*/exec select_staffmessage'0202';/*查看某员工自己的考勤记录*/exec select_staffdays'0202';/*查看某员工自己的薪资*/exec select_salary'0202';/*更新考勤表薪资表会自动对应更新,*/update staff_daysset staff_late=3where staff_no='0101'and month_date='201205';select*from staff_days;select*from salary;/*向考勤表插入信息,薪资表也会自动对应插入信息*/exec kaoqin_insert'0101','201206','0','0','0';select*from staff_days;select*from salary;/*向员工信息表插入信息,考勤表和薪资表也会自动对应插入新信息*/ exec staffmessage_insert'0204','陈珍','女','29','本科','02','clerk';select*from staff_message;select*from staff_days;select*from salary;/*删除员工信息表的信息,考勤表和信息表也会自动删除对应信息*/ deletefrom staff_messagewhere staff_no='0204';select*from staff_message;select*from staff_days;select*from salary;/*按部门查询员工的基本信息*/select*from staff_messagewhere staff_dep='03';/*按年月查看员工的考勤记录*/select*from staff_dayswhere month_date='201205';/*按部门查看所有员工薪资总数*/select sum(relsalary)from staff_message,salarywhere salary.staff_no=staff_message.staff_noand staff_dep='04';/*按职位查看所有员工薪资总数*/select sum(relsalary)from staff_message,salarywhere salary.staff_no=staff_message.staff_noand staff_job='clerk';。

相关文档
最新文档