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

下载本文档

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

文档简介

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

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

3、差3奖金Int型5 .用户信息字段字段名宽度说明1登录名字符型82密码Int型3用户组字符型6三、概念结构设计1.教师信息实体感谢下载载2.课程实体3.课程评价实体概念模型:E-R图四、逻辑结构设计关系模型教师信息表(职工号,教师姓名,年龄,性别),其主码为职工号课程表(课程号,课程名,学分),其主码为课程号。课程评价表(职工号,课程号,等级),其主码为职工号与课程号C奖金表(序号,等级,奖金),其主码为序号。用户表(登录名,密码,用户组),其主码为登录名。园用户费一:0旗列L用户子模式H惭有列)熨工号物师姓名年龄性别登录名密码用户组应用程序功能模块图处迎使用教师信息管理系统请选搔用户1.教师

4、2.管理员口,教师信息2.课程信息3.课程评价信息4.奖金信息5.教师课程信息6.退出救师信息0.报表查询2修改3增加4.删除5退出教师信息悭程信息0.查询1*查询2,修改3.增加4.副除5*退出课程信息课程怦价信息0.报表L查询2.修改3.增加4.删除5.退出课程悻价信息奖金信息。报表L查询所有等线奖金2.修改等圾桨金3.退出奖金信息安全性该系统的用户只有两种,一种是管理员,另一种是教师,管理员具有对数据库操作的所有权限,教师只有对教师的信息、课程信息、课程评价、奖金信息的查询权限。完整性实体完整性:通过设置主键都已实现。参照完整性:课程评价表中的职工号和课程号分别参照教师信息表中的职工号和

5、课程表中的课程号。用户自定义完整性:教师信息表中的年龄必须在18到60之间,性别必须为男、女,课程评价表和奖金表中的等级必须为优、良、中、差。五、数据库物理设计数据的存放位置说明D:ProgramFilesMicrosoftSQLServer'MSSQL10_50.SQLEXPRESSMSSQLDATA系统配置说明使用登录名:sa登陆密码:123登陆SQLServer2008模块设计(模块IPO图)戳归信息管理系统六、数据库实施1. 创建教师信息表CREATETABLE教师信息表(职工号INTNOTNULLPRIMARYKEY,教师姓名CHAR(10),年龄INTCHECK(年龄=18

