广工数据库课程设计_第1页
广工数据库课程设计_第2页
广工数据库课程设计_第3页
广工数据库课程设计_第4页
广工数据库课程设计_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

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

文档简介

1、教师信息管理系统 题目名称 专业班级 学 号 学生姓名 指导教师 2016 年 3 月 26 日一、实验环境硬件环境:处理器: Intel(R) Core(TM) i5-3230M CPU 2.60FHz 2.60GHz已安装的内存(RMA): 4.00GB软件环境 操作系统: Windows 10数据库管理系统: SQL Server 2008开发工具: Eclipse二、需求分析信息需求教师信息(职工号,教师姓名,年龄,性别)课程信息(课程号,课程名,学分)课程评价信息(职工号,课程号,等级)奖金信息(序号,等级,奖金)用户信息(登录名,密码,用户组)功能需求1. 教师用户: (

2、1)对教师信息、课程信息、课程评价、奖金信息的查询。2. 管理员 (1)对教师信息、课程信息、课程评价的查询,修改,增加,删除; (2)对教师的奖金等信息的查询,修改。安全性与完整性需求1. 不同的身份有不同的功能权限。2.实体完整性:通过设置主键都已实现。数据字典该软件的数据库由下述信息组成:1. 教师信息字段字段名类型宽度说明1职工号 Int型2教师姓名 字符型103年龄 Int型大于等于18且小于等于654性别 字符型2男或女2.课程信息字段字段名类型宽度说明1课程号 Int型2课程名 字符型163学分 Int型3. 课程评价信息字段字段名类型宽度说明1职工号 Int型2课程号 Int型

3、3等级 字符型2优,良,中,差4. 奖金信息字段字段名类型宽度说明1序号 Int型2等级 字符型2优,良,中,差3奖金 Int型5. 用户信息字段字段名类型宽度说明1登录名 字符型82密码 Int型3用户组 字符型6三、概念结构设计1. 教师信息实体2. 课程实体3. 课程评价实体4. 奖金实体5. 用户实体概念模型:E-R图四、逻辑结构设计关系模型教师信息表(职工号,教师姓名,年龄,性别),其主码为职工号。课程表(课程号,课程名,学分),其主码为课程号。课程评价表(职工号,课程号,等级),其主码为职工号与课程号。奖金表(序号,等级,奖金),其主码为序号。用户表(登录名,密码,用户组),其主码

4、为登录名。用户子模式应用程序功能模块图安全性该系统的用户只有两种,一种是管理员,另一种是教师,管理员具有对数据库操作的所有权限,教师只有对教师的信息、课程信息、课程评价、奖金信息的查询权限。完整性实体完整性:通过设置主键都已实现。参照完整性:课程评价表中的职工号和课程号分别参照教师信息表中的职工号和课程表中的课程号。用户自定义完整性:教师信息表中的年龄必须在18到60之间,性别必须为男、女,课程评价表和奖金表中的等级必须为优、良、中、差。五、数据库物理设计数据的存放位置说明D:Program Files Microsoft SQL Server MSSQL10_50.SQLEXPRESSMSS

