PL/SQL程序设计 过程, 函数 Trigger 对象关系数据库技术.

Slides:



Advertisements
Similar presentations
第二章 简单的 SQL 语句. 本章要点  创建一个简单的表  SQL 语句介绍  最简单的查询语句 select  带有限制条件的查询  查询结果的排序显示.
Advertisements

作業一 : USING DBMS ( 使用 DB2 及 SQL 基本練習 ) 報告人:學生楊群期 學號: 課程 : 高等資料庫 講師 : 楊維邦教授.
天水圍的體育設施.
城市绿化美化 第一模块 城市的园林美 制作人:许启德 湖南湘潭生物机电学校 1.
考点作文十大夺魁技法 第28课时 写作(二) 考点作文十大夺魁技法 6-10 ·新课标.
SQL的简单查询.
舊石器時代 位置: 亞洲大陸東緣,西太平洋弧狀列島一部份 背景 形成: 兩千多萬年前逐漸隆起,形成島嶼 生物: 大角鹿、猛瑪象、亞洲大陸原始人 臺東 長濱文化 苗栗 網形文化 臺南 左鎮人目前臺灣發現最早人類化石 代表 文化 1.住在海邊洞穴-短期定居小型隊群 2.以採集、狩獵為生 3.使用礫石砍伐器、片器、尖器.
10-1 資料庫管理系統簡介 10-2 關聯式資料模式和查詢語言 10-3 Access 簡介 10-4 XML 簡介
第14章 預存程序 14-1 預存程序的基礎 14-2 建立與執行預存程序 14-3 預存程序的參數傳遞 14-4 預存程序的傳回值
資料庫 (Database) SQL Server 2008實作
数据库概述 简而言之,数据库(DataBase)就是一个存储数据的仓库。为了方便数据的存储和管理,它将数据按照特定的规律存储在磁盘上。通过数据库管理系统,可以有效的组织和管理存储在数据库中的数据。如今,已经存在了Oracle、SQL Server、MySQL等诸多优秀的数据库。在这一章中将讲解的内容包括。
第 八 章 資料庫安全 本投影片(下稱教用資源)僅授權給採用教用資源相關之旗標書籍為教科書之授課老師(下稱老師)專用,老師為教學使用之目的,得摘錄、編輯、重製教用資源(但使用量不得超過各該教用資源內容之80%)以製作為輔助教學之教學投影片,並於授課時搭配旗標書籍公開播放,但不得為網際網路公開傳輸之遠距教學、網路教學等之使用;除此之外,老師不得再授權予任何第三人使用,並不得將依此授權所製作之教學投影片之相關著作物移作他用。
Chap 13 視界與資料庫程式設計.
第三章 管理信息系统的技术基础 主要内容: 数据处理 数据组织 数据库技术 4. 计算机网络.
第6章 数据展示和输出功能 创建和使用报表 报表(Report)是以打印格式展示数据的一种有效方式。在报表中,可以展示图形、文字标题、字段数据或汇总数据等形式的信息,并可以控制各种数据的大小和外观。 利用报表,还可以按照数据之间的逻辑关系和所需的方式来组织数据之间的排版布局,对数据进行多级汇总和统计,或以图形方式展示数据。
Oracle数据库 Oracle 子程序.
視覺藝術的媒材與技巧 蘇虹融 湯詩婷 指導老師:李建緯老師.
資料庫管理 資管二 賴柏融.
主机DB2数据库应用与编程 任课老师:王湖南 四川大学计算机(软件)学院.
前不久看到了这样一则报道:某个大学校园里,一个大学生出寝室要给室友留一张字条,告诉他钥匙放在哪里。可是“钥匙”两个字他不会写,就问了其他寝室的同学,问了好几个,谁也不会写,没办法,只好用“KEY”来代替了。 请大家就此事发表一下自己看法。
第11章 详细设计.
Introduction to database
JAVA 程式設計與資料結構 第十一章 JDBC.
關聯式資料庫.
Oracle数据库入门.
第十五章 常見的資料庫管理系統 目的 Oracle 微軟SQL Server 微軟Access MySQL Oracle 應用伺服器
数据库技术 第十章 数据库完整性 中国科学技术大学网络学院 阚卫华.
第四章:触发器   触发器类似于过程、函数,因为它们都是拥有说明部分、语句执行部分和异常处理部分的有名的PL/SQL块。与包类似,触发器必须存储在数据库中,并且不能被块进行本地化说明。但是,对于过程而言,可以从另一个块中通过过程调用显式地执行一个过程,同时在调用时可以传递参数。对于触发器而言,当触发事件发生时就会显式地执行该触发器,并且触发器不接受参数。
ORACLE 第五讲 PL/SQL编程基础.
实验二 交互式SQL 邓云.
二.資料庫系統建立與管理 Access 資料庫:windows下的單機資料庫 Access 操作 Mysql資料庫介紹.
Chap 10 SQL定義、操作與控制指令.
資料庫安全 (Database Security)
Oracle8i新特性.
班級:博、碩子一甲 授課老師:鐘國家 助教:陳國政
SQL Server 2000 数据库入门.
題庫解析:MTA資料庫檢定 授課老師:李春雄 博士
第7章 ADO.NET操作SQL Server数据库
第3章 MySQL教學範本 主從式資料庫系統 - CH3.
第三章:包   包(package)是一个可以将相关对象存储在一起的PL/SQL结构。包包含了两个分离的部件------包说明(specification)和包主体(body)。每个部件都单独被存储在数据字典中。包只能存储在数据库中,不能是本地的。除了可以将相关对象作为一组存在一起以外,包也是十分有用的,因为它们在依赖性方面的限制是比较小的。也有许多性能上的优点。
第九章 進階的查詢技巧.
第三章作业讲评 文洁 2012/4/10.
SQL SERVER 一些经典语句 1.
实验4:PL-SQL编程 1.实验目的 2.实验原理 PL/SQL是一种过程化语言,属于第三代语言,本实验在与熟悉使用PL/SQL编程.
第二章 規劃關連式資料庫.
Ch4.SQL Server 2005資料庫組成員元件介紹
iRepor报表设计基础 IReport安装 普通实体报表 数据结果集报表 工作流主从报表 饼状图报表 柱状图,曲线图报表 条形码报表
实验二讲评 … 张榆….
数据库应用技术 SQL Server 2005.
第 10 章 数据库编程.
第20章 MySQL数据库.
数据库技术与应用.
ORACLE 第九讲 触发器.
4.2 视图 (1) 视图是一个虚拟表,其内容来自对表查询的基础上。
CS, ZJU 4/18/2019 Chapter 7 数据库.
3.2 Mysql 命令行 1 查看数据库 SHOW DATABASES; 2 创建一个数据库test1 CREATE DATABASE test1; 3 选择你所创建的数据库 USE test1; (按回车键出现Database changed 时说明操作成功!) 4 查看现在的数据库中存在什么表.
第 15 章 自訂函數與順序物件.
本讲内容 SQL 概述 SQL 的查询功能 SQL 的操作功能 SQL 的定义功能.
交際障礙分組系統 交際障礙分組系統 班級:2439 組員: 組別:A01 林子婷 資訊三丁 D
第4章 表的创建与维护 4.1 数据类型 4.2 数据完整性约束 4.3 创建数据表 4.4 修改数据表 4.5 删除数据表.
Oracle Database 10g基础教程 清华大学出版社
資料庫管理 Database Managent Ex.1-2 課本範例練習
參數 實際參數(Actual parameter)與形式參數(Formal parameter)
第六章 类属B树索引技术 对基于树的索引方法给出一种通用算法。该算法是建立在类属B树的概念之上开发的。它将类型系统开放,使系统能支持用户自定义的数据类型、函数和某些特殊的查询谓词的集合。并且,将新的数据类型、函数、查询谓词等登记到数据库管理系统中,
計算機程式 Visual BASIC 程式設計
Principle and Technology of Database
Report Programming Selection Screens 報表之Output格式設定 Detail list
資料庫應用與實作 一到六章重點、習題.
Web安全基础教程
教師檔案系統資料如何填寫? 如何對應教師評鑑共同基準?.
Presentation transcript:

