广工数据库课程设计说课讲解
- 格式:doc
- 大小:290.00 KB
- 文档页数:20
本科生课程设计课程名称数据库原理及应用课程设计课程编号J1670101学号学生姓名所在专业所在班级指导教师成绩教师签字年月日课程设计时间:年月日至年月日目录目录设计总说明 (I)1、需求分析 (3)2、概念结构设计 (3)3、逻辑结构设计 (4)4、物理结构设计 (4)5、系统实现 ....................................................................................... 错误!未定义书签。
5.1前台界面 .................................................................................. 错误!未定义书签。
5.2 后台实现 .................................................................................. 错误!未定义书签。
6、优缺点及自我评价....................................................................... 错误!未定义书签。
7、参考文献 (7)设计总说明(1)系统开发目的学生信息管理系统是学校管理的重要工具,是学校不可或缺的部分。
随着在校大学生人数的不断增加,教务系统的数量也不断的上涨。
学校工作繁杂、资料众多,人工管理信息的难度也越来越大,显然是不能满足实际的需要,效率也是很低的。
并且这种传统的方式存在着很多的弊端,如:保密性差、查询不便、效率低,很难维护和更新等。
然而,本系统针对以上缺点能够极大地提高学生信息管理的效率,也是科学化、正规化的管理,与世界接轨的重要条件。
所以如何自动高效地管理信息是这些年来许多人所研究的。
(2)开发内容用数据库和Java相关技术开发一个学生信息管理系统(3)开发要求能够对学生信息进行简单的添加,删除和查询(4)开发环境及工具1、操作系统:Windows 72、数据库软件:SQL Server 20083、Java开发工具:Eclipse(5)系统功能简介一、学生管理1、添加学生信息。
粤教版高中信息技术基础使用数据库教案
粤教版高中信息技术基础教案
5.2 使用数据库
一、教材分析
本课时是广东教育出版社出版《高中信息技术基础》第一册第五章“信息资源管理“的第二节内容。
本节的内容是学通过使用数据库应用系统了解其主要形式及其操作方式,认识数据库管理信息资源的优势。
二、学情分析
对于学生来说,本节内容并不陌生,例如学生在日常生活中操作过IP 电话、银行柜员机、搜索引擎、网上购物、网络游戏等系统,他们已经具有一定的感性经验,然而他们对于这些信息认识一般只停留字具体操作或某些功能的实现的层面上。
对其中的一些基本原理及功能优势缺乏一个系统而完整的了解。
为此,有必要让他们在实际操作过程中从更高层面上考察这些信息系统的实际应用情况,有助于学社国内树立更加科学的、辩证的生活态度。
三、教学准备
1、课前准备
教师准备一些简单的数据库比如“迷你通讯录”“学生学籍管理系统”,在课前
细致分析和领会教材内容,搜索相关资料,开阔学生视野,对数据库应用的情况有更加深入地探讨和理解
2、教学策略
本节内容强调的是在操作使用数据库应用系统的过程中,目的在于让学生对数据库储存、管理大量数据并实现高效检索方面的优势又一个新的认识。
因此在课堂上具体使用什幺样的数据库应用系统也显得十分重要,教材中设。
广工 数据库 课程设计一、课程目标知识目标:1. 掌握数据库的基本概念、原理及其应用场景;2. 学习数据库设计方法,能够运用E-R模型和关系模型进行数据建模;3. 熟悉SQL语言,能够实现数据的增、删、改、查等操作;4. 了解数据库的安全性和一致性,掌握基本的数据库维护方法。
技能目标:1. 能够独立进行小型数据库的设计与实现;2. 学会使用SQL语言进行数据库操作,解决实际问题;3. 具备分析数据库性能、优化查询语句的能力;4. 掌握数据库备份、恢复等基本维护技巧。
情感态度价值观目标:1. 培养学生严谨、认真的学习态度,养成良好的编程习惯;2. 激发学生对数据库技术的兴趣,提高其主动学习的积极性;3. 培养学生团队合作精神,提高沟通与协作能力;4. 强化学生的信息安全意识,遵循数据库使用的道德规范。
课程性质:本课程为广工计算机科学与技术专业的专业核心课程,旨在让学生掌握数据库的基础知识、设计方法和应用技能。
学生特点:学生具备一定的编程基础和逻辑思维能力,但对数据库知识了解较少,需要从基本概念和原理入手,逐步深入。
教学要求:结合学生特点,注重理论与实践相结合,以实际案例驱动教学,培养学生的实际操作能力和解决问题的能力。
通过课程目标分解,确保学生能够达到预期学习成果,为后续教学和评估提供依据。
二、教学内容1. 数据库基本概念与原理:包括数据库的定义、发展历程、数据模型、关系数据库等;教材章节:第一章 数据库概述2. 数据库设计:E-R模型、关系模型、函数依赖、范式理论、数据库设计方法;教材章节:第二章 数据库设计基础、第三章 关系数据库设计3. SQL语言:数据定义、数据操纵、数据查询、数据控制;教材章节:第四章 SQL语言4. 数据库管理:数据库的安全性、一致性、备份与恢复、性能优化;教材章节:第五章 数据库管理、第六章 数据库性能优化5. 数据库应用案例:结合实际案例,讲解数据库在不同场景下的应用;教材章节:第七章 数据库应用案例教学进度安排:第一周:数据库基本概念与原理第二周:数据库设计基础第三周:关系数据库设计第四周:SQL语言(数据定义、数据操纵)第五周:SQL语言(数据查询、数据控制)第六周:数据库管理(安全性、一致性、备份与恢复)第七周:数据库性能优化第八周:数据库应用案例教学内容根据课程目标进行选择和组织,确保科学性和系统性。
广工数据库课程设计一、课程目标知识目标:1. 让学生掌握数据库的基本概念,包括数据模型、关系数据库的原理及设计方法。
2. 使学生了解数据库管理系统的功能与操作,如SQL语言、数据查询、数据更新等。
3. 引导学生理解数据库的安全性和一致性,了解事务处理和并发控制的基本原理。
技能目标:1. 培养学生能够运用数据库设计方法,独立设计简单的数据库系统。
2. 使学生熟练使用数据库管理系统进行数据查询、更新和删除等操作。
3. 培养学生运用数据库技术解决实际问题的能力,例如进行数据分析、数据挖掘等。
情感态度价值观目标:1. 培养学生对数据库技术的兴趣,激发他们主动探索数据库知识的热情。
2. 引导学生认识到数据库在信息时代的重要性,培养他们运用数据库技术为社会发展做贡献的意识。
3. 通过团队协作完成课程设计,培养学生良好的沟通与协作能力,增强集体荣誉感。
课程性质:本课程为广工数据库课程设计,旨在让学生在实际操作中掌握数据库知识,提高解决实际问题的能力。
学生特点:学生已具备一定的计算机基础和编程能力,对数据库有一定了解,但实际操作和综合应用能力有待提高。
教学要求:结合学生特点,注重理论与实践相结合,充分调动学生的主观能动性,培养他们的创新意识和实际操作能力。
通过课程设计,将目标分解为具体的学习成果,以便后续的教学设计和评估。
二、教学内容1. 数据库基本概念:数据模型、关系数据库、实体关系图等。
相关教材章节:第一章 数据库系统概述2. 数据库设计:关系模型、实体-关系模型、逻辑设计、物理设计等。
相关教材章节:第二章 数据库设计基础3. 数据库管理系统:SQL语言、数据库操作、数据查询、数据更新等。
相关教材章节:第三章 数据库管理系统4. 数据库安全性:用户权限、视图、事务处理、并发控制等。
相关教材章节:第四章 数据库保护5. 数据库应用开发:数据库访问技术、应用程序设计、案例分析与实现。
相关教材章节:第五章 数据库应用开发6. 数据库管理:备份与恢复、性能优化、数据库维护等。
教师信息管理系统题目名称专业班级学号学生姓名指导教师2016 年 3 月 26 日一、实验环境硬件环境:处理器:Intel(R) Core(TM) i5-**************** 2.60GHz 已安装的内存(RMA): 4.00GB软件环境操作系统: Windows 10数据库管理系统: SQL Server 2008开发工具: Eclipse二、需求分析信息需求教师信息(职工号,教师姓名,年龄,性别)课程信息(课程号,课程名,学分)课程评价信息(职工号,课程号,等级)奖金信息(序号,等级,奖金)用户信息(登录名,密码,用户组)功能需求1.教师用户:(1)对教师信息、课程信息、课程评价、奖金信息的查询。
2.管理员(1)对教师信息、课程信息、课程评价的查询,修改,增加,删除;(2)对教师的奖金等信息的查询,修改。
安全性与完整性需求1.不同的身份有不同的功能权限。
2.实体完整性:通过设置主键都已实现。
数据字典该软件的数据库由下述信息组成:1.2.3.课程评价信息4.5.三、概念结构设计1.教师信息实体2.课程实体3.课程评价实体4.奖金实体5. 用户实体概念模型:E-R图四、逻辑结构设计关系模型教师信息表(职工号,教师姓名,年龄,性别),其主码为职工号。
课程表(课程号,课程名,学分),其主码为课程号。
课程评价表(职工号,课程号,等级),其主码为职工号与课程号。
奖金表(序号,等级,奖金),其主码为序号。
用户表(登录名,密码,用户组),其主码为登录名。
用户子模式应用程序功能模块图安全性该系统的用户只有两种,一种是管理员,另一种是教师,管理员具有对数据库操作的所有权限,教师只有对教师的信息、课程信息、课程评价、奖金信息的查询权限。
完整性实体完整性:通过设置主键都已实现。
参照完整性:课程评价表中的职工号和课程号分别参照教师信息表中的职工号和课程表中的课程号。
用户自定义完整性:教师信息表中的年龄必须在18到60之间,性别必须为男、女,课程评价表和奖金表中的等级必须为优、良、中、差。
5.2.1 使用数据库教案(使用数据库应用系统)一、本节的作用和地位数据库管理是指应用数据库原理及技术对信息资源进行管理,通过开发相应的数据库应用系统,实现某类信息资源的组织、存储和管理,提供录入,查询、修改、删除、统计和打印等功能,帮助人们完成计划、组织、控制、决策等系列活动,本节内容是在上一节内容的基础上的眼神和深化,探讨更加有效的信息资源管理方法,激发学生对学习信息资源管理的兴趣。
二、学习目标1、知识与技能(1)了解数据库的基本含义。
(2)归纳出数据库管理信息的思想和方法。
(3)掌握建立数据库的基本过程和方法。
(4)学会建立简单的数据表。
2、过程与方法通过具体案例操作,分析并归纳使用数据库管理信息的基本思想与方法,掌握建立数据库的基本过程和方法。
3、情感态度与价值观体会数据管理技术的丰富应用,激发对数据管理技术的求知欲。
三、学习重点、难点通过自主操作和合作探究,引导学生分析和评价信息活动。
四、学习方法(1)采用实践操作、小组合作以及试验记录的学习方法,充分利用现实中的数据库应用系统,创设丰富的学习资源,帮助学生体验操作过程,获得知识,感受信息文化内涵。
(2)在实际操作过程中,能从一般现象中分析并归纳出规律性的知识,锻炼学习能力,养成良好的学习习惯。
五、学习时间1课时六、学习环境计算机网络实验室七、学习过程1、导入:我们在上一节的内容已经认识到了信息资源管理以及常用的信息资源管理的方法,我们知道计算机管理方式的目的都是为了提高信息资源的利用效益,帮助我们提高学习效率。
我们也尝试过图书管理系统的查找书籍资料了,今天我们再次体验一下我们学校学生学籍管理系统。
2、布置任务一:请同学们分小组进行操作体验,并在操作体验之后,思考以下几个问题:(1)什么是数据库?(2)尝试比较分析一下使用数据管理和手工管理信息的区别。
补充:(1)数据库:是按照某种模型组织起来的,可以被各种用户或者应用程序共享的数据的集合。
广工 数据库课程设计一、课程目标知识目标:1. 让学生掌握数据库的基本概念、原理及设计方法;2. 使学生了解数据库管理系统的功能、类型及使用方法;3. 帮助学生掌握SQL语言的基本语法和操作,能运用SQL进行数据查询、更新和管理;4. 引导学生了解数据库的安全性和一致性,培养他们在实际应用中保障数据安全的能力。
技能目标:1. 培养学生运用数据库设计工具进行数据库设计的能力;2. 使学生能够运用数据库管理系统进行数据存储、查询、更新和管理;3. 培养学生运用SQL语言编写复杂查询语句,解决实际问题;4. 培养学生分析数据库性能,进行优化和调整的能力。
情感态度价值观目标:1. 培养学生对数据库技术的兴趣和热情,激发他们主动学习的动力;2. 培养学生具备良好的团队合作精神,学会与他人共同解决问题;3. 引导学生认识到数据库技术在现代社会中的重要性,培养他们为我国信息化建设贡献力量的责任感;4. 培养学生遵循数据库设计规范,养成良好的编程习惯。
本课程针对广东工业大学学生特点,结合数据库课程性质,将目标分解为具体的学习成果,以便后续教学设计和评估。
课程旨在帮助学生掌握数据库知识,提高实际操作能力,培养他们具备良好的情感态度和价值观。
二、教学内容1. 数据库基本概念:数据库、数据库管理系统、数据库系统;关系模型、实体-关系模型;2. 数据库设计:需求分析、概念结构设计、逻辑结构设计、物理结构设计、数据库实施;3. 关系数据库:关系代数、关系演算、规范化理论;4. SQL语言:基本语法、数据定义、数据查询、数据更新、数据控制;5. 数据库管理系统:功能、类型、使用方法;6. 数据库安全性:安全性控制、事务管理、并发控制;7. 数据库性能优化:查询优化、索引、分区;8. 实践环节:数据库设计工具使用、数据库管理系统操作、SQL语言编程、数据库性能分析。
教学内容根据课程目标,结合教材章节进行组织,确保科学性和系统性。
广工数据库课程设计教师信息管理系统题目名称专业班级学号学生姓名指导教师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.教师信息2.课程信息3.课程评价信息4.奖金信息5.用户信息3 用户组字符型 6三、概念结构设计1. 教师信息实体2. 课程实体3. 课程评价实体4. 奖金实体5. 用户实体概念模型:E-R图四、逻辑结构设计关系模型教师信息表(职工号,教师姓名,年龄,性别),其主码为职工号。
课程表(课程号,课程名,学分),其主码为课程号。
课程评价表(职工号,课程号,等级),其主码为职工号与课程号。
奖金表(序号,等级,奖金),其主码为序号。
用户表(登录名,密码,用户组),其主码为登录名。
用户子模式应用程序功能模块图安全性该系统的用户只有两种,一种是管理员,另一种是教师,管理员具有对数据库操作的所有权限,教师只有对教师的信息、课程信息、课程评价、奖金信息的查询权限。
完整性实体完整性:通过设置主键都已实现。
参照完整性:课程评价表中的职工号和课程号分别参照教师信息表中的职工号和课程表中的课程号。
用户自定义完整性:教师信息表中的年龄必须在18到60之间,性别必须为男、女,课程评价表和奖金表中的等级必须为优、良、中、差。
五、数据库物理设计数据的存放位置说明D:\Program Files \Microsoft SQL Server\MSSQL10_50.SQLEXPRESS\MSSQL\DATA系统配置说明使用登录名: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,'管理员')七、数据库运行和维护主要窗口截图主要代码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);}try{String 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(); //将受影响的行数赋值给a}catch (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(); //将受影响的行数赋值给a}catch (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的课程信息。