欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    广工数据库课程教学设计.doc

    • 资源ID:2607408       资源大小:251.11KB        全文页数:15页
    • 资源格式: DOC        下载积分:8金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要8金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    广工数据库课程教学设计.doc

    .教师信息管理系统 题目名称 专业班级 学 号 学生姓名 指导教师 2016 年 3 月 26 日一、实验环境硬件环境:处理器: Intel(R) Core(TM) i5-3230M CPU 2.60FHz 2.60GHz已安装的内存(RMA): 4.00GB软件环境操作系统: Windows 10数据库管理系统: SQL Server 2008开发工具: Eclipse二、需求分析信息需求教师信息(职工号,教师姓名,年龄,性别)课程信息(课程号,课程名,学分)课程评价信息(职工号,课程号,等级)奖金信息(序号,等级,奖金)用户信息(登录名,密码,用户组)功能需求1. 教师用户: (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等级 字符型2优,良,中,差4. 奖金信息字段字段名类型宽度说明1序号 Int型2等级 字符型2优,良,中,差3奖金 Int型5. 用户信息字段字段名类型宽度说明1登录名 字符型82密码 Int型3用户组 字符型6三、概念结构设计1. 教师信息实体2. 课程实体3. 课程评价实体4. 奖金实体5. 用户实体概念模型:E-R图四、逻辑结构设计关系模型教师信息表(职工号,教师姓名,年龄,性别),其主码为职工号。课程表(课程号,课程名,学分),其主码为课程号。课程评价表(职工号,课程号,等级),其主码为职工号与课程号。奖金表(序号,等级,奖金),其主码为序号。用户表(登录名,密码,用户组),其主码为登录名。用户子模式应用程序功能模块图安全性该系统的用户只有两种,一种是管理员,另一种是教师,管理员具有对数据库操作的所有权限,教师只有对教师的信息、课程信息、课程评价、奖金信息的查询权限。完整性实体完整性:通过设置主键都已实现。参照完整性:课程评价表中的职工号和课程号分别参照教师信息表中的职工号和课程表中的课程号。用户自定义完整性:教师信息表中的年龄必须在18到60之间,性别必须为男、女,课程评价表和奖金表中的等级必须为优、良、中、差。五、数据库物理设计数据的存放位置说明D:Program Files Microsoft SQL Server MSSQL10_50.SQLEXPRESSMSSQLDATA系统配置说明使用登录名: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), 学分 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(优,良,中,差) 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,周诗妍,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 INTO 课程表 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,优)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 INTO 课程评价表 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 INTO 奖金表 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="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"/你自己创建的用户名字和密码String 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. 更新函数public 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); /用id27的字符串代替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,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语句中的第一个? 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 教师信息表.职工号,教师信息表.教师姓名,课程名,学分,奖金表.等级,奖金 from 教师信息表,课程表,课程评价表,奖金表 where 教师信息表.职工号=课程评价表.职工号 and 课程表.课程号=课程评价表.课程号 and 课程评价表.等级=奖金表.等级 and 教师信息表.职工号=?"PreparedStatement stmta = con.prepareStatement(sql); /执行SQL语句stmta.setString(1, id27); /用id27的字符串代替SQL语句中的第一个?ResultSet rs = stmta.executeQuery(); System.out.println("职工号"+"t"+"教师姓名"+"t"+"课程名"+"t"+"学分"+"t"+"等级"+"t"+"奖金");while (rs.next() /输出选择结果System.out.println(rs.getString("职工号")+"t"+rs.getString("教师姓名")+"t"+rs.getString("课程名")+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.prepareStatement(sql);ResultSet rs = stmta.executeQuery();System.out.println("职工号"+"t"+"教师姓名"+"t"+"总奖金");while (rs.next() System.out.println(rs.getString("职工号")+"t"+rs.getString("教师姓名")+"t"+rs.getString("总奖金");catch (Exception e) 系统测试方案1. 查询职工号为201502的教师信息;2. 修改课程号为102的学分为3;3. 在课程评价表中增加职工号为201503,课程号为103,等级为优的元组;4. 在课程评价表中删除职工号为201502,课程号为101的元组;5. 查询职工号为201501的课程信息。6. 查询每个老师获得的总奖金测试截图1.2.3.4.5.6.8、 系统安装说明1. 在SQL Server数据库新建Teacher数据库;2. 在SQL Server Teacher数据库中建立查询,执行SQL语句;3. 在Eclipse运行教师信息管理系统代码。9、 收获和体会通过本次课程设计,熟悉掌握了表的创建,数据的录入,元组的增删改查以及数据库的完整性、安全性,了解了如何使用Eclipse连接SQL Server 2008。课设系统能实现对表的增删改查,但不能实现在线注册用户。

    注意事项

    本文(广工数据库课程教学设计.doc)为本站会员(一***)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开