PL/SQL程序设计 过程, 函数 Trigger 对象关系数据库技术

对象关系数据库技术 支持复杂数据的存储,和处理 实现了对象属性和方法的封装

数据库对象的定义和使用例 定义对象类型 CREATE TYPE name_type AS OBJECT ( first_name VARCHAR2(4), last_name VARCHAR2(4) ) ; CREATE TYPE address_type AS OBJECT ( city VARCHAR2(10), street VARCHAR2(10), zip NUMBER(6) ) ; CREATE TABLE worker ( wid NUMBER(5) PRIMARY KEY, name name_type , address address_type ) ; 作为关系表的列数据类型使用

对象数据类型数据的插入 使用对象类型的构造方法插入包括对象类型(新数据类型)的一个值(对象)。 构造方法是系统为每一个对象类型自动创建的特殊方法,利用此方法为该类型创建对象。 构造方法的名称与对象类型(类)同名。

插入语句示笵: insert into worker values(1,name_type(‘王’,‘明明'), address_type('北京','白颐路5号',100084)); values(2,name_type(‘张’,‘大虎'), address_type('天津','康宁里20号',300072)); values(3,name_type('赵','力平'), address_type('上海','南京路23号',200092));

查询语句示范: select * from worker ; WID NAME(FIRST_NAME, LAST_NAME) ADDRESS(CITY, STREET, ZIP) ----- ------------------------------ ------------------------------ 1 NAME_TYPE(‘王’, ‘至远’) ADDRESS_TYPE('北京', '白颐路5号', 100084) 2 NAME_TYPE(‘张’, ‘大年’) ADDRESS_TYPE(‘天津’, ‘康宁里20号’, 300072) 3 NAME_TYPE(‘赵’, ‘力平’) ADDRESS_TYPE(‘上海’, ‘南京路23号’, 200092) select wid,name from worker; WID NAME(FIRST_NAME, LAST_NAME) --------- ------------------------------------------------- 1 NAME_TYPE(‘王’, ‘至远’) 2 NAME_TYPE(‘张’, ‘大年’) 3 NAME_TYPE(‘赵’, ‘力平’)

 建立对象类型(对象类型声明) 属性和方法的封装实例 create type 类型名 as object( 属性名1 类型说明,  建立对象类型(对象类型声明) create type 类型名 as object( 属性名1 类型说明, 属性名2 类型说明, … ... member function 函数名 (参数说明) return 返回类型, member procedure 过程名(参数说明), … ) ;

定义类成员方法  创建类成员方法 create type body 类型名( member function 函数方法名 (参数说明) return 返回类型 is 说明部分 begin 执行部分 end ; member procedure 过程方法名(参数说明) );

建立对象表封装属性和方法实例

定义对象数据类型 CREATE or replace TYPE employee_type AS OBJECT ( empno number(5), ename varchar2(10), hiredate date, MEMBER FUNCTION days_at_company RETURN number, PRAGMA RESTRICT_REFERENCES (days_at_company,wnds,wnps) ); /

可以使用PRAGMA选项通知PL/SQL编译器禁止其他方法对数据库表列和包中的变量读写, 当方法体中出现违反情况时, 编译出错。 格式: PRAGMA RESTRICT_REFERENCES ( function_name, WNDS [, WNPS] [, RNDS] [, RNPS] ); WNDS (write no database state) 不允许写数据库 RNDS(read no database state) 不允许读数据库 WNPS(write no package state) 不允许改程序包变量 RNPS(read no package state )不允许引用程序包变量

2.定义对象类型的成员方法 CREATE or replace TYPE BODY employee_type AS MEMBER FUNCTION days_at_company RETURN NUMBER IS BEGIN RETURN floor(sysdate - hiredate); END; /

CREATE TABLE employees OF employee_type ; 3. 建立对象表 CREATE TABLE employees OF employee_type ; 4. 插入数据 INSERT INTO employees VALUES(1,‘Jone’,‘10-10月-1989’); VALUES(2,‘smith’,‘10-10月-1997’); VALUES(3,'king','1-1月-2000');

5. 获取对象表数据 select * from employees; 输出结果: EMPNO ENAME HIREDATE ------ -------------------- ---------- 1 Jone 10-10月-89 2 smith 10-10月-97 3 king 01-1月 -00

通过别名存取对象方法 Select e.days_at_company() from employees e where e.empno=3; 输出结果: E.DAYS_AT_COMPANY() ------------------- 296

select e.empno,e.ename,e.hiredate,e.days_at_company() 通过别名存取对象的属性和方法 select e.empno,e.ename,e.hiredate,e.days_at_company() from employees e; --输出结果: EMPNO ENAME HIREDATE E.DAYS_AT_COMPANY() ------ -------------------- ---------- ------------------- 1 Jone 10-10月-89 4031 2 smith 10-10月-97 1109 3 king 01-1月 -00 296

对象关系技术小结 定义一个含方法的数据类型 命名成员体 创建table对象 插入数据时, 复杂数据类型要调用系统自动创建的类型构造方法,它与数据类型同名 检索数据 例: select * from emp_o; 注意用别名存取对象的属性和方法 select e.empno, e.ename.ename, ename.days_at_company() from emp_o e;