5、QLDATA系统配置说明使用登录名:sa 登陆密码:123 登陆SQL Server 2008模块设计(模块IPO图)六、数据库实施1.创建教师信息表CREATE TABLE 教师信息表 (职工号 INT NOT NULL PRIMARY KEY, 教师姓名 CHAR(10), 年龄 INT CHECK(年龄>=18 AND 年龄<=60), 性别 CHAR(2) CHECK(性别 IN('男','女') )2. 创建课程表CREATE TABLE 课程表 (课程号 INT NOT NULL PRIMARY KEY, 课程名 CHAR(16), 学分

6、 INT )3. 创建课程评价表CREATE TABLE 课程评价表 (职工号 INT, 课程号 INT, 等级 CHAR(2) CHECK(等级 IN('优','良','中','差'), PRIMARY KEY(职工号,课程号), FOREIGN KEY (职工号) REFERENCES 教师信息表(职工号), FOREIGN KEY (课程号) REFERENCES 课程表(课程号) )4. 创建奖金表CREATE TABLE 奖金表 (等级 CHAR(2) CHECK(等级 IN('优','良'

7、;,'中','差') PRIMARY KEY, 奖金 INT )5. 创建用户表CREATE TABLE 用户表 (登录名 CHAR(8) NOT NULL PRIMARY KEY, 密码 INT, 用户组 CHAR(6) )6. 各表元组INSERT INTO 教师信息表 VALUES(201501,'翁嘉民',20,'男')INSERT INTO 教师信息表 VALUES(201502,'陈天翔',19,'男')INSERT INTO 教师信息表 VALUES(201503,'周诗妍&#

8、39;,21,'女')INSERT INTO 教师信息表 VALUES(201504,'宋嘉莹',20,'女')INSERT INTO 课程表 VALUES(100,'语文',5)INSERT INTO 课程表 VALUES(101,'数学',5)INSERT INTO 课程表 VALUES(102,'英语',4)INSERT INTO 课程表 VALUES(103,'物理',3)INSERT INTO 课程表 VALUES(104,'化学',3)INSERT INT

9、O 课程表 VALUES(105,'生物',3)INSERT INTO 课程表 VALUES(106,'地理',3)INSERT INTO 课程表 VALUES(107,'历史',3)INSERT INTO 课程表 VALUES(108,'政治',3)INSERT INTO 课程评价表 VALUES(201501,100,'优')INSERT INTO 课程评价表 VALUES(201501,107,'良')INSERT INTO 课程评价表 VALUES(201501,108,'优'

10、;)INSERT INTO 课程评价表 VALUES(201502,101,'良')INSERT INTO 课程评价表 VALUES(201502,103,'良')INSERT INTO 课程评价表 VALUES(201502,106,'优')INSERT INTO 课程评价表 VALUES(201503,102,'中')INSERT INTO 课程评价表 VALUES(201503,105,'良')INSERT INTO 课程评价表 VALUES(201503,107,'优')INSERT INT

11、O 课程评价表 VALUES(201504,104,'良')INSERT INTO 课程评价表 VALUES(201504,105,'优')INSERT INTO 课程评价表 VALUES(201504,106,'良')INSERT INTO 奖金表 VALUES('1','优',8000)INSERT INTO 奖金表 VALUES('2','良',4000)INSERT INTO 奖金表 VALUES('3','中',2000)INSERT INT

12、O 奖金表 VALUES('4','差',0)INSERT INTO 用户表 VALUES('admin',123,'管理员')INSERT INTO 用户表 VALUES('admin2',456,'管理员')7、 数据库运行和维护主要窗口截图主要代码1. 数据库的连接Connection con=null;StringJ Driver="com.microsoft.sqlserver.jdbc.SQLServerDriver"/SQL数据库引擎String connectDB

13、="jdbc:sqlserver:/127.0.0.1:1433;DatabaseName=Teacher"/数据源注意IP地址和端口号,数据库名字 Teacher为数据库名try Class.forName(JDriver);/加载数据库引擎,返回给定字符串名的类catch(ClassNotFoundException e)/e.printStackTrace();System.out.println("加载数据库引擎失败");System.exit(0);tryString user="sa"/你自己创建的用户名字和密码Strin

14、g password="fuxiao456" con=DriverManager.getConnection(connectDB,user,password);/连接数据库对象Statement stmt=con.createStatement();/创建SQL命令对象/关闭连接stmt.close();/关闭命令对象连接con.close();/关闭数据库连接catch(SQLException e)e.printStackTrace();/System.out.println("数据库连接错误");System.exit(0);2. 更新函数publ

15、ic static void function10(String id17,String id18,String id19,Connection con) int a = 0;try String sql = "update 课程评价表 set 等级=? where 职工号=? and 课程号=?"PreparedStatement stmta = con.prepareStatement(sql); /执行SQL语句stmta.setString(1, id19); /用id27的字符串代替SQL语句中的第一个?stmta.setString(2, id17); /用id

16、27的字符串代替SQL语句中的第二个?stmta.setString(3, id18); /用id27的字符串代替SQL语句中的第三个?a=stmta.executeUpdate(); /将受影响的行数赋值给acatch (Exception e) if(a=1) System.out.println("修改成功"); /通过受影响的行数来判断SQL语句是否执行成功if(a=0) System.out.println("修改失败");3. 增加函数public static void function11(String id20,String id21,

17、String id22,Connection con) int a = 0;try String sql = "insert into 课程评价表 values(?,?,?)"PreparedStatement stmta = con.prepareStatement(sql); /执行SQL语句 stmta.setString(1, id20); /用id20的字符串代替SQL语句中的第一个?stmta.setString(2, id21); /用id21的字符串代替SQL语句中的第一个?stmta.setString(3, id22); /用id22的字符串代替SQL语

18、句中的第一个? a=stmta.executeUpdate(); /将受影响的行数赋值给acatch (Exception e) if(a=1) System.out.println("插入成功"); /通过受影响的行数来判断SQL语句是否执行成功if(a=0) System.out.println("插入失败");4. 连接查询public static void function15(String id27,Connection con) try String sql = "select 教师信息表.职工号,教师信息表.教师姓名,课程名,学

19、分,奖金表.等级,奖金 from 教师信息表,课程表,课程评价表,奖金表 where 教师信息表.职工号=课程评价表.职工号 and 课程表.课程号=课程评价表.课程号 and 课程评价表.等级=奖金表.等级 and 教师信息表.职工号=?"PreparedStatement stmta = con.prepareStatement(sql); /执行SQL语句stmta.setString(1, id27); /用id27的字符串代替SQL语句中的第一个?ResultSet rs = stmta.executeQuery(); System.out.println("职工

20、号"+"t"+"教师姓名"+"t"+"课程名"+"t"+"学分"+"t"+"等级"+"t"+"奖金");while (rs.next() /输出选择结果System.out.println(rs.getString("职工号")+"t"+rs.getString("教师姓名")+"t"+rs.getStrin

21、g("课程名")+rs.getString("学分")+"t"+rs.getString("等级")+"t"+rs.getString("奖金");catch (Exception e) 5. 分组求和public static void function19(Connection con) try String sql = "select 教师信息表.职工号,教师信息表.教师姓名,sum(奖金) as 总奖金 from 教师信息表,课程评价表,奖金表 where 教师信息表.职工号=课程评价表.职工号 and 课程评价表.等级=奖金表.等级 group by 教师信息表.教师姓名,教师信息表.职工号"PreparedStatement stmta = con.pre

温馨提示

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

评论

0/150

提交评论