Oracle 12c SQL和PL/SQL编程指南
温馨提示:5折以下图书主要为出版社尾货,大部分为全新(有塑封/无塑封),个别图书品相8-9成新、切口有划线标记、光盘等附件不全详细品相说明>>
- ISBN:9787302566328
- 装帧:一般胶版纸
- 册数:暂无
- 重量:暂无
- 开本:其他
- 页数:320
- 出版时间:2020-11-01
- 条形码:9787302566328 ; 978-7-302-56632-8
本书特色
随着Oracle公司提供了基于Windows平台的Oracle版本以后,Oracle数据库在国内外拥有更为广泛的应用市场。近些年来,随着国内中小企业对数据库可靠性、安全性要求的提高,基于Windows平台的Oracle数据库服务器获得了广泛青睐。《Oracle 12c SQL和PL/SQL编程指南》在编写时,既考虑了Oracle数据库管理和开发的初学者,也兼顾到了有一定基础的管理和开发人员。同时,对那些想学习SQL语句或利用PL/SQL提高Oracle数据库管理和开发能力的人士,也可以起到一定的借鉴作用。
内容简介
SQL(Structured Query Language)是关系数据库的基本操作语言,它主要包括数据查询(Query statements)、数据操纵(Data Manipulation Language statements)、数据定义(Data Definition Language statements)等功能,是应用程序与数据库进行交互操作的接口。PL/SQL(Procedural Language/SQL)是Oracle特有的编程语言,它可以像其他不错编程语言一样,编写出各种完成数据库操作功能的程序。由于PL/SQL由Oracle系统本身编译执行,所以程序的运行效率更高。 《Oracle 12c SQL和PL/SQL编程指南》为Oracle数据库应用开发人员提供了SQL使用指南和PL/SQL编程技术。通过学习本书,读者不仅可以掌握SQL和PL/SQL的基础知识,而且可以掌握Oracle 12c SQL和PL/SQL的许多不错特征。 《Oracle 12c SQL和PL/SQL编程指南》既可作为高等院校计算机相关专业的辅助教材,也可作为各类不错数据库编程人员的参考书。本书的编写既考虑了SQL和PL/SQL的初学者,同时也兼顾了有经验的PL/SQL编程人员,本书还可以作为Oracle 12c培训班的教材。
目录
**部分 Oracle 12c概述
第1章 Oracle简介 3
1.1 数据库的产生与发展 4
1.1.1 数据管理技术的产生与发展 4
1.1.2 数据库技术的发展 6
1.1.3 关系数据库产品简介 8
1.2 Oracle的产生与发展 13
1.3 Oracle 12c简介 17
1.3.1 Oracle数据库系统的特点 17
1.3.2 Oracle版本号的含义 18
1.3.3 Oracle 12c的新特性 18
第2章 数据库的建立 21
2.1 数据库逻辑设计 22
2.1.1 关系数据库设计基础 22
2.1.2 关系数据库规范化 24
2.2 数据库物理设计 26
2.3 数据库实施 28
2.4 创建数据库 29
2.4.1 数据库创建前的准备 29
2.4.2 安装数据库服务器并创建数据库 30
第3章 SQL与PL/SQL概述 35
3.1 SQL与PL/SQL简介 36
3.1.1 SQL简介 36
3.1.2 PL/SQL简介 38
3.2 SQL*Plus 简介 40
3.3 范例数据库表的建立 42
3.3.1 Oracle 12c基本数据类型 43
3.3.2 定义表的结构 44
3.3.3 查看表的结构 47
3.3.4 修改表的结构 49
3.3.5 删除表 49
3.3.6 添加数据 50
3.3.7 查看数据 52
3.3.8 删除数据 54
第二部分 SQL操作
第4章 单表查询 59
4.1 简单查询 60
4.1.1 查询指定列 60
4.1.2 改变输出 63
4.1.3 空值处理 67
4.2 条件查询 69
4.2.1 单一条件查询 70
4.2.2 复合条件查询 73
4.3 记录排序 77
4.3.1 按单一列排序 78
4.3.2 按多列排序 80
4.4 分组查询 81
4.4.1 列函数及其应用 81
4.4.2 GROUP BY子句 83
4.4.3 HAVING子句 85
第5章 子查询与集合操作 87
5.1 子查询 88
5.1.1 单行子查询 88
5.1.2 多行子查询 89
5.1.3 多列子查询 91
5.1.4 相关子查询 92
5.1.5 嵌套子查询 94
5.2 集合操作 94
5.2.1 集合操作符 95
5.2.2 集合操作的进一步讨论 101
第6章 连接查询 107
6.1 内连接查询 108
6.1.1 简单内连接 108
6.1.2 复杂内连接 110
6.2 外连接查询 111
6.2.1 左外连接 112
6.2.2 右外连接 113
6.2.3 全外连接 114
6.3 其他特殊连接 116
6.3.1 交叉连接 116
6.3.2 自连接 118
第7章 数据操纵语言与事务处理 121
7.1 数据操纵语言 122
7.1.1 插入数据(INSERT) 122
7.1.2 更新数据(UPDATE) 123
7.1.3 删除数据(DELETE、TRUNCATE TABLE) 125
7.1.4 数据库完整性 126
7.1.5 含有子查询的DML语句 128
7.2 数据事务处理 130
7.2.1 显式处理事务 130
7.2.2 隐式处理事务 132
7.2.3 特殊事务 133
第8章 SQL函数 135
8.1 数字函数 136
8.1.1 数字函数概述 136
8.1.2 数字函数示例 136
8.2 字符函数 142
8.2.1 字符函数概述 142
8.2.2 字符函数示例 143
8.3 日期时间函数 146
8.3.1 日期时间函数概述 147
8.3.2 日期时间函数示例 147
8.4 转换函数 150
8.4.1 转换函数概述 150
8.4.2 转换函数示例 151
第9章 数据控制语言与数据定义语言 155
9.1 数据控制语言 156
9.1.1 数据库权限 156
9.1.2 权限控制 159
9.2 表 164
9.2.1 建立表 164
9.2.2 获得表的相关信息 168
9.2.3 修改表定义 169
9.2.4 修改表名 175
9.2.5 删除表 176
9.3 索引 176
9.3.1 建立索引 176
9.3.2 获得索引信息 177
9.3.3 修改索引名字 178
9.3.4 删除索引 178
9.4 视图 178
9.4.1 建立视图 179
9.4.2 使用视图 180
9.4.3 获得视图定义信息 183
9.4.4 修改视图 184
9.4.5 删除视图 184
第三部分 PL/SQL编程指南
第10章 PL/SQL编程基础 187
10.1 PL/SQL语言基础 188
10.1.1 PL/SQL块简介 188
10.1.2 PL/SQL基本语法要素 190
10.1.3 变量及其数据类型 193
10.2 在PL/SQL中执行SQL语句 197
10.2.1 执行SELECT语句 197
10.2.2 执行DML语句 199
10.2.3 执行事务处理语句 204
10.3 PL/SQL程序控制结构 205
10.3.1 顺序结构 205
10.3.2 分支结构 206
10.3.3 循环结构 211
10.3.4 GOTO语句与NULL语句 214
10.4 异常处理 216
10.4.1 异常的基本概念 216
10.4.2 系统异常处理 219
10.4.3 自定义异常处理 222
10.4.4 使用异常函数 224
10.5 游标 225
10.5.1 游标应用基础 225
10.5.2 游标应用 227
10.5.3 游标FOR循环 230
10.5.4 游标的复杂应用 232
第11章 复合数据类型 239
11.1 记录类型 240
11.1.1 定义记录 240
11.1.2 在SELECT语句中使用记录 241
11.1.3 在DML中使用记录 244
11.2 记录表类型 248
11.2.1 定义记录表 248
11.2.2 使用记录表 249
11.3 联合数组类型 251
11.3.1 定义联合数组 251
11.3.2 使用联合数组 251
11.4 嵌套表类型 253
11.4.1 定义嵌套表 254
11.4.2 使用嵌套表 254
11.5 变长数组类型 257
11.5.1 定义变长数组 257
11.5.2 使用变长数组类型 258
11.6 集合操作 261
11.6.1 集合属性与方法 261
11.6.2 使用集合操作符 268
第12章 应用程序结构 275
12.1 子程序 276
12.1.1 过程 276
12.1.2 函数 286
12.2 包 293
12.2.1 定义包 294
12.2.2 包的管理 295
12.2.3 调用包 298
12.2.4 包中子程序的重载 299
12.3 触发器 301
12.3.1 概述 301
12.3.2 DML触发器 305
12.3.3 INSTEAD OF触发器 308
12.3.4 系统事件触发器 310
参考文献 312
节选
2.1 数据库逻辑设计 数据库逻辑设计包括导出Oracle可以处理的数据库的逻辑结构,即数据库的模式和外模式,这些模式在功能、性能、完整性、一致性、约束及数据库可扩充性等方面都要满足用户的要求。数据库逻辑设计直接关系到后续应用系统的开发和数据库的性能,良好的数据库逻辑设计将为数据库应用提供*佳支持。 本节主要介绍如何规划数据库的逻辑设计。在讲述设计数据库逻辑结构之前,首先介绍关系数据库设计的基本理论。 2.1.1 关系数据库设计基础 现实世界的主要对象是实体,它是客观存在并可相互区别的事物。这个“事物”可以指实际的东西,如一个人、一本书、一个零件,也可指抽象的事物,如一次订货,一次借书等,还可以指“事物”与“事物”之间的联系。 1.实体与关系表 实体是用来描述现实世界中事物及其联系的。把组合在一起的同类事物称为实体集,即性质相同的同类实体的集合,如所有的“课程”、所有的“男学生”,所有的“可征订的杂志”、所有的“杂志”等。这里“同类”是指同一实体集合中每一个实体具有相同的特征要求。如当需要处理“可征订的杂志”时,就将“可征订的杂志”与一般杂志建立为两个实体集合。 用来表示实体某一方面的特性叫属性。例如一个人的姓名、性别、年龄、职务、专长等表示了人的5个方面的特性。特性是对同类的限定,人们可以根据需要选择其中的某些特性,甚至赋予新的特性,如职工编号。如果把人作为人事管理的对象,可用职工编号、姓名、性别、年龄、职务等特性描述。如果把人作为财务管理的对象,可用职工编号、姓名、基本工资、工龄工资等特性来描述。 实体是通过它的属性来体现的,因此实体是相关属性的组合。例如,职工编号/10104、姓名/孔世杰、基本工资/2700、工龄工资/800、洗理/50、水电/50、房租/100、实发工资/3700等属性的组合,表示“孔世杰的工资清单”这样一个实体。 实体是千差万别的,即使是同类实体也各不相同,因而不可能有两个实体在所有的属性上都是相同的。实体集合有一个或一组特殊的属性,能够唯一地标识实体集合中的每一个实体,能将一个实体与其他实体区别开来的属性集叫实体标识符。例如在“工资清单”这个实体中,职工编号可作为实体标识符。 在关系数据库Oracle中,把实体集表示为表,实体表示为表中的行,属性表示为表中的列,实体标识符表示为关键字或主码。 例如,在一个数据库的“学生”表中记录了实体“学生(students)”所具有的属性或特性,如学生学号、姓名、性别、出生日期、专业等,这些属性表示为student_id、name、sex、Date of birth (dob)和specialty列。 实体“学生(students)”的具体值由一个学生所有列的值组成,每个学生有一个唯一的学生学号(student_id),该号码可用来区别实体“学生(students)”中的每一名学生。表中的每一行表示一个“学生”实体或关系的一个具体值。例如,表2.1中学生学号(student_id)为10301的行表示学生高山的信息。 表2.1 学生(students)实体及其属性的具体值 在同一个数据库中,还有“课程(courses)”表,其中记录了实体“课程(courses)”所具有的属性或特性,如课程编号、课程名称、学分等,这些属性表示为course_id、course_name、credit_hour列。 实体“课程(courses)”的具体值由一门课程所有列中的值组成,每门课程有一个唯一的课程编号(course_id),该号码可用来区别实体“课程(courses)”中的每一门课程。表中的每一行表示一个“课程”实体或关系的一个具体值。例如,表2.2中课程编号(course_id)为10102的行表示课程“C++语言程序设计”的信息。 表2.2 课程(courses)实体及其属性的具体值 2.实体间的联系 一个数据库一般是几个、几十个,甚至上百个实体的集合,集合之间不是孤立的,是有联系的。比如“教学(jiaoxue)”数据库,其中可能有反映学生信息的实体集合“学生(students)”,反映课程信息的实体集合“课程(courses)”,反映教师信息的实体集合“教师(teachers)”等。一名学生一般要学习多门课程,一名教师讲授一门或多门课程,这些就反映了学生、教师、课程之间的联系。两个集合之间的联系,即两个属性或两个实体集合之间的联系。设两个实体集EA和EB之间具有某种联系,从数据库理论的角度看,它们的联系方式分为一对一联系、一对多联系(多对一联系)、多对多联系三种。 1) 一对一联系 如果实体集EA中的任何一个实体当且仅当对应于实体集EB中的一个实体,则称EA对EB是一对一联系,以1∶1表示。如专业系部与系主任的关系,一个系部只能有一位系主任;反之,一位系主任只能负责一个系部。 2) 一对多联系(多对一联系) 如果实体集EA中至少有一个实体对应于实体集EB中一个以上实体,反之,实体集EB中任一实体至多对应于实体集EA中的一个实体,则称实体集EA对实体集EB是一对多联系,以1∶N表示(或称实体集EB对实体集EA是多对一联系,以N∶1表示)。例如,班级与学生之间的关系,一个班级可以有多名学生,一名学生只能属于一个班级。 3) 多对多联系 如果实体集EA中至少有一个实体对应于实体集EB中一个以上实体;反之,实体集EB中也至少有一个实体对应于实体集EA中一个以上实体,则称EA与EB是多对多联系,以N∶M表示。例如,学生与课程之间的联系,一名学生可以学习多门课程,多名学生可以学习一门课程。
作者简介
郑铮,唐山师范学院,副教授。长期从事计算机、信息管理等相关专业的教学和科研工作。近年来,主要承担了数据库原理、分布式数据库、计算机网络原理、计算机通信网、微机原理、信息系统开发、数字电路、计算机科学导论、计算机文化基础、Java程序设计、PowerBuilder程序设计、人工智能、计算机专业英语、多媒体设计与制作等多门本科生的教学任务。目前,主持唐山市科技局科技攻关项目一项,作为主要参与者参加教育部、河北省教育厅、唐山市科技局项目3项。发表EI检索论文20余篇,参与编写教材4部。
-
有限与无限的游戏:一个哲学家眼中的竞技世界
¥37.4¥68.0 -
全图解零基础word excel ppt 应用教程
¥12.0¥48.0 -
机器学习
¥59.4¥108.0 -
深度学习的数学
¥43.5¥69.0 -
智能硬件项目教程:基于ARDUINO(第2版)
¥37.7¥65.0 -
硅谷之火-人与计算机的未来
¥14.3¥39.8 -
元启发式算法与背包问题研究
¥38.2¥49.0 -
AI虚拟数字人:商业模式+形象创建+视频直播+案例应用
¥62.9¥89.8 -
UNIX环境高级编程(第3版)
¥164.9¥229.0 -
剪映AI
¥52.8¥88.0 -
深度学习高手笔记 卷2:经典应用
¥90.9¥129.8 -
纹样之美:中国传统经典纹样速查手册
¥77.4¥109.0 -
UG NX 12.0数控编程
¥24.8¥45.0 -
MATLAB计算机视觉与深度学习实战(第2版)
¥90.9¥128.0 -
界面交互设计理论研究
¥30.8¥56.0 -
UN NX 12.0多轴数控编程案例教程
¥25.8¥38.0 -
微机组装与系统维护技术教程(第二版)
¥37.8¥43.0 -
明解C语言:实践篇
¥62.9¥89.8 -
Linux服务器架设实战(Linux典藏大系)
¥84.5¥119.0 -
PREMIERE PRO 2023全面精通:视频剪辑+颜色调整+转场特效+字幕制作+案例实战
¥69.3¥99.0