6、AND年龄=60),性另ICHAR(2)CHECK(性另1JIN('男','女')2. 创建课程表CREATETABLE课程表(课程号INTNOTNULLPRIMARYKEY,课程名CHAR(16),学分INT)3. 创建课程评价表CREATETABLE课程评价表(职工号INT,课程号INT,等级CHAR(2)CHECK(等级IN('优','良','中','差'),PRIMARYKEY(职工号,课程号),FOREIGNKEY(职工号)REFERENCES教师信息表(职工号),FOREIGNKEY(课

7、程号)REFERENCES课程表(课程号)4. 创建奖金表CREATETABLE奖金表(等级CHAR(2)CHECK(等级IN('优','良','中','差')PRIMARYKEY,奖金INT)5. 创建用户表CREATETABLE用户表(登录名CHAR(8)NOTNULLPRIMARYKEY,密码INT,6.各表元INSERT INTOINSERT INTOINSERT INTOINSERT INTOINSERT INTOINSERT INTOINSERT INTOINSERT INTOINSERT INTOINSERT INT

8、OINSERT INTOINSERT INTOINSERT INTOINSERT INTOINSERT INTOINSERT INTOINSERT INTO用户CHAR(6)教师信息表VALUES(201501,'翁嘉民',20,'男')教师信息表VALUES(201502,'陈天翔',19,'男')教师信息表VALUES(201503,'周诗妍',21,'女')教师信息表VALUES(201504,'宋嘉莹',20,'女')课程表VALUES(100,'语文

9、',5)课程表VALUES(101,'数学',5)课程表VALUES(102,'英语',4)课程表VALUES(103,'物理',3)课程表VALUES(104,'化学',3)课程表VALUES(105,'生物',3)课程表VALUES(106,'地理',3)课程表VALUES(107,'历史',3)课程表VALUES(108,'政治',3)课程评价表VALUES(201501,100,'优')课程评价表VALUES(201501,107,&#

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

11、')VALUES(201503,105,'良')VALUES(201503,107,'优')VALUES(201504,104,'良')VALUES(201504,105,'优')VALUES(201504,106,'良')INSERT INTO奖金表 VALUES('1','优',8000)INSERT INTO奖金表 VALUES('2','良',4000)INSERT INTO奖金表 VALUES('3','中&#

12、39;,2000)INSERT INTO奖金表 VALUES('4','差',0)INSERT INTO用户表VALUES('admin',123,'管理员')管理员')INSERTINTO用户表VALUES('admin2',456,'七、数据库运行和维护主要窗口截图敢迎使用教师信息管理系统请选择用户1.教师2,管理员,教师信息2.谍程信息3 .课程评价信息4.奖金信息5 .教师课程信息6.退出主要代码1. 数据库的连接Connectioncon=null;StringJDriver="

13、com.microsoft.sqlserver.jdbc.SQLServerDriver"/SQL数据库引擎StringconnectDB="jdbc:sqlserver:127.0.0.1:1433;DatabaseName=Teache弋数据源注意IP地址和端口号,数据库名字Teacher为数据库名tryClass.forName(JDriver);/加载数据库引擎,返回给定字符串名的类catch(ClassNotFoundExceptione)/e.printStackTrace();System.out.println("加载数据库引擎失败");

14、System.exit(0);tryStringuser="sa"/你自己创建的用户名字和密码Stringpassword="fuxiao456"con=DriverManager.getConnection(connectDB,user,password);/连接数据库对象Statementstmt=con.createStatement();/创建SQL命令对象/关闭连接stmt.close();/关闭命令对象连接con.close();/关闭数据库连接catch(SQLExceptione)e.printStackTrace();/System.o

15、ut.println("数据库连接错误");System.exit(0);2. 更新函数publicstaticvoidfunction10(Stringid17,Stringid18,Stringid19,Connectioncon)inta=0;tryStringsql="update课程评价表set等级=?where职工号=?and课程号=?"PreparedStatementstmta=con.prepareStatement(sql);/执行SQL语句stmta.setString(1,id19);/用id27的字符串代替SQL语句中的第一个?

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

17、20,Stringid21,Stringid22,Connectioncon)inta=0;tryStringsql="insertinto课程评价表values(?,?,?)"PreparedStatementstmta=con.prepareStatement(sql);/执行SQL语句stmta.setString(1,id20);/用id20的字符串代替SQL语句中的第一个?stmta.setString(2,id21);用id21的字符串代替SQL语句中的第一个?stmta.setString(3,id22);/用id22的字符串代替SQL语句中的第一个?a=st

18、mta.executeUpdate();/将受影响的行数赋值给acatch(Exceptione)if(a=1)System.out.println("插入成功");/通过受影响的行数来判断SQL语句是否执行成功if(a=0)System.out.println("插入失败");4. 连接查询publicstaticvoidfunction15(Stringid27,Connectioncon)tryStringsql="select教师信息表.职工号,教师信息表.教师姓名,课程名,学分,奖金表.等级,奖金from教师信息表,课程表,课程评价表

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

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

21、t;t"+rs.getString("等级")+"t"+rs.getString("奖金");catch(Exceptione)5. 分组求和publicstaticvoidfunction19(Connectioncon)tryStringsql="select教师信息表.职工号,教师信息表.教师姓名,sum(奖金)as总奖金from教师信息表,课程评价表,奖金表where教师信息表.职工号=课程评价表.职工号and课程评价表.等级=奖金表.等级groupby教师信息表.教师姓名,教师信息表.职工号"P

22、reparedStatementstmta=con.prepareStatement(sql);ResultSetrs=stmta.executeQuery();System.out.println("职工号"+"t"+"教师姓名"+"t"+"总奖金");while(rs.next()System.out.println(rs.getString("职工号")+"t"+rs.getString("教师姓名")+"t"+rs.getString("总奖金");catch(Exceptione)系统测试方案1 .查询职工号为201502的教师信息;2 .修改课程号为102的学分为3;3 .在课程评价表中增加职工号为201503,课程号为103,等级为优的元组;4 .在课程评价表中删除职工号为201502,课程号为101的元组;5 .查询职工号为201501的课程信息。6 .查询每个老师获得的总奖金测试截图1.教师信息3.增加 4.删除 5.退出教师信息性别男0.报表

温馨提示

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

评论

0/150

提交评论