电子科技大学数据库系统10章数据库开发技术.ppt

上传人:zhu****ei 文档编号:5374805 上传时间:2020-01-27 格式:PPT 页数:90 大小:1.73MB
返回 下载 相关 举报
电子科技大学数据库系统10章数据库开发技术.ppt_第1页
第1页 / 共90页
电子科技大学数据库系统10章数据库开发技术.ppt_第2页
第2页 / 共90页
电子科技大学数据库系统10章数据库开发技术.ppt_第3页
第3页 / 共90页
点击查看更多>>
资源描述
DataBase UESTC电子科技大学 计算机科学 数据库 数据库系统与应用第10章数据库开发技术 电子科技大学软件学院郑莉华cd zhenglh DataBase UESTC电子科技大学 计算机科学 数据库 10 1存储过程10 2触发器10 3嵌入式SQL10 4 网络数据库开发技术小结 第10章 内容目录 DataBase UESTC电子科技大学 计算机科学 数据库 存储过程的概念 10 1存储过程 存储过程是一组已被编辑在一起的 存储在服务器上的 执行某种功能的预编译SQL语句 它是一种封装重复任务操作的方法 支持用户提供的参数变量 具有强大的编程能力 存储过程具有许多优点 加快程序的执行速度减少网络的数据流量提供了一种安全机制允许程序模块化设计 DataBase UESTC电子科技大学 计算机科学 数据库 存储过程的操作 1 10 1存储过程 创建存储过程CREATEPROCEDURE过程名称 参数1 参数2 AS DataBase UESTC电子科技大学 计算机科学 数据库 存储过程的操作 2 10 1存储过程 例 利用存储过程计算患者支付处方中药品的总金额 CREATEPROCEDUREprocPaymentSum RecipeNoVARCHAR 10 PaymentSumDECIMAL 18 2 OUTPUTASSELECT PaymentSum SUM Mamount Mprice FROMRecipeMasterRMLEFTJOINRecipeDetailRDONRM Rno RD RnoINNERJOINMedicineMONM Mno RD MnoWHERERM Rno RecipeNO DataBase UESTC电子科技大学 计算机科学 数据库 存储过程的操作 3 10 1存储过程 重命名存储过程ALTERPROCEDURE旧过程名称RENAMETO新过程名称 执行存储过程CALL PERFORM EXECUTEPROCEDURE过程名 参数1 参数2 DataBase UESTC电子科技大学 计算机科学 数据库 例 执行处方费用计算的存储过程DECLARE FeeSumDECIMAL 18 2 EXECUTEprocPaymentSum 1282317 FeeSumOUTPUT PRINT FeeSum 存储过程的操作 3 10 1存储过程 DataBase UESTC电子科技大学 计算机科学 数据库 存储过程的操作 4 10 1存储过程 删除存储过程DROPPROCEDURE过程名 例 删除处方费用计算的存储过程procPaymentSum DROPPROCEDUREprocPaymentSum DataBase UESTC电子科技大学 计算机科学 数据库 10 1存储过程10 2触发器10 3嵌入式SQL10 4网络数据库开发技术小结 第10章 内容目录 DataBase UESTC电子科技大学 计算机科学 数据库 触发器的组成 10 2触发器 触发器 Trigger 是数据库模式的一个元素 它是一个能由系统自动执行的对数据库修改的语句一个触发器由3部分组成 事件 事件是指对数据库的插入 删除 修改等操作 触发器在这些事件开始发生时将开始工作 条件 触发器将测试条件是否成立 如果条件成立 就执行相应动作 否则什么也不做 动作 如果触发器测试满足预定的条件 那么就由DBMS执行这些动作 即对数据库的操作 DataBase UESTC电子科技大学 计算机科学 数据库 触发器在数据库处理中充当的角色 10 2触发器 维护约束 触发器可以用于维护外码和语义约束业务规则 业务是对基本规则简洁的正式陈述 这些基本规则是企业中业务运作的基础 监控 由于在数据库中每条新记录的插入都是一个事件 触发器可以间接地用于监控这些对象的状态 辅助高速缓存数据的维护 物化视图 MATERIALIZEDVIEW 是这类应用的实例 每当物化视图的基础表发生改变时 与该基础表相连的触发器就会更新物化视图 简化应用设计 将核心编程逻辑从异常处理中分离出来 可以相当大地简化某些应用 DataBase UESTC电子科技大学 计算机科学 数据库 10 1存储过程10 2触发器10 3嵌入式SQL10 4网络数据库开发技术小结 第10章 内容目录 DataBase UESTC电子科技大学 计算机科学 数据库 嵌入式SQL EmbeddedSQL ESQL 10 3嵌入式SQL SQL语言使用 交互式SQL InteractiveSQL ISQL嵌入式SQL EmbeddedSQL ESQL DataBase UESTC电子科技大学 计算机科学 数据库 ESQL的处理过程 10 3嵌入式SQL 对于嵌入式SQL RDBMS一般采用预编译方法处理 即由RDBMS的预处理程序对源程序进行扫描 识别出ESQL语句 把它们转换成主语言调用语句 以使主语言编译程序能识别它们 然后由主语言的编译程序将纯的主语言编译成目标码 DataBase UESTC电子科技大学 计算机科学 数据库 与主语句之间的通信 数据库工作单元与源程序工作单元如何通信 用SQL通信区SQLCA向主语言传递SQL语句的执行状态信息主语言通过主变量向SQL语句提供参数SQL语句查询数据库的结果通过主变量和游标交主语言进一步处理 10 3嵌入式SQL DataBase UESTC电子科技大学 计算机科学 数据库 SQL通信区 SQLCA SQLCommunicationAreaSQLCA是一个数据结构SQLCA的用途SQL语句执行后 DBMS反馈给应用程序信息描述系统当前工作状态描述运行环境这些信息将送到SQL通信区SQLCA中应用程序从SQLCA中取出这些状态信息 据此决定接下来执行的语句 10 3嵌入式SQL DataBase UESTC电子科技大学 计算机科学 数据库 SQLCA的使用方法 定义SQLCA用EXECSQLINCLUDESQLCA加以定义使用SQLCASQLCA中有一个存放每次执行SQL语句后返回代码的变量SQLCODE应用程序每执行完一条SQL语句之后都应该测试一下SQLCODE的值 以了解该SQL语句执行情况并做相应处理 10 3嵌入式SQL DataBase UESTC电子科技大学 计算机科学 数据库 SQLCODE 0 SQL语句执行成功 并有满足条件的记录 100 SQL语句处理完最后一条满足条件的记录或数据库中没有满足条件的记录 0 SQL语句执行出错 10 3嵌入式SQL SQLCA的使用方法 DataBase UESTC电子科技大学 计算机科学 数据库 例1 执行DELETE语句后 SQLCODE的不同返回值 0 成功删除若干行 100 没有满足条件的记录 0 执行出错无条件删除警告信息违反数据保护规则 拒绝删除操作 10 3嵌入式SQL SQLCA的使用方法 DataBase UESTC电子科技大学 计算机科学 数据库 ESQL的使用规定 1 10 3嵌入式SQL 在程序中要区分SQL语句和宿主语言语句有的SQL语句都必须加前缀标识 EXECSQL 结束标志可以是 END EXE 也可以是 EXECSQLEND EXECEXECSQL DataBase UESTC电子科技大学 计算机科学 数据库 ESQL的使用规定 2 10 3嵌入式SQL 允许嵌入的SQL语句引用宿主语言的程序变量 成为共享变量 但有两条规定如下引用共享变量前必须加冒号 作为前缀标识 以区别数据库中的变量共享变量由宿主语言的程序定义 并用SQL的DECLARE语句说明 例如在C语言程序中可以按如下形式使用共享变量 EXECSQLBEGINDECLARESECTION charPno 10 charPname 50 charSQL STATE 6 EXECSQLENDDECLARESECTION DataBase UESTC电子科技大学 计算机科学 数据库 ESQL的使用规定 3 10 3嵌入式SQL 由于SQL语句处理的是记录集合 而宿主语言语句一次只能处理一条记录 因此需要使用游标 Cursor 机制 把集合操作转换为单记录处理方式 游标是系统为用户开设的一个数据缓冲区 存放SQL语句的执行结果每个游标区都有一个名字用户通过游标逐一获取记录 并赋给主变量 交主语言进一步处理 DataBase UESTC电子科技大学 计算机科学 数据库 游标的使用 说明游标EXECSQLDECLARECURSORFOR 打开游标EXECSQLOPEN 推进游标并获取当前记录 通常在循环结构中使用 EXECSQLFETCHINTO 关闭游标EXECSQLCLOSE 10 3嵌入式SQL DataBase UESTC电子科技大学 计算机科学 数据库 带有嵌入式SQL的一小段C程序 EXECSQLINCLUDESQLCA 1 定义SQL通信区 EXECSQLBEGINDECLARESECTION 2 说明主变量 CHARdname 8 CHARdlevel 20 INTdsal EXECSQLENDDECLARESECTION 例 10 3嵌入式SQL DataBase UESTC电子科技大学 计算机科学 数据库 main EXECSQLDECLAREC1CURSORFORSELECTDname Dlevel DsalFROMDoctor 3 游标操作 定义游标 EXECSQLOPENC1 4 游标操作 打开游标 10 3嵌入式SQL DataBase UESTC电子科技大学 计算机科学 数据库 for EXECSQLFETCHC1INTO dname dlevel dsal 5 游标操作 将当前数据放入主变量并推进游标指针 if sqlca sqlcodeSUCCESS 6 利用SQLCA中的状态信息决定何时退出循环 break printf Name s Level s dname dlevel printf salary d dsal 打印查询结果 EXECSQLCLOSEC1 7 游标操作 关闭游标 10 3嵌入式SQL DataBase UESTC电子科技大学 计算机科学 数据库 ESQL的使用技术 1 10 3嵌入式SQL 不使用游标的SQL语句说明性语句数据定义语句数据控制语句查询结果为单记录的SELECT语句非CURRENT形式的增删改语句 DataBase UESTC电子科技大学 计算机科学 数据库 查询结果为单记录的SELECT语句 例 根据指定的患者编码查询患者信息 其中患者编码已经赋给了主变量patientNO EXECSQLSELECTPno Pname Psex Page Pino PidINTO HPno HPname HPsex HPage HPino HPidFROMPatientWHEREPno patientNO ESQL的使用技术 2 10 3嵌入式SQL DataBase UESTC电子科技大学 计算机科学 数据库 ESQL的使用技术 4 10 3嵌入式SQL 非CURRENT形式的增删改语句 例 修改指定药品的价格 其中药品编码和新价格已经分别赋值给主变量HMprice和newMprice EXECSQLUPDATEMedicineSETMprice newMpriceWHEREMno HMprice DataBase UESTC电子科技大学 计算机科学 数据库 ESQL的使用技术 5 10 3嵌入式SQL 必须使用游标的SQL语句查询结果为多条记录的SELECT语句 CURRENT形式的UPDATE语句和DELETE语句 查询结果为多条记录的SELECT语句CURRENT形式的UPDATE和DELETE语句只想修改或删除其中某个记录 DataBase UESTC电子科技大学 计算机科学 数据库 例题 例3对某个部门的医生信息 根据用户的要求修改其中某些人的年龄字段 思路查询某个部门全体医生的信息 要查询的部门名由主变量deptname指定 然后根据用户的要求修改其中某些记录的年龄字段 10 3嵌入式SQL DataBase UESTC电子科技大学 计算机科学 数据库 例题 续 EXECSQLINCLUDESQLCA EXECSQLBEGINDECLARESECTION 说明主变量deptname Dno Dname Dage 等 EXECSQLENDDECLARESECTION 10 3嵌入式SQL DataBase UESTC电子科技大学 计算机科学 数据库 例题 续 gets deptname 为主变量deptname赋值 EXECSQLDECLARESXCURSORFORSELECTDno Dname DageFROMDoctorWHEREDDept deptnameFORUPDATEOFDage 说明游标 EXECSQLOPENSX 打开游标 10 3嵌入式SQL DataBase UESTC电子科技大学 计算机科学 数据库 例题 续 WHILE 1 用循环结构逐条处理结果集中的记录 EXECSQLFETCHSXINTO Dno Dname Dage 将游标指针向前推进一行 然后从结果集中取当前行 送相应主变量 if sqlca sqlcodeSUCCESS break 若所有查询结果均已处理完或出现SQL语句错误 则退出循环 printf s s d Dno Dname Dage 显示该记录 10 3嵌入式SQL DataBase UESTC电子科技大学 计算机科学 数据库 例题 续 printf UPDATEAGE 问用户是否要修改 scanf c 10 3嵌入式SQL DataBase UESTC电子科技大学 计算机科学 数据库 例题 续 EXECSQLCLOSESX 关闭游标 10 3嵌入式SQL DataBase UESTC电子科技大学 计算机科学 数据库 10 1存储过程10 2触发器10 3嵌入式SQL10 4网络数据库开发技术小结 第10章 内容目录 DataBase UESTC电子科技大学 计算机科学 数据库 通过可以嵌套SQL的宿主语言通过应用程序接口 允许将SQL查询送给数据库ODBCJDBC其它 如RDO ADO和OLEDB 这些接口目前并不能代替ODBC 应用程序访问数据库的方式 10 4网络数据库开发技术 DataBase UESTC电子科技大学 计算机科学 数据库 ODBC OpenDatabaseConnectivity它是一种用来在相关或不相关的数据库管理系统 DBMS 中存取数据的 用C语言实现的 标准应用程序数据接口 通过ODBCAPI 应用程序可以存取保存在多种不同数据库管理系统 DBMS 中的数据 而不论每个DBMS使用了何种数据存储格式和编程接口 10 4网络数据库开发技术 DataBase UESTC电子科技大学 计算机科学 数据库 JDBC 是一种可用于执行SQL语句的JavaAPI 它由一些Java语言编写的类和界面组成 JDBC为数据库应用开发人员 数据库前台工具开发人员提供了一种标准的应用程序设计接口 使开发人员可以用纯Java语言编写完整的数据库应用程序 10 4网络数据库开发技术 DataBase UESTC电子科技大学 计算机科学 数据库 比较 可以从Java中使用ODBC 为什么还需要JDBC呢 ODBC并不适合在Java中直接使用 ODBC是一个C语言实现的API 从Java程序调用本地的C程序会带来一系列类似安全性 完整性 健壮性的缺点 完全精确地实现从C代码ODBC到JavaAPI写的ODBC的翻译也并不令人满意 比如指针 ODBC并不容易学习 它将简单特性和复杂特性混杂在一起 甚至对非常简单的查询都有复杂的选项 而JDBC刚好相反 它保持了简单事物的简单性 但又允许复杂的特性 10 4网络数据库开发技术 DataBase UESTC电子科技大学 计算机科学 数据库 比较 JavaAPI对于纯Java方案来说是必须的 当使用ODBC时 人们必须在每一台客户机上安装ODBC驱动器和驱动管理器 如果JDBC驱动器是完全用Java语言实现的话 那么JDBC的代码就可以自动的下载和安装 并保证其安全性 而且 这将适应任何Java平台 从网络计算机NC到大型主机Mainframe JDBC支持两层模型 也支持三层模型访问数据库 10 4网络数据库开发技术 DataBase UESTC电子科技大学 计算机科学 数据库 数据库的连接访问 1 10 4网络数据库开发技术 ODBC OpenDatabaseConnectivity 开放数据库互连 是微软公司开放服务结构 WOSA WindowsOpenServicesArchitecture 中有关数据库的一个组成部分 它建立了一组规范 并提供了一组对数据库访问的标准API 应用程序编程接口 这些API利用SQL来完成其大部分任务 ODBC本身也提供了对SQL语言的支持 用户可以直接将SQL语句送给ODBC ODBC的最大优点是能以统一的方式处理所有的数据库 DataBase UESTC电子科技大学 计算机科学 数据库 数据库的连接访问 2 10 4网络数据库开发技术 DataBase UESTC电子科技大学 计算机科学 数据库 数据库的连接访问 3 10 4网络数据库开发技术 应用程序要访问一个数据库 首先必须用ODBC管理器注册一个数据源 管理器根据数据源提供的数据库位置 数据库类型及ODBC驱动程序等信息 建立起ODBC与具体数据库的联系 这样 只要应用程序将数据源名提供给ODBC ODBC就能建立起与相应数据库的连接 在ODBC中 ODBCAPI不能直接访问数据库 必须通过驱动程序管理器与数据库交换信息 驱动程序管理器负责将应用程序对ODBCAPI的调用传递给正确的驱动程序 而驱动程序在执行完相应的操作后 将结果通过驱动程序管理器返回给应用程序 DataBase UESTC电子科技大学 计算机科学 数据库 数据库的连接访问 4 10 4网络数据库开发技术 使用ODBC的基本步骤是 为ODBC分配环境句柄 分配一个连接句柄 连接到数据库 用SQL命令分配一个语句句柄 传送该命令 关闭连接 解除连接和环境句柄 DataBase UESTC电子科技大学 计算机科学 数据库 数据库的连接访问 5 10 4网络数据库开发技术 DataBase UESTC电子科技大学 计算机科学 数据库 数据库的连接访问 6 10 4网络数据库开发技术 ADO ActiveXDataObjects ActiveX数据对象 是Microsoft提出的应用程序接口 API 用以实现访问关系或非关系数据库中的数据 ADO是面向对象的 ADO的一个特征 称为远程数据服务 支持网页中的数据相关的ActiveX控件和有效的客户端缓冲 作为ActiveX的一部分 ADO也是Microsoft的组件对象模式 COM 的一部分 它的面向组件的框架用以将程序组装在一起 DataBase UESTC电子科技大学 计算机科学 数据库 数据库的连接访问 7 10 4网络数据库开发技术 ADO对象 DataBase UESTC电子科技大学 计算机科学 数据库 数据库的连接访问 8 10 4网络数据库开发技术 ADO事件 DataBase UESTC电子科技大学 计算机科学 数据库 数据库的连接访问 9 10 4网络数据库开发技术 DataBase UESTC电子科技大学 计算机科学 数据库 数据库的连接访问 10 10 4网络数据库开发技术 JDBC JavaDataBaseConnectivity Java数据库连接 是一种用于执行SQL语句的JavaAPI 可以为多种关系数据库提供统一访问 它由一组用Java语言编写的类和接口组成 JDBC提供了一种基准 据此可以构建更高级的工具和接口 使数据库开发人员能够编写数据库应用程序JDBC主要包含三种处理操作 建立与数据库的连接 发送SQL 处理结果 DataBase UESTC电子科技大学 计算机科学 数据库 数据库的连接访问 11 10 4网络数据库开发技术 例 建立数据库连接 发送SQL和处理结果 建立连接Connectioncon DriverManager getConnection jdbc odbc wombat login password Statementstmt con createStatement 发送并执行SQL语句ResultSetrs stmt executeQuery SELECTPno Pname PsexFROMPatient 处理返回的结果while rs next StringsPno rs getInt Pno StringsPname rs getString Pname StringsPsex rs getFloat Psex DataBase UESTC电子科技大学 计算机科学 数据库 数据库的连接访问 12 10 4网络数据库开发技术 JDBCAPIJDBC是个 低级 接口 也就是说 它用于直接调用SQL命令 但它同时也被设计为一种基础接口 在它之上可以建立高级接口和工具 高级接口是 对用户友好的 接口 它使用的是一种更易理解和更为方便的API 这种API在幕后被转换为诸如JDBC这样的低级接口 JDBC对B S和C S模式的支持JDBCAPI既支持数据库访问的两层模型 C S 同时也支持三层模型 B S DataBase UESTC电子科技大学 计算机科学 数据库 数据库的连接访问 13 10 4网络数据库开发技术 建立JDBC连接与数据库建立连接的标准方法是调用DriverManager getConnection方法 例 打开一个与位于URL jdbc odbc wombat 的数据库的连接 所用的用户标识符为 user 口令为 password Stringurl jdbc odbc wombat Connectioncon DriverManager getConnection url uesr password DataBase UESTC电子科技大学 计算机科学 数据库 数据库的连接访问 14 10 4网络数据库开发技术 使用JDBC发送SQL Statement对象用于将SQL语句发送到数据库中创建Statement对象 Statement对象用Connection的方法createStatement创建 如 例 Connectioncon DriverManager getConnection url user password Statementstmt con createStatement DataBase UESTC电子科技大学 计算机科学 数据库 数据库的连接访问 15 10 4网络数据库开发技术 为了执行Statement对象 被发送到数据库的SQL语句将被作为参数提供给Statement的方法 如 例 ResultSetrs stmt executeQuery SELECTPno Pname PsexFROMPatient Statement接口提供了3种执行SQL语句的方法 executeQuery executeUpdate和execute 使用哪一个方法由SQL语句所产生的内容决定 当连接处于自动提交模式时 其中所执行的语句在完成时将自动提交或还原 语句在已执行且所有结果返回时 即认为已完成 DataBase UESTC电子科技大学 计算机科学 数据库 数据库的连接访问 16 10 4网络数据库开发技术 关闭Statement对象使用方法execute execute方法应该仅在语句能返回多个ResultSet对象 多个更新计数或ResultSet对象与更新计数的组合时使用获取SQL语句执行结果ResultSet包含符合SQL语句中条件的所有行 并且它通过一套get方法 这些get方法可以访问当前行中的不同列 提供了对这些行中数据的访问 DataBase UESTC电子科技大学 计算机科学 数据库 数据库的连接访问 17 10 4网络数据库开发技术 例执行SQL 该SQL语句将返回行集合 例 Java sql Statementstmt conn createStatement ResultSetr stmt executeQuery SELECTPno Pname PsexFROMPatient while r next 打印当前行的值 StringsPno r getInt Pno StringsPname r getString Pname StringsPsex r getFloat Psex System out println ROW sPno sPname sPsex DataBase UESTC电子科技大学 计算机科学 数据库 数据库的连接访问 18 10 4网络数据库开发技术 行和游标 ResultSet维护指向其当前数据行的游标 最初游标位于第一行之前 因此第一次调用next将把游标置于第一行上 使它成为当前行 随着每次调用next导致游标向下移动一行 按照从上至下的次序获取ResultSet行 列 方法getXXX提供了获取当前行中某列值的途径 在每一行内 可按任何次序获取列值 数据类型和转换 对于getXXX方法 JDBC驱动程序试图将基本数据转换成指定Java类型 然后返回适合的Java值 对非常大的行值使用流 通过让ResultSet类返回Java io Input流来完成 从该流中可分块读取数据 NULL结果值 要确定给定结果值是否是JDBCNULL 必须先读取该列 然后使用ResultSet wasNull方法检查该次读取是否返回JDBCNULL 可选结果集或多结果集 首先调用一个完全通用的execute方法 然后调用另外3个方法 getResultSet getUpdateCount和getMoreResults DataBase UESTC电子科技大学 计算机科学 数据库 脚本描述语言 1 10 4网络数据库开发技术 ASP ActiveServerPage 是微软公司开发的服务器端脚本环境 ASP内含于IIS之中 与HTML ASP指令和ActiveX元件相结合可以创建动态 交互且高效的Web服务器应用程序 ASP是经过服务器解析之后再向浏览器返回数据 所有的程序都将在服务器端执行 包括所有嵌在普通HTML中的脚本程序 当程序执行完毕后 服务器仅将执行的结果返回给客户浏览器 DataBase UESTC电子科技大学 计算机科学 数据库 脚本描述语言 2 10 4网络数据库开发技术 ASP的特点有 无须编译与浏览器无关面向对象任何ActiveXscripting语言兼容Asp脚本服务器解析 DataBase UESTC电子科技大学 计算机科学 数据库 脚本描述语言 3 10 4网络数据库开发技术 ASP工作步骤如下 用户调出站点内容 默认页面的扩展名是 asp浏览器从服务器上请求ASP文件服务器端脚本开始运行ASPASP文件按照从上到下的顺序开始处理 执行脚本命令 执行HTML页面内容页面信息发送到浏览器 DataBase UESTC电子科技大学 计算机科学 数据库 脚本描述语言 4 10 4网络数据库开发技术 ASP中的对象RequestObject 读取提交表单中的数据或cookies中的数据 Resquest接收数据时通过两个集合QueryString和Form来检索表单的数据 具体用哪一个集合 取决于Web页面提交数据的HTTP表单的Method属性 当Method属性值为 Get 时以QueryString 而Method属性值为 Post 时以Form DataBase UESTC电子科技大学 计算机科学 数据库 脚本描述语言 5 10 4网络数据库开发技术 例 DataBase UESTC电子科技大学 计算机科学 数据库 脚本描述语言 6 10 4网络数据库开发技术 log asp文件如下 DataBase UESTC电子科技大学 计算机科学 数据库 脚本描述语言 7 10 4网络数据库开发技术 ResponseObject 向浏览器输出文本 数据和cookies及控制在传送网页过程中的每一个阶段Buffer属性 该属性用于指定页面输出时是否要用到缓冲区Expires属性 该属性用于设置浏览器缓存页面的时间长度 单位为分 必须在服务器端刷新 通过如下设置 Write方法 该方法把数据发送到客户端浏览器 如 DataBase UESTC电子科技大学 计算机科学 数据库 脚本描述语言 8 10 4网络数据库开发技术 Redirect方法 该方法使浏览器可以重新定位到另一个URL上End方法 用于告知ASP当遇到该方法时停止处理ASP文件 例 0thenResponse ClearResponse Endendif DataBase UESTC电子科技大学 计算机科学 数据库 脚本描述语言 9 10 4网络数据库开发技术 ServerObject 创建COM对象和Scripting组件等MapPath方法 该方法返回指定文件的相对路径或物理路径CreateObject方法 这个方法是Server对象中最重要的方法 它用于创建已注册到服务器上的ActiveX组件 用于创建服务器端的方法如下 Server CreateObject ComponentName ApplicationObject 用于放在同一个应用中多个用户之间的共享信息 Application对象没有内置的属性 但可以自行创建其属性 Lock方法用于保证同一时刻只能一个用户对Application操作Unlock则用于取消Lock方法的限制 DataBase UESTC电子科技大学 计算机科学 数据库 脚本描述语言 10 10 4网络数据库开发技术 例 DataBase UESTC电子科技大学 计算机科学 数据库 脚本描述语言 11 10 4网络数据库开发技术 Application的事件Application OnStart 用于应用程序启动时触发 Application OnEnd 时间用于应用程序结束时触发 SessionObject 为单个用户保持数据SessionID属性 该属性返回当前会话的唯一标志 为每一个Session分配不同的编号TimeOut属性 该属性用来定义用户Session对象的时限Abandon方法 该方法是Session对象的唯一方法 可以清除Session对象 用来消除用户的Session对象并释放其所占的资源 如Session OnStart和Session OnEnd事件 当对象的例程每一次启动时触发Session OnStart事件 然后运行Session Onstart事件的处理过程 当调用Session Abandon方法时或在TimeOut的时间内没有刷新 这会触发Session OnEnd事件 然后执行里面的脚本 DataBase UESTC电子科技大学 计算机科学 数据库 脚本描述语言 12 10 4网络数据库开发技术 JSP JavaServerPages 是由SunMicrosystems公司倡导 许多公司参与一起建立的一种动态网页技术标准 在传统的网页HTML文件 htm html 中加入Java程序片段 Scriptlet 和JSP标记 tag 就构成了JSP网页 jsp Web服务器在遇到访问JSP网页的请求时 首先执行其中的程序片段 然后将执行结果以HTML格式返回给客户 程序片段可以操作数据库 重新定向网页及发送email等 这就是建立动态网站所需要的功能 所有程序操作都在服务器端执行 网络上传送给客户端的仅是得到的结果 DataBase UESTC电子科技大学 计算机科学 数据库 脚本描述语言 13 10 4网络数据库开发技术 JSP运行环境的安装要使WEB服务器支持JSP 首先需要装JAVA的开发环境JDK其次是支持jsp引擎的WEB服务器或jsp引擎 DataBase UESTC电子科技大学 计算机科学 数据库 脚本描述语言 14 10 4网络数据库开发技术 JSP的运行机制 例 Hello这个JSP页面向客户端输出 HelloWorld DataBase UESTC电子科技大学 计算机科学 数据库 脚本描述语言 15 10 4网络数据库开发技术 JSP容器管理JSP页面生命周期的两个阶段 转换阶段 TranslationPhase 和执行阶段 ExecutionPhase DataBase UESTC电子科技大学 计算机科学 数据库 XML数据交换技术 1 10 4网络数据库开发技术 可扩展标记语言 ExtensibleMarkupLanguage XML 是Web应用的一种新技术 是万维网联盟 W3C 制定的标准 XML是在SGML theStandardGeneralizedMarkupLanguage 和HTML HyperTextMarkupLanguage 的基础上发展起来的 DataBase UESTC电子科技大学 计算机科学 数据库 XML数据交换技术 2 10 4网络数据库开发技术 相对于HTML XML具有如下的一些特点更多的结构和语义 XML侧重于对文档内容的描述 而不是文档的显示 用户定义的标记描述了数据的语义 便于数据的理解和机器处理 HTML只能表示文档的格式 而XML可以描述文档的结构和内涵 可扩展性 允许用户自定义标记和属性 可以有各种定制的数据格式 自描述性 对数据的描述和数据本身都包含在文档中 使数据具有很大的灵活性数据与显示相分离 XML所关心的数据本身的语义 而不是数据的显示 所以可以在XML数据上定义多种显示形式 展示根式可以用一个独立的格式单定义简洁性 与标准通用标记语言SGML相比 XML简单易用 DataBase UESTC电子科技大学 计算机科学 数据库 XML数据交换技术 3 10 4网络数据库开发技术 XML文档 XML是一种基于文本的格式XML说明是对XML文档处理的环境和要求的说明 它必须在文档的第一行 例如 元素 Element 是XML文档的主要组成部分 XML文档必须有且只有一个根元素 XML文档的第一个元素就是根元素 元素有标记名 起始标记的形式是 终止形式是 如 DataBase UESTC电子科技大学 计算机科学 数据库 XML数据交换技术 4 10 4网络数据库开发技术 属性 Attribute 通常用来描述元素的有关信息 属性名和属性值在元素的起始标记中给出 格式为 如 属性值必须出现在单引号或双引号中 一个元素可以有任意多个属性 每个属性需要取不同的属性名 处理指令 ProcessingInstructions 是为使用一段特殊代码而设计的标记 处理指令由两部分组成 处理指令名称和数据 其格式为 如 注释 XML可以有注释 Comments 注释以结束 DataBase UESTC电子科技大学 计算机科学 数据库 XML数据交换技术 5 10 4网络数据库开发技术 良构的XML文档文档的构造从语法上都是正确的 有且只有一个根元素 所有的起始标记都有与之对应的终止标记 或者使用空元素速记语法 所有标记都有正确的嵌套 每一个元素的所有属性都有不同的属性名实体 XML文档中对于重复使用的文档内容可以用实体 Entities 来定义 其格式为 如 当XML处理器遇到字符串 DW时就用字符串 数据仓库 代替该实体DW 即引用实体的格式为 实体名 DataBase UESTC电子科技大学 计算机科学 数据库 XML数据交换技术 6 10 4网络数据库开发技术 XX人民医院郝亦柯张珍120043267替硝唑葡萄糖针1 DataBase UESTC电子科技大学 计算机科学 数据库 XML数据交换技术 7 10 4网络数据库开发技术 瓶依诺沙星注射液2支 328 罗晓傅伟相 DataBase UESTC电子科技大学 计算机科学 数据库 XML数据交换技术 8 10 4网络数据库开发技术 070023515肾石通颗粒1盒 DataBase UESTC电子科技大学 计算机科学 数据库 XML数据交换技术 9 10 4网络数据库开发技术 XML数据模型 XML是自描述的 不规则的 可以用图模型来表示 DataBase UESTC电子科技大学 计算机科学 数据库 XML数据交换技术 10 10 4网络数据库开发技术 XMLDTD 在XML标准中提供了文档类型定义DTD DocumentTypeDescriptors 用来描述XML文档的结构 DTD定义了在XML文档中出现的元素 属性 元素出现的次序和次数 元素的嵌套模式以及XML文档结构的其他信息 DTD定义元素的格式为 例 该例定义了元素Paddr包括的state city street postcode等元素 问号 表示这一元素是可选的 可出现一次或不出现 DataBase UESTC电子科技大学 计算机科学 数据库 XML数据交换技术 11 10 4网络数据库开发技术 DTD中定义属性的格式为 例10 26 定义元素birth的属性year为字符串类型 IMPLIED属性year可以缺省 DataBase UESTC电子科技大学 计算机科学 数据库 XML数据交换技术 12 10 4网络数据库开发技术 例 XMLDTD综合示例 DataBase UESTC电子科技大学 计算机科学 数据库 XML数据交换技术 13 10 4网络数据库开发技术 DTD虽然简单 但其存在一些不足之处 设计DTD时没有考虑命名空间 DTD认为xmlns是没有任何特殊意义的一个属性 扩展DTD使之包含命名空间并不困难 但是存在向下兼容的问题 DTD使用和XML文档之间有很大的语法差别 DTD只有非常有限的基本类型指令 实质上只有字符串DTD为数据完整性约束表达方式很有限 DTD没有主码 制定完整性的机制很弱 唯一可以引用其他内容的方法是使用IDREF和IDREFS属性 DataBase UESTC电子科技大学 计算机科学 数据库 10 1存储过程10 2触发器10 3嵌入式SQL10 4网络数据库开发技术小结 第10章 内容目录 DataBase UESTC电子科技大学 计算机科学 数据库 本章介绍了与数据库开发相关的技术 如存储过程 触发器 嵌入式SQL 数据访问接口 脚本描述语言和XML 存储过程是一组已被编辑在一起的 存储在服务器上的 执行某种功能的预编译SQL语句 它是一种封装重复任务操作的方法 支持用户提供的参数变量 具有强大的编程能力 触发器是一种特殊的存储过程 它在插入 删除或修改特定表中的数据时触发执行 它比数据库本身标准的功能有更精细和更复杂的数据控制能力 触发器有时也称为 主动规则 或 事件 条件 动作规则 嵌入式SQL是将SQL嵌入到高级语言中混合编程 SQL语句负责操纵数据库 高级语言语句负责控制流程 ODBC是微软公司开放服务结构中有关数据库的一个组成部分 它建立了一组规范 并提供了一组对数据库访问的标准API 这些API利用SQL来完成其大部分任务 JDBC是一种用于执行SQL语句的JavaAPI 可以为多种关系数据库提供统一访问 它由一组用Java语言编写的类和接口组成 XML简化了网络中数据交换和表示 使得代码 数据和表示可以分离 可以作为数据交换的标准格式 通过XML 用户可以定义自己的标记来描述文档的结构 目前各大数据库厂商都在产品中扩展了对XML的支持 小结
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


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