自动控制原理与设计_(第5版)


-
自动控制原理与设计_(第5版) 国外经典教材 带目录

-
2020-11-13
44.20MB
自动控制原理与设计_(第5版)
2012-10-20自动控制原理与设计_(第5版)国外非常经典
45.53MB
自动控制原理与设计(第5版)李中华译
2011-09-14自动控制原理与设计(第5版)李中华译 feedback control of dynamic systems Franklin, Gene F
50KB
自动控制原理与设计(斯坦福第5版)Matlab仿真
2015-04-15自动控制原理与设计(斯坦福第5版)教材 中的例子仿真
44.30MB
自动控制原理与设计 第5版
2018-05-31自动控制原理与设计的经典图灵电子与电气工程图书,版本为第五版
117.3MB
自动控制原理 第6版和第5版 其中第6版带书签 第5版附带习题答案.zip
2019-07-17自动控制(原理)是指在没有人直接参与的情况下,利用外加的设备或装置(称控制装置或控制器),使机器、设备或生产过程(统称被控对象)的某个工作状态或参数(即被控制量)自动地按照预定的..
36.9MB
自动控制原理 胡寿松
2014-10-11自动控制原理》(第5版)系《自动控制原理》第五版,比较全面地阐述了自动控制的基本理论与应用。全书共分十章,前八章着重介绍经典控制理论及应用,后两章介绍现代控制理论中的线性系统理论和最优控制理论。 《自动控制原理》(第5版)精选了第四版中的主要内容,加强了对基本理论及其工程应用的阐述。书中深入浅出地介绍了自动控制的基本概念,控制系统在时域和复域中的数学模型及其结构图和信号流图;比较全面地阐述了线性控制系统的时域分析法、根轨迹法、频域分析法以及校正和设计等方法;对线性离散系统的基础理论、数学模型、稳定性及稳态误差、动态性能分析以及数字校正等问题,进行了比较详细的讨论;在非线性控制系统分析方面,给出了相平面和描述函数两种常用的分析方法,对目前应用日益增多的非线性控制的逆系统方法也作了较为详细的介绍;最后两章根据高新技术发展的需要,系统地阐述了线性系统的状态空间分析与综合,以及动态系统的最优控制等方法。书末给出的三个附录,可供读者在学习中查询。
1.33MB
自控答案自动控制原理》(第5版)系《自动控制原理》第五版,比较全面地阐述了自动控制的基本理论与应用。
2010-07-12《自动控制原理》(第5版)系《自动控制原理》第五版,比较全面地阐述了自动控制的基本理论与应用。全书共分十章,前八章着重介绍经典控制理论及应用,后两章介绍现代控制理论中的线性系统理论和最优控制理论。 《自动控制原理》(第5版)精选了第四版中的主要内容,加强了对基本理论及其工程应用的阐述。书中深入浅出地介绍了自动控制的基本概念,控制系统在时域和复域中的数学模型及其结构图和信号流图;比较全面地阐述了线性控制系统的时域分析法、根轨迹法、频域分析法以及校正和设计等方法;对线性离散系统的基础理论、数学模型、稳定性及稳态误差、动态性能分析以及数字校正等问题,进行了比较详细的讨论;在非线性控制系统分析方面,给出了相平面和描述函数两种常用的分析方法,对目前应用日益增多的非线性控制的逆系统方法也作了较为详细的介绍;最后两章根据高新技术发展的需要,系统地阐述了线性系统的状态空间分析与综合,以及动态系统的最优控制等方法。书末给出的三个附录,可供读者在学习中查询。
33.40MB
自动控制原理 答案 胡寿松主编
2013-03-12《自动控制原理》(第5版)系《自动控制原理》第五版,比较全面地阐述了自动控制的基本理论与应用。全书共分十章,前八章着重介绍经典控制理论及应用,后两章介绍现代控制理论中的线性系统理论和最优控制理论。 《自动控制原理》(第5版)精选了第四版中的主要内容,加强了对基本理论及其工程应用的阐述。书中深入浅出地介绍了自动控制的基本概念,控制系统在时域和复域中的数学模型及其结构图和信号流图;比较全面地阐述了线性控制系统的时域分析法、根轨迹法、频域分析法以及校正和设计等方法;对线性离散系统的基础理论、数学模型、稳定性及稳态误差、动态性能分析以及数字校正等问题,进行了比较详细的讨论;在非线性控制系统分析方面,给出了相平面和描述函数两种常用的分析方法,对目前应用日益增多的非线性控制的逆系统方法也作了较为详细的介绍;最后两章根据高新技术发展的需要,系统地阐述了线性系统的状态空间分析与综合,以及动态系统的最优控制等方法。书末给出的三个附录,可供读者在学习中查询
13.77MB
【理论学习班】锁相环设计、仿真与应用(第5版)中文版 PART1
2010-05-17http://www.china-pub.com/204234#ml 锁相环设计、仿真与应用(第5版) 基本信息 * 作者: (美)Roland E.Best * 译者: 李永明[同译者作品] * 丛书名: 国外大学优秀教材--微电子类系列(翻译版) * 出版社:清华大学出版社 * ISBN:9787302128823 * 上架时间:2007-4-19 * 出版日期:2007 年4月 * 开本:16开 * 页码:353 * 版次:5-1 * 所属分类: 工业技术 > 机械/仪表 > 综合 教材 > 研究生/本科/专科教材 > 工学 > 电工电子 教材 > 教材汇编分册 > 高等理工 本版教材征订号:0044092778-8 * 适用专业: 计算机与电子信息 * 适用分级: 本科 快速导航 * 内容简介 * 目录 * 前言 * 评论交流 内容简介回到顶部↑ 第1章是简短的引言,介绍锁相环领域的情况。第2章安排涉及混合信号锁相环的理论,设计和混合信号PLL的应用。讨论了不同类型的鉴相器(线性的和数字的),具有电荷泵输出的鉴频鉴相器、环路滤波器(无源和有源)以及压控振荡器。给出了典型混合信号锁相环的应用,例如重定时和时钟恢复,控制马达速度等。 因为频率综合器是DPLL数字锁相环最重要的应用之一,所以单立第3章深入讨论数字锁相环频率综合器。因为相位抖动和寄生边带是频率综合器最烦人的现象,我们给出了不同的解决这些问题的方法,即抗齿隙式电路和高阶环路滤波器。此外,还分析了整数N和分数N两类综合器并说明后者可以非常快地捕获锁定,其特点是在跳频(扩频)应用中具有很大的好处;最新一代的移动电话中,扩频技术将越来越重要。接着说明了简单的频率综合器可以单环实现,而高性能系统中必须使用多环结构。 因为在许多综合器应用中必须采用高阶系统(滤波器),第4章讨论了这样系统的设计,例如高达五阶的锁相环。在高阶环路的设计中,安排极点和零点的位置会是一项困难的工作,利用作者开发的新方法,基于波特图,可以非常容易地进行高阶环路设计。同时,利用作者开发的程序(在随书附有的CDROM中)可以轻松实现系统。该程序可以自动设计和分析高达五阶的锁相环路。该主题在第5章讨论,其中还包括了许多设计例子。在综合一个锁相环电路时,这个程序可以用于模拟系统的动态性能,即锁定和失锁过程。为了研究锁相环在噪声情况下的性能(这在实际中是一般设定情况),用户可以添加任意水平的窄带或宽带噪声。最终,程序显示综合的锁相环波特图和环路滤波器电路图,包括元件值。 第6章阐述全数字锁相环ADPLL的理论、设计和应用,这类PLL引入时间比前面介绍的要晚一些。这几种锁相环中,LPLL与DPLL是连续时间系统,而ADPLL是离散时间器件,所以,会表现出相对较大的波纹(相位抖动)。因此,ADPLL的应用局限在可容忍波纹的情况下,如频移键控(FSK)解码器和类似设备。第7章描述了ADPLL计算机辅助设计和仿真,使用前面讲述过的计算机程序。 因为近年来微控制器和数字信号处理器的速度显著提高,现在许多PLL应用都可以用软件实现。第8章讨论了锁相环领域中软件和硬件折中的考虑,描述了一些可以实现软件PLL(SPLL)的软件算法。 第9章综述通信领域中PLL的应用。包括大多数重要的数字调制方案,例如BSK,QPSK,FSK以及QAM,并且描述了一些专用的PLL电路用于载波和符号同步(如,Costas环,早迟门,积分和复位转移电路),以及采取措施防止符号间干扰(intersymbol interference,ISI),例如平方根升余弦滤波器。本章的其他主题中也说明了在不增加系统带宽的情况下,如何增加数字通信的符号速率。 第10章列出了当前可以使用的PLL集成电路,它们来自美国、欧洲和日本的制造厂家,包括简短的电路说明。列表中包括单片上完整的PLL系统,锁相环的部分电路模块,如鉴相器和VCO压控振荡器,以及类似锁相环频率综合器的复杂系统或收音机、电视机芯片;还包括单、双模预分频器。 最后,第11章说明使用常规实验室仪器,如示波器、信号发生器等,以及如何测量锁相环的参数。 三个附录提供了所选主题的附加信息。附录A为捕获过程分析推导,以满足对数学方法感兴趣的读者。附录B是在这本书中经常使用的初等拉普拉斯变换。附录 C是对数字滤波器的综述,在高复杂度的PLL系统中它变得越来越重要。 目录回到顶部↑ 第1章 锁相环简介 1.1 锁相环工作原理 1.2 PLL的分类 第2章 混合信号锁相环 2.1 混合信号锁相环框图 2.2 相位信号注解 2.3 混合信号锁相环的组成模块 2.3.1 鉴相器 2.3.2 环路滤波器(一阶) 2.3.3 受控振荡器 2.3.4 分频器 2.4 锁定状态下的锁相环性能 2.4.1 锁定状态的数学模型 2.4.2 传输函数定义 2.4.3 锁定状态下锁相环的瞬态响应 2.4.4 锁相环稳态误差 2.5 锁相环系统的阶次 2.5.1 极点数 2.5.2 特殊情况:一阶锁相环 2.6 未锁定状态下的锁相环性能 . 2.6.1 未锁定状态的数学模型 2.6.2 锁相环的关键参数 2.7 带有电荷泵输出的鉴相器 2.8 在噪声情况下的PLL性能 2.8.1 PLL里的噪声源和噪声类型 2.8.2 噪声参数定义 2.8.3 噪声对PLL性能的影响 2.8.4 带有噪声的信号捕捉技术 2.9 混合信号PLL的设计流程 2.10 混合信号PLL的应用 2.10.1 重定时和时钟信号恢复 2.10.2 马达速度控制 第3章 锁相频率综合器 3.1 无线和射频应用领域中的频率综合器 3.2 锁相环频率综合器基础 3.2.1 整数N频率综合器 3.2.2 示例研究:设计整数N PLL频率综合器 3.2.3 分数N频率综合器 3.3 单环和多环频率综合器 3.4 频率综合器噪声 3.4.1 参考振荡器的相位抖动θn,ref 3.4.2 VCO的相位抖动θn,VCO 3.4.3 鉴相器产生的参考馈通 第4章 高阶环路 4.1 高阶环路的起因 4.2 高阶环路的稳定度分析 4.3 三阶PLL的设计 4.3.1 无源超前—滞后滤波器 4.3.2 有源超前—滞后滤波器 4.3.3 有源比例积分环路滤波器 4.4 四阶PLL的设计 4.4.1 有源超前—滞后环路滤波器 4.4.2 有源比例积分环路滤波器 4.5 五阶PLL的设计 4.5.1 有源超前—滞后环路滤波器 4.5.2 有源比例积分环路滤波器 4.6 高阶PLL的关键参数 4.7 带电荷泵输出的鉴相器的环路滤波器 4.7.1 二阶PLL中的环路滤波器 4.7.2 三阶PLL中的环路滤波器 …… 第5章 混合信号PLL的计算机辅助设计和仿真 第6章 全数字PLL(ADPLL) 第7章 ADPLL的计算机辅助设计和仿真 第8章 软件PLL(SPLL) 第9章 通信中的锁相环(PLL) 第10章 商用PLL集成电路技术现状 第11章 PLL参数的测量 附录A 捕捉过程(The Pull-in Process) 附录B 拉普拉斯变换 附录C 数字滤波器基础 参考文献 索引 ↑折 叠 前言回到顶部↑ 锁相环历来是线性电路。第一个锁相环是用分立元件实现的,大约在1965年锁相环成为可以使用的集成电路。这些集成锁相环中的第一个是线性器件 (LPLL),基于半导体技术,类似那个时代的运算放大器。几年后(大约1970年),有了第一个可以使用的数字锁相环(DPLL)。但我们观察它们的电路时,可以知道,仅仅鉴相器是逻辑电路,而其余部分(压控振荡器VCO,环路滤波器)仍然是模拟电路,因此这些锁相环是混合系统。在这本新版本的书中,我们把LPLL和DPLI。两个类型结合成一类,称之为“混合信号锁相环”。于是,现在两种可以使用统一的理论阐述,大大地简化了分析。. 第1章是简短的引言,介绍锁相环领域的情况。第2章安排涉及混合信号锁相环的理论,设计和混合信号PLL的应用。讨论了不同类型的鉴相器(线性的和数字的),具有电荷泵输出的鉴频鉴相器、环路滤波器(无源和有源)以及压控振荡器。给出了典型混合信号锁相环的应用,例如重定时和时钟恢复,控制马达速度等。 因为频率综合器是DPLI,数字锁相环最重要的应用之一,所以单立第3章深入讨论数字锁相环频率综合器。因为相位抖动和寄生边带是频率综合器最烦人的现象,我们给出了不同的解决这些问题的方法,即抗齿隙式电路和高阶环路滤波器。此外,还分析了整数N和分数N两类综合器并说明后者可以非常快地捕获锁定,其特点是在跳频(扩频)应用中具有很大的好处;最新一代的移动电话中,扩频技术将越来越重要。接着说明了简单的频率综合器可以单环实现,而高性能系统中必须使用多环结构。.. 因为在许多综合器应用中必须采用高阶系统(滤波器),第4章讨论了这样系统的设计,例如高达五阶的锁相环。在高阶环路的设计中,安排极点和零点的位置会是一项困难的工作,利用作者开发的新方法,基于波特图,可以非常容易地进行高阶环路设计。同时,利用作者开发的程序(在随书附有的CD—ROM中)可以轻松实现系统。该程序可以自动设计和分析高达五阶的锁相环路。该主题在第5章讨论,其中还包括了许多设计例子。在综合一个锁相环电路时,这个程序可以用于模拟系统的动态性能,即锁定和失锁过程。为了研究锁相环在噪声情况下的性能(这在实际中是一般设定情况),用户可以添加任意水平的窄带或宽带噪声。最终,程序显示综合的锁相环波特图和环路滤波器电路图,包括元件值。 第6章阐述全数字锁相环ADPLL的理论、设计和应用,这类PLL引入时间比前面介绍的要晚一些。这几种锁相环中,LPLL与DPLL是连续时间系统,而 ADPLL是离散时间器件,所以,会表现出相对较大的波纹(相位抖动)。因此,ADPLI。的应用局限在可容忍波纹的情况下,如频移键控(FSK)解码器和类似设备。第7章描述了ADPLL计算机辅助设计和仿真,使用前面讲述过的计算机程序。 因为近年来微控制器和数字信号处理器的速度显著提高,现在许多PLL应用都可以用软件实现。第8章讨论了锁相环领域中软件和硬件折中的考虑,描述了一些可以实现软件PLL(SPLL)的软件算法。 第9章综述通信领域中PLL的应用。包括大多数重要的数字调制方案,例如BSK,QPSK,FSK以及QAM,并且描述了一些专用的PLL电路用于载波和符号同步(如,Costas环,早—迟门,积分和复位转移电路),以及采取措施防止符号间干扰(intersymbol interfer—ence,ISI,例如平方根升余弦滤波器。本章的其他主题中也说明了在不增加系统带宽的情况下,如何增加数字通信的符号速率。 第10章列出了当前可以使用的PLL集成电路,它们来自美国、欧洲和日本的制造厂家,包括简短的电路说明。列表中包括单片上完整的PLL系统,锁相环的部分电路模块,如鉴相器和VCO压控振荡器,以及类似锁相环频率综合器的复杂系统或收音机、电视机芯片;还包括单、双模预分频器。 最后,第11章说明使用常规实验室仪器,如示波器、信号发生器等,以及如何测量锁相环的参数。 三个附录提供了所选主题的附加信息。附录A为捕获过程分析推导,以满足对数学方法感兴趣的读者。附录B是在这本书中经常使用的初等拉普拉斯变换。附录C是对数字滤波器的综述,在高复杂度的PLL系统中它变得越来越重要。 Roland Best...
47.16MB
Windows 程序设计(第5版)(上、下册)--详细书签版
2012-04-22该版本提供了下册详细目录可以快速查阅(当然已经提供详细书签) 基本信息 原书名: Programming Windows (Fifth Edition) 原出版社: Microsoft Press 作者: (美)Charles Petzold 译者: 北京博彦科技发展有限责任公司 丛书名: Microsoft 程序设计系列 出版社:北京大学出版社 ISBN:730104187X 上架时间:2004-11-16 出版日期:2004 年9月 页码:1376 版次:1-8 内容简介 如果对Windows开发有什么问题的话,请翻阅PetZold的著作吧。在《Window程序设计》(第5版)中,这位杰出的“Windows先锋奖”(Windows Pioneer Award)获得者根据最新的Windows操作系统权威技术修订了他的经典著作——再一次演示了基本的Win32程序设计的API核心内容。本书的内容包括: ** 基本内容——输入、输出和对话框 ** Unicode概述 ** 图形——绘图、文本和字体、位图和元文件 ** 内核和打印机 ** 声音和音乐 ** 动态链接库 ** 多任务和多线程 ** 多文档界面 ** Internet和 Intranet的程序设计 其中采用的大多是具有代表性的示例,这本Petzold著作为使用 Windows 95、Windows 98或 Windows NT的各级windows程序员提供了最基本的参考和指导。没有经验的开发人员也可以从中获取大量的新知识。 作译者 本书提供作译者介绍 Charles Petzold从 1984年开始编写个人计算机程序,从 1985年开始编写 Microsoft Windows程序。他在《Microsoft Systems Joumal》1986年 12月号上发表了第一篇关于 Windows程序设计的杂志论文。从 1986年到 1995年,他为《PC Magazine》撰写“Environments”专栏,给读者介绍了Windows和OS/2程序设计的许多方面。 《Windows 程序设计》由微软出版社在1988年首次出版,后来被认为是这方面最好的导论性读本。在1994年5月,Petzold作为仅有的七个人之一(并且是唯一的作家)被《WindowcMagazine》和Microsoft公司授予Windows Pioneer奖, 以表彰他对 Microsoft Windows的成功做出的贡献. 在1999年秋天,微软出版社将出版Charles Petzold面向普通读者的第一本书. 暂时命名为 《Code:The Hidden Language of Computer Hardware and Software》, 这本书专门介绍数字信息的本质以及计算机处理数字信息的方式. 作者: Charles Petzold 1994年5月,Petzold作为仅有的七个人之一(并且是唯一的作家)被《Window Magazine》和Microsoft公司授予Windows Pioneer奖,以表彰他对 Microsoft Windows的成功做出的贡献。 Charles Petzold从1984年开始编写个人计算机程序,从1985年开始编写 Microsoft Windows程序。他在《Microsoft Systems Joumal》1986年 12月号上发表了第一篇关于Windows程序设计的杂志论文。从1986年到1995年,他为《PC Magazine》撰写“Environments”专栏,给读者介绍了Windows和OS/2程序设计的许多方面。 [同作者作品] Microsoft c#Windows程序设计(上下册) Microsoft Windows程序设计——Visual Basic.NET语言描述 Windows 3D编程(英文影印版) 目录 第一部分 基础知识 第一章 开始 l.1 windows环境 1.1.1 windows 简史 1.1.2 windows方面 1.1.3 动态链接 1.2 windows编程选项 1.2. 1 api和内存模式 1.2.2 语言选项 l.2. 3 编程环境 1.2.4 api文档 1.3 编写一个windows程序 1.3.1 字符模式(character-mode)模型 1.3.2 windows 等价程序 1.3.3 头文件 1.3.4 程序入口点 1.3.5 messagebox 函数 1.3.6 编译、链接和运行 第二章 unicode简介
42.70MB
Windows 程序设计(第5版)(上、下册)--源代码
2012-04-22此处提供的是Windows 程序设计(第5版)(上、下册)随书光盘 该版本提供了下册详细目录可以快速查阅(当然已经提供详细书签) 基本信息 原书名: Programming Windows (Fifth Edition) 原出版社: Microsoft Press 作者: (美)Charles Petzold 译者: 北京博彦科技发展有限责任公司 丛书名: Microsoft 程序设计系列 出版社:北京大学出版社 ISBN:730104187X 上架时间:2004-11-16 出版日期:2004 年9月 页码:1376 版次:1-8 内容简介 如果对Windows开发有什么问题
24.27MB
Windows 程序设计(第5版)
2012-10-11《Windows程序设计(第5版 珍藏版)》是一本经典的Windows编程圣经,曾经伴随着近50万Windows程序员步入编程殿堂,成长为IT时代的技术精英。 作为Windows开发人员的必备参考,涵盖基础知识和中高级主题,全面地介绍了Windows程序设计所涉及的细枝末节,旨在帮助读者从高屋见瓴的角度,建立完整的知识体系,为以后的职业生涯奠定良好的基础。全书共3部分23章。第1~12章着重介绍基础知识,第13~18章的主题为图形,第19~23章涉及更多高级主题。 《Windows程序设计(第5版 珍藏版)》适合任何层次的Windows程序员阅读和参考,是帮助他们梳理和建立Windows知识体系的理想读物。 目录 第一部分 基础知识 第一章 开始 l.1 windows环境 1.1.1 windows 简史 1.1.2 windows方面 1.1.3 动态链接 1.2 windows编程选项 1.2. 1 api和内存模式 1.2.2 语言选项 l.2. 3 编程环境 1.2.4 api文档 1.3 编写一个windows程序 1.3.1 字符模式(character-mode)模型 1.3.2 windows 等价程序 1.3.3 头文件 1.3.4 程序入口点 1.3.5 messagebox 函数 1.3.6 编译、链接和运行 第二章 unicode简介 2.1 字符集简史 . 2.1.1 美国标准 2.1.2 国际方面 2.1.3 扩展ascll 2.1.4 双字书字符集 2.1.5 unicode解决方案 2.2 宽字符和c 2.2.1 char数据类型 2. 2. 2 宽字符 2.2.3 宽字符库函数 2.2.4 维护单一源代码 2.3 宽字符和windows 2.3.1 windows 头文件类型 2.3.z windows 函数调用 2.3.3 windows的字符串函数 2.3.4 在 windows中使用 printf 2.3.5 格式化消息框 2.3.6 本书与国际化 第三章 窗口和消息 3.1 自己的窗口 3. 1.l 总体结构 3.1.2 hellowin程序 3. 1.3 总体考虑 3.1.4 注册商口类 3.1.5 创建窗口 3.1.6 显示窗口 3.1.7 消息循环 3.1.8 窗口过程 3.1.9 处理消息 3.1.10 播放声音文件 3.1.11 wm_paint消息 3.1.12 wm_destroy消息 3.2 windows编程的难点 3.2.l 别调用我,我会调用您 3.2.2 进队消息与不进队消息 3.2. 3 行动迅速 第四章 输出文本 4.l 绘制和刷新 4.1.1 wm_paint消息 4. 1.2 有效短形和无效矩形 4.2 gdi简介 4.2.l 设备描述表 4.2.2 获取设备描述表句柄:方法一 4.2.3 绘图信息结构 4.2.4 获取设备描述表句柄:方法二 4. 2. 5 textout:细节 4.2.6 系统字体 4.2.7 字符大小 4.2. 8 文本尺寸:细节 4.2.9 格式化文本 4. 2.10 综合使用 4.2.11 sysments1.c窗口过程 4.2.12 空间不够 4. 2.13 客户区的大小 4.3 滚动条 4.3.l 滚动条的范围和位置 4.3.2 滚动条消息 4.3.3 在sysmets中添加滚动功能 4.3.4 绘图程序的组 4.4 建立更好的滚动 4.4.l 滚动条信息函数 4.4.2 滚动范围 4.4.3 新sysmets 4.4. 4 不用鼠标怎么办 第五章 图形基础 5. 1 gdi的结构 5.1. 1 gdi原理 5.1.2 gdi函数调用 5.1.3 gdi日元 5. 1. 4 其他方面 5.2 设备描述表 5.2.l 获取设备描述表句柄 5.2.2 获取设备描述表信息 5.2.3 devcaps1程序 5.2.4 设备的大小 5.2.5 关于色彩 5.2.6 设备描述表属性 5.2.7 保存设备描述表 5.3 画点和线 5.3.l 写像素 5.3.2 直线 5.3.3 边界框函数 5. 3.4 贝塞尔样条 5.3.5 使用现有画笔(stock pens) 5.3.6 画笔的创建、选择和删除 5.3.7 填充空隙 5.3.8 绘图方式 5.4 绘制填充区域 5.4.1 polygon函数和多边形填充方式 5.4.2 用画刷填充内部 5.5 gdi映射方式 5.5.l 设备坐标和逻辑坐标 5.5.2 设备坐标系 5.5.3 机口和窗口 5.5.4 处理mm_text 5.5. 5 “度量”映射方式 5.5.6 “自作主张的”映射方式 5.5.7 whatsize 程序 5.6 短形、区域和剪裁 5.6.1 矩形函数 5.6.2 随机短形 5.6.3 创建和绘制区域 5. 6.4 短形与区域的剪裁 5.6.5 clover程序 第六章 键盘 6.1 键盘基础 6.1.1 忽略键盘 6.1.2 谁获得了焦点 6.1.3 队列和同步 6.1.4 击键和字符 6. 2 击键消息 6.2.1 系统击键与非系统击键 6.2.2 虚拟键码 6.2.3 iparam信息 6.2.4 换档状态 6.2.5 使用击健消息 6.2.6 为键盘增强sysmets 6.3 字符消息 6.3.1 四类字符消息 6.3.2 消息顺序 6.3.3 处理控制字符 6.3.4 死字符消息 6.4 键盘消息和字符集 6.4.1 keyviewi程序 6.4.2 外语键盘问题 6.4.3 字符集和字体 6.4.4 unicode怎么样? 6.4.5 truetype和大字体 6.5 插入符(不是光标) 6.5.l 插入符函数 6.5.2 typer 程序 第七章 鼠标 7.1 鼠标基础 7.1.1 一些简单的定义 7.2 客户区鼠标消息 7.2.l 简单的鼠标处理:一个例子 7.2.2 处理sha键 7.2.3 双击鼠标键 7.3 非客户区鼠标消息 7.3.1 命中测试消息 7.3.2 从消息产生消息 7.4 程序中的命中测试 7. 4. 1 一个假想的例子 7.4.2 示例程序 7.4.3 使用键盘仿真鼠标 7.4. 4 在checker中添加键盘接口 7.4. 5 将于窗口用于命中测试 7.4.6 checker中的子窗口 7.4.7 子窗口和键盘 7.5 捕获鼠标 7.5.1 设计矩形 7.5.2 捕获的解决方案 7.5.3 blokout2程序 7.6 鼠标轮 7.6.1 后会有期 第八章 计时器 8.1 计时器基础 8.1.1 系统和计时器 8.1.2 计时器消息不是异步的 8.2 计时器的使用:三种方法 8.2.1 方法一 8.2.2 方法二 8.2.3 方法三 8.3 计时器用于时钟 8.3.1 构造数字时钟 8.3.2 获取当前时间 8.3.3 显示数字和冒号 8.3.4 国际化 8.3.5 构造模拟时钟 8.4 为状态报告使用计时器 第九章 子商口控制 9.1 按钮类 9.1.1 创建于窗口 9.1.2 子窗口向父窗口发送消息 9.1.3 父窗口向子窗口发送消息 9.1.4 下压按钮 9.1.5 复选框 9.1. 6 单选按钮 9.1.7 分组框 9.1.8 更改按钮文本 9.1.9 可见的和启用的按钮 9.1.10 按钮和输入焦点 9.2 控制与颜色 9.2.1 系统颜色 9.2.2 按钮颜色 9.2.3 wm_ctlcolorbtn消息 9.2.4 拥有者给制按钮 9.3 静态类 9.4 滚动条类 9. 4. 1 colors1程序 9. 4.2 自动键盘接口 9. 4. 3 窗口子类化 9.4.4 给背景着色 9.4.5 给滚动条和静态文本着色 9.5 编辑类 9.5.l 编辑类风格 9.5.2 编辑控制通知 9.5.3 使用编辑控制 9.5.4 发送给编辑控制的消息 9.6 列表框类 9.6.1 列表框风格 9.6.2 将串放人列表框 9.6.3 选择和获取项 9.6.4 接收来自列表框的消息 9.6.5 一个简单的列表框应用程序 9.6.6 文件列表 9.6.7 windows的head程序 第十章 菜单及其他资源 10.l 图标、光标、字符串和定制资源 10.1.1 将图标添加到程序 10.1.2 获取图标句柄 10.1.3 在程序中使用图标 10.1.4 使用自定义光标 10.1.5 字符串资源 10.1.6 定制资源 10.2 菜单 10.2.1 菜单概念 10.2.2 菜单结构 10.2.3 定义菜单 10.2.4 在程序中引用菜单 10.2. 5 菜单和消息 10.2.6 示例程序 10.2.7 菜单设计规范 10.2.8 定义菜单的复杂方法 10.2.9 浮动弹出式菜单 10.2.10 使用系统菜单 10. 2.11更改菜单 10.2.12 其他菜单命令 10.2.13 创建菜单的非正规方法 10.3 键盘加速键 10.3.1 为什么要使用加速键 10.3.2 安排加速键的几条规则 10.3.3 加速健表 10.3.4 加载加速键表 10.3.5 键盘代码转换 10.3.6 接收加速键消息 10.3.7 菜单与加速键应用程序poppad 10.3.8 启用菜单项 10.3.9 处理菜单项 第十一章 对话框 11.1 模态对话框 11.1.1 创建about对话框 11.1.2 对话框及其模板 11.1.3 对话框过程 11.1.4 激活对话框 11.1.5 不同的主题 11.l.6 更复杂的对话框 11.1.7 使用对话框控制 11.l.8 ok和cancel按钮 11.1.9 避免全局变量 11.1.10 tab停留位和组 11.1.11 在对话框上绘图 11.1.12 将其他函数用于对话框 11.1.13 定义自己的控制 11.2 非模态对话框 11.2.l 模态对话框与非模态对话框的区别 11.2.2 新的 colors程序 11.2.3 hexcalc:窗口还是对话框? 11.3 通用对话框 11.3.l 增强poppad 11.3.2 unicode 文件 i/o 11.3.3 更改字体 11.3.4 查找与替换 11.3.5 只调用一个函数的windows程序 第十二章 剪贴板 12.1 剪贴板的简单使用 12.1.1 标准剪贴板数据格式 12.1.2 内存分配 12.1.3 将文本传送到剪贴板 12.1.4 从剪贴板上获取文本 12.1.5 打开和关闭剪贴板 12.1.6 剪贴板和unicode 12.2 复杂的剪贴板用法 12.2.l 利用多个数据项 12.2.2 延迟生成 12.2.3 私有数据格式 12.3 实现剪贴极查看器 12.3.1 剪贴板查看器链 12.3.2 剪贴板查看器的函数和消息 12.3.3 一个简单的剪贴板查看器
59.34MB
Oracle PL SQL程序设计_第五版_上册
2013-03-08内容简介 《Oracle PL/SQL程序设计(第5版)(套装上下册)》基于Oracle数据库11g,从PL/SQL编程、PL/SQL程序结构、PL/SQL程序数据、PL/SQL中的SQL、PL/SQL应用构建、高级PL/SQL主题这6个方面详细系统地讨论了PL/SQL以及如何有效地使用它。《Oracle PL/SQL程序设计(第5版)(套装上下册)》能够帮助你充分利用PL/SQL来解决数据库开发中遇到的各种问题,引导你掌握各种构建应用的技巧和技术,以便使你编写出高效、可维护的代码。《Oracle PL/SQL程序设计(第5版)(套装上下册)》不但介绍了大量的Oracle 11g的PL/SQL新性能,还提供了许多优化PL/SQL性能的新方法。 《Oracle PL/SQL程序设计(第5版)(套装上下册)》结构清晰,示例丰富,实践性强,适用于Oracle数据库开发人员、Oracle数据库管理员等相关数据库从业人员,也可以作为各大、中专院校相关专业师生的参考用书和相关培训机构的培训教材。 目录 第1部分 PL/SQL编程 第1章 PL/SQL概述 1.1 什么是PL/SQL? 1.2 PL/SQL的起源 1.2.1 早期的PL/SQL 1.2.2 改进的应用程序移植能力 1.2.3 改进的执行授权和事务一致性 1.2.4 低调地起步,稳定地前进 1.3 这就是PL/SQL 1.3.1 与SQL整合 1.3.2 控制和条件逻辑 1.3.3 出现错误了 1.4 关于PL/SQL的版本 1.4.1 Oracle数据库11g的新特性 1.5 PL/SQL开发人员的资源 1.5.1 O'Reilly PL/SQL系列 1.5.2 网络上的PL/SQL 1.6 一些建议 1.6.1 不要太着急 1.6.2 不要怕寻求帮助 1.6.3 采用一种创建新的甚至激进的方法 第2章 创建并运行PL/SQL代码 2.1 在数据库中导航 2.2 创建和编辑源代码 2.3 SQL*Plus 2.3.1 启动SQL*Plus 2.3.2 运行一个SQL语句 2.3.3 运行PL/SQL程序 2.3.4 运行脚本 2.3.5 什么是“当前目录” 2.3.6 其他SQL*Plus任务 2.3.7 SQL*Plus中的错误处理 2.3.8 喜欢或者讨厌SQL*Plus的原因 2.4 执行必要的PL/SQL任务 2.4.1 创建存储过程 2.4.2 执行存储过程 2.4.3 显示存储过程 2.4.4 存储程序的授权和别名 2.4.5 删除存储程序 2.4.6 隐藏存储过程的源代码 2.5 编辑PL/SQL的环境 2.6 在其他语言中调用PL/SQL 2.6.1 C:使用Oracle的预编译器(Pro*C) 2.6.2 Java:使用JDBC 2.6.3 Perl:使用Perl DBI和DBD::Oracle 2.6.4 PHP:使用Oracle扩展 2.6.5 PL/SQL Server Pages 2.6.6 其他 第3章 语言基础 3.1 PL/SQL块结构 3.1.1 匿名块 3.1.2 命名块 3.1.3 嵌套块 3.1.4 作用范围 3.1.5 规范SQL语句中所有对变量和列的引用 3.1.6 可见性 3.2 PL/SQL字符集 3.3 标识符 3.3.1 保留字 3.3.2 空白和关键词 3.4 直接量 3.4.1 NULL 3.4.2 在一个直接量字符串中嵌入单引号 3.4.3 数字直接量 3.4.4 布尔直接量 3.5 分号分隔符 3.6 注释 3.6.1 单行注释语法 3.6.2 多行注释语法 3.7 PRAGMA关键字 3.8 标签 第2部分 PL/SQL程序结构 第4章 条件和顺序控制 4.1 IF语句 4.1.1 IF-THEN组合 4.1.2 IF-THEN-ELSE组合 4.1.3 IF-THEN-ELSIF组合 4.1.4 避免IF语法陷阱 4.1.5 嵌套的IF语句 4.1.6 短路求值 4.2 CASE语句和表达式 4.2.1 简单的CASE语句 4.2.2 搜索型CASE语句 4.2.3 嵌套的CASE语句 4.2.4 CASE表达式 4.3 GOTO语句 4.4 NULL语句 4.4.1 增加程序的可读性 4.4.2 在标签之后使用NULL 第5章 用循环进行迭代处理 5.1 循环的基础知识 5.1.1 不同循环的例子 5.1.2 PL/SQL循环结构 5.2 简单循环 5.2.1 终止简单循环:EXIT和EXIT WHEN 5.2.2 模仿一个REPEAT UNTIL循环 5.2.3 人为的无限循环 5.3 WHILE循环 5.4 数值型的FOR循环 5.4.1 使用数值型FOR循环的规则 5.4.2 数值型FOR循环的例子 5.4.3 处理非平滑增长 5.5 游标FOR循环 5.5.1 游标型FOR循环的例子 5.6 循环的标签 5.7 CONTINUE语句 5.8 迭代处理的技巧 5.8.1 循环索引使用容易理解的名称 5.8.2 好的退出方式 5.8.3 获得FOR循环执行信息 5.8.4 循环式的SQL语句 第6章 异常处理 6.1 异常处理概念和术语 6.2 定义异常 6.2.1 声明有名异常 6.2.2 异常名称和错误代码相互关联 6.2.3 被命名的系统异常 6.2.4 异常的作用范围 6.3 抛出异常 6.3.1 RAISE语句 6.3.2 使用RAISE_APPLICATION_ERROR 6.4 处理异常 6.4.1 内置的错误函数 6.4.2 在一个单独的句柄中包含多个异常 6.4.3 未处理的异常 6.4.4 传播未处理异常 6.4.5 异常后继续 6.4.6 WHEN OTHERS的处理代码 6.5 构建一个有效的错误管理架构 6.5.1 确定异常管理策略 6.5.2 组织好对应用专有错误代码的使用 6.5.3 使用标准化的错误管理程序 6.5.4 使用自己的异常对象 6.5.5 创建通用错误处理的标准模板 6.6 充分利用PL/SQL错误管理 第3部分 PL/SQL数据 第7章 使用数据 7.1 程序数据的命名 7.2 PL/SQL数据类型概述 7.2.1 字符数据 7.2.2 数字 7.2.3 日期、时间戳和时间间隔 7.2.4 布尔类型 7.2.5 二进制数据类型 7.2.6 ROWIDs 7.2.7 REF CURSORs 7.2.8 Internet数据类型 7.2.9 “Any”数据类型 7.2.10 用户定义数据类型 7.3 程序数据的声明 7.3.1 声明一个变量 7.3.2 声明常量 7.3.3 NOT NULL语句 7.3.4 锚定声明 7.3.5 游标和表的锚 7.3.6 使用锚定声明的好处 7.3.7 NOT NULL数据类型的锚 7.4 程序员定义的子类型 7.5 数据类型转换 7.5.1 隐式类型转换 7.5.2 显式类型转换 第8章 字符串 8.1 字符串类型 8.1.1 VARCHAR2数据类型 8.1.2 CHAR数据类型 8.1.3 String子类型 8.2 使用字符串 8.2.1 字符串常量 8.2.2 不可打印字符 8.2.3 拼接字符串 8.2.4 处理大小写 8.2.5 传统的检索、提取和替换 8.2.6 补齐 8.2.7 正则表达式的检索、提取和替换 8.2.8 使用空字符串 8.2.9 混用CHAR和VARCHAR2 8.3 字符串函数快速参考 第9章 数字 9.1 数值型数字类型 9.1.1 NUMBER类型 9.1.2 PLS_INTEGER类型 9.1.3 BINARY_INTEGER类型 9.1.4 SIMPLE_INTEGER类型 9.1.5 BINARY_FLOAT和BINARY_DOUBLE类型 9.1.6 SIMPLE_FLOAT和SIMPLE_DOUBLE类型 9.1.7 数字子类型 9.2 数字转换 9.2.1 TO_NUMBER函数 9.2.2 TO_CHAR函数 9.2.3 CAST函数 9.2.4 隐式转换 9.3 数字运算符 9.4 数字函数 9.4.1 四舍五入和截断函数 9.4.2 三角函数 9.4.3 数字函数的快速参考 第10章 日期和时间戳 10.1 Datatime数据类型 10.1.1 声明日期时间变量 10.1.2 选择日期时间数据类型 10.2 得到当前日期和时间 10.3 INTERVAL数据类型 10.3.1 声明INTERVAL变量 10.3.2 什么时候使用INTERVAL 10.4 日期时间转换 10.4.1 从字符串到日期时间 10.4.2 从日期时间到字符串 10.4.3 使用时区 10.4.4 精确匹配需要格式掩码 10.4.5 让精确匹配更容易 10.4.6 解释滑动窗口中两位数字的年份 10.4.7 把时区转换成字符串 10.4.8 用填充模式把输出补齐 10.5 日期和时间戳直接量 10.6 时间间隔的转换 10.6.1 从数字到时间间隔的转换 10.6.2 把字符串转换成间隔 10.6.3 时间间隔的格式化显示 10.7 时间间隔直接量 10.8 CAST和EXTRACT 10.8.1 CAST函数 10.8.2 EXTRACT函数 10.9 日期时间的算法 10.9.1 时间间隔和日期时间的算法 10.9.2 DATE数据类型的日期算法 10.9.3 计算两个日期时间之间的时间间隔 10.9.4 DATE和TIMESTAMP混合计算 10.9.5 时间间隔的加减运算 10.9.6 时间间隔的乘除运算 10.9.7 使用不受限制的时间间隔类型 10.10 日期/时间函数的快速参考 第11章 记录类型 11.1 PL/SQL中的记录 11.1.1 使用记录的好处 11.1.2 声明记录 11.1.3 程序员自定义的记录类型 11.1.4 使用记录类型 11.1.5 记录的比较 11.1.6 触发器伪记录 第12章 集合 12.1 集合概述 12.1.1 集合概念和术语 12.1.2 集合类型 12.1.3 集合示例 12.1.4 使用集合的场合 12.1.5 选择一个集合类型 12.2 集合方法(内置) 12.2.1 COUNT方法 12.2.2 DELETE方法 12.2.3 EXISTS方法 12.2.4 EXTEND方法 12.2.5 FIRST和LAST方法 12.2.6 LIMIT方法 12.2.7 PRIOR和NEXT方法 12.2.8 TRIM方法 12.3 使用集合 12.3.1 声明集合类型 12.3.2 集合变量的声明和初始化 12.3.3 用数据填充集合 12.3.4 访问集合内的数据 12.3.5 使用字符串索引的集合 12.3.6 复杂数据类型的集合 12.3.7 多级集合 12.3.8 在SQL中使用集合 12.4 嵌套表的多重集合操作 12.4.1 测试嵌套表是否相等及成员属性 12.4.2 检查元素是否是嵌套表的成员 12.4.3 执行高级集合操作 12.4.4 处理嵌套表中的重复数据 12.5 模式级别集合的维护 12.5.1 必需的权限 12.5.2 集合和数据字典 第13章 其他数据类型 13.1 BOLEAN类型 13.2 RAW数据类型 13.3 UROWID和ROWID数据类型 13.3.1 获得ROWID 13.3.2 使用ROWID 13.4 LOB数据类型 13.5 使用LOB 13.5.1 理解LOB定位符 13.5.2 LOB的空和NULL 13.5.3 向LOB中写入数据 13.5.4 读取LOB数据 13.5.5 BFILE不同于其他 13.5.6 SecureFiles和BasicFiles 13.5.7 临时LOB 13.5.8 原生的LOB操作 13.5.9 LOB转换函数 13.6 预定义的对象类型 13.6.1 XMLType类型 13.6.2 URI类型 13.6.3 Any类型 第4部分 PL/SQL中的SQL 第14章 DML和事务管理 14.1 PL/SQL中的DML 14.1.1 DML语句的快速入门 14.1.2 DML操作的游标属性 14.1.3 从DML语句返回信息 14.1.4 DML和异常处理 14.1.5 DML和记录 14.2 事务管理 14.2.1 COMMIT语句 14.2.2 ROLLBACK语句 14.2.3 SAVEPOINT语句 14.2.4 SET TRANSACTION命令 14.2.5 LOCK TABLE语句 14.3 自治事务 14.3.1 定义自治事务 14.3.2 自治事务的规则和限制 14.3.3 事务的可见性 14.3.4 什么时候使用自治事务 14.3.5 构建一个自治的日志机制 第15章 数据提取 15.1 游标基础 15.1.1 一些有关数据提取的术语 15.1.2 典型的查询操作 15.1.3 游标属性介绍 15.1.4 在游标中使用PL/SQL变量 15.1.5 在显式游标和隐式游标间做选择 15.2 使用隐式游标 15.2.1 隐式游标的例子 15.2.2 隐式游标的异常处理 15.2.3 隐式SQL的游标属性 15.3 使用显式游标 15.3.1 声明显式游标 15.3.2 打开显式游标 15.3.3 从显式游标中提取数据 15.3.4 显式游标中的列别名 15.3.5 关闭显式游标 15.3.6 显式游标的属性 15.3.7 游标参数 15.4 SELECT…FOR UPDATE 15.4.1 用COMMIT释放锁资源 15.4.2 WHERE CURRENT OF语句 15.5 游标变量和REF CURSOR 15.5.1 为什么用游标变量 15.5.2 和静态游标的相同点 15.5.3 声明REF CURSOR类型 15.5.4 声明游标变量 15.5.5 打开游标变量 15.5.6 从一个游标变量获取数据 15.5.7 游标变量的使用规则 15.5.8 游标变量作为参数传递 15.5.9 游标变量的约束限制 15.6 游标表达式 15.6.1 使用游标表示式 15.6.2 游标表达式的约束限制 第16章 动态SQL和动态PL/SQL 16.1 NDS语句 16.1.1 EXECUTE IMMEDIATE语句 16.1.2 OPEN FOR语句 16.1.3 4种动态SQL方法 16.2 绑定变量 16.2.1 参数模式 16.2.2 重复的占位符 16.2.3 NULL值的传递 16.3 使用对象和集合 16.4 动态PL/SQL 16.4.1 构建动态PL/SQL块 16.4.2 用动态块替换重复的代码 16.5 NDS的建议 16.5.1 对于共享的程序使用调用者权限 16.5.2 预估并处理动态的错误 16.5.3 使用绑定而不是拼接 16.5.4 把代码注入的风险最小化 16.6 什么时候使用DBMS_SQL 16.6.1 解析非常长的字符串 16.6.2 得到查询的列的信息 16.6.3 实现第4种方法的动态SQL的需求 16.6.4 把动态游标的解析最小化 16.7 Oracle数据库11g新特性 16.7.1 DBMS_SQL.TO_REFCURSOR函数 16.7.2 DBMS_SQL.TO_CURSOR函数 16.7.3 DBMS_SQL的安全性增强 目 录(下册) 第5部分 构造PL/SQL应用程序 第17章 过程、函数与参数 17.1 代码模块化 17.2 过程 17.2.1 调用一个过程 17.2.2 过程的头部 17.2.3 过程体 17.2.4 END标签 17.2.5 RETURN语句 17.3 函数 17.3.1 函数的结构 17.3.2 返回的数据类型 17.3.3 END标签 17.3.4 调用函数 17.3.5 不带参数的函数 17.3.6 函数的头部 17.3.7 函数体 17.3.8 RETURN语句 17.4 参数 17.4.1 定义参数 17.4.2 形参和实参 17.4.3 参数模式 17.4.4 在PL/SQL中明确地把形参和实参关联在一起 17.4.5 NOCOPY参数模式限定符 17.4.6 缺省值 17.5 局部或者嵌套模块 17.5.1 使用局部模块的好处 17.5.2 局部模块的作用范围 17.5.3 用局部模块让我们的代码更整洁 17.6 模块重载 17.6.1 使用重载的好处 17.6.2 重载的限制 17.6.3 关于数字类型的重载 17.7 前置声明 17.8 高级主题 17.8.1 在SQL中调用我们的函数 17.8.2 表函数 17.8.3 确定性函数 17.9 把模块化进行到底 第18章 包 18.1 为什么是包? 18.1.1 演示包的能力 18.1.2 有关包的一些概念 18.1.3 图示私有性 18.2 构建包的规则 18.2.1 包规范 18.2.2 包体 18.2.3 包的初始化 18.3 包成员的调用规则 18.4 使用包数据 18.4.1 在一个Oracle会话内全局可见 18.4.2 全局公有数据 18.4.3 包游标 18.4.4 包的串行化 18.5 何时使用包 18.5.1 封装对数据的访问 18.5.2 避免直接量的硬编码 18.5.3 改善内置特性的可用性 18.5.4 把逻辑上相关的功能组织在一起 18.5.5 缓存静态的会话数据 18.6 包和对象类型 第19章 触发器 19.1 DML触发器 19.1.1 DML触发器的概念 19.1.2 创建DML触发器 19.1.3 DML触发器的例子:不许作弊! 19.1.4 同一类型的多个触发器 19.1.5 何去何从 19.1.6 突变表的错误 19.1.7 复合触发器:聚集一堂 19.2 DDL触发器 19.2.1 创建DDL触发器 19.2.2 可用事件 19.2.3 可用属性 19.2.4 使用事件和属性 19.2.5 删除不可删除的 19.2.6 INSTEAD OF CREATE 触发器 19.3 数据库事件触发器 19.3.1 创建数据库事件触发器 19.3.2 STARTUP触发器 19.3.3 SHUTDOWN触发器 19.3.4 LOGON触发器 19.3.5 LOGOFF触发器 19.3.6 SERVERERROR触发器 19.4 INSTEAD OF触发器 19.4.1 创建INSTEAD OF触发器 19.4.2 INSTEAD OF INSERT触发器 19.4.3 INSTEAD OF UPDATE触发器 19.4.4 INSTEAD OF DELETE触发器 19.4.5 填充表 19.4.6 嵌套表的INSTEAD OF触发器 19.5 AFTER SUSPEND触发器 19.5.1 构建AFTER SUSPEND触发器 19.5.2 看看真实的触发器 19.5.3 ORA_SPACE_ERROR_INFO函数 19.5.4 DBMS_RESUMABLE包 19.5.5 捕获多个时间 19.5.6 该不该处理? 19.6 管理触发器 19.6.1 禁用、启用以及删除触发器 19.6.2 创建一个禁用的触发器 19.6.3 查看触发器 19.6.4 检查触发器的有效性 第20章 管理PL/SQL代码 20.1 管理数据库内的代码 20.1.1 数据字典视图概述 20.1.2 显示存储对象的信息 20.1.3 源代码的显示和搜索 20.1.4 根据程序的大小确定Pinning需求 20.1.5 获得存储代码的属性 20.1.6 通过视图分析和更改触发器状态 20.1.7 分析参数信息 20.1.8 分析标识符的使用(Oracle 数据库11g的PL/Scope) 20.2 依赖关系的管理以及代码的重编译 20.2.1 通过数据字典视图分析依赖关系 20.2.2 细粒度依赖(Oracle数据库11g) 20.2.3 远程依赖 20.2.4 Oracle的远程调用模式的限制 20.2.5 失效的程序单元的重编译 20.3 编译时刻警告 20.3.1 一个入门例子 20.3.2 启用编译时刻警告 20.3.3 一些有用的警告 20.4 PL/SQL程序的测试 20.4.1 典型的、华而不实的测试技术 20.4.2 PL/SQL代码测试的一般建议 20.4.3 PL/SQL的自动测试选项 20.4.4 用utPLSQL测试 20.4.5 用Quest Code Tester for Oracle测试 20.5 跟踪PL/SQL的执行 20.5.1 DBMS_APPLICATION_INFO 20.5.2 Quest Error Manager跟踪 20.5.3 DBMS_TRACE功能 20.6 PL/SQL程序的调试 20.6.1 错误的调试方法 20.6.2 调试技巧和策略 20.7 保护存储过程代码 20.7.1 包装的约束和限制 20.7.2 使用包装功能 20.7.3 通过DBMS_DDL动态包装 20.7.4 包装过的代码的使用指南 20.8 基于版本的重定义(Oracle数据库11g R2版本) 第21章 PL/SQL的性能优化 21.1 辅助优化的工具 21.1.1 内存使用分析 21.1.2 发现PL/SQL代码中的瓶颈所在 21.1.3 计算消耗时间 21.1.4 选择最快的程序 21.1.5 避免无限循环 21.1.6 性能相关警告 21.2 优化过的编译器 21.2.1 优化器的工作原理 21.2.2 循环Fetch操作的运行时优化 21.3 数据缓存技术 21.3.1 基于包的缓存 21.3.2 确定性函数的缓存 21.3.3 函数结果缓存(Oracle数据库11g) 21.3.4 缓存总结 21.4 多行SQL的批处理 21.4.1 通过BULK COLLECT加速查询 21.4.2 通过FORALL加速DML 21.5 利用管道化的表函数提升性能 21.5.1 用基于管道化函数的加载方式替换基于行的插入 21.5.2 用管道函数调优Merge操作 21.5.3 用并行管道函数进行异步的数据卸载 21.5.4 并行管道函数中的分区子句和流子句对性能的影响 21.5.5 管道函数和基于成本的优化器 21.5.6 用管道函数优化复杂的数据加载 21.5.7 管道函数结束语 21.6 专用的优化技术 21.6.1 使用NOCOPY参数模式提示符 21.6.2 使用正确的数据类型 21.7 回顾性能 第22章 I/O操作和PL/SQL 22.1 显示信息 22.1.1 启用DBMS_OUTPUT 22.1.2 向缓存中写入行 22.1.3 从缓存中读取内容 22.2 文件的读写 22.2.1 UTL_FILE_DIR参数 22.2.2 使用Oracle目录 22.2.3 打开文件 22.2.4 文件已经打开了吗? 22.2.5 关闭文件 22.2.6 读取文件 22.2.7 向文件中写 22.2.8 拷贝文件 22.2.9 删除文件 22.2.10 文件改名和文件移动 22.2.11 提取文件属性 22.3 发送邮件 22.3.1 Oracle的前提条件 22.3.2 配置网络安全 22.3.3 发送一个短的(32 767或者更少)的纯文本消息 22.3.4 在邮件地址中加上“友好”的名字 22.3.5 发送任意长度的纯文本消息 22.3.6 发送带有小附件(<32 767)的消息 22.3.7 以附件形式发送一个小文件(<32 767) 22.3.8 任意大小的附件 22.4 使用Web数据(HTTP) 22.4.1 “分片”获得一个Web页面 22.4.2 把页面提取到一个LOB中 22.4.3 使用HTTP的用户名/密码验证 22.4.4 获取一个SSL加密的Web页面(通过HTTPS) 22.4.5 通过GET或者POST给一个Web页面提交数据 22.4.6 禁用Cookies或者Cookies持久化 22.4.7 从FTP服务器获取数据 22.4.8 使用代理服务器 22.5 PL/SQL中可用的其他I/O类型 22.5.1 数据库管道、队列、告警 22.5.2 TCP Socket 22.5.3 Oracle的内置Web服务器 第6部分 高级PL/SQL主题 第23章 应用安全与PL/SQL 23.1 安全概述 23.2 加密 23.2.1 密钥长度 23.2.2 算法 23.2.3 填补和连接 23.2.4 DBMS_CRYPTO包 23.2.5 数据加密 23.2.6 LOB的加密 23.2.7 安全文件 23.2.8 数据解密 23.2.9 生成密钥 23.2.10 密钥管理 23.2.11 加密散列 23.2.12 使用消息验证码 23.2.13 使用透明数据加密(TDE) 23.2.14 透明的表空间加密 23.3 行级安全 23.3.1 为什么要学习RLS 23.3.2 一个简单的RLS示例 23.3.3 使用动态策略 23.3.4 使用列敏感的RLS 23.3.5 RLS调试 23.4 应用程序上下文 23.4.1 使用应用程序上下文 23.4.2 上下文的安全 23.4.3 把上下文用作RLS的谓词条件 23.4.4 识别出非数据库的用户 23.5 细粒度审计 23.5.1 为什么要学习FGA 23.5.2 一个简单的FGA示例 23.5.3 访问多少列 23.5.4 查看审计跟踪信息 23.5.5 使用绑定变量 23.5.6 使用句柄模块 第24章 PL/SQL架构 24.1 DIANA是谁(或者是什么) 24.2 Oracle是如何执行PL/SQL代码的 24.2.1 一个例子 24.2.2 编译器的限制 24.3 PL/SQL的缺省包 24.4 执行权限模型 24.4.1 定义者权限模型 24.4.2 调用者权限模式 24.4.3 组合权限模型 24.5 条件编译 24.5.1 条件编译的例子 24.5.2 查询指令 24.5.3 $IF指令 24.5.4 $ERROR指令 24.5.5 把代码和包常量同步 24.5.6 用查询指令实现程序专有设置 24.5.7 使用预处理后的代码 24.6 PL/SQL和数据库实例内存 24.6.1 PGA、UGA和CGA 24.6.2 游标、内存及其他 24.6.3 减少内存用的技巧 24.6.4 如果内存用光了该怎么办 24.7 原生式编译 24.7.1 什么时候使用解释模式 24.7.2 什么时候使用原生模式 24.7.3 原生编译和数据库版本 24.8 我们需要知道的 第25章 PL/SQL的全球化和本地化 25.1 概述和术语 25.2 Unicode入门 25.2.1 国家字符集的数据类型 25.2.2 字符编码 25.2.3 和全球化支持相关的参数 25.2.4 Unicode 函数 25.3 字符语义 25.4 字符串排序顺序 25.4.1 二进制排序 25.4.2 单语言排序 25.4.3 多语言排序 25.5 多语言信息检索 25.5.1 信息检索和PL/SQL 25.6 日期/时间 25.6.1 时间戳数据类型 25.6.2 日期/时间格式 25.7 货币转换 25.8 PL/SQL的全球化开发工具箱 25.8.1 UTL_I18N工具包 25.8.2 UTL_LMS异常处理包 25.8.3 GDK实现选项 第26章 PL/SQL的面向对象特性 26.1 Oracle对象特性的介绍 26.2 对象类型示例 26.2.1 创建一个基类 26.2.2 创建子类型 26.2.3 方法 26.2.4 在Oracle数据库11g中调用父类的方法 26.2.5 保存、提取、使用持久化对象 26.2.6 演变和创建 26.2.7 回到指针吗? 26.2.8 泛化数据:ANY类型 26.2.9 我也可以自己做 26.2.10 对象的比较 26.3 对象视图 26.3.1 一个示例的关系系统 26.3.2 带有集合属性的对象视图 26.3.3 对象子视图 26.3.4 带有反关系的对象视图 26.3.5 INSTEAD OF触发器 26.3.6 对象视图和对象表的区别 26.4 维护对象类型和对象视图 26.4.1 数据字典 26.4.2 权限 26.5 来自一个关系开发者的总结思考 附录A 正则表达式的元字符和函数参数 A.1 元字符 A.2 函数和参数 A.2.1 正则表达式函数 A.2.2 正则表达式参数 附录B 数字格式模型 附录C 日期格式模型
10.90MB
【理论学习班】锁相环设计、仿真与应用(第5版)中文版 PART2
2010-05-17http://www.china-pub.com/204234#ml 锁相环设计、仿真与应用(第5版) 基本信息 * 作者: (美)Roland E.Best * 译者: 李永明[同译者作品] * 丛书名: 国外大学优秀教材--微电子类系列(翻译版) * 出版社:清华大学出版社 * ISBN:9787302128823 * 上架时间:2007-4-19 * 出版日期:2007 年4月 * 开本:16开 * 页码:353 * 版次:5-1 * 所属分类: 工业技术 > 机械/仪表 > 综合 教材 > 研究生/本科/专科教材 > 工学 > 电工电子 教材 > 教材汇编分册 > 高等理工 本版教材征订号:0044092778-8 * 适用专业: 计算机与电子信息 * 适用分级: 本科 快速导航 * 内容简介 * 目录 * 前言 * 评论交流 内容简介回到顶部↑ 第1章是简短的引言,介绍锁相环领域的情况。第2章安排涉及混合信号锁相环的理论,设计和混合信号PLL的应用。讨论了不同类型的鉴相器(线性的和数字的),具有电荷泵输出的鉴频鉴相器、环路滤波器(无源和有源)以及压控振荡器。给出了典型混合信号锁相环的应用,例如重定时和时钟恢复,控制马达速度等。 因为频率综合器是DPLL数字锁相环最重要的应用之一,所以单立第3章深入讨论数字锁相环频率综合器。因为相位抖动和寄生边带是频率综合器最烦人的现象,我们给出了不同的解决这些问题的方法,即抗齿隙式电路和高阶环路滤波器。此外,还分析了整数N和分数N两类综合器并说明后者可以非常快地捕获锁定,其特点是在跳频(扩频)应用中具有很大的好处;最新一代的移动电话中,扩频技术将越来越重要。接着说明了简单的频率综合器可以单环实现,而高性能系统中必须使用多环结构。 因为在许多综合器应用中必须采用高阶系统(滤波器),第4章讨论了这样系统的设计,例如高达五阶的锁相环。在高阶环路的设计中,安排极点和零点的位置会是一项困难的工作,利用作者开发的新方法,基于波特图,可以非常容易地进行高阶环路设计。同时,利用作者开发的程序(在随书附有的CDROM中)可以轻松实现系统。该程序可以自动设计和分析高达五阶的锁相环路。该主题在第5章讨论,其中还包括了许多设计例子。在综合一个锁相环电路时,这个程序可以用于模拟系统的动态性能,即锁定和失锁过程。为了研究锁相环在噪声情况下的性能(这在实际中是一般设定情况),用户可以添加任意水平的窄带或宽带噪声。最终,程序显示综合的锁相环波特图和环路滤波器电路图,包括元件值。 第6章阐述全数字锁相环ADPLL的理论、设计和应用,这类PLL引入时间比前面介绍的要晚一些。这几种锁相环中,LPLL与DPLL是连续时间系统,而ADPLL是离散时间器件,所以,会表现出相对较大的波纹(相位抖动)。因此,ADPLL的应用局限在可容忍波纹的情况下,如频移键控(FSK)解码器和类似设备。第7章描述了ADPLL计算机辅助设计和仿真,使用前面讲述过的计算机程序。 因为近年来微控制器和数字信号处理器的速度显著提高,现在许多PLL应用都可以用软件实现。第8章讨论了锁相环领域中软件和硬件折中的考虑,描述了一些可以实现软件PLL(SPLL)的软件算法。 第9章综述通信领域中PLL的应用。包括大多数重要的数字调制方案,例如BSK,QPSK,FSK以及QAM,并且描述了一些专用的PLL电路用于载波和符号同步(如,Costas环,早迟门,积分和复位转移电路),以及采取措施防止符号间干扰(intersymbol interference,ISI),例如平方根升余弦滤波器。本章的其他主题中也说明了在不增加系统带宽的情况下,如何增加数字通信的符号速率。 第10章列出了当前可以使用的PLL集成电路,它们来自美国、欧洲和日本的制造厂家,包括简短的电路说明。列表中包括单片上完整的PLL系统,锁相环的部分电路模块,如鉴相器和VCO压控振荡器,以及类似锁相环频率综合器的复杂系统或收音机、电视机芯片;还包括单、双模预分频器。 最后,第11章说明使用常规实验室仪器,如示波器、信号发生器等,以及如何测量锁相环的参数。 三个附录提供了所选主题的附加信息。附录A为捕获过程分析推导,以满足对数学方法感兴趣的读者。附录B是在这本书中经常使用的初等拉普拉斯变换。附录 C是对数字滤波器的综述,在高复杂度的PLL系统中它变得越来越重要。 目录回到顶部↑ 第1章 锁相环简介 1.1 锁相环工作原理 1.2 PLL的分类 第2章 混合信号锁相环 2.1 混合信号锁相环框图 2.2 相位信号注解 2.3 混合信号锁相环的组成模块 2.3.1 鉴相器 2.3.2 环路滤波器(一阶) 2.3.3 受控振荡器 2.3.4 分频器 2.4 锁定状态下的锁相环性能 2.4.1 锁定状态的数学模型 2.4.2 传输函数定义 2.4.3 锁定状态下锁相环的瞬态响应 2.4.4 锁相环稳态误差 2.5 锁相环系统的阶次 2.5.1 极点数 2.5.2 特殊情况:一阶锁相环 2.6 未锁定状态下的锁相环性能 . 2.6.1 未锁定状态的数学模型 2.6.2 锁相环的关键参数 2.7 带有电荷泵输出的鉴相器 2.8 在噪声情况下的PLL性能 2.8.1 PLL里的噪声源和噪声类型 2.8.2 噪声参数定义 2.8.3 噪声对PLL性能的影响 2.8.4 带有噪声的信号捕捉技术 2.9 混合信号PLL的设计流程 2.10 混合信号PLL的应用 2.10.1 重定时和时钟信号恢复 2.10.2 马达速度控制 第3章 锁相频率综合器 3.1 无线和射频应用领域中的频率综合器 3.2 锁相环频率综合器基础 3.2.1 整数N频率综合器 3.2.2 示例研究:设计整数N PLL频率综合器 3.2.3 分数N频率综合器 3.3 单环和多环频率综合器 3.4 频率综合器噪声 3.4.1 参考振荡器的相位抖动θn,ref 3.4.2 VCO的相位抖动θn,VCO 3.4.3 鉴相器产生的参考馈通 第4章 高阶环路 4.1 高阶环路的起因 4.2 高阶环路的稳定度分析 4.3 三阶PLL的设计 4.3.1 无源超前—滞后滤波器 4.3.2 有源超前—滞后滤波器 4.3.3 有源比例积分环路滤波器 4.4 四阶PLL的设计 4.4.1 有源超前—滞后环路滤波器 4.4.2 有源比例积分环路滤波器 4.5 五阶PLL的设计 4.5.1 有源超前—滞后环路滤波器 4.5.2 有源比例积分环路滤波器 4.6 高阶PLL的关键参数 4.7 带电荷泵输出的鉴相器的环路滤波器 4.7.1 二阶PLL中的环路滤波器 4.7.2 三阶PLL中的环路滤波器 …… 第5章 混合信号PLL的计算机辅助设计和仿真 第6章 全数字PLL(ADPLL) 第7章 ADPLL的计算机辅助设计和仿真 第8章 软件PLL(SPLL) 第9章 通信中的锁相环(PLL) 第10章 商用PLL集成电路技术现状 第11章 PLL参数的测量 附录A 捕捉过程(The Pull-in Process) 附录B 拉普拉斯变换 附录C 数字滤波器基础 参考文献 索引 ↑折 叠 前言回到顶部↑ 锁相环历来是线性电路。第一个锁相环是用分立元件实现的,大约在1965年锁相环成为可以使用的集成电路。这些集成锁相环中的第一个是线性器件 (LPLL),基于半导体技术,类似那个时代的运算放大器。几年后(大约1970年),有了第一个可以使用的数字锁相环(DPLL)。但我们观察它们的电路时,可以知道,仅仅鉴相器是逻辑电路,而其余部分(压控振荡器VCO,环路滤波器)仍然是模拟电路,因此这些锁相环是混合系统。在这本新版本的书中,我们把LPLL和DPLI。两个类型结合成一类,称之为“混合信号锁相环”。于是,现在两种可以使用统一的理论阐述,大大地简化了分析。. 第1章是简短的引言,介绍锁相环领域的情况。第2章安排涉及混合信号锁相环的理论,设计和混合信号PLL的应用。讨论了不同类型的鉴相器(线性的和数字的),具有电荷泵输出的鉴频鉴相器、环路滤波器(无源和有源)以及压控振荡器。给出了典型混合信号锁相环的应用,例如重定时和时钟恢复,控制马达速度等。 因为频率综合器是DPLI,数字锁相环最重要的应用之一,所以单立第3章深入讨论数字锁相环频率综合器。因为相位抖动和寄生边带是频率综合器最烦人的现象,我们给出了不同的解决这些问题的方法,即抗齿隙式电路和高阶环路滤波器。此外,还分析了整数N和分数N两类综合器并说明后者可以非常快地捕获锁定,其特点是在跳频(扩频)应用中具有很大的好处;最新一代的移动电话中,扩频技术将越来越重要。接着说明了简单的频率综合器可以单环实现,而高性能系统中必须使用多环结构。.. 因为在许多综合器应用中必须采用高阶系统(滤波器),第4章讨论了这样系统的设计,例如高达五阶的锁相环。在高阶环路的设计中,安排极点和零点的位置会是一项困难的工作,利用作者开发的新方法,基于波特图,可以非常容易地进行高阶环路设计。同时,利用作者开发的程序(在随书附有的CD—ROM中)可以轻松实现系统。该程序可以自动设计和分析高达五阶的锁相环路。该主题在第5章讨论,其中还包括了许多设计例子。在综合一个锁相环电路时,这个程序可以用于模拟系统的动态性能,即锁定和失锁过程。为了研究锁相环在噪声情况下的性能(这在实际中是一般设定情况),用户可以添加任意水平的窄带或宽带噪声。最终,程序显示综合的锁相环波特图和环路滤波器电路图,包括元件值。 第6章阐述全数字锁相环ADPLL的理论、设计和应用,这类PLL引入时间比前面介绍的要晚一些。这几种锁相环中,LPLL与DPLL是连续时间系统,而 ADPLL是离散时间器件,所以,会表现出相对较大的波纹(相位抖动)。因此,ADPLI。的应用局限在可容忍波纹的情况下,如频移键控(FSK)解码器和类似设备。第7章描述了ADPLL计算机辅助设计和仿真,使用前面讲述过的计算机程序。 因为近年来微控制器和数字信号处理器的速度显著提高,现在许多PLL应用都可以用软件实现。第8章讨论了锁相环领域中软件和硬件折中的考虑,描述了一些可以实现软件PLL(SPLL)的软件算法。 第9章综述通信领域中PLL的应用。包括大多数重要的数字调制方案,例如BSK,QPSK,FSK以及QAM,并且描述了一些专用的PLL电路用于载波和符号同步(如,Costas环,早—迟门,积分和复位转移电路),以及采取措施防止符号间干扰(intersymbol interfer—ence,ISI,例如平方根升余弦滤波器。本章的其他主题中也说明了在不增加系统带宽的情况下,如何增加数字通信的符号速率。 第10章列出了当前可以使用的PLL集成电路,它们来自美国、欧洲和日本的制造厂家,包括简短的电路说明。列表中包括单片上完整的PLL系统,锁相环的部分电路模块,如鉴相器和VCO压控振荡器,以及类似锁相环频率综合器的复杂系统或收音机、电视机芯片;还包括单、双模预分频器。 最后,第11章说明使用常规实验室仪器,如示波器、信号发生器等,以及如何测量锁相环的参数。 三个附录提供了所选主题的附加信息。附录A为捕获过程分析推导,以满足对数学方法感兴趣的读者。附录B是在这本书中经常使用的初等拉普拉斯变换。附录C是对数字滤波器的综述,在高复杂度的PLL系统中它变得越来越重要。 Roland Best...
72.15MB
数据库系统基础:初级篇(第5版)(讲述数据库系统原理的经典教材)--详细书签版
2013-04-05CruiseYoung提供的带有详细书签的电子书籍目录 http://blog.csdn.net/fksec/article/details/7888251 数据库系统基础:初级篇(第5版)(讲述数据库系统原理的经典教材) 基本信息 原书名: Fundamentals of Database Systems (5th Edition) 原出版社: Addison Wesl 作者: (美)Ramez Elmasri Shamkant B.Navathe 译者: 邵佩英 徐俊刚 王文杰 丛书名: 图灵计算机科学丛书 出版社:人民邮电出版社 ISBN:9787115164087 上架时间:2007-9-24 出版日期:2007 年10月 开本:16开 页码:409 版次:5-1 内容简介 本书是一本讲述数据库系统原理的教材,重点强调数据库建模与设计的基础、数据库管理系统提供的语言和工具以及系统实现技术。全书共分4个部分,第一部分介绍最基本的概念、术语及建模原则,第二部分描述了关系数据模型和关系型DBMS,第三部分讨论数据库设计,第四部分主要描述数据库系统中使用的物理文件结构和存取方法。书中涉及的内容非常广泛,包括DBMS的概念、术语和体系结构,ER模型和ER图,数据抽象和语义数据建模,UML类图表示法,基本关系模型,关系代数和关系演算,SQL,规范化,磁盘上组织记录文件的主要方法,文件的索引技术,查询处理与优化,以及物理数据库的设计与调优。 本书是高等院校计算机及相关专业本科生数据库系统课程的理想教材,也是对相关技术人员非常有价值的参考书。 作译者 Ramez elmasri是世界知名的数据库学者。现任得克萨斯大学职灵顿分校计算机科学与工程系教授。1980年于斯坦福大学获得计算机科学硕士和博士学位。他的主要研究方向是数据库系统、时间数据库、概念建模、面向对象数据库、Wed建模和本体论数据库模型和语言、DBMS系统实现、检索技术等。 Shamkant B.Navathe 世界知名的数据库学者。现任佐治亚理工学院计算学院教授,自1990年开始他一直在该校任教。他的主要研究方向是工程设计、生物(特别是人类基因组)数据库、文档及文本数据库等新兴应用中的数据库建模。设计和集成,此外,他对知识表示、数据挖掘和知识发现等也非常感兴趣。 目录 封面 -17 封底 -16 扉页 -15 版权 -14 译者序 -13 前言 -11 目录 -6 第一部分 引言与概念建模 1 第1章 数据库与数据库用户 2 1.1 引言 2 1.2 一个示例 4 1.3 数据库方法的特征 6 1.3.1 数据库系统的自描述性 7 1.3.2 程序与数据分离和数据抽象 7 1.3.3 支持数据的多视图 9 1.3.4 数据共享和多用户事务处理 9 1.4 幕前角色 10 1.4.1 数据库管理员 10 1.4.2 数据库设计者 10 1.4.3 最终用户 10 1.4.4 系统分析员和应用程序员(软件工程师) 11 1.5 幕后工作者 11 1.6 使用DBMS方法的优势 12 1.6.1 控制冗余 12 1.6.2 限制非授权的访问 12 1.6.3 为程序对象提供持久性存储 13 1.6.4 提供高效查询处理的存储结构 13 1.6.5 提供备份与恢复 14 1.6.6 提供多用户界面 14 1.6.7 表示数据间复杂联系 14 1.6.8 确保完整性约束 14 1.6.9 允许使用规则进行推理和动作 15 1.6.10 使用数据库方法的其他含义 15 1.7 数据库应用简史 16 1.7.1 使用分层和网状系统的早期数据库应用 16 1.7.2 关系数据库提供应用灵活性 16 1.7.3 面向对象的应用和对更复杂数据库的需求 16 1.7.4 在Web上交换数据实现电子商务 17 1.7.5 为新应用扩展数据库功能 17 1.7.6 数据库与信息检索 17 1.8 什么时候不应该使用DBMS 18 1.9 小结 18 复习题 18 练习题 19 选读文献 19 第2章 数据库系统的概念和体系结构 20 2.1 数据模型、模式和实例 20 2.1.1 数据模型的分类 21 2.1.2 模式、实例和数据库状态 21 2.2 三层模式体系结构和数据独立性 23 2.2.1 三层模式体系结构 23 2.2.2 数据独立性 24 2.3 数据库语言和界面 25 2.3.1 DBMS的语言 25 2.3.2 DBMS界面 26 2.4 数据库系统的环境 27 2.4.1 DBMS的组成模块 27 2.4.2 数据库系统实用工具 29 2.4.3 工具、应用环境和通信软件 29 2.5 DBMS的集中式和客户/服务器体系结构 30 2.5.1 集中式DBMS体系结构 30 2.5.2 基本的客户/服务器体系结构 31 2.5.3 DBMS两层客户/服务器体系结构 32 2.5.4 面向Web应用的三层和n层体系结构 32 2.6 数据库管理系统的分类 33 2.7 小结 35 复习题 36 练习题 36 选读文献 37 第3章 使用实体-联系(ER)模型的数据建模 38 3.1 使用高级概念数据模型进行数据库设计 39 3.2 一个数据库应用示例 40 3.3 实体类型、实体集、属性和码 40 3.3.1 实体和属性 41 3.3.2 实体类型、实体集、码和值集 43 3.3.3 COMPANY数据库的初步概念设计 45 3.4 联系类型、联系集、角色和结构约束 46 3.4.1 联系类型、联系集和联系实例 47 3.4.2 联系度、角色名称和递归联系 48 3.4.3 联系类型的约束 49 3.4.4 联系类型的属性 50 3.5 弱实体类型 51 3.6 COMPANY数据库ER设计的改进 52 3.7 ER图、命名约定和设计问题 53 3.7.1 ER图表示法小结 53 3.7.2 模式结构的正确命名 53 3.7.3 ER概念设计的设计选择 54 3.7.4 ER图的候选表示法 55 3.8 其他表示法示例:UML类图 55 3.9 高于2度的联系类型 57 3.9.1 对二元和三元(或高度)联系的选择 57 3.9.2 三元(或高度)联系上的约束 60 3.10 小结 60 复习题 61 练习题 61 实验题 66 选读文献 66 第4章 增强的实体-联系(EER)建模 68 4.1 子类、超类和继承 68 4.2 特化和泛化 69 4.2.1 特化 69 4.2.2 泛化 71 4.3 特化和泛化层次的约束和特征 71 4.3.1 特化与泛化的约束 72 4.3.2 特化和泛化的层次和格 73 4.3.3 利用特化与泛化改进概念模型 75 4.4 采用类别的并类型建模 76 4.5 示例UNIVERSITY的EER模式设计选择和形式化定义 78 4.5.1 UNIVERSITY数据库示例 78 4.5.2 特化/泛化的设计选择 79 *4.5.3 EER模型概念的形式化定义 80 4.6 其他表示法的示例:UML类图中的特化/泛化 81 4.7 数据抽象、知识表示和本体论概念 82 4.7.1 分类和实例化 82 4.7.2 标识 83 4.7.3 特化和泛化 83 4.7.4 聚集和关联 83 4.7.5 本体论和语义网 85 4.8 小结 86 复习题 86 练习题 86 实验题 91 选读文献 93 第二部分 关系模型:概念、约束、语言、设计和编程 95 第5章 关系数据模型和关系数据库约束 96 5.1 关系模型概念 96 5.1.1 域、属性、元组和关系 97 5.1.2 关系的特性 99 5.1.3 关系模型表示法 101 5.2 关系模型约束和关系数据库模式 101 5.2.1 域约束 102 5.2.2 码约束和NULL值约束 102 5.2.3 关系数据库和关系数据库模式 103 5.2.4 实体完整性、参照完整性和外码 104 5.2.5 其他类型的约束 106 5.3 更新操作、事务和处理违例约束 107 5.3.1 插入操作 107 5.3.2 删除操作 108 5.3.3 更新操作 109 5.3.4 事务的概念 109 5.4 小结 109 复习题 110 练习题 110 选读文献 113 第6章 关系代数和关系演算 114 6.1 一元关系操作:SELECT和PROJECT 115 6.1.1 SELECT操作 115 6.1.2 PROJECT操作 116 6.1.3 操作序列和RENAME操作 117 6.2 基于集合论的关系代数操作 118 6.2.1 UNION、INTERSECTION和MINUS操作 118 6.2.2 笛卡儿积(或叉积)操作 120 6.3 二元关系操作:JOIN和DIVISION 121 6.3.1 JOIN操作 121 6.3.2 JOIN的变体EQUIJOIN和NATURAL JOIN 122 6.3.3 关系代数操作的完备集 124 6.3.4 DIVISION操作 124 6.3.5 查询树表示法 126 6.4 其他关系操作 127 6.4.1 广义投影 127 6.4.2 聚集函数和分组 127 6.4.3 递归闭包操作 128 6.4.4 OUTER JOIN操作 130 6.4.5 OUTER UNION操作 130 6.5 关系代数中的查询示例 131 6.6 元组关系演算 133 6.6.1 元组变量和值域关系 133 6.6.2 元组关系演算中的表达式与公式 134 6.6.3 存在量词与全称量词 134 6.6.4 使用存在量词的查询示例 135 6.6.5 查询图表示法 136 6.6.6 全称量词与存在量词的转换 137 6.6.7 使用全称量词 137 6.6.8 安全表达式 138 6.7 域关系演算 139 6.8 小结 140 复习题 141 练习题 141 实验题 144 选读文献 146 第7章 使用ER到关系的映射和EER到关系的映射进行关系数据库设计 147 7.1 使用ER到关系的映射进行关系数据库设计 147 7.1.1 ER到关系的映射算法 147 7.1.2 ER模型构造映射的讨论和总结 151 7.2 EER模型构造到关系的映射 152 7.2.1 特化或泛化的映射 153 7.2.2 共享子类(多重继承)的映射 154 7.2.3 类别的映射(并类型) 155 7.3 小结 156 复习题 156 练习题 156 实验题 157 选读文献 157 第8章 SQL-99:模式定义、约束、查询和视图 158 8.1 SQL数据定义和数据类型 159 8.1.1 SQL2中模式和目录的概念 159 8.1.2 SQL的CREATE TABLE命令 160 8.1.3 SQL中的属性数据类型和域 161 8.2 在SQL中定义约束 162 8.2.1 指定属性约束和属性默认值 162 8.2.2 指定码和参照完整性约束 163 8.2.3 为约束命名 164 8.2.4 使用CHECK指定元组约束 164 8.3 SQL中的模式更改语句 165 8.3.1 DROP命令 165 8.3.2 ALTER命令 165 8.4 SQL中的基本查询 166 8.4.1 基本SQL查询的SELECT-FROM- WHERE结构 166 8.4.2 多义属性名、别名和元组变量 168 8.4.3 未指定WHERE子句的查询语句和星号(*)的用法 170 8.4.4 SQL中作为集合的表 170 8.4.5 子串样式匹配和算术操作符 172 8.4.6 查询结果排序 173 8.5 更复杂的SQL查询 173 8.5.1 包含NULL和三值逻辑的比较 173 8.5.2 嵌套查询、元组与集/多集比较 174 8.5.3 关联嵌套查询 176 8.5.4 SQL中的EXISTS和UNIQUE函数 177 8.5.5 SQL中的显式集合和属性重新命名 178 8.5.6 SQL中的连接表和外连接 179 8.5.7 SQL中的聚集函数 180 8.5.8 分组:GROUP BY和HAVING子句 181 8.5.9 SQL查询的讨论与小结 183 8.6 SQL中的插入、删除和更新语句 184 8.6.1 INSERT命令 184 8.6.2 DELETE命令 185 8.6.3 UPDATE命令 186 8.7 指定约束作为断言和触发器 186 8.8 SQL中的视图(虚表) 187 8.8.1 SQL中视图的概念 187 8.8.2 SQL中的视图规范 188 8.8.3 视图的实现和更新 188 8.9 SQL的其他特性 190 8.10 小结 190 复习题 192 练习题 192 实验题 194 选读文献 195 第9章 SQL程序设计技术简介 197 9.1 数据库程序设计:问题与技术 197 9.1.1 数据库程序设计方法 198 9.1.2 阻抗失配 198 9.1.3 数据库程序设计中的典型交互序列 199 9.2 嵌入式SQL、动态SQL和SQLJ 199 9.2.1 用嵌入式SQL检索单个元组 199 9.2.2 在嵌入式SQL中使用游标检索多个元组 202 9.2.3 使用动态SQL在运行时指定查询 203 9.2.4 SQLJ:Java中嵌入SQL命令 204 9.2.5 SQLJ中使用迭代器检索多个元组 206 9.3 使用函数调用的数据库程序设计:SQL/CLI和JDBC 207 9.3.1 以C语言为宿主语言,使用SQL/CLI进行数据库程序设计 208 9.3.2 JDBC:面向Java程序设计的SQL函数调用 211 9.4 数据库存储过程与SQL/PSM 214 9.4.1 数据库存储过程和函数 214 9.4.2 SQL/PSM: 扩展SQL以指定持久存储模块 215 9.5 小结 216 复习题 216 练习题 216 实验题 217 选读文献 218 第三部分 数据库设计理论和方法学 219 第10章 函数依赖和关系数据库的规范化 220 10.1 关系模式的非形式化设计准则 221 10.1.1 给予关系中的属性以清晰的语义 221 10.1.2 元组中的冗余信息和更新异常 223 10.1.3 元组中的NULL值 225 10.1.4 生成寄生元组 226 10.1.5 总结和讨论设计准则 227 10.2 函数依赖 228 10.2.1 函数依赖的定义 228 10.2.2 函数依赖的推理规则 229 10.2.3 函数依赖集的等价 232 10.2.4 最小函数依赖集 232 10.3 基于主码的范式 233 10.3.1 关系的规范化 233 10.3.2 范式的实际使用 234 10.3.3 码的定义和参与码的属性 234 10.3.4 第一范式 235 10.3.5 第二范式 238 10.3.6 第三范式 239 10.4 第二范式和第三范式的通用定义 239 10.4.1 第二范式的通用定义 240 10.4.2 第三范式的通用定义 241 10.4.3 解释第三范式的通用定义 241 10.5 Boyce-Codd范式 241 10.6 小结 243 复习题 244 练习题 244 实验题 247 选读文献 248 第11章 关系数据库设计算法和其他依赖 249 11.1 关系分解的性质 250 11.1.1 关系分解和范式的不足 250 11.1.2 分解的依赖保持性质 250 11.1.3 分解的非加性(无损)连接性质 251 11.1.4 检验二元分解的非加性连接性质 253 11.1.5 连续非加性连接分解 254 11.2 关系数据库模式设计算法 254 11.2.1 依赖保持分解成3NF模式 254 11.2.2 非加性连接分解成BCNF模式 255 11.2.3 依赖保持和非加性(无损)连接分解成3NF模式 256 11.2.4 NULL值和悬挂元组问题 258 11.2.5 规范化算法的讨论 258 11.3 多值依赖和第四范式 261 11.3.1 多值依赖的形式化定义 261 11.3.2 函数依赖和多值依赖的推理规则 263 11.3.3 第四范式 263 11.3.4 非加性连接分解成4NF关系 264 11.4 连接依赖和第五范式 265 11.5 包含依赖 266 11.6 其他依赖和范式 267 11.6.1 模板依赖 267 11.6.2 域-码范式 268 11.7 小结 268 复习题 268 练习题 269 实验题 270 选读文献 270 第12章 实际数据库设计方法学和UML图的使用 271 12.1 组织中信息系统的角色 271 12.1.1 使用数据库系统的组织环境 271 12.1.2 信息系统的生命周期 273 12.1.3 数据库应用系统的生命周期 274 12.2 数据库设计与实现过程 275 12.2.1 第1阶段:需求汇集和分析 276 12.2.2 第2阶段:概念数据库设计 277 12.2.3 第3阶段:DBMS的选择 284 12.2.4 第4阶段:数据模型映射(逻辑数据库设计) 285 12.2.5 第5阶段:物理数据库设计 286 12.2.6 第6阶段:数据库系统的实现和调优 286 12.3 使用UML图作为数据库设计规范说明的辅助工具 287 12.3.1 UML作为设计规范说明的标准 287 12.3.2 将UML用于数据库应用设计 287 12.3.3 各种UML图 288 12.3.4 建模和设计的示例:UNIVERSITY数据库 291 12.4 基于UML的设计工具:Rational Rose 293 12.4.1 面向数据库设计的RationalRose 293 12.4.2 Rational Rose Data Modeler 293 12.4.3 使用Rational Rose Data Modeler的数据建模 294 12.5 自动化数据库设计工具 297 12.6 小结 299 复习题 299 选读文献 300 第四部分 数据存储、索引、查询处理和物理设计 303 第13章 磁盘存储、基本文件结构和散列 304 13.1 概述 304 13.1.1 存储层次和存储设备 304 13.1.2 数据库的存储 305 13.2 二级存储设备 306 13.2.1 磁盘设备的硬件描述 306 13.2.2 磁带存储设备 310 13.3 块缓冲 311 13.4 把文件记录保存在磁盘上 312 13.4.1 记录和记录类型 312 13.4.2 文件、定长记录和变长记录 313 13.4.3 记录块、跨块记录与非跨块记录 314 13.4.4 在磁盘上分配文件块 315 13.4.5 文件首部 315 13.5 文件操作 315 13.6 无序记录文件(堆文件) 317 13.7 有序记录文件(排序文件) 318 13.8 散列技术 320 13.8.1 内部散列 321 13.8.2 磁盘文件的外部散列法 323 13.8.3 允许动态文件扩展的散列技术 324 13.9 其他主文件组织 327 13.9.1 混合记录文件 327 13.9.2 B树和其他数据结构作为主组织 327 13.10 使用RAID技术的并行磁盘访问 327 13.10.1 用RAID增强可靠性 328 13.10.2 用RAID改善性能 329 13.10.3 RAID组织体系和级别 329 13.11 新的存储系统 331 13.11.1 存储局域网 331 13.11.2 网络连接存储 331 13.12 小结 332 复习题 332 练习题 333 选读文献 335 第14章 文件的索引结构 336 14.1 单级有序索引的类型 336 14.1.1 主索引 337 14.1.2 聚簇索引 339 14.1.3 辅助索引 339 14.1.4 小结 344 14.2 多级索引 344 14.3 使用B树与B+树的动态多级索引 346 14.3.1 搜索树和B树 347 14.3.2 B+树 350 14.4 多码上的索引 357 14.4.1 多属性上的有序索引 357 14.4.2 分区散列法 357 14.4.3 网格文件 358 14.5 其他类型的索引 358 14.5.1 使用散列和其他数据结构作为索引 358 14.5.2 逻辑索引与物理索引 359 14.5.3 讨论 359 14.6 小结 359 复习题 360 练习题 360 选读文献 362 第15章 查询处理和优化的算法 363 15.1 把SQL查询转换成关系代数 364 15.2 外排序算法 365 15.3 SELECT与JOIN操作的算法 366 15.3.1 SELECT操作的实现 366 15.3.2 JOIN操作的实现 369 15.4 PROJECT和集合操作的算法 374 15.5 聚集操作和外连接的实现 375 15.5.1 聚集操作的实现 375 15.5.2 外连接的实现 375 15.6 用流水线组合操作 376 15.7 在查询优化中使用启发式规则 376 15.7.1 查询树和查询图的表示法 377 15.7.2 查询树的启发式优化 378 15.7.3 将查询树转换为查询执行计划 383 15.8 利用选择性和代价估算进行查询优化 383 15.8.1 查询执行的代价成分 383 15.8.2 代价函数中使用的目录信息 384 15.8.3 SELECT操作的代价函数示例 384 15.8.4 JOIN的代价函数示例 386 15.8.5 多关系查询和连接顺序 387 15.8.6 说明基于代价的查询优化的示例 388 15.9 Oracle中的查询优化概述 390 15.10 语义查询优化 390 15.11 小结 391 复习题 391 练习题 391 选读文献 392 第16章 物理数据库设计和调优 393 16.1 关系数据库中的物理数据库设计 393 16.1.1 影响物理数据库设计的因素 393 16.1.2 物理数据库设计决策 394 16.2 关系系统中的数据库调优概述 396 16.2.1 索引的调优 396 16.2.2 数据库设计的调优 397 16.2.3 查询的调优 398 16.2.4 其他的查询调优原则 399 16.3 小结 400 复习题 400 选读文献 400 附录A ER模型的可选图形表示法 401 附录B 磁盘参数 403 附录C QBE语言概述 405 前言 近几年来,虽然许多出版社都影印和翻译了多种数据库系统方面的教材,我们也曾与中国人民大学张坤龙老师等一起翻译了《数据库系统基础》的第3版。凭我们多年来从事数据库课程教育的实践经验,认为Elmasri和Navathe的《数据库系统基础》是一本出色的、系统的、先进的、实用的数据库课程教科书。它清晰地阐述了数据库系统理论和设计问题;它的内容极为充实,广泛地涵盖了所有涉及数据库系统的设计、实现和管理所要求的诸多专题;它使用优秀的实例引入最新的现代数据库技术,全书贯穿两个例子:COMPANY和UNIVERSITY,使得读者能够使用同一个应用来比较不同的方法。当我们得到并初步阅读了Elmasri和Navathe的《数据库系统基础》第5版时,我们发现它对全书又作了完善性修改和更新,适时地反映了数据库技术和应用开发的最新发展趋势。而且它新增了一些应用实例使读者可以参与其中,而书中章节后面的练习题和新的实验题,又可以让读者获得基于现代数据库技术,如Oracle、MySQL和SQLServer,以及了解使用PHP和XML的Web数据库编程,获得建造数据库应用系统的实践经验。《数据库系统基础》正在成为从技术角度而不是从商业角度介绍数据库系统的权威教材。它既适合于研究生又适合于本科生使用,更为教师提供了足够丰富的数据库课程教育素材。当然,本书也是从事数据库技术研究和应用开发人员的良师益友。 这就是为什么我们还要花费大量精力和时间来翻译本书的原因和理由。 本书包括8个部分和5个附录。从第1部分开始,介绍了为更好地掌握数据库设计与实现所需的基本概念,以及数据库系统中用到的概念建模技术。第2部分到第4部分深入讲解了数据库系统基础中最重要的几个方面,包括:关系模型的概念、约束、语言、设计和编程,数据库设计理论和方法学,数据存储、索引、查询处理和物理设计。第5部分和第6部分是数据库系统的高级专题,包括:事务处理、并发控制、恢复技术,以及对象和对象-关系数据库,并给出了如何用SQL实现这些概念。第7和第8部分作为结束,对诸如数据库安全性,适应高级应用的增强数据模型,分布式数据库及三层客户/服务器据结构,以及XML、Web数据库、数据挖掘、数据仓库、移动数据库、多媒体数据库、地理信息系统、基因数据管理等新兴技术作了介绍。附录A给出许多可选用的显示ER或EER模式的图形记号;附录B给出磁盘的一些重要物理参数;附录C给出最早的图形化查询语言之一:示例查询(Query-By-Example,QBE)语言的概述;附录D和E介绍基于层次数据模型和网状数据模型的传统数据库系统(http://www.aw.com/elmasri)。 本书分为上、下两册:上册包括第1~4部分及附录,建议可以作为“数据库导论课程”的教科书;下册包括第5~8部分及附录,建议可以作为“数据库高级课程”的教科书。当然,正如在本书的前言中所指出的那样,讲授一门数据库课程有许多种不同的方式,各位教师可根据课程侧重点的不同,以及根据学生的背景和需求组织教学内容。在前言中展示的各章节间的主要依赖关系图可以作为参考,各主题可以按不同顺序进行讲授。可以跳过那些选择性的章节,也可以添加书中其余部分的章节以便充实课程。 本书的翻译和审校由中国科学院研究生院信息学院邵佩英教授、徐俊刚副教授、王文杰副教授共同组织完成。参加翻译的还有(按姓氏笔画)裴莹、陈明、丁杰、林欢欢、张坤、张颖、周良、余清等。全书由邵佩英教授负责统一定稿。由于水平有限,翻译不当之处,恳请读者批评指正。 本书翻译过程中曾得到中国科学院高能物理所李伯民研究员的关心和指导,得到我们的研究生王辉、祝孔强、阚劲松的帮助,在此向他们表示衷心的感谢。我们还应感谢人民邮电出版社杨海玲等编辑们,是他们的远见和支持,使得本书能够尽快与读者见面。 译者 中国科学院研究生院信息学院 2007年5月 本书介绍了在设计、使用和实现数据库系统及应用时所需的基本概念。书中重点强调了数据库建模与设计的基础、数据库管理系统提供的语言和工具,以及系统实现技术。本书旨在作为本科生或研究生的数据库系统课程(一个或两个学期)的教材或教学参考书。本书假定读者已熟悉基本的程序设计和数据结构的概念,并对基本的计算机组成知识有所了解。 本书第一部分先提供了一个引言,并介绍了最基本的概念和术语以及数据库概念建模原则。第二部分到第四部分深入讲解了数据库基础中最重要的几个方面。 以下是第5版的主要特色: ●本书内容的组织遵循独立性和灵活性原则,可以根据个人需要进行取舍。 ●新增加了一章来介绍SQL程序设计技术,这种技术用于使用PHP(一种流行的脚本语言)的Web应用。 ●对每章末尾的习题集进行了更新和扩充。 ●提供了一个辅助网站(http://www.aw.com/elmasri),其中包括可以装载到各种类型关系数据库中的数据,以便学生更好地进行实验题。 ●提供了一个简单的关系代数和关系演算解释程序。 ●每章末尾的实验题(第3章~第12章)涵盖了该章的主题,这些主题是与本书辅助网站上的数据库相关联的;这些实验题一开始是介绍性的,在后续的章节中则将引入新的资料对其进行扩展。 ●对补充资料进行了重要的修订,包括为教师和学生而准备的一组资料,例如PowerPoint幻灯片和书中的图表,以及带有答案的教师指导手册。 ■与第4版的主要区别 第5版对全书内容的组织结构改动较少,主要改动集中于对单独某一章的改进上。主要改动如下: ●增加了新的实验题,并对每章(第一部分到第三部分)末尾的练习题做了改进。 ●给出了说明规范化和数据库设计算法的新示例(第10章和第11章)。 ●给出了一种新设计,这种设计增强了书中插图的视觉效果,并对各种属性和实体类型使用了特殊字体,从而增强了可读性和可理解性。 ■第5版的内容 第一部分描述了为更好地掌握数据库设计与实现所需的基本概念,以及数据库系统中用到的概念建模技术。第1章和第2章介绍了数据库、数据库的典型用户以及DBMS(数据库管理系统)的概念、术语和体系结构。第3章介绍了实体—联系(Entity-Relationship, ER)模型和ER图的概念,并用它来说明概念数据库设计。第4章重点讨论数据抽象和语义数据建模的概念,并且扩展ER模型以便把这些概念融入到模型中,从而产生增强的实体—联系(Enhanced ER, EER)数据模型和EER图。第4章提出的概念包括子类、特化、泛化和并类型(类别)。在第3章和第4章中还介绍了UML类图表示法。 第二部分描述了关系数据模型和关系型DBMS。第5章描述了基本关系模型、完整性约束和更新操作;第6章描述了关系代数操作,并介绍了关系演算;第7章讨论了通过ER到关系的映射和EER到关系的映射进行关系数据库设计;第8章详细介绍了SQL语言,包括SQL标准,大多数关系型系统中都实现了这一标准;第9章介绍了有关SQL程序设计的主题,如SQLJ、JDBC和SQL/CLI。 第三部分讨论了一些与数据库设计有关的主题。第10章和第11章涵盖了通过规范化进行关系数据库设计而开发的形式化体系、理论和算法。这些内容包括函数依赖和其他类型的依赖,以及各种关系范式等;第10章对规范化提供了循序渐进的直观的讲解;第11章则给出了带有示例的关系设计算法,并定义了一些其他类型的依赖,如多值依赖和连接依赖等;第12章概要介绍了使用UML完成中型和大型应用数据库设计过程中的各个阶段。 第四部分从描述数据库系统中使用的物理文件结构和存取方法开始。第13章描述了磁盘上组织记录文件的主要方法,包括静态和动态的散列技术;第14章描述了文件的索引技术,包括B树和B+树数据结构和网格文件;第15章介绍了查询处理与优化的基本知识;第16章讨论了物理数据库的设计与调优。 附录A给出了展示基本的ER或EER模式时还可选用的其他一些图示表示法。如果教师认为必要,可以用这些表示法替代书中所用的表示法。附录B给出了关于磁盘的一些重要的物理参数。附录C概述了QBE图形查询语言。附录D和附录E(在本书的辅助网站http://www.aw.com/elmasris 中也可找到)讨论了基于分层和网状数据模型的遗留数据库系统。这些已经使用了30多年的数据库系统是现今许多商业数据库应用和事务处理系统的基础,要完全取代它们还需要数十年。我们认为,对于学习数据库管理的学生来说,了解这些存在已久的方法也是很重要的。 ■如何使用本书 讲授数据库课程有许多种不同的方式。本书的第一部分到第四部分中的各章可用于讲授数据库系统的导论课程,各位教师可以按照本书给出的顺序,也可以按照自己喜欢的顺序组织讲授。根据课程侧重点的不同,教师可以跳过那些选择性的章节,也可以添加书中其余部分的章节以充实授课内容。在每章开篇的最后列出了对某个特定的主题不需要详细讨论的情况下可以跳过的小节。我们建议作为数据库导论课程的教材,可以选用第1章到第14章的内容,并根据学生的背景和需求,从本书中的其他章节选择一些内容添加进来。如果要强调系统实现技术,那么可以包括本书第四部分和本书姊妹篇《数据库系统基础:高级篇》的第一部分的内容。 第3章和第4章涵盖了如何使用ER模型和EER模型进行概念建模,这部分内容对于较好地从概念上理解数据库是很重要的。但是,这两章内容可以有选择地讲授,或者在课程的后期讲授,如果课程的重点是数据库管理系统(DBMS)的实现,甚至可以跳过这两章。第13章和第14章介绍的是文件组织和索引,这两章内容同样可以在课程的前期或后期讲授,如果课程的重点是数据库模型和语言,也可以跳过这两章。对于学习过文件组织课程的学生,可以把这几章的部分内容作为课后阅读材料,或者布置一些练习题来复习这些概念。 一个有完整生命周期的数据库设计与实现的项目,要涵盖概念设计(第3章和第4章)、数据模型映射(第7章)、规范化(第10章)和SQL实现(第9章)。同时还需要有关特定的程序设计语言和RDBMS的附加文档。 本书在编写时就考虑到了其主题可以按不同顺序进行讲授。下图展示了各章之间的主要依赖关系 。由图可知,在前面引导性的两章之后,可以从多个不同的主题开始讲授。这个图可能看起来有些复杂,但它显现了非常重要的一点是,如果按照如图所示的顺序进行讲授,章节间的依赖关系就不会丢失。如果教师想以自己选择的顺序来讲授课程,那么可以将此图作为参考。 如果将本书作为一个学期课程的教材,可以将某些章节留作课外阅读资料。第四部分、《数据库系统基础:高级篇》的第三部分和第四部分可以考虑作为这样的阅读资料。如果将本书作为上、下两个学期的教材,第一学期的课程“数据库设计/系统导论”,面向大二、大三或大四的学生,可以涵盖第1章~第14章的大部分内容。第二学期的课程“数据库设计与实现技术”,面向大四学生或一年级研究生,则可涵盖《数据库系统基础:高级篇》中的内容。在以上两个学期中可以有选择地选用《数据库系统基础:高级篇》第三部分和第四部分中的某些章节。除本书之外,如果学生所在学院还有其他介绍DBMS的资料,也可以作为本书的附加资料进行学习。 ■补充资料 本书的所有使用者均可获得辅助资料。 ●在网站http://www.aw.com/cssupport上提供了PowerPoint讲稿和图。 ●在本书辅助网站(http://www.aw.com/elmasri)上提供了第5版新增的实验手册。实验手册包括流行的数据建模工具、关系代数和关系演算解释程序,以及本书中使用的两个通用数据库管理系统实现的示例。本书每章末尾的实验题也与实验手册相关。 ●得到确认的教师可以获得习题答案。请访问Addison-Wesley 的教师资源中心(http://www.aw.com/irc)、联系当地的Addison-Wesley销售代表或者发送电子邮件到computing@aw.com以获取如何获得习题答案的信息。 ■致谢 非常荣幸能够向这么多人致谢,感谢他们对本书的帮助与贡献。首先要感谢本书的编缉Matt Goldstein及Katherine Harutunian。特别要感谢第5版的首席编辑Matt Goldstein所付出的努力及帮助。我们还要感谢Addison-Wesley的那些为第5版做出贡献的人们:Michelle Brown、Gillian Hall、Patty Mahtani、Maite Suarez-Rivas、Bethany Tidd和Joyce Cosentino Wells。我们感谢Gillian Hall完成了本书的内部设计,包括版式、字体和艺术设计方面非常细致的工作,正是她周全的考虑,我们才有了如此美观的书。 我们感谢为本书作出贡献的审稿人: Hani Abu-Salem,迪保罗大学 Jamal R. Alsabbagh, 大河谷州立大学 Ramzi Bualuan,圣母大学 Soon Chung,赖特州立大学 Sumali Conlon,密西西比大学 Hasan Davulcu,亚利桑那州立大学 James Geller,新泽西理工学院 Le Gruenwald,俄克拉何马大学 Latifur Khan,得克萨斯大学达拉斯分校 Herman Lam,佛罗里达大学 Byung S.Lee,佛蒙特大学 Donald Sanderson,东田纳西州立大学 Jamil Saquer,西南密苏里州立大学 Costas Tsatsoulis,堪萨斯大学 Jack C. Wileden,马萨诸塞大学阿默斯特分校 我们感谢Raj Sunderraman与我们一起完成了本书的实验部分并设计了实验题。旧金山大学的Salman Azar也贡献了部分习题。 Sham Navathe要向他佐治亚理工学院的学生们致谢:Saurav Sahay、Liora Sahar、Fariborz Farahmand、Nalini Polavarapu、Wanxia Xie、Ying Liu以及Gaurav Bhatia。Ed Omiecinski也曾提供了有价值的建议和修正。 我们还要再次感谢曾经审阅本书以及为本书前几版做出过贡献的人们。 ●第1版。Alan Apt(编缉)、Don Batory、Scott Downing、Dennis Heimbinger、Julia Hodges、Yannis Ioannidis、Jim Larson、Dennis McLeod、Per-Ake Larson、Rahul Patel、Nicholas Roussopoulos、David Stemple、Michael Stonebraker、Frank Tompa和Kyu-Young Whang。 ●第2版。Dan Joraanstad(编缉)、Rafi Ahmed、Antonio Albano、David Beech、Jose Blakeley、Panos Chrysanthis、Suzanne Dietrich、Vic Ghorpadey、Goets Graefe、Eric Hanson、Junguk L.Kim、Roger King、Vram Kouramajian、Vijay Kumar、John Lowther、Sanjay Manchanda、Toshimi Minoura、Inderpal Mumick、Ed Omiecinski、Girish Pathak、Raghu Ramakrishnan、Ed Robertson、Eugene Sheng、David Stotts、Marianne Winslett以及Stan Zdonick。 ●第3版。Maite Suarez-Rivas和Katherine Harutunian(编缉)、Suzanne Dietrich、Ed Omiecinski、Rafi Ahmed、Francois Bancilhon、Jose Blakeley、Rick Cattell、Ann Chervenak、David W.Embley、Henry A. Etlinger、Leonidas Fegaras、Dan Forsyth、Farshad Fotouhi、Michael Franklin、Sreejith Gopinath、Goetz Craefe、Richard Hull、Sushil Jajodia、Ramesh K. Karne、Harish Kotbagi、Vijay Kumar、Tarcisio Lima、Ramon A. Mata-Toledo、Jack McCaw、Dennis McLeod、Rokia Missaoui、Magdi Morsi、M.Narayanaswamy、Carlos Ordonez、Joan Peckham、Betty Salzberg、Ming-Chien Shan、Junping Sun、Rajshekhar Sunderraman、Aravindan Veerasamy以及Emilia E.Villareal。 ●第4版。Maite Suarez-Rivas、Katherine Harutunian、Daniel Rausch以及Juliet Silveri(编缉);、Phil Bernhard、Zhengxin Chen、Jan Chomicki、Hakan Ferhatosmanoglu、Len Fisk、William Hankley、Ali R.Hurson、Vijay Kumar、Peretz Shoval、Jason T.L. Wang(审稿人);;Ed Omiecinski(协助完成了第27章);得克萨斯大学阿灵顿分校的贡献者有Hyoil Han、Babak Hojabri、Jack Fu、Charley Li、Ande Swathi以及Steven Wu;佐治亚理工学院的贡献者有Dan Forsythe、Weimin Feng、Angshuman Guin、Abrar Ul-Haque、Bin Liu、Ying Liu、Wanxia Xie以及Waigen Yee。 最后,我们真切地感谢我们的家人所给予的支持、鼓励和耐心。 R.E. S.B.N.
24.45MB
现代控制工程(第五版, 中文版)-Katsuhiko Ogata著, 卢伯英、佟明安译
2019-04-14《现代控制工程(第5版)(英文版)》为自动控制系统的经典教材,详细介绍了连续控制系统(包括电气系统、机械系统、流体动力系统和热力系统)的数学模型建模方法,动态系统的瞬态和稳态分析方法,根轨迹分析和设计方法,频率域的分析和设计方法,以及pid控制器和变形pid控制器的设计方法;同时还比较详细地介绍了现代控制理论中的核心内容,状态空间分析和设计方法。最后还简要地介绍了20世纪80年代至90年代发展起来的称为“后现代控制理论”的鲁棒控制系统。全书自始至终,贯穿了用matlab工具分析和设计各类控制系统问题。《现代控制工程(第5版)(英文版)》可作为高等学校工科(电气、机械、航空航天、化工等)高年级学生自动控制系统课程的教材,也可供与自动控制系统方面的技术相关的教师、研究生、科研和工程技术人员参考。本书为由Katsuhiko Ogata所著的自控原理经典教材,最新版本第五版的中文译本。
-
下载
智能优化算法-源程序Matlab
智能优化算法-源程序Matlab
-
下载
Linux应急响应——SSH暴力破解+crontab隐藏后门——事件复现(含靶场环境)下载地址.txt
Linux应急响应——SSH暴力破解+crontab隐藏后门——事件复现(含靶场环境)下载地址.txt
-
下载
20210421-头豹研究院-2021年中国航空材料行业概览.pdf
20210421-头豹研究院-2021年中国航空材料行业概览.pdf
-
下载
轻量级屏幕录像软件 4Videosoft Screen Capture 1.1.10.rar
轻量级屏幕录像软件 4Videosoft Screen Capture 1.1.10.rar
-
下载
20210420-国元证券-芒果超媒-300413-首次覆盖报告:特色“芒果模式”,_新阶段新看点.pdf
20210420-国元证券-芒果超媒-300413-首次覆盖报告:特色“芒果模式”,_新阶段新看点.pdf
-
下载
react-counter-app-源码
react-counter-app-源码
-
下载
FDC1004电容式人体接近检测系统,附原理图/PCB/固件-电路方案
FDC1004电容式人体接近检测系统,附原理图/PCB/固件-电路方案
-
下载
绝对值编码器简介.doc
绝对值编码器简介.doc
-
下载
BY25Q128ASSIG.PDF
BY25Q128ASSIG.PDF
-
下载
数据分析导论PPT及相关文档(含python代码)
数据分析导论PPT及相关文档(含python代码)
