《基于Oracle的Web应用开发》教学日历.docx
- 文档编号:18094446
- 上传时间:2023-08-13
- 格式:DOCX
- 页数:36
- 大小:25.91KB
《基于Oracle的Web应用开发》教学日历.docx
《《基于Oracle的Web应用开发》教学日历.docx》由会员分享,可在线阅读,更多相关《《基于Oracle的Web应用开发》教学日历.docx(36页珍藏版)》请在冰点文库上搜索。
《基于Oracle的Web应用开发》教学日历
《基于Oracle的Web应用开发》教学日历
本课程总课时108,每周6课时,共需18周。
实际教学时,可根据学期的长短进行适当的调整。
周/课次
课时
授课内容
课外作业
授课方式
1/1
2
课程介绍:
主流数据库产品、开发模式介绍,Web开发主流技术介绍,Web应用开发流程及课程主要内容在其中所起的作用;
任务01安装Oracle开发环境
Oracle数据库安装方法与步骤。
本课程有哪两种开发环境?
各有什么特点?
安装OracleXE11g时,输入的口令是哪些用户的口令?
安装OracleXE11g结束后,点击什么快捷菜单可打开页面创建用户和工作区?
在OracleApplicationExpress中如何执行SQL语句?
PL/SQLDeveloper中可对数据表做什么操作?
讲授+实训
1/2
2
任务01安装Oracle开发环境
什么是数据库(Database);数据库发展史;数据库管理系统(DBMS);访问数据库中的数据;
完成实训任务:
到网站申请工作区,创建练习用表,用于作业的完成和上交
数据库和数据库管理系统有何区别和联系?
数据库有什么作用?
数据库可以存储什么类型的数据?
数据库发展经历了哪些阶段?
关系数据库有哪些特点?
访问数据库中的数据基本过程是什么?
SQL语句分为哪些类型?
讲授+实训
1/3
2
任务02C/S班级通讯录实现
Oracle远程连接配置:
了解监听器;创建配置Oracle网络服务名;使用tnsping测试Oracle网络是否连通。
通过PL/SQLDeveloperGUI界面实现数据增删查改及相关SQL语句生成。
完成实训任务;使用PL/SQLDeveloper在自己本机数据库中创建员工表Employee,往表中添加几行数据,给同学配置Oracle网络,使其可查询到表中数据。
任务中Oracle客户端修改了哪个配置文件的哪些关键信息?
完成任务的步骤是什么?
写出查询a01_students表所有数据的SQL语句。
写出查询a01_students表,返回所有姓郭的学生的SQL语句。
SQL*Plus命令行或PL/SQLDeveloper命令窗口中,哪些命令可以将查询结果输出到文件?
讲授+实训
2/1
2
任务02C/S班级通讯录实现
完成实训任务。
客户端连接Oracle数据库,Oracle网络需要客户端知道哪些信息?
监听器停止运行,会有什么影响?
何种情况可以无监听器连接Oracle数据库。
Oracle网络配置管理工具有哪些?
Oracle网络监听器可通过哪个命令行程序来管理?
Oracle网络支持哪些方法解析连接信息?
使用简单连接命名方法连接主机为host,监听端口为1521,服务名为XE的数据库,写出命令。
讲授+实训
2/2
2
任务03B/S班级通讯录实现
了解WEB程序开发流程,创建运行第一个Web程序;
了解B/S和C/S区别,ERD概念:
实体、属性、UID
约束、主键、唯一键;PL/SQL及与SQL的区别;
ERD到数据表的基本转换
完成实训任务:
修改列标题、表单项的标签、页标签、及面包屑为中文:
ID-编号、S_NO-学号、NAME-姓名、EMAIL-电子邮件、QQ-QQ号、H_PHONE-家庭电话、M_PHONE-移动电话;移交应用程序到另一台计算机
项目开发的一般步骤是?
Oracle快捷版有哪些特点和限制?
数据表设计一般包括哪些信息?
测试案例设计一般包括哪些信息?
什么对象用于生成主键?
移交OracleApplicationExpress应用程序的步骤是什么?
软件维护工作一般包括哪些?
讲授+实训
2/3
2
任务03B/S班级通讯录实现
完成实训任务
数据库与数据建模有什么关系?
什么是实体和实例?
什么是属性?
什么是UID?
什么是易失属性和非易失属性?
使用时有什么注意事项?
ERD中实体和属性如何绘制?
什么是概念模型?
数据库概念模型的作用是什么?
ERD中实体和数据表的术语对应关系是什么?
讲授+实训
3/1
2
任务04学院通讯录实现
巩固WEB程序开发流程。
学习ERD的关系、数据表的外键概念以及ERD到数据表的转换之关系的转换。
哪一个伪列可以获取新的序列值?
哪一个伪列可以获取最后一个生成的序列值?
什么是主表、从表?
讲授+实训
3/2
2
完成实训任务:
安装客户订单管理程序,分析程序中需要哪些实体,绘制ERD,注意包括属性和关系
什么是关系?
关系有哪些特点?
ERD中关系如何绘制?
3/3
2
任务04学院通讯录实现
完成实训任务
ERDish的组成是什么?
写出下面ERD的ERDish?
为确保不遗漏关系,可以使用什么工具?
矩阵图可不可以替代ERD?
4/1
2
任务05客户订单管理系统数据库设计
数据库设计流程与方法;界面原型;
数据库设计的一般步骤是什么?
如何绘制界面原型?
界面原型中,如何表示不同页面或窗口之间的跳转和导航?
讲授+实训
4/2
2
任务05客户订单管理系统数据库设计
流程图;三范式;
流程图的作用和优点是什么?
用流程图表示求n!
。
流程图由哪些部分组成?
讲授+实训
4/3
2
任务05客户订单管理系统数据库设计
完成实训任务:
安装Bug跟踪程序,分析程序中需要哪些实体,绘制ERD,注意包括属性和关系
结构化程序设计的基本思路是什么?
结构化程序设计的基本结构包括哪些?
绘制流程图可使用什么工具?
什么是范式?
数据库设计为什么要规范化?
什么是第一范式?
什么是第二范式?
什么是第三范式?
什么是高容量实体?
在遵循“飞向东和南”惯例的ERD中高容量实体位于ERD的什么位置?
5/1
2
任务06客户订单管理程序数据表创建
DDL语句、数据类型、约束、CREATETABLE
数据表相关DDL语句包括哪些?
使用什么命令可查看表结构?
使用哪些字典表可以查看表定义及表的列定义?
讲授+实训
5/2
2
任务06客户订单管理程序数据表创建
ALTERTABLE
DROPTABLE
字典表
写SQL语句,联合查询user_tables、user_tab_columns表,返回有关T06_PRODUCT_INFO表定义的信息。
Oracle中表名和列名的命名规则是?
Oracle中表名和列名是否区分大小写?
讲授+实训
5/3
2
完成实训任务:
创建老师要求的所有数据表,并确认数据表结构和约束都正确创建
如何查询其他用户的表?
创建表的基本语法是?
复制表的语法是?
常见数据类型有哪几类?
CHAR和VARCHAR2的区别是什么?
DATE可保存什么数据?
TIMESTAMPWITHLOCALTIMEZONE和TIMESTAMPWITHTIMEZONE有什么区别?
讲授+实训
6/1
2
任务06客户订单管理程序数据表创建
完成实训任务
ALTERTABLE语句可完成哪些功能?
DROPTABLE有哪些作用?
为表emp添加注释“用于保存员工数据”
为表emp的列comm添加注释“员工的提成”
讲授+实训
6/2
2
任务07客户订单管理系统报表编程
单表查询、单行函数
选择部门30中的雇员;
找出所有收入在3000-5000的员工信息;
找出佣金高于薪金的雇员;
找出佣金高于薪金60%的雇员;
显示雇员的详细资料,按姓名排序;
显示所有雇员的姓名、工作和薪金按工作的降序顺序排序,而工作相同时按薪金升序;
讲授+实训
6/3
2
任务07客户订单管理系统报表编程
多表查询任务
列出所有办事员的姓名、编号和部门;
找出部门10中所有经理和部门20中的所有办事员的详细资料;
找出部门10中所有经理、部门20中所有办事员,既不是经理又不是办事员但其薪金>=2000的所有雇员的详细资料;
找出收取佣金的雇员的不同工作;
显示所有雇员的姓名的前三个字符
显示所有雇员的姓名,用a替换所有'A'显示所有雇员的姓名以及满10年服务年限的日期;
讲授+实训
7/1
2
07客户订单管理系统报表编程
分组函数
找出不收取佣金或收取的佣金低于100的雇员;
列出所有雇员的雇员名称、部门名称和薪金;
列出从事同一种工作但属于不同部门的雇员的不同组合;
查询员工姓名和对应部门名称;
讲授+实训
7/2
2
任务07客户订单管理系统报表编程
子查询
完成实训任务:
访问部门表和(dept)员工表(emp),创建报表,报表应提供如下信息:
各部门人数,工资总额,平均工资,最高工资,最低工资,工资差距指数(标准方差)。
通过你开发的报表、图表,人力资源部经理可容易的了解:
哪些部门工资水平高?
哪些部门工资水平低?
哪些部门工资差距比较大?
哪些部门工资成本最高?
列出薪金比"SMITH"多的所有雇员;
列出从事“SALES”(销售)工作的雇员的姓名,假定不知道销售部的部门编号;
列出薪金高于公司平均水平的所有雇员;
列出与“SCOTT”从事相同工作的所有雇员;
列出某些雇员的姓名和薪金,条件是他们的薪金高于部门30中所有雇员薪金;
讲授+实训
7/3
2
任务08客户订单管理系统数据维护
INSERT
UPDATE
DELETE
事务
能够熟练使用DML语句对表中数据进行增、删、改
能够正确使用COMMIT、ROLLBACK
完成实训任务:
修改copy_emp表中ALLEN的工资,使其与WARD工资相同
修改copy_emp表中ALLEN的工资,使其与emp表中ALLEN的工资相同
删除copy_emp表中的10号部门的所有员工,执行SELECT*语句确认所做的工作。
再打开一个会话2,执行SELECT*语句确认所做的工作,不要关闭会话。
在会话1中执行rollback,执行SELECT*语句确认所做的工作。
在会话1中执行语句删除copy_emp表中的所有员工,执行SELECT*语句确认所做的工作。
执行COMMIT
在会话2中执行SELECT*语句确认所做的工作。
通过INSERT语句复制emp中数据到copy_emp中,恢复copy_emp中数据。
删除copy_emp表中工资在4000以上的员工,执行SELECT*语句确认所做的工作。
执行rollback撤销操作。
给部门30中的雇员涨薪5%;
删除和James在同一个部门的员工信息;
用显式事务实现银行转账的功能。
所用数据表如下:
Bankinfo(cardid,currentname,cmoney)
;
讲授+实训
8/1
2
任务09客户订单管理系统视图创建
视图的概念与作用
DML与视图的关系
视图有关字典表
TOP-N查询
创建、删除、修改视图
通过视图查询、操作数据
能够使用ROWNUM伪列和内联视图进行TOP-N查询
管理视图
完成实训任务:
创建视图包含客户及其所下订单的数据。
查询该视图,返回订单总额前三名的客户和最后三名单客户。
由于视图可以显示表中的选定列,因而可以限制对数据的访问
可以使用视图从多个表中检索数据,从而为用户提供数据独立性。
用户可以通过不同的方式查看相同的数据
通过视图,用户组可以根据其特定权限或标准来访问数据
8/2
2
任务10客户订单管理系统序列创建
序列概念与作用
NEXTVAL和CURRVAL
序列选项的作用
序列值不连续的原因
创建、删除序列
通过序列为表生成主键值
管理序列
完成实训任务:
任务六中创建了系部表(department)、班级表(class)。
现在需要你为上面两个表分别创建对应序列对象,并使用序列为数据表各插入两条记录
创建教学案例中的选课记录表,并为此表创建序列后,插入2行测试数据。
讲授+实训
8/3
2
任务11客户订单管理系统性能优化
索引的原理和作用
索引应用的条件
索引类型和选择
能够根据需要创建、删除和管理索引
完成实训任务:
为客户订单管理系统的创建合适类型的索引,以优化其性能。
简要说明你创建索引的理由以及怎样编写SQL查询语句才能使索引发挥作用
为前面章节讲到的班级同学录中涉及的数据表,创建合适的索引,优化其性能。
讲授+实训
9/1
2
任务12用户权限管理
用户和方案
用户创建和管理
系统权限和对象权限
角色
权限管理
同义词
能够正确访问和使用方案对象
能够理解和解决权限带来的开发问题
能够创建和管理用户、角色
能够根据需要为用户授权
完成实训任务:
创建用户s01,现在s01用户需要创建表、视图、序列,为s01授予适当的权限。
以s01登录数据库,创建班级表classes,插入几条记录。
授权用户scott可以查询s01用户的班级表。
创建用户s02,现在s02用户需要创建表、视图、序列,为s02授予适当的权限。
以s02登录数据库,创建成绩表T_Score,插入几条记录。
授权用户scott可以查询s02用户的成绩表。
9/2
2
任务13客户订单管理系统业务逻辑编程
PL/SQL基本语法
PL/SQL块一般由哪几部分组成?
PL/SQL块有哪三类?
PL/SQL有哪些优点?
讲授+实训
9/3
2
任务13客户订单管理系统业务逻辑编程
匿名块和子程序
什么是词法单元?
PL/SQL词法单元由哪些部分组成?
PL/SQL词法单元分为哪几类?
PL/SQL标识符命名规则有哪些?
PL/SQL注释有哪几种?
PL/SQL中标量可进行的数据类型转换有哪几种?
列举几个用于强制类型转换的内置函数。
接受两个数相除并且显示结果,如果第二个数为0,则显示消息“除数不能为0”。
讲授+实训
10/1
2
任务13客户订单管理系统业务逻辑编程
分支结构
输入部门编号,按照下列加薪比例执行。
接受2个数相除,并显示结果,如果除数为0,则显示错误提示。
自己创建一张userinfo表,包含两个字段username,password,表中的记录信息取自emp表ename,empno字段,写一个PL/SQL程序,模拟登陆的过程,用户分别输入用户名和密码,对于登陆成功和失败分别给出提示信息。
用userinfo表,写一个PL/SQL程序,模拟注册的过程,用户分别输入用户名和密码,对于登陆成功和失败分别给出提示信息.
10/2
2
任务13客户订单管理系统业务逻辑编程
循环结构
接收一个雇员名,判断他的job,根据job不同,为他增加相应的sal
clerk+500
salesman+1000
analyst+1500otherwise+2000
求1+2+…+100;
求20!
;
讲授+实训
10/3
2
任务13客户订单管理系统业务逻辑编程
在PL/SQL中应用SQL语句
打印1-100之间的所有偶数。
用while循环打印如下图形:
*
**
***
****
*****
******
*******
********
讲授+实训
11/1
2
任务13客户订单管理系统业务逻辑编程
完成实训任务:
为表单的删除、应用更改、创建按钮添加PL/SQL处理,完成员工数据的增、删改。
假设页面编号为1,各页面项名称符合规范,如P1_ENAME。
员工编号对应隐藏项P1_EMPNO,主键通过序列seq_emp_no生成。
PL/SQL中的基本循环、while循环和for循环,分别在什么情况下使用?
用for循环输出倒置的九九乘法表。
11/2
2
任务14使用游标获取数据
游标
本任务主要用到哪些技术?
动态页面和预期结果不一致,如何进行调试?
为什么不用select...into语句直接返回结果?
讲授+实训
11/3
2
任务14使用游标获取数据
PL/SQL动态区域、函数APEX_ITEM.RADIOGROUP和APEX_ITEM.CHECKBOX、HTML表格、能够灵活运用游标获取数据、能够使用PL/SQL动态区域、能够编程动态生成HTML表格
用游标属性实现输出前十个员工的信息。
用%rowtype显示所有部门编号与名称。
讲授+实训
12/1
2
任务14使用游标获取数据
完成实训任务:
现需根据雇员的职位来加薪,方法是Clerk加500,Salesman加1000,Analyst加1500,其他人加2000。
编写一个程序块,在emp表中实现上述加薪处理
编写一个PL/SQL程序块,从emp表中对名字以“A”或“S”开始的所有雇员按他们基本薪水的10%给他们加薪。
emp表中对所有雇员按他们基本薪水的10%给他们加薪,如果所增加后的薪水大于5000,则取消加薪。
12/2
2
任务15处理程序异常
异常及其分类
捕获和处理异常
异常的作用域
能够灵活运用异常处理增强程序的稳定性
能够灵活运用异常处理保证数据的完整性
能够灵活运用异常处理给用户友好的提示信息
编写一个pl/sql代码块,查询名字是‘Ellen’的用户信息,如果查询到多个用户异常提示。
编写一个pl/sql代码块,向emp表插入数据,如果插入失败提示,用户添加失败。
讲授+实训
12/3
2
任务15处理程序异常
完成实训任务:
为表单的删除、应用更改、创建按钮添加PL/SQL处理,完成员工数据的增、删改。
假设页面编号为1,各页面项名称符合规范,如P1_ENAME。
员工编号对应隐藏项P1_EMPNO,主键通过序列seq_emp_no生成。
处理因数据错误带来的各种异常,无论何种情况,总要给用户一个友好的提示信息。
编写一个pl/sql代码块,当输入的不是1—5的数字时,提示请输入有效选项。
编写一个pl/sql代码块,查询用户表中用户个数,当用户数超过30时,引发异常并编码,显示异常信息,班级人数已满。
.编写一个pl/sql代码块,根据用户名从emp表中查询,使用嵌套处理异常方式,处理相应异常。
讲授+实训
13/1
2
任务16验证用户身份
函数、过程
编写给雇员增加工资的存储过程CHANGE_SALARY,通过IN类型的参数传递要增加工资的雇员编号和增加的工资额。
创建一个通过雇员编号返回雇员名称的函数GET_EMP_NAME。
13/2
2
任务16验证用户身份
参数的使用、
能够灵活运用存储过程和函数进行模块化编程
能够灵活运用参数和返回值传递数据
理解子程序有关权限问题
能够管理子程序
定义函数计算员工工资超过3000的人数
定义函数计算员工中最高工资的人数。
讲授+实训
13/3
2
任务16验证用户身份
完成实训任务:
为任务14中的在线测验程序编写题库维护程序。
包括:
函数:
根据测验id获取测验名称;
过程:
添加试题、删除试题、修改试题、预览试题
常用的系统权限有那些?
创建用户davi,创建用admin,在davi用户下创建表student,把student表的所有权限给admin;
讲授+实训
14/1
2
任务17自动更新订单金额
触发器概念
语句级触发器
行级触发器
INSTAEDOF触发器
DDL触发器
系统触发器
变异表
能够灵活运用触发器实现日志记录、安全审计、数据更新等功能
限制对Departments表修改(包括INSERT,DELETE,UPDATE)的时间范围,即不允许在非工作时间修改departments表。
限定只对部门号为80的记录进行行触发器操作.
14/2
2
任务17自动更新订单金额
完成实训任务:
为员工表(emp)添加一个触发器,记录所有对员工工资(sal)的修改,包括修改时间、修改人、从哪个客户端修改、修改前后的工资值等信息
创建一个DML语句级触发器,当对emp表执行INSERT,UPDATE,DELETE 操作时,它自动更新dept_summary 表中的数据。
由于在PL/SQL块中不能直接调用DDL语句,所以,利用ORACLE内置包DBMS_UTILITY中的EXEC_DDL_STATEMENT过程,由它执行DDL语句创建触发器。
讲授+实训
14/3
2
任务18存储显示产品照片
大对象(LOB):
Bfile、BLOB、CLOB
DIRECTORY对象
demo_product_info表中哪些列用于照片的存储?
各自有什么作用?
什么函数可以获取文件数据来源?
修改员工表,添加相关字段可保存员工的照片,写出SQL语句
讲授+实训
15/1
2
任务18存储显示产品照片
用户自定义记录类型
PL/SQL的Indexby表
对象间依赖关系
能够灵活运用BLOB数据类型处理多媒体数据
能够使用自定义数据类型提高编程技巧
能够解决因对象间依赖关系导致的问题
大对象LOB分为哪些类型?
如何从LONG升级到CLOB(或从LONGRAW到BLOBs)?
如何为CLOB字段初始化存储空间?
15/2
2
任务18存储显示产品照片
完成实训任务:
为员工表(emp)添加一列photo,存储员工的照片,再添加一列memo,存储员工的个人文字简历。
通过applicationexpress工具和PL/SQL程序,实现对员工所有信息的增、删、查、改
使用哪些字典表可查看DIRECTORY对象?
创建DIRECTORY对象cd_dir,指向c:
\cddir文件夹,授权给所有人可以读。
修改员工表,添加movie列,类型为BFILE。
讲授+实训
15/3
2
任务19客户订单管理程序报表页面开发
报表区域和报表
链接列和列链接
保存的报表
能够灵活运用APEX报表创建向导创建所需的报表
能够通过修改报表属性控制报表功能和外观,满足客户需求
如何修改报表的列标题?
如何从报表链接到其他页面?
交互式报表和经典报表有什么区别?
讲授+实训
16/1
2
完成实训任务:
模仿示例程序,创建产品、订单报表页面
交互式报表有哪几种视图?
交互式报表搜索栏支持哪些功能?
交互式报表可下载为哪几种文件格式?
16/2
2
任务20客户订单管理程序表单页面开发
表单
表单项
条件
处理
分支
共享组件
值列表(LOV)
验证
插件
正则表达式
能够灵活运用表单实现数据的增、删、改维护
能够对输入数据进行验证
能够通过值等实现选择输入,提高输入便捷性和正确性
能够使用条件显示实现灵活的页面设计
验证有什么作用,什么时候起作用?
插件机制有哪些优点?
什么是条件?
条件显示有哪些优点?
讲授+实训
16/3
2
任务20客户订单管理程序表单页面开发
完成实训任务:
模仿本任务的实现方法,创建产品信息表单,实现产品信息的增、删、改维护操作。
表单项的作用是什么?
有哪些类型?
什么是共享组件?
包括哪些类型?
什么是值列表?
有什
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于Oracle的Web应用开发 基于 Oracle Web 应用 开发 教学 日历