该版本提供了下册详细目录可以快速查阅(当然已经提供详细书签) 基本信息 原书名: 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简介 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 一个简单的剪贴板查看器
2022-09-08 10:11:20 47.16MB Windows 程序设计 第5版 上、下册
1
这本书的经典就不用多说了,我觉得写的很好,特别是写体绘制的那部分讲的非常易懂,自己手动添加的书签,花了好长时间,要分比较高,不喜勿下
2022-09-01 15:36:23 3.02MB GPU 编程,Cg
1
CruiseYoung提供的带有详细书签的电子书籍目录 http://blog.csdn.net/fksec/article/details/7888251 Android移动应用开发从入门到精通 基本信息 原书名: Android Wireless Application Development 原出版社: Addison-Wesley Professional 作者: (美)Shane Conder    Lauren Darcey 译者: 张魏 李卉 出版社:人民邮电出版社 ISBN:9787115230195 上架时间:2010-7-8 出版日期:2010 年7月 开本:16开 页码:470 版次:1-1 编辑推荐   本书提供Android开发从入门到进阶的全程指导,囊括详尽的开发实践技术和前瞻的市场应用技巧! 内容简介   本书涵盖了android开发从概念、技术到市场推广应用的全部话题,内容包括:android概览、android应用程序设计精髓、android用户界面设计精髓、常用android api、更多android应用程序设计原则、对外发布你的android应用程序和附录等7个部分。附录还包含了android开发常用工具(如模拟器、ddms、调试桥和sqlite等)的使用指南。   本书不仅适合android应用程序开发人员阅读,还能为qa测试人员提供指导。另外本书还可以帮助项目经理更好地管理项目进程和项目团队,帮助市场推广人员更好地把握市场、创造令人瞩目的销售业绩。 作译者   Shane Conder拥有丰富的开发经验,在过去的10年中,他把主要精力集中在移动和嵌入式开发领域,迄今已设计并开发了基于BREW、J2ME、Windows Mobile和Android的诸多商业软件。Shane撰写了大量关于移动通信行业和评估移动开发平台的文章,这些文章发表在他的个人技术博客上,在领域内受到了广泛的关注。Shane获得了加州大学授予的计算机科学学士学位。   Lauren Darcey是一家专注于移动开发的小软件公司的技术主管。拥有20年专业软件产品研发经验的Lauren,被公认为企业架构和商业级移动应用开发的权威.Lauren获得了加州大学圣克鲁兹分校授予的计算机学士学位. 目录 封面 -20 封底 -19 扉页 -18 版权 -17 内容提要 -16 作者简介 -15 致谢 -15 前言 -14 目录 -10 第一部分 Android概览 1 第1章 Android简介 2 1.1 移动软件开发简史 2 1.1.1 遥想当年 2 1.1.2 “砖头” 3 1.1.3 无线应用协议(WAP) 4 1.1.4 商用移动平台 6 1.2 开放手机联盟(OHA) 8 1.2.1 无线Google 8 1.2.2 开放手机联盟成立 8 1.2.3 制造商:设计Android手机 9 1.2.4 内容提供商:开发Android应用程序 9 1.2.5 移动操作系统:传播Android体验 9 1.2.6 充分发挥Android的优势 10 1.3 Android平台的不同之处 10 1.3.1 Android:下一代平台 10 1.3.2 免费开放源代码 11 1.3.3 熟悉和廉价的开发工具 11 1.3.4 合理的开发人员学习曲线 12 1.3.5 强大的应用程序开发支持 12 1.3.6 丰富、安全的应用集成 12 1.3.7 无障碍发布 13 1.3.8 为应用程序提供的“自由市场” 13 1.3.9 新生并逐渐成长的平台 14 1.4 Android平台 14 1.4.1 Android的基本体系结构 14 1.4.2 安全与许可权限 16 1.4.3 开发Android应用程序 17 小结 18 参考资料和更多信息 19 第2章 你的Android开发环境 20 2.1 配置你的开发环境 20 2.1.1 支持的操作系统 20 2.1.2 安装Java开发包(JDK) 20 2.1.3 安装Eclipse开发环境 21 2.1.4 其他开发环境 22 2.1.5 安装Android软件开发包(SDK) 22 2.1.6 安装与配置Android Eclipse插件(ADT) 23 2.1.7 ADT安装释疑 25 2.1.8 升级Android SDK 25 2.1.9 Android SDK的问题 25 2.1.10 配置Android编译硬件 26 2.1.11 配置操作系统以适应设备编译 26 2.1.12 本书使用的开发环境 27 2.2 探索Android SDK 27 2.2.1 Android SDK许可协议 27 2.2.2 Android SDK文档 28 2.2.3 Android应用程序框架 29 2.2.4 Android工具 30 2.2.5 Android示例应用程序 33 小结 34 参考资料和更多信息 34 第3章 编写第一个Android应用程序 35 3.1 测试你的开发环境 35 3.1.1 在Eclipse工程中导入Snake应用程序 35 3.1.2 为Snake工程创建Android虚拟设备(AVD) 37 3.1.3 为Snake工程创建运行配置参数 37 3.1.4 在Android模拟器中运行Snake应用程序 39 3.2 构建你的第一个Android应用程序 39 3.2.1 创建和配置新的Android工程 40 3.2.2 Android应用程序的核心文件和目录 40 3.2.3 为新工程创建Android虚拟设备 41 3.2.4 为工程配置运行参数 41 3.2.5 在模拟器中运行Android应用程序 42 3.2.6 在模拟器中调试Android应用程序 43 3.2.7 为Android应用程序添加日志记录 45 3.2.8 为应用程序添加媒体支持 46 3.2.9 为应用程序添加基于位置的服务(LBS) 48 3.2.10 在硬件上调试应用程序 50 小结 51 参考资料和更多信息 51 第二部分 Android应用程序设计精髓 53 第4章 剖析Android应用程序 54 4.1 Android应用程序的生存周期 54 4.1.1 使用Activity执行应用程序任务 54 4.1.2 使用Intent在不同Activity之间实现跳转 55 4.1.3 Android Activity的生存周期 58 4.2 使用Android Manifest文件定义应用程序 62 4.2.1 管理你的应用程序身份 65 4.2.2 注册Activity和其他应用程序组件 65 4.2.3 使用许可权限 67 4.2.4 指定应用程序所需输入设备和软件 69 4.2.5 使用库和Android SDK版本 70 4.2.6 在Manifest文件中定义应用程序的其他配置参数 71 小结 71 第5章 管理应用程序资源 72 5.1 什么是资源 72 5.1.1 应用程序资源的存储方式和位置 72 5.1.2 资源目录的层级结构 72 5.1.3 资源的类型 73 5.1.4 存储不同的资源类型 74 5.1.5 使用程序访问资源 75 5.2 实例:使用Eclipse设置简单资源 75 5.3 使用资源 78 5.3.1 使用String(字符串)资源 79 5.3.2 使用格式化的String资源 80 5.3.3 使用String数组 81 5.3.4 使用颜色 82 5.3.5 使用尺寸 82 5.3.6 使用简单Drawable资源 83 5.3.7 使用图像 84 5.3.8 使用动画 88 5.3.9 使用菜单 89 5.3.10 使用XML文件 90 5.3.11 使用原始文件 91 5.3.12 资源引用 92 5.3.13 使用布局(layout) 93 5.3.14 使用样式(style) 97 5.3.15 使用主题(theme) 100 5.4 引用系统资源 100 5.5 管理各种应用程序配置 101 5.5.1 为本地化和设备配置指定资源 102 5.5.2 在程序中使用适当的配置资源 104 5.5.3 高效地组织应用程序资源 106 小结 107 参考资料和更多信息 108 第三部分 Android用户界面设计精髓 109 第6章 探索用户界面屏幕元素 110 6.1 Android视图、Widget和布局简介 110 6.1.1 Android视图简介 110 6.1.2 Android Widget简介 110 6.1.3 Android布局简介 111 6.2 使用TextView显示文本 111 6.2.1 配置布局和尺寸 112 6.2.2 在文本中创建上下文链接 113 6.3 使用EditText和Spinner获取用户文本 114 6.3.1 使用自动补全辅助用户 116 6.3.2 使用输入过滤器约束用户输入 118 6.3.3 使用Spinner Widget的下拉列表约束用户输入 119 6.4 使用按钮、多选框和单选组 121 6.4.1 使用基本按钮 122 6.4.2 使用多选框和Toggle按钮 123 6.4.3 使用RadioGroup和RadioButton 124 6.5 获取用户输入的日期和时间 126 6.6 向用户显示信息 127 6.6.1 使用ProgressBar指示进度 128 6.6.2 使用SeekBar指示和调整进度 130 6.6.3 使用RatingBar指示和调整评分 130 6.6.4 使用Chronometer指示时间推移 131 6.6.5 使用AnalogClock和DigitalClock指示当前时间 133 6.7 为用户提供选项和上下文菜单 133 6.7.1 使用选项菜单 133 6.7.2 使用ContextMenu(上下文菜单) 136 6.8 掌控用户事件 137 6.8.1 监听触摸模式状态改变 138 6.8.2 监听全屏幕上的事件 138 6.8.3 监听长时单击 139 6.8.4 监听手势 140 6.8.5 监听焦点改变 142 6.8.6 监听屏幕旋转 143 6.9 使用样式 143 6.10 使用主题 146 小结 147 第7章 使用布局设计Android用户界面 149 7.1 创建Android用户界面 149 7.1.1 使用XML资源创建布局 149 7.1.2 使用代码创建布局 150 7.2 使用ViewGroup组织用户界面 152 7.3 使用内建的布局类 156 7.3.1 使用AbsoluteLayout 158 7.3.2 使用FrameLayout 159 7.3.3 使用LinearLayout 161 7.3.4 使用RelativeLayout 162 7.3.5 使用TableLayout 165 7.3.6 在屏幕上使用多布局 167 7.4 使用内建的View容器类 167 7.4.1 结合AdapterView使用数据驱动View容器 168 7.4.2 使用TabActivity和TabHost组织视图 171 7.4.3 探索其他视图容器 173 7.5 使用AppWidget显示应用程序视图 175 7.6 成为AppWidget提供者 176 小结 177 第8章 Android绘图与动画 178 8.1 屏幕绘图 178 8.2 使用文字 182 8.2.1 使用默认字体 182 8.2.2 使用自定义字体 183 8.2.3 测量文字所需的屏幕尺寸 184 8.3 使用位图 184 8.3.1 在画布上绘制位图 185 8.3.2 缩放位图 185 8.3.3 使用Matrix变换位图 186 8.4 使用图形 186 8.4.1 用XML资源定义图形 187 8.4.2 使用程序定义图形 187 8.4.3 绘制各种图形 188 8.5 使用动画 193 8.5.1 使用逐帧动画 194 8.5.2 使用补间动画 195 小结 200 第四部分 常用Android API 201 第9章 使用Android数据和存储API 202 9.1 使用应用程序首选项 202 9.1.1 创建私有和共享首选项 203 9.1.2 搜索和读取首选项 203 9.1.3 新增、修改和删除首选项 204 9.1.4 使用Android文件系统查找首选项数据 204 9.2 使用文件和目录 205 9.2.1 探索Android应用程序目录 206 9.2.2 在默认应用程序目录中创建和写入文件 206 9.2.3 在默认应用程序目录中读取文件内容 207 9.2.4 使用Android文件系统操作其他目录和文件 208 9.3 使用SQLite数据库存储结构化数据 209 9.3.1 创建SQLite数据库 210 9.3.2 创建、修改和删除数据库记录 212 9.3.3 在SQLite数据库中执行查询 215 9.3.4 关闭和删除SQLite数据库 220 9.3.5 设计持久数据库 220 9.3.6 向应用程序界面绑定数据 223 9.4 使用Content Provider在应用程序间共享数据 227 9.4.1 为访问图像调整Content Provider 227 9.4.2 探索Android的部分内建Content Provider 232 9.4.3 在Content Provider中修改数据 239 9.5 使用自定义Content Provider扩展你的Android应用程序 241 9.5.1 继承Content Provider 241 9.5.2 定义数据URI 242 9.5.3 定义数据列 242 9.5.4 实现query()、insert()、update()、delete()和getType() 243 9.5.5 更新Manifest文件 248 9.6 使用Live Folder 249 小结 251 参考资料和更多信息 252 第10章 使用Android网络API 253 10.1 访问因特网(HTTP) 253 10.1.1 从Web读取数据 253 10.1.2 使用HttpURLConnection 254 10.1.3 解析从网络获取的XML 255 10.1.4 使用线程访问网络 257 10.1.5 显示从网络资源获取的图像 260 10.1.6 获取Android网络状态 262 10.2 使用WebView浏览Web 263 小结 265 参考资料和更多信息 266 第11章 使用位置服务(LBS)API 267 11.1 使用全球定位服务(GPS) 267 11.1.1 查找你的位置 267 11.1.2 定位你的模拟器 269 11.2 位置地理编码 269 11.3 在地图上标注位置 272 11.3.1 地图标注内容 272 11.3.2 地图标注视图 272 11.3.3 获得调试API Key 274 11.3.4 拖曳地图视图 275 11.3.5 缩放地图视图 276 11.3.6 标记点 277 11.4 位置服务扩展应用 281 小结 282 参考资料和更多信息 282 第12章 使用Android多媒体API 283 12.1 操作静态图像 283 12.1.1 使用摄像头捕捉静态图像 283 12.1.2 分享图像 287 12.1.3 将图像指定为墙纸 288 12.2 使用视频 289 12.2.1 录制视频 289 12.2.2 播放视频 290 12.3 使用音频 291 12.3.1 录制音频 291 12.3.2 播放音频 293 12.3.3 共享音频 294 12.3.4 使用铃音 294 小结 295 第13章 使用Android电话API 296 13.1 使用电话功能包 296 13.1.1 为获取手机状态信息取得许可权限 296 13.1.2 请求获取通话状态 297 13.1.3 请求获取服务信息 299 13.1.4 使用电话号码 299 13.2 使用短消息 300 13.2.1 获得发送和接收短消息的许可权限 301 13.2.2 发送短消息 301 13.2.3 接收短消息 303 13.3 拨打电话 305 小结 307 参考资料和更多信息 307 第14章 通过OpenGL ES使用Android 3D图形 308 14.1 定义OpenGL ES 308 14.2 使用基于OpenGL ES的Android 3D应用程序 309 14.2.1 创建SurfaceView 309 14.2.2 启动OpenGL ES线程 311 14.2.3 初始化EGL 312 14.2.4 初始化GL 314 14.2.5 绘制 315 14.3 绘制3D物体 316 14.3.1 绘制顶点(vertices) 316 14.3.2 为顶点着色 317 14.3.3 绘制更多复杂物体 318 14.3.4 照亮你的场景 320 14.3.5 为对象赋予材质 321 14.4 同Android视图和事件进行交互 323 14.4.1 允许OpenGL线程向应用程序线程发送信息 324 14.4.2 允许应用程序线程向OpenGL线程发送信息 325 14.5 清理OpenGL ES 326 14.6 使用GLSurfaceView类 327 小结 330 参考资料和更多信息 330 第15章 使用Android可选硬件API 331 15.1 使用设备传感器 331 15.2 使用Wi-Fi 334 15.3 监视电池 337 小结 339 第五部分 更多Android应用程序设计原则 341 第16章 使用通知 342 16.1 使用状态栏发布通知 342 16.2 让手机震动 345 16.3 灯光闪烁 346 16.4 发出声响 347 16.5 自定义通知 348 小结 350 第17章 使用服务 351 17.1 创建服务 351 17.2 控制服务 355 17.3 实现远程接口 356 17.4 实现可包装(parcelable)类 358 小结 360 第六部分 对外发布你的Android应用程序 363 第18章 移动软件开发过程 364 18.1 移动开发过程概览 364 18.2 选择一种软件开发方法 364 18.2.1 理解“瀑布模型”的危险 365 18.2.2 认识迭代式开发的价值 365 18.3 整合应用程序需求 366 18.3.1 确定工程需求 366 18.3.2 为移动应用程序开发用例 367 18.3.3 吸纳第三方需求 367 18.3.4 管理手机设备数据库 368 18.4 项目风险评估 370 18.4.1 确定目标手机 370 18.4.2 获取目标手机 371 18.4.3 确定应用程序需求的可行性 372 18.4.4 理解质量保障的风险 372 18.5 编写基本项目文档 373 18.5.1 为质量保障制定测试计划 374 18.5.2 提供第三方所需的文档 374 18.5.3 提供维护和移植所需的文档 374 18.6 实现移动应用程序配置管理系统 374 18.6.1 选择一个源代码控制系统 374 18.6.2 实现一个可用的版本管理系统 375 18.7 设计移动应用程序 375 18.7.1 认识移动设备的局限 375 18.7.2 移动应用程序体系结构探索 376 18.7.3 可扩展和维护设计 376 18.7.4 应用程序交互设计 377 18.8 开发移动应用程序 377 18.9 测试移动应用程序 378 18.10 发布移动应用程序 378 18.10.1 确定目标市场 379 18.10.2 将市场需求引入应用程序需求 379 18.11 支持和维护移动应用程序 379 18.11.1 维护适当的应用程序文档 379 18.11.2 管理服务器的动态更改 379 18.11.3 确定低风险移植机会 380 小结 380 参考资料和更多信息 380 第19章 开发和测试“防弹”Android应用程序 381 19.1 “防弹”移动应用程序设计最佳实践 381 19.1.1 满足移动用户的需求 382 19.1.2 为移动设备设计用户界面 382 19.1.3 设计稳定、灵敏的移动应用程序 384 19.1.4 设计安全的移动应用程序 385 19.1.5 在设计移动应用程序时考虑利益的最大化 385 19.1.6 在Android应用程序设计时使用第三方标准 386 19.1.7 设计便于维护和升级的移动应用程序 386 19.1.8 在应用程序设计中使用Andriod工具 388 19.1.9 避免设计时的愚蠢错误 388 19.2 “防弹”移动应用程序开发最佳实践 388 19.2.1 设计有效的移动开发过程 389 19.2.2 提早和经常地测试应用程序可行性 389 19.2.3 使用代码标准、代码检查和单元测试以提高代码质量 389 19.2.4 处理某单一手机的缺陷 391 19.2.5 在应用程序开发中使用Android工具 392 19.2.6 避免开发时的愚蠢错误 392 19.3 移动应用程序测试最佳实践 392 19.3.1 设计一个应用程序漏洞跟踪系统 392 19.3.2 管理测试环境 393 19.4 确定设备的“洁净”初始状态 394 19.4.1 模仿现实世界的活动 395 19.4.2 尽量全面地进行测试 395 19.4.3 在应用程序测试中使用Android工具 400 19.4.4 避免测试时的愚蠢错误 401 19.4.5 外包测试的责任 401 小结 401 参考资料和更多信息 401 第20章 销售你的Android应用程序 402 20.1 为发布而打包你的应用程序 402 20.1.1 准备封装你的代码 402 20.1.2 准备你的软件包 403 20.1.3 测试软件包的发布版本 406 20.1.4 认证你的Android应用程序 406 20.2 赚钱 406 20.2.1 在Android Market上销售你的应用程序 406 20.2.2 在自己的服务器上销售你的应用程序 411 20.2.3 销售应用程序的其他途径 412 20.2.4 保护你的知识产权 413 20.2.5 让用户付费 413 小结 414 参考资料和更多信息 414 第七部分 附录 415 附录A Android模拟器快速入门 416 A.1 玩转默认模拟器 416 A.2 使用Android虚拟设备管理模拟器配置 418 A.3 列表显示Android目标操作系统 418 A.3.1 创建AVD 419 A.3.2 列表显示所有已知的AVD 424 A.3.3 删除AVD 424 A.3.4 使用其他的AVD命令 425 A.4 使用启动选项控制模拟器行为 425 A.4.1 以命令行的方式配置模拟器启动选项 426 A.4.2 使用Eclipse配置模拟器启动选项 426 A.5 配置模拟器的位置信息 427 A.6 在两个模拟器实例之间拨打电话 427 A.7 在两个模拟器实例之间发送消息 429 A.8 通过控制台与模拟器交互 429 A.8.1 使用控制台模拟来电 429 A.8.2 使用控制台模拟短消息 429 A.8.3 使用控制台发送GPS坐标 430 A.8.4 使用控制台监视网络状态 431 A.8.5 使用控制台操作电源设置 431 A.8.6 使用其他控制台命令 432 A.9 享受模拟器 432 A.10 认识模拟器的局限 433 附录B Android DDMS快速入门 434 B.1 独立或结合Eclipse使用DDMS 434 B.2 熟悉DDMS的关键特性 436 B.3 使用进程 436 B.3.1 向Android应用程序关联调试器 437 B.3.2 监视Android应用程序的线程活动 437 B.3.3 在Android应用程序中触发垃圾回收(GC) 438 B.3.4 监视Android应用程序的堆活动 438 B.3.5 终止Android进程 438 B.4 使用文件浏览器 439 B.4.1 从模拟器或设备上拷贝文件 440 B.4.2 向模拟器或设备拷贝文件 440 B.4.3 删除模拟器或设备上的文件 440 B.5 使用模拟器控制 441 B.5.1 模拟语音来电 441 B.5.2 模拟短消息接收 441 B.5.3 发送位置坐标 442 B.6 使用应用程序日志 442 B.7 在模拟器或目标设备上截屏 443 附录C Android调试桥快速入门 445 C.1 列表显示连接到计算机的设备和模拟器 445 C.2 针对特定设备使用ADB命令 446 C.3 启动和停止ADB服务进程 446 C.3.1 停止ADB服务进程 446 C.3.2 启动和检测ADB服务进程 446 C.4 使用ADB从/向Android应用程序拷贝文件 446 C.4.1 向设备发送文件 447 C.4.2 从设备提取文件 447 C.5 使用ADB安装和卸载Android应用程序 447 C.5.1 使用ADB安装应用程序 447 C.5.2 使用ADB重装应用程序 448 C.5.3 使用ADB卸载应用程序 448 C.6 使用LogCat记录日志 448 C.6.1 显示所有的日志信息 448 C.6.2 更改日志记录模式以包含日期和时间信息 449 C.6.3 过滤日志信息 449 C.6.4 清除日志 450 C.6.5 将日志输出重定向至一个文件 450 C.6.6 访问次级日志 450 C.7 生成Bug报告 451 C.8 发布Shell命令 451 C.8.1 发布单条Shell命令 451 C.8.2 启动和使用一个Shell会话 451 C.8.3 使用ADB Shell启动和终止模拟器 452 C.8.4 使用ADB Shell查看SQLite数据库 452 C.8.5 在ADB Shell中使用Monkey进行应用程序压力测试 452 C.8.6 通过Shell安装和使用自定义二进制文件 455 C.9 其他ADB命令探索 456 附录D SQLite快速入门 457 D.1 探索SQLite的常见任务 457 D.2 使用sqlite3命令行接口 457 D.2.1 启动sqlite3命令行接口并连接数据库 458 D.2.2 探索你的数据库 458 D.2.3 导入和导出数据库 460 D.2.4 在命令行中执行SQL命令 461 D.2.5 窥视SQLite内部 462 D.2.6 使用其他的sqlite3命令 462 D.2.7 认识SQLite的局限 462 D.3 通过实例理解SQLite:学生成绩数据库 463 D.3.1 设计学生成绩数据库的模式 463 D.3.2 结合AUTOINCREMENT创建简单表 464 D.3.3 向表中插入数据 464 D.3.4 使用SELECT查询表数据 465 D.3.5 创建具有外键和复合主键的表 466 D.3.6 修改和更新表数据 467 D.3.7 使用JOIN进行多表查询 467 D.3.8 使用计算列 468 D.3.9 对计算列使用子查询 469 D.3.10 删除表 470 前言   在以开放手机联盟(Open Handset Alliance,OHA)和Google公司为先驱的开拓下,Android作为一个热门、新潮、免费、开源的移动平台在无线通信领域引起了不小的波澜。而你手中的这本书恰恰能够为软件开发团队提供设计、开发、测试、调试和发布Android应用程序的一系列指导。如果你是一位资深的移动开发人员,那么书中一些小提示和小技巧可以帮助你更好地利用Android的某些独特功能,从而更加顺利地完成整个开发过程。相反,如果你刚刚踏入移动开发领域,那么本书将为你提供所有需要掌握的知识和技能,从而帮助你平稳而顺利地从传统软件开发过渡到移动开发——尤其是,过渡到其中最富有前景的新平台:Android。   此书为谁而写   本书涵盖了作者数年来在移动开发领域所积累的经验,以及成功进行移动项目开发所需的全部概念和实用技术,包括移动开发过程与传统软件开发的区别,还包括帮助你节约宝贵时间和规避隐患的技巧。不管你的项目有多大规模,本书都能为你提供帮助。   本书主要针对以下3类人群。   (1)想要学习编写专业Android应用程序的软件开发人员   本书主体部分主要针对有Java程序开发经验而无需具有移动开发经验的程序员。但是,具有丰富移动开发经验的开发人员更能够从本书中学习到如何充分运用和发挥Android的优势,同时了解它与市面上其他移动开发技术的区别。   (2)担负Android程序测试任务的QA人员   无论QA工程师采用的是“黑盒”还是“白盒”的测试方法,这本书对于他们而言都具有非凡的价值。我们花了几章的篇幅来讲解有关QA的问题,例如:制订稳健的测试计划,为应用程序开发漏洞跟踪系统,管理手机设备以及利用Android工具进行完整测试的方法。   (3)筹建和管理Android开发团队的项目经理   本书可以帮助项目经理完成从筹建开发团队、聘用开发人员到执行Android项目的整个过程。我们探讨了有关项目风险管理和顺利进行项目开发的有关话题。   这本书不仅适用于软件开发人员,而且适用于一个正在寻找潜在的垂直市场应用软件(Vertical Market Application)的公司,一个正在构思某个“新奇酷”手机软件的企业家,抑或一个正在探寻新手机乐趣的发烧友。同时,这本书也可以帮助某些正在为某个特定目的(例如可行性分析)而对Android进行评估的企业,或者任何拥有Android手机并且乐于创造新的移动应用软件的人。   书中解答的问题   本书为你解答了以下问题。   ①什么是Android?   ②Android和其他移动技术有什么不同?开发人员如何利用Android的优势?   ③开发人员如何使用针对Java的Eclipse开发环境来开发和调试模拟器和真机上的Android应用程序?   ④Android应用程序是怎样架构起来的?   ⑤如何为移动应用程序——尤其是为Android——设计强大的用户界面?   ⑥Android SDK提供哪些功能?开发人员如何使用它们?   ⑦移动应用开发过程同传统桌面应用程序开发有什么区别? .  ⑧对于Android开发而言,什么样的开发策略是最佳的?   ⑨项目经理、开发人员和测试人员在策划、开发和测试移动应用程序时应该关注什么?   ⑩开发团队如何设计能够供发布使用的“防弹(bulletproof)”的Android应用程序?   11开发团队如何封装Android应用程序以供部署(deployment)?   Q9开发团队如何利用Android应用程序谋求利润?   本书的结构   本书分为7个部分。前5个部分是开发人员感兴趣的主要问题,第6和第7部分则为项目经理、QA人员和开发人员提供了更多有用的信息。   接下来对本书的各个部分作一个简单的介绍。   (1)第1部分:Android概览   第1部分简单介绍了Android,阐释了它和其他移动平台的区别。你将会熟悉Android SDK和相关工具,了解如何搭建开发环境,以及怎样在模拟器及手机上编写和运行第一个Android应用程序。   (2)第2部分:Android应用程序设计精髓   第2部分介绍了设计一个Android应用程序所需要了解的原则。你将学习到如何构建Android应用程序,怎样在你的项目中包含诸如字符串、图形及其他用户界面组件等资源的方法。   (3)第3部分:Android用户界面设计精髓   第3部分对在Android中应该怎样设计用户界面进行了更深入的探讨。你将学习到核心用户界面元素——视图的有关知识,以及Android SDK提供的基本的屏幕绘制和动画功能。   (4)第4部分:常用Android API   第4部分由一系列章节组成,每一章都对Android SDK中最重要的API进行了更深入的讲解,例如数据和存储API(包括文件和数据库使用,以及内容提供者接口)、连网、电话、定位服务(LBS)、多媒体和3D图形API,以及可选硬件API。   (5)第5部分:更多Android应用程序设计原则   第5部分涵盖了更多的Android应用程序设计原则,例如通知和服务。   (6)第6部分:对外发布你的Android应用程序   第6部分涵盖了移动软件开发的全过程,还为项目经理、软件开发人员和QA人员提供了不少小提示和小技巧。   (7)第7部分:附录   第7部分针对Android开发工具提供了几个有用的快速入门引导:模拟器、ADB和DDMS,以及SQLite指南。   本书使用的Android开发环境   本书所有Android应用程序代码均在如下环境中编写:   ·Windows Vista SP1和Mac OS X 10.5.6   ·Eclipse Java IDE Version 3.4(Ganymede)   ·Eclipse JDT插件和Web Tools Platform(WTP)   ·Sun Java SE开发工具包(JDK)6 Update 10   ·Android SDK Version1.1R1和Version1.5 R1   Note   本书大部分示例程序均同时在Fedora 8和Windows XP平台下使用Android SDK测试通过。   可用的补充材料   书中的源代码在随书提供的光盘和原出版社网站(www.informit.com/title/9780321627094)上均可找到。   作者Lauren Darcey和Shane Conder在关于本书的博客(http://androidbook.blogspot.com)中提供了有关Android的最新信息。   获取更多信息   读者在互联网上可以找到一个活跃而有用的Android开发人员社区。另外,下面的一系列网站可供Android开发人员获取更多资源:   ·Android Developer Website——Android SDK和开发人员参考网站:   http://developer.android.com/   ·Open Handset Alliance——供Android制造商、运营商和开发人员:   www.openhandsetalliance.com/   ·Android Market——购买和销售Android应用程序:   www.android.com/market/   ·anddev.org——一个Android开发人员论坛:   www.anddev.org   ·Google Team Android Apps——开源Android应用程序:   http://apps-for-android.googlecode.com/   ·Fierce Developer——为无线开发人员提供技术周刊:   www.fiercedeveloper.com/   ·Fierce Wireless一每日提供无线通信业的相关文章:   www.fiercewireless.com/   ·Fierce Mobile Content——每日提供移动应用内容和市场有关的文章:   www.fiercemobilecontent.com/   ·Wireless Developer Network——提供无线领域的每日新闻:   www.wirelessdevnet.com/   ·Developer.com——面向开发者提供移动技术文章的网站:   www.developer.com/   本书约定   本书遵循如下约定:   ①用于指示代码接续,即该行代码应与上行代码保持在同一行。出现该符号的代码行略去了缩进。   ②代码和程序术语使用等宽(monospace)字体表示。   同时,本书提供如下类型的信息框:   Tip   “Tip”提供同当前内容相关的有用信息和提示。   Note   “Note”为读者补充感兴趣的相关信息。   Caution   “Caution”提供可能遇到的陷阱的有关信息, 以及避免它们的方法。   Android SDK1.5新特性   这一特殊的信息框用于展现Android SDK 1.5有趣的新特性。   联系作者   作者Lauren和Shane欢迎你提出批评意见。如果你对本书的内容存在任何疑问,或有任何反馈信息,请访问本书博客:http://androidbook.blogspot.com或发送电子邮件至:androidwirelessdev@gmail.com。   
2022-08-25 19:12:00 44.78MB Android 移动应用 开发入门 Android精通
1
CruiseYoung提供的带有详细书签的电子书籍目录 http://blog.csdn.net/fksec/article/details/7888251 SQL Server 2008宝典 共2部分:此为第002部分 基本信息 作者: 刘智勇    刘径舟    丛书名: 宝典丛书 出版社:电子工业出版社 ISBN:9787121102820 上架时间:2010-3-27 出版日期:2010 年3月 开本:16开 页码:802 版次:1-1 内容简介   《SQL Server 2008宝典》全面介绍了SQL Server 2008各方面的知识,全书由6部分组成:第1部分为数据库的基础篇,介绍了数据库的类型、概念、对象、SQL语言等;第2部分为SQLServer 2008的准备篇,介绍了SQL Server 2008的功能、特性、各版本的比较、安装方法、SQL Server 2008的服务、客户端的工具等;第3部分为SQL Server 2008的基本操作篇,介绍如何管理与配置SQL Server 2008服务器、如何创建数据库和数据表、如何对数据库里的数据进行操作;第4部分为数据库管理篇,介绍如何使用T-SQL程序对数据进行复杂的运算,以及如何使用视图、存储过程、触发器、索引、用户定义数据类型、用户定义函数、全文索引、游标、事务和锁、统计信息和同义词等方面的知识;第5部分为SQL Server高级技术,介绍如何进行数据库备份与恢复、如何规划数据库、如何保证数据库的安全、复制与发布、自动化管理、如何使用性能工具优化数据库、数据的导入导出、SQL Server邮件的使用、Analysis Services、Reporting Services、SQL Server与XML的应用,以及如何使用客户端和应用程序访问SQL Server;第6部分为SQL Server 2008改进篇,介绍了SQL Server 2008相对于之前版本进行了哪些方面的重大改进和优化,进一步帮助读者了解SQL Server 2008更多的独有特性。   《SQL Server 2008宝典》适合SQL Server 2008的初学者学习,也适合子数据库的管理人员和开发人员阅读和参考。 编辑推荐   《SQL Server 2008宝典》:实例丰富,内容充实。书中针对每一个知识点列举了大量实例来说明该功能如何实现,全书共有超过500个精彩实例。   讲解通俗,步骤详细。通过通俗易懂的语言讲解SQL Server 2008的各个强大功能,并配以插图讲解和详细的步骤说明,帮助读者快速掌握实用技能。   由浅入深,难易穿插。《SQL Server 2008宝典》面向入门级和提高级两类读者,每个知识点都采用由浅入深的讲解方式,并穿插介绍重点和难点。   提供源码,方便学习。书中涉及到的T—SQL程序在网站上提供下载,打开相应SQL文件即可直接执行其中的代码。   SQL Server 2008是一个能用于大型联机事务处理、数据仓库和电子商务等方面应用的数据库平台,也是一个能用于数据集成、数据分析和报表解决方案的商业智能平台,为用户提供了强大、集成、便于使用的工具,使系统管理员与普通用户能更方便、更快捷地管理数据库或设计、开发应用程序。 目录 封面 -33 封底 803 扉页 -32 版权 -31 前言 -30 目录 -26 第1部分 基础篇 1 第1章 认识数据库 2 1.1 数据库的类型 2 1.1.1 结构型数据库 2 1.1.2 网络型数据库 2 1.1.3 关系型数据库 2 1.1.4 面向对象型数据库 3 1.2 数据库的基本概念 3 1.2.1 数据 3 1.2.2 数据库 3 1.2.3 数据库管理系统 3 1.2.4 数据库系统 3 1.3 常见的数据库对象 3 1.3.1 表与记录 4 1.3.2 主键与外键 4 1.3.3 索引 4 1.3.4 约束 5 1.3.5 视图 5 1.3.6 关系图 5 1.3.7 默认值 5 1.3.8 规则 5 1.3.9 存储过程 6 1.3.10 触发器 6 1.3.11 用户和角色 6 1.4 数据库管理系统的基本功能 6 1.4.1 定义数据 6 1.4.2 处理数据 6 1.4.3 保证数据安全 6 1.4.4 备份和恢复数据 6 1.5 SQL语言简介 6 1.5.1 SQL语言的历史 7 1.5.2 SQL语言的优点 7 1.5.3 SQL语言分类 7 1.6 数据库系统的用户 8 1.7 小结 8 第2章 SQL Server 2008简介及安装 9 2.1 SQL Server 2008简介 9 2.1.1 SQL Server 2008数据平台 9 2.1.2 使用SQL Server 2008能获得的好处 10 2.2 SQL Server 2008新特性 10 2.3 SQL Server 2008新功能 11 2.3.1 可信任性 11 2.3.2 开发和管理生产效率 12 2.3.3 商业智能 13 2.4 SQL Server 2008各版本比较 15 2.4.1 可扩展性 15 2.4.2 高可用性 15 2.4.3 安全性 16 2.4.4 复制 16 2.4.5 可管理性 16 2.4.6 管理工具 16 2.4.7 开发工具 17 2.4.8 可编程性 17 2.4.9 空间和位置服务 17 2.4.10 Integration Services 18 2.4.11 数据仓库创建 18 2.4.12 数据仓库规模和性能 18 2.4.13 多维分析 19 2.4.14 数据挖掘 19 2.4.15 报表 19 2.5 安装SQL Server 2008的系统要求 20 2.5.1 CPU与内存要求 20 2.5.2 硬盘空间要求 20 2.5.3 操作系统要求 20 2.5.4 其他要求 22 2.6 安装SQL Server 2008 23 2.7 升级到SQL Server 2008 33 2.7.1 升级之前要考虑的问题 33 2.7.2 升级注意事项 34 2.7.3 使用SQL Server 2008升级顾问 35 2.7.4 升级到SQL Server 2008 38 2.8 小结 40 第2部分 准备篇 41 第3章 初识SQL Server 2008 42 3.1 服务器上的后台服务 42 3.1.1 SQL Server服务 43 3.1.2 SQL Server Active Directory Helper服务 43 3.1.3 SQL Server Agent服务 43 3.1.4 SQL Server Analysis Services服务 43 3.1.5 SQL Server Browser服务 44 3.1.6 SQL Server FullText Search服务 44 3.1.7 SQL Server Integration Services服务 44 3.1.8 SQL Server Reporting Services服务 44 3.1.9 SQL Server VSS Writer服务 45 3.2 客户端上的管理工具 45 3.2.1 SQL Server Management Studio 45 3.2.2 Reporting Services配置 45 3.2.3 SQL Server Configuration Manager 47 3.2.4 SQL Server错误和使用情况报告 48 3.2.5 SQL Server Profiler 49 3.2.6 数据库引擎优化顾问 50 3.2.7 Visual Studio 2008 52 3.2.8 SQL Server Business Intelligence Development Studio 52 3.3 SQL Server Management Studio 52 3.3.1 认识SQL Server Management Studio的界面 53 3.3.2 更改SQL Server Management Studio的界面布局 53 3.3.3 使用查询编辑器 53 3.3.4 利用编辑器自动生成查询语句 54 3.3.5 脱机编写SQL语句后连接到服务器 55 3.3.6 全屏显示查询编辑器 55 3.3.7 使用模板编写SQL语句 56 3.3.8 创建自定义模板 57 3.3.9 使用项目脚本和解决方案 58 3.4 示例数据库 59 3.4.1 SQL Server 2008示例数据库 59 3.4.2 本书示例数据库 61 3.5 小结 61 第3部分 基础操作篇 63 第4章 数据库服务器管理 64 4.1 数据库服务器的工作模式 64 4.1.1 C/S模式 64 4.1.2 B/S模式 65 4.2 连接与断开数据库服务器 65 4.2.1 用SQL Server Management Studio连接服务器 65 4.2.2 在已注册的服务器里添加服务器组与服务器 68 4.2.3 使用对象资源管理器连接服务器 72 4.2.4 通过服务器注册连接到服务器 73 4.2.5 断开与数据库服务器的连接 73 4.3 使用配置管理器配置SQL Server服务 74 4.3.1 启动/停止/暂停/重新启动服务 74 4.3.2 配置服务的启动模式 76 4.3.3 更改登录身份 77 4.3.4 SQL Server 2008使用的网络协议 78 4.3.5 为SQL Server 2008配置共享内存协议 79 4.3.6 为SQL Server 2008配置管道协议 80 4.3.7 为SQL Server 2008配置TCP/IP协议 84 4.3.8 配置客户端网络协议的使用顺序 86 4.3.9 隐藏实例 87 4.4 配置远程SQL Server服务 88 4.4.1 配置远程SQL Server服务的权限 89 4.4.2 用SQL Server Management Studio停止和启动远程SQL Server服务 89 4.4.3 通过已注册的服务器启动远程SQL Server服务 91 4.4.4 使用SQL Server配置管理器远程管理SQL Server服务 91 4.5 配置SQL Server 2008服务器 92 4.5.1 服务器属性的常规设置 92 4.5.2 服务器属性的内存设置 93 4.5.3 服务器属性的处理器设置 94 4.5.4 服务器属性的安全性设置 96 4.5.5 服务器属性的连接设置 97 4.5.6 服务器属性的数据库设置 98 4.5.7 服务器属性的高级选项设置 99 4.5.8 服务器属性的权限设置 100 4.6 通过日志查看服务器的运行情况 101 4.6.1 在事件查看器中查看服务器的运行情况 101 4.6.2 通过日志查看器查看SQL Server日志 102 4.6.3 在LOG文件夹中查看SQL Server错误日志 103 4.7 小结 104 第5章 数据库管理 105 5.1 创建数据库前的准备 105 5.1.1 数据库命名规则 105 5.1.2 创建数据库需要的权限 106 5.1.3 数据库的所有者 106 5.1.4 数据库的上限 106 5.1.5 数据库文件和文件组 106 5.1.6 记录数据库操作的事务日志 106 5.1.7 数据库状态 107 5.2 在SQL Server Management Studio中创建数据库 107 5.3 使用Create database语句创建数据库 113 5.3.1 基本语法 113 5.3.2 T-SQL中的语法约定 114 5.3.3 参数讲解 115 5.3.4 Create Database语句需要注意的功能 116 5.3.5 举例说明 116 5.3.6 使用模板 119 5.4 修改数据库设置 122 5.4.1 使用SQL Server Management Studio修改数据库设置 122 5.4.2 查看数据库的基本信息 123 5.4.3 增加、删除与修改数据库文件 123 5.4.4 修改数据库的所有者 124 5.4.5 设置全文索引 125 5.4.6 增加、删除与修改文件组 126 5.4.7 修改数据库的排序规则 127 5.4.8 修改数据库的兼容性 128 5.4.9 限制用户的访问 128 5.4.10 设置用户及角色对数据库的使用权限 128 5.4.11 修改数据库名称 130 5.5 使用Alter database语句修改数据库 131 5.5.1 基本语法 131 5.5.2 参数说明 131 5.5.3 Alter database语句的注意事项 134 5.5.4 典型案例 134 5.6 分离与附加数据库 136 5.6.1 分离数据库 136 5.6.2 附加数据库 139 5.7 脱机和联机数据库 143 5.7.1 脱机数据库 143 5.7.2 联机数据库 144 5.8 删除数据库 145 5.8.1 在SQL Server Management Studio中删除数据库 145 5.8.2 用Drop database语句删除数据库 146 5.9 收缩数据库 146 5.9.1 自动收缩数据库 147 5.9.2 手动收缩数据库 147 5.9.3 手动收缩数据库文件 149 5.10 编写数据库脚本 151 5.11 小结 153 第6章 数据表管理 154 6.1 数据表简介 154 6.1.1 数据表的分类 155 6.1.2 认识列 155 6.2 数据类型 155 6.2.1 精确数字型 156 6.2.2 近似数字型 157 6.2.3 日期和时间型 157 6.2.4 字符串型 157 6.2.5 Unicode字符串型 158 6.2.6 二进制字符串型 158 6.2.7 其他数据类型 159 6.2.8 用户自定义型 159 6.3 在SQL Server Management Studio中创建表 160 6.3.1 定义数据表的字段和主键 160 6.3.2 设置默认值 162 6.3.3 设置标识列 162 6.3.4 建立表与表之间的关系 163 6.3.5 创建索引 166 6.3.6 创建约束 167 6.3.7 设置数据表所在文件组 169 6.4 用T-SQL语言创建表 170 6.4.1 基本语法 170 6.4.2 参数说明 170 6.4.3 创建新表 175 6.4.4 创建标识字段 176 6.4.5 创建带标识种子和标识增量的标识字段 176 6.4.6 创建非Null字段 176 6.4.7 字段的默认值 177 6.4.8 将创建的表放在文件组中 177 6.4.9 使用Check约束 177 6.4.10 设置字段的排序规则 178 6.4.11 创建外键 178 6.4.12 设置外键的更新规则和删除规则 178 6.4.13 创建Unique约束 179 6.4.14 创建计算列 179 6.4.15 设置数据表的约束 180 6.4.16 Create Table语句的注意事项 180 6.5 在SQL Server Management Studio中修改表 180 6.5.1 修改数据表名 180 6.5.2 插入、移动和删除数据表的字段 181 6.5.3 修改字段数据类型 182 6.5.4 修改主键、外键、索引和约束 182 6.5.5 修改数据表属性 182 6.6 用T-SQL语言修改数据表结构 184 6.6.1 基本语法 184 6.6.2 参数说明 184 6.6.3 修改字段属性 189 6.6.4 添加字段 189 6.6.5 添加字段并设置字段属性 189 6.6.6 删除字段 189 6.6.7 添加约束 189 6.6.8 禁用约束 190 6.6.9 启用约束 190 6.6.10 删除约束 190 6.6.11 设置主键 190 6.6.12 修改字段名和数据表名 191 6.6.13 Create Table语句的注意事项 191 6.7 在SQL Server Management Studio中删除表 191 6.8 用Drop Table删除数据表 194 6.9 编写表脚本 194 6.10 数据库关系图的使用 195 6.10.1 创建数据库关系图并添加数据表 195 6.10.2 添加相关联的数据表 197 6.10.3 更改数据表的显示模式 197 6.10.4 在关系图中删除数据表 198 6.10.5 建立和删除表与表之间的关联 198 6.10.6 保存部分修改过的数据表 199 6.10.7 在关系图中创建数据表 200 6.10.8 在关系图中修改字段属性 201 6.10.9 在关系图中设置或修改表的外键与约束 201 6.11 临时表简介 202 6.12 已分区表简介 203 6.13 小结 203 第7章 数据(记录)操作 204 7.1 在SQL Server Management Studio中查看记录 204 7.1.1 选择前1000行 204 7.1.2 返回前几条记录 204 7.2 在SQL Server Management Studio中插入记录 205 7.3 用Insert语句插入记录 207 7.3.1 基本语法 207 7.3.2 参数说明 207 7.3.3 简单的插入语句 208 7.3.4 按表中不同字段顺序插入记录 208 7.3.5 插入值少于字段数的记录 209 7.3.6 在标识列字段里插入字段内容 209 7.3.7 从数据表中查询记录并插入到另一个表中 209 7.3.8 从数据表中查询部分字段记录并插入到另一个表中 210 7.3.9 从数据表中查询记录插入其他表并为字段添加固定内容 210 7.3.10 在Insert语句里使用exec子句 211 7.3.11 在数据中只插入默认值 211 7.4 插入记录的注意事项 211 7.5 用Update语句更新记录 212 7.5.1 基本语法 212 7.5.2 参数说明 213 7.5.3 简单的更新语句 214 7.5.4 使用计算值更新记录 214 7.5.5 引用其他表里的字段值更新记录 214 7.5.6 使用top子句更新记录 215 7.6 在SQL Server Management Studio中删除记录 215 7.7 用Delete语句删除记录 215 7.7.1 基本语法 215 7.7.2 参数说明 216 7.7.3 简单的删除语句 217 7.7.4 删除多条记录 217 7.7.5 引用其他表里的字段值来删除记录 217 7.8 用Truncate Table语句删除记录 217 7.9 用Select语句进行查询 218 7.10 用Select子句设定查询内容 218 7.10.1 基本语法 218 7.10.2 参数说明 219 7.10.3 查询表中所有列 219 7.10.4 查询表中某几列 220 7.10.5 为查询添加计算列 220 7.10.6 查看最前记录 221 7.10.7 查看不重复记录 222 7.10.8 查询表中的标识列或GUID列 223 7.11 用From子句指定查询哪些表 223 7.11.1 基本语法 223 7.11.2 参数说明 224 7.11.3 简单的From子句 225 7.11.4 从两个表中联合查询记录 225 7.11.5 从多个表中联合查询记录 227 7.11.6 JOIN的其他类型 227 7.11.7 使用表别名 229 7.11.8 表JOIN自身 230 7.12 用Where子句设定查询条件 230 7.12.1 基本语法 230 7.12.2 参数说明 231 7.12.3 单个查询条件 232 7.12.4 设置多个查询条件 232 7.12.5 在查询条件里使用函数 233 7.12.6 查询两个条件之间的记录 233 7.12.7 查询字段内容为NULL的记录 234 7.12.8 将结果集作为查询条件 234 7.12.9 模糊查询 235 7.12.10 在模糊查询中查询含有通配符的文本 236 7.12.11 使用EXISTS关键字 237 7.12.12 使用ALL,ANY和SOME关键字 237 7.13 使用Order by子句排序 238 7.13.1 基本语法 238 7.13.2 参数说明 239 7.13.3 按一个字段排序 239 7.13.4 按多个字段排序 239 7.14 使用Group by子句分组 239 7.14.1 基本语法 240 7.14.2 参数说明 240 7.14.3 Group by的基本用法 240 7.14.4 在Group by中使用表达式 241 7.14.5 使用with cube对所有字段进行汇总 241 7.14.6 使用with rollup对第一个字段进行汇总 242 7.14.7 使用Group by all对所有数据分组 243 7.15 使用Having子句在分组中设置查询条件 243 7.15.1 基本语法 244 7.15.2 使用Having对分组设置查询条件 244 7.16 使用Compute子句归类 244 7.16.1 基本语法 245 7.16.2 参数说明 245 7.16.3 使用Compute归类 245 7.16.4 使用Compute by归类 246 7.17 使用UNION子句合并多个查询结果 246 7.17.1 基本语法 247 7.17.2 参数说明 247 7.17.3 使用UNION ALL合并两个查询结果集 248 7.17.4 使用UNION合并两个查询结果集 248 7.17.5 使用UNION加入临时数据 248 7.17.6 在UNION的结果集里排序 248 7.17.7 在UNION的结果集里分组 249 7.18 使用Select into子句为查询结果建立新表 249 7.18.1 基本语法 249 7.18.2 使用Select into创建一个新表 249 7.18.3 在Select into中设置复杂的查询条件 250 7.18.4 使用Select into复制表结构 250 7.19 在不同数据库中查询记录 251 7.20 NULL字段的处理方法 251 7.20.1 使用NULL时要注意的事项 251 7.20.2 检查字段内容是否为NULL 252 7.20.3 使用ISNULL函数替换NULL值 252 7.21 SQL Server 2008语句新增功能 253 7.21.1 Select语句新增功能 253 7.21.2 Insert语句新增功能 253 7.21.3 Update语句新增功能 254 7.21.4 Delete语句新增功能 255 7.22 小结 255 第4部分 数据库管理篇 257 第8章 T-SQL程序 258 8.1 T-SQL概述 258 8.1.1 什么是T-SQL 258 8.1.2 T-SQL的语法约定 258 8.2 数据库对象的引用方法 259 8.2.1 引用数据库对象的方法 259 8.2.2 架构 260 8.2.3 创建自定义架构 261 8.3 T-SQL中的批处理 262 8.3.1 一次执行多个T-SQL语句 262 8.3.2 使用GO语句分隔多个批 262 8.4 T-SQL中的注释 263 8.4.1 --注释 263 8.4.2 /* … */注释 263 8.5 T-SQL数据类型及转换 264 8.5.1 使用CAST转换数据类型 264 8.5.2 使用CONVERT转换数据类型 265 8.5.3 隐式数据类型转换 266 8.5.4 数据类型转换时的注意事项 267 8.6 T-SQL运算符 267 8.6.1 算术运算符 267 8.6.2 赋值运算符 268 8.6.3 位运算符 268 8.6.4 比较运算符 268 8.6.5 逻辑运算符 268 8.6.6 字符串串联运算符 269 8.6.7 一元运算符 269 8.7 运算符的优先级 269 8.8 T-SQL中的常量 270 8.8.1 字符串常量 270 8.8.2 Unicode常量 270 8.8.3 二进制常量 270 8.8.4 bit常量 271 8.8.5 datetime常量 271 8.8.6 integer常量 271 8.8.7 decimal常量 271 8.8.8 float和real常量 271 8.8.9 money常量 271 8.8.10 uniqueidentifier常量 272 8.8.11 在T-SQL中使用常量 272 8.9 T-SQL中的变量 272 8.9.1 局部变量 273 8.9.2 全局变量 275 8.10 T-SQL的流程控制 277 8.10.1 Begin…End语句 277 8.10.2 If…Else语句 278 8.10.3 While语句 279 8.10.4 Case语句 280 8.10.5 Goto语句 282 8.10.6 Waitfor语句 283 8.10.7 Return语句 284 8.10.8 Try…Catch语句 284 8.10.9 Execute语句 285 8.11 T-SQL的常用函数 287 8.11.1 聚合函数 287 8.11.2 日期和时间函数 288 8.11.3 数学函数 288 8.11.4 字符串函数 289 8.11.5 文本和图像函数 289 8.11.6 配置函数 289 8.11.7 游标函数 290 8.11.8 元数据函数 290 8.11.9 行集函数 291 8.11.10 安全函数 291 8.11.11 系统统计函数 291 8.11.12 其他函数 292 8.12 不应使用的关键字 293 8.13 小结 295 第9章 视图 296 9.1 视图简介 296 9.2 创建视图 297 9.2.1 在SQL Server Management Studio中创建视图 298 9.2.2 使用Create view语句创建视图 299 9.3 查看与修改视图 302 9.3.1 查看视图 302 9.3.2 在SQL Server Management Studio中修改视图 303 9.3.3 使用Alter view语句修改视图 303 9.4 加密视图 304 9.5 限制视图所用的表或视图不能更改设计和删除 305 9.6 检查视图的数据变动 307 9.7 编辑视图中的记录 307 9.7.1 编辑视图中的记录的限制 307 9.7.2 在SQL Server Management Studio中操作视图记录 308 9.7.3 使用Insert,Update和Delete语句操作视图记录 308 9.8 删除视图 309 9.8.1 在Management Studio中删除视图 309 9.8.2 使用Drop view语句删除视图 309 9.9 为视图重命名 309 9.10 小结 310 第10章 存储过程 311 10.1 存储过程简介 311 10.1.1 存储过程的概念 311 10.1.2 使用存储过程的优点 311 10.1.3 存储过程的分类 312 10.2 创建存储过程 312 10.2.1 使用Create procedure语句创建存储过程 312 10.2.2 在SQL Server Management Studio中建立存储过程 314 10.3 修改存储过程 316 10.3.1 使用Alter procedure语句修改存储过程 316 10.3.2 在SQL Server Management Studio中修改存储过程 316 10.3.3 修改存储过程名 317 10.4 执行存储过程 318 10.5 设计存储过程的高级技巧 320 10.5.1 设计存储过程时的注意事项 320 10.5.2 参数传递的方式 321 10.5.3 存储过程的返回值 322 10.5.4 不显示影响行数的通知 324 10.5.5 临时存储过程 325 10.5.6 嵌套调用存储过程 325 10.5.7 查看存储过程的依赖关系 326 10.5.8 加密存储过程 327 10.5.9 查看存储过程的源代码 327 10.5.10 设计存储过程组 328 10.6 删除存储过程 329 10.6.1 使用Drop procedure语句删除存储过程 329 10.6.2 在SQL Server Management Studio中删除存储过程 329 10.7 常用的系统存储过程 330 10.7.1 sp_help:查看对象信息 330 10.7.2 sp_helpdb:查看数据库信息 330 10.7.3 sp_helpfile:查看数据库文件信息 331 10.7.4 sp_helpfilegroup:查看文件组信息 331 10.7.5 sp_helpindex:查看索引信息 331 10.7.6 sp_helpsort:查看排序及字符集信息 331 10.7.7 sp_helpstats:查看列和索引的统计信息 331 10.7.8 sp_helptext:查看对象内容 332 10.7.9 sp_helptrigger:查看触发器信息 332 10.7.10 sp_lock:查看锁信息 332 10.7.11 sp_monitor:查看系统统计信息 332 10.7.12 sp_rename:修改对象名 332 10.7.13 sp_renamedb:修改数据库名 332 10.7.14 sp_who:查看用户和进程信息 333 10.7.15 sp_columns:查看列信息 333 10.7.16 sp_databases:查看数据库信息 333 10.7.17 sp_fkeys:查看外键信息 333 10.7.18 sp_pkeys:查看主键信息 334 10.7.19 sp_server_info:查看SQL Server信息 334 10.7.20 sp_tables:查看表或视图信息 334 10.7.21 sp_stored_procedures:查看存储过程信息 334 10.8 CLR存储过程 335 10.8.1 创建CLR存储过程的步骤 335 10.8.2 开启CLR支持 335 10.8.3 编写CLR存储过程内容 335 10.8.4 将CLR存储过程编译成DLL文件 337 10.8.5 注册程序集 337 10.8.6 创建引用程序集的存储过程 338 10.8.7 执行CLR存储过程 339 10.9 小结 339 第11章 触发器 340 11.1 触发器简介 340 11.1.1 触发器的概念和作用 340 11.1.2 触发器的种类 341 11.2 DML触发器的分类 341 11.3 DML触发器的工作原理 341 11.3.1 After触发器的工作原理 342 11.3.2 Instead Of触发器的工作原理 342 11.4 设计DML触发器的注意事项及技巧 342 11.4.1 设计触发器的限制 342 11.4.2 如何用触发器取得字段修改前和修改后的数据 343 11.4.3 使用DML触发器的注意事项 343 11.5 设计After触发器 344 11.5.1 设计简单的After触发器 344 11.5.2 测试触发器功能 346 11.5.3 建立触发器的SQL语句 347 11.6 设置After触发器的激活顺序 350 11.7 触发器的嵌套 352 11.8 触发器的递归 354 11.9 设计Instead Of触发器 355 11.9.1 Instead Of触发器的使用范围 355 11.9.2 设计简单的Instead Of触发器 355 11.10 查看DML触发器 356 11.10.1 在SQL Server Management Studio中查看触发器 356 11.10.2 使用系统存储过程查看触发器 357 11.11 修改DML触发器 359 11.12 删除DML触发器 359 11.13 禁用与启用DML触发器 359 11.14 DDL触发器 360 11.15 设计DDL触发器 360 11.15.1 建立DDL触发器的语句 360 11.15.2 测试触发器功能 363 11.16 查看与修改DDL触发器 365 11.17 触发器的应用技巧 366 11.17.1 如何知道触发器修改了多少条记录 366 11.17.2 如何知道插入记录的自动编号是多少 367 11.17.3 如何知道某个字段是否被修改 367 11.17.4 如何返回错误信息 368 11.18 小结 370 第12章 索引 371 12.1 索引简介 371 12.2 索引的结构 371 12.3 索引的分类 372 12.3.1 聚集索引与非聚集索引 372 12.3.2 唯一索引 372 12.3.3 复合索引与包含性列索引 373 12.3.4 视图索引 373 12.3.5 全文索引 373 12.3.6 XML索引 373 12.4 系统自动建立的索引 374 12.4.1 主键字段 374 12.4.2 Unique字段 374 12.5 建立索引的注意事项 375 12.6 在SQL Server Management Studio中创建索引 375 12.7 使用Create index语句创建索引 379 12.7.1 基本语法 379 12.7.2 参数说明 380 12.7.3 创建简单的索引 380 12.7.4 创建简单的复合索引 381 12.7.5 创建唯一索引 381 12.7.6 创建聚集索引 381 12.7.7 创建降序的非聚集索引 381 12.7.8 创建包含性列索引 381 12.7.9 创建索引并指定其所在的文件组 382 12.7.10 创建索引并设置填充因子 382 12.7.11 创建索引并设置填充索引 382 12.7.12 创建复杂的索引 383 12.8 查看与修改索引 383 12.8.1 在SQL Server Management Studio中查看与修改索引 383 12.8.2 使用sp_helpindex查看索引 385 12.8.3 使用sys.indexes视图查看索引信息 385 12.8.4 使用Alter index语句修改索引 386 12.9 重新生成和重新组织索引 387 12.9.1 在SQL Server Management Studio中重新生成索引 388 12.9.2 在SQL Server Management Studio中重新组织索引 388 12.9.3 使用REBUILD参数重新生成索引 389 12.9.4 使用REORGANIZE参数重新组织索引 390 12.9.5 使用SQL Server Management Studio查看索引碎片 390 12.9.6 使用函数sys.dm_db_index_physical_stats查看索引碎片 391 12.10 禁用索引 392 12.10.1 在SQL Server Management Studio中禁用索引 392 12.10.2 使用DISABLE参数禁用索引 392 12.11 重命名索引 393 12.12 删除索引 394 12.12.1 删除索引的注意事项 394 12.12.2 在SQL Server Management Studio中删除索引 394 12.12.3 使用Drop index语句删除索引 394 12.13 索引视图 394 12.13.1 索引视图简介 395 12.13.2 创建索引视图 395 12.14 小结 395 第13章 用户定义数据类型和函数 396 13.1 用户定义数据类型 396 13.1.1 创建用户定义数据类型 396 13.1.2 使用用户定义数据类型 398 13.1.3 删除用户定义数据类型 399 13.2 用户定义函数 400 13.2.1 用户定义函数与存储过程的比较 401 13.2.2 用户定义函数类型 401 13.2.3 创建标量值函数 401 13.2.4 创建内联表值函数 403 13.2.5 创建多语句表值函数 404 13.2.6 在SQL Server Management Studio里创建用户定义函数 406 13.2.7 查看与修改用户定义函数 407 13.2.8 使用用户定义函数 408 13.2.9 删除用户定义函数 409 13.3 小结 410 第14章 全文索引 411 14.1 全文索引简介 411 14.2 全文索引常用术语 411 14.3 全文索引的体系结构 412 14.4 全文目录管理 413 14.4.1 创建全文目录 413 14.4.2 查看与修改全文目录 414 14.4.3 删除全文目录 415 14.5 全文索引管理 415 14.5.1 创建全文索引的注意事项 415 14.5.2 创建全文索引 416 14.5.3 查看与修改全文索引 419 14.5.4 启用和禁用全文索引 420 14.5.5 删除全文索引 420 14.6 填充全文索引 420 14.6.1 填充全文索引的方式 421 14.6.2 填充全文索引 421 14.6.3 定时填充全文索引 422 14.7 使用全文搜索查询数据 424 14.7.1 使用CONTAINS搜索 424 14.7.2 使用FREETEXT搜索 428 14.7.3 使用CONTAINSTABLE搜索 429 14.7.4 使用FREETEXTTABLE搜索 432 14.7.5 搜索image字段 432 14.8 与全文索引相关的T-SQL语句 433 14.8.1 创建全文目录 433 14.8.2 更改全文目录属性 433 14.8.3 创建全文索引 434 14.8.4 更改全文索引属性 435 14.8.5 删除全文索引 436 14.8.6 删除全文目录 436 14.9 小结 436 第15章 游标 438 15.1 游标简介 438 15.2 游标的基本操作 439 15.2.1 定义游标 439 15.2.2 打开游标 440 15.2.3 读取游标 441 15.2.4 关闭和删除游标 441 15.3 游标的运用 442 15.3.1 用游标处理数据 442 15.3.2 全局游标与本地游标 445 15.3.3 游标的嵌套 446 15.3.4 使用游标变量 447 15.3.5 在存储过程中使用游标参数 451 15.4 在游标中常用的变量、函数和存储过程 452 15.4.1 使用系统全局变量查看游标信息 452 15.4.2 使用函数查看游标状态 453 15.4.3 使用系统存储过程查看游标属性 454 15.5 小结 458 第16章 事务与锁 460 16.1 事务简介 460 16.1.1 事务的特性 460 16.1.2 事务的工作流程 461 16.1.3 执行事务的注意事项 462 16.1.4 事务的工作原理 462 16.1.5 事务执行的模式 463 16.2 编写事务 463 16.2.1 编写事务的原则 464 16.2.2 编写事务 464 16.3 嵌套事务 466 16.3.1 使用嵌套事务的注意事项 466 16.3.2 嵌套事务示例 467 16.3.3 获取嵌套的层次 469 16.4 事务保存点 471 16.5 事务的隔离级别 473 16.6 锁简介 473 16.7 锁的对象和模式 474 16.8 死锁 475 16.9 小结 476 第17章 其他数据对象 477 17.1 统计信息 477 17.1.1 统计信息简介 477 17.1.2 查看统计信息 478 17.1.3 创建统计信息 481 17.1.4 更新统计信息 482 17.1.5 删除统计信息 483 17.2 同义词 484 17.2.1 同义词简介 484 17.2.2 创建同义词 484 17.2.3 使用同义词与链接服务器 486 17.2.4 查看同义词的信息与删除同义词 488 17.3 小结 489 第5部分 SQL Server高级技术篇 491 第18章 数据库备份与恢复 492 18.1 备份与恢复介绍 492 18.1.1 备份类型 492 18.1.2 恢复模式 493 18.1.3 如何备份数据库 494 18.1.4 数据库备份到哪里 495 18.2 在SQL Server Management Studio中备份数据库 496 18.3 使用T-SQL语言备份数据库 499 18.3.1 完整备份与差异备份 499 18.3.2 备份文件和文件组 502 18.3.3 事务日志备份 503 18.4 备份设备管理 504 18.4.1 查看备份设备的内容 504 18.4.2 通过备份设备来备份数据库 505 18.4.3 验证备份的内容 506 18.4.4 删除备份设备 507 18.5 在SQL Server Management Studio中还原数据库 507 18.5.1 还原数据库的方式 508 18.5.2 还原数据库前要注意的事项 508 18.5.3 还原数据库备份 508 18.5.4 还原文件和文件组备份 510 18.5.5 使用现有的备份创建新的数据库 511 18.6 用T-SQL语言还原数据库 512 18.6.1 还原完整备份 512 18.6.2 还原差异备份 514 18.6.3 还原事务日志备份 515 18.6.4 还原文件和文件组备份 515 18.6.5 将数据库还原到某个时间点 516 18.6.6 将文件还原到新位置上 516 18.7 建立自动备份的维护计划 517 18.8 小结 519 第19章 系统数据库与用户数据库 520 19.1 SQL Server 2008系统数据库介绍 520 19.1.1 master系统数据库 520 19.1.2 tempdb临时数据库 520 19.1.3 model模板数据库 521 19.1.4 msdb系统数据库 521 19.1.5 resource系统数据库 522 19.2 系统表与视图介绍 522 19.2.1 msdb数据库里的表 523 19.2.2 系统视图 525 19.2.3 系统函数 526 19.3 规划数据库 526 19.3.1 数据库文件 526 19.3.2 文件组 527 19.3.3 计算数据库文件的大小 528 19.4 小结 529 第20章 SQL Server 2008的安全 530 20.1 SQL Server 2008的身份验证模式 530 20.2 访问权限 532 20.3 用户 532 20.3.1 添加用户 532 20.3.2 使用用户登录 533 20.3.3 为用户设置权限 534 20.4 角色 538 20.4.1 角色简介 538 20.4.2 服务器角色 538 20.4.3 将用户设为服务器角色成员 539 20.4.4 数据库角色 539 20.4.5 将用户设为数据库角色成员 540 20.4.6 创建用户自定义数据库角色 541 20.4.7 应用程序角色 541 20.4.8 创建应用程序角色 541 20.4.9 使用应用程序角色 542 20.5 架构 543 20.6 确保数据库服务器的安全 544 20.7 小结 546 第21章 复制与发布 547 21.1 复制简介 547 21.1.1 什么是复制 547 21.1.2 复制的类型 548 21.1.3 复制代理 549 21.2 发布服务器与发布 550 21.2.1 复制的步骤 550 21.2.2 创建发布服务器与发布 550 21.2.3 修改发布属性 554 21.2.4 删除发布 557 21.3 订阅服务器与订阅 557 21.3.1 创建订阅服务器与订阅 557 21.3.2 修改订阅属性 560 21.3.3 删除订阅 560 21.4 复制监视器 561 21.4.1 启动复制监视器 561 21.4.2 添加其他发布服务器 562 21.4.3 查看发布服务器的信息 563 21.5 小结 564 第22章 SQL Server的自动化管理 565 22.1 SQL Server代理 565 22.1.1 SQL Server代理简介 565 22.1.2 启动和停止SQL Server代理 566 22.1.3 SQL Server代理的设置 566 22.1.4 指定SQL Server代理的登录账户 569 22.2 操作员 570 22.3 作业 571 22.3.1 新建作业 571 22.3.2 手动执行作业 574 22.3.3 调度作业 574 22.3.4 查看历史记录 575 22.3.5 删除、禁用与启用作业 576 22.4 警报与通知 576 22.4.1 新建警报 576 22.4.2 修改警报 579 22.4.3 启动、禁用与删除警报 579 22.4.4 通知 579 22.5 维护计划 580 22.6 错误日志 582 22.7 小结 583 第23章 SQL Server的性能工具 584 23.1 SQL Server Profiler 584 23.1.1 SQL Server Profiler简介 584 23.1.2 新建跟踪 585 23.1.3 存储事件记录 586 23.1.4 载入事件记录 586 23.1.5 新建跟踪模板 586 23.1.6 值得注意的功能 587 23.2 数据库引擎优化顾问 588 23.2.1 数据库引擎优化顾问介绍 588 23.2.2 使用数据库引擎优化顾问 588 23.3 小结 589 第24章 SQL Server邮件 590 24.1 SQL Mail 590 24.1.1 配置SQL Mail 590 24.1.2 使用SQL Mail发送电子邮件 593 24.2 数据库邮件 594 24.2.1 配置数据库邮件 594 24.2.2 发送测试邮件 597 24.2.3 配置SQL Server代理以使用数据库邮件 598 24.3 小结 599 第25章 数据导入与导出 601 25.1 SQL Server导入导出向导 601 25.2 数据导入导出 601 25.3 数据导入导出时的数据类型转换 604 25.4 在不同数据源与目标之间传输数据 604 25.5 小结 606 第26章 Analysis Services 607 26.1 Analysis Services简介 607 26.1.1 数据仓库 607 26.1.2 数据仓库的结构 608 26.1.3 创建数据仓库的步骤 609 26.1.4 联机分析处理(OLAP) 609 26.1.5 数据挖掘 610 26.2 定义数据源 610 26.3 定义数据源视图 612 26.4 定义多维数据集 614 26.5 部署Analysis Services项目 618 26.6 查看多维数据集 619 26.7 使用客户端软件查看多维数据 620 26.8 小结 623 第27章 Reporting Services 624 27.1 创建报表服务器项目 624 27.2 创建数据源 625 27.3 创建报表 626 27.4 发布报表 628 27.5 自定义报表信息 629 27.6 小结 632 第28章 SQL Server与XML 634 28.1 XML简介 634 28.1.1 什么是XML 634 28.1.2 使用XML的好处 635 28.1.3 XML的语法 636 28.2 SQL Server中的XML语句 638 28.2.1 FOR XML的Select语句 638 28.2.2 简单输出XML 639 28.2.3 输出XSD架构 643 28.2.4 输出XDR架构 645 28.2.5 按路径输出XML 646 28.2.6 为输出的XML添加根元素 647 28.2.7 OpenXml函数 648 28.3 XML数据类型 650 28.3.1 声明XML数据类型 651 28.3.2 为XML类型的变量赋值 651 28.3.3 将XML数据插入数据表 653 28.4 XML索引 653 28.4.1 XML索引类型 653 28.4.2 使用SQL Server Management Studio创建XML索引 654 28.4.3 使用T-SQL语句创建XML索引 656 28.5 操作XML 657 28.5.1 Query方法 657 28.5.2 Value方法 658 28.5.3 Exist方法 659 28.5.4 在XML实例中插入节点 660 28.5.5 在XML实例中修改节点的值 661 28.5.6 在XML实例中删除节点 664 28.6 小结 664 第29章 客户端及应用程序访问SQL Server的方式 666 29.1 客户端访问SQL Server的方式 666 29.1.1 ODBC接口 666 29.1.2 OLE DB接口 668 29.1.3 ADO组件 668 29.2 从Access访问SQL Server 668 29.3 使用ASP.NET程序访问SQL Server 669 29.3.1 通过ODBC接口访问SQL Server 669 29.3.2 通过OLE DB接口访问SQL Server 670 29.4 小结 671 第6部分 SQL Server 2008改进篇 673 第30章 对T-SQL的改进 674 30.1 兼容级别设置 674 30.1.1 语法 674 30.1.2 使用SQL Server Management Studio更改兼容级别 675 30.1.3 数据库兼容的注意事项 676 30.1.4 兼容级别导致的影响 677 30.1.5 兼容级别示例 678 30.1.6 兼容级别对ORDER BY的影响示例 679 30.2 复合运算符 681 30.2.1 +=运算符 681 30.2.2 -=运算符 681 30.3 Convert函数 682 30.3.1 语法 682 30.3.2 二进制与字符十六进制转换示例 683 30.4 日期和时间功能 683 30.4.1 语法 683 30.4.2 ISO周-日示例 684 30.4.3 日期功能的注意事项 684 30.5 Grouping Sets分组 685 30.5.1 语法 685 30.5.2 注意事项 686 30.5.3 Grouping Sets分组示例 686 30.6 MERGE语句 687 30.6.1 语法 687 30.6.2 MERGE合并数据源示例 690 30.7 SQL依赖关系报告 691 30.8 表值参数 692 30.8.1 创建用户表类型 692 30.8.2 使用表值参数示例 692 30.8.3 使用表值参数进行数据传递的注意事项 692 30.9 T-SQL行构造函数 693 30.10 小结 694 第31章 数据存储和数据类型 695 31.1 数据存储的改进 695 31.1.1 表和索引的压缩存储 695 31.1.2 FILESTREAM存储 701 31.1.3 稀疏列和列集 705 31.1.4 空间数据的存储、方法和索引 710 31.2 新增的数据类型 710 31.2.1 HierarchyID层次化数据 711 31.2.2 日期和时间类型 715 31.2.3 空间数据类型 718 31.2.4 用户定义表类型 723 31.2.5 用户定义类型 727 31.3 对非关系数据类型的支持 730 31.3.1 非关系数据类型概述 731 31.3.2 文档和多媒体 731 31.3.3 地理信息数据 731 31.3.4 XML数据 732 31.4 小结 734 第32章 安全性的增强 735 32.1 数据加密 735 32.1.1 新的加密辅助函数 735 32.1.2 透明数据加密 736 32.1.3 外部密钥管理 743 32.2 数据审核 743 32.2.1 数据审核概述 743 32.2.2 进行数据审核 744 32.3 身份验证的改进 752 32.3.1 基本身份验证 752 32.3.2 端点身份验证 752 32.4 小结 753 第33章 SQL Server Integration Service 754 33.1 SSIS简介 754 33.1.1 SSIS的概述 754 33.1.2 SQL Server 2008中SSIS的改进 755 33.2 SSIS结构 756 33.2.1 SSIS的用途 756 33.2.2 SSIS包的组成 757 33.3 SSIS的开发 762 33.3.1 设计和实现包 762 33.3.2 部署包 767 33.4 小结 772 第34章 分析服务的改进 773 34.1 多维数据库解决方案设计的改进 773 34.1.1 AMO警示 773 34.1.2 维度设计 775 34.1.3 多维数据集 777 34.1.4 聚合设计 780 34.2 资源监控及管理的改进 783 34.2.1 资源监控 783 34.2.2 块计算 783 34.2.3 回写性能 783 34.2.4 备份可扩展性 784 34.3 小结 784 第35章 报表服务的改进 785 35.1 新增报表制作功能 785 35.1.1 新增的数据源类型 785 35.1.2 增强的图表数据区域 785 35.1.3 仪表数据区域的使用 790 35.1.4 Tablix数据区域 792 35.1.5 文本框增强功能 797 35.1.6 报表设计器 798 35.2 报表处理 799 35.2.1 增强的报表导出格式 799 35.2.2 报表的部署 799 35.3 小结 802
2022-08-22 16:13:23 106.63MB SQL Server 2008 宝典
1
CruiseYoung提供的带有详细书签的电子书籍目录 http://blog.csdn.net/fksec/article/details/7888251 SQL Server 2008宝典 共2部分:此为第001部分 基本信息 作者: 刘智勇    刘径舟    丛书名: 宝典丛书 出版社:电子工业出版社 ISBN:9787121102820 上架时间:2010-3-27 出版日期:2010 年3月 开本:16开 页码:802 版次:1-1 内容简介   《SQL Server 2008宝典》全面介绍了SQL Server 2008各方面的知识,全书由6部分组成:第1部分为数据库的基础篇,介绍了数据库的类型、概念、对象、SQL语言等;第2部分为SQLServer 2008的准备篇,介绍了SQL Server 2008的功能、特性、各版本的比较、安装方法、SQL Server 2008的服务、客户端的工具等;第3部分为SQL Server 2008的基本操作篇,介绍如何管理与配置SQL Server 2008服务器、如何创建数据库和数据表、如何对数据库里的数据进行操作;第4部分为数据库管理篇,介绍如何使用T-SQL程序对数据进行复杂的运算,以及如何使用视图、存储过程、触发器、索引、用户定义数据类型、用户定义函数、全文索引、游标、事务和锁、统计信息和同义词等方面的知识;第5部分为SQL Server高级技术,介绍如何进行数据库备份与恢复、如何规划数据库、如何保证数据库的安全、复制与发布、自动化管理、如何使用性能工具优化数据库、数据的导入导出、SQL Server邮件的使用、Analysis Services、Reporting Services、SQL Server与XML的应用,以及如何使用客户端和应用程序访问SQL Server;第6部分为SQL Server 2008改进篇,介绍了SQL Server 2008相对于之前版本进行了哪些方面的重大改进和优化,进一步帮助读者了解SQL Server 2008更多的独有特性。   《SQL Server 2008宝典》适合SQL Server 2008的初学者学习,也适合子数据库的管理人员和开发人员阅读和参考。 编辑推荐   《SQL Server 2008宝典》:实例丰富,内容充实。书中针对每一个知识点列举了大量实例来说明该功能如何实现,全书共有超过500个精彩实例。   讲解通俗,步骤详细。通过通俗易懂的语言讲解SQL Server 2008的各个强大功能,并配以插图讲解和详细的步骤说明,帮助读者快速掌握实用技能。   由浅入深,难易穿插。《SQL Server 2008宝典》面向入门级和提高级两类读者,每个知识点都采用由浅入深的讲解方式,并穿插介绍重点和难点。   提供源码,方便学习。书中涉及到的T—SQL程序在网站上提供下载,打开相应SQL文件即可直接执行其中的代码。   SQL Server 2008是一个能用于大型联机事务处理、数据仓库和电子商务等方面应用的数据库平台,也是一个能用于数据集成、数据分析和报表解决方案的商业智能平台,为用户提供了强大、集成、便于使用的工具,使系统管理员与普通用户能更方便、更快捷地管理数据库或设计、开发应用程序。 目录 封面 -33 封底 803 扉页 -32 版权 -31 前言 -30 目录 -26 第1部分 基础篇 1 第1章 认识数据库 2 1.1 数据库的类型 2 1.1.1 结构型数据库 2 1.1.2 网络型数据库 2 1.1.3 关系型数据库 2 1.1.4 面向对象型数据库 3 1.2 数据库的基本概念 3 1.2.1 数据 3 1.2.2 数据库 3 1.2.3 数据库管理系统 3 1.2.4 数据库系统 3 1.3 常见的数据库对象 3 1.3.1 表与记录 4 1.3.2 主键与外键 4 1.3.3 索引 4 1.3.4 约束 5 1.3.5 视图 5 1.3.6 关系图 5 1.3.7 默认值 5 1.3.8 规则 5 1.3.9 存储过程 6 1.3.10 触发器 6 1.3.11 用户和角色 6 1.4 数据库管理系统的基本功能 6 1.4.1 定义数据 6 1.4.2 处理数据 6 1.4.3 保证数据安全 6 1.4.4 备份和恢复数据 6 1.5 SQL语言简介 6 1.5.1 SQL语言的历史 7 1.5.2 SQL语言的优点 7 1.5.3 SQL语言分类 7 1.6 数据库系统的用户 8 1.7 小结 8 第2章 SQL Server 2008简介及安装 9 2.1 SQL Server 2008简介 9 2.1.1 SQL Server 2008数据平台 9 2.1.2 使用SQL Server 2008能获得的好处 10 2.2 SQL Server 2008新特性 10 2.3 SQL Server 2008新功能 11 2.3.1 可信任性 11 2.3.2 开发和管理生产效率 12 2.3.3 商业智能 13 2.4 SQL Server 2008各版本比较 15 2.4.1 可扩展性 15 2.4.2 高可用性 15 2.4.3 安全性 16 2.4.4 复制 16 2.4.5 可管理性 16 2.4.6 管理工具 16 2.4.7 开发工具 17 2.4.8 可编程性 17 2.4.9 空间和位置服务 17 2.4.10 Integration Services 18 2.4.11 数据仓库创建 18 2.4.12 数据仓库规模和性能 18 2.4.13 多维分析 19 2.4.14 数据挖掘 19 2.4.15 报表 19 2.5 安装SQL Server 2008的系统要求 20 2.5.1 CPU与内存要求 20 2.5.2 硬盘空间要求 20 2.5.3 操作系统要求 20 2.5.4 其他要求 22 2.6 安装SQL Server 2008 23 2.7 升级到SQL Server 2008 33 2.7.1 升级之前要考虑的问题 33 2.7.2 升级注意事项 34 2.7.3 使用SQL Server 2008升级顾问 35 2.7.4 升级到SQL Server 2008 38 2.8 小结 40 第2部分 准备篇 41 第3章 初识SQL Server 2008 42 3.1 服务器上的后台服务 42 3.1.1 SQL Server服务 43 3.1.2 SQL Server Active Directory Helper服务 43 3.1.3 SQL Server Agent服务 43 3.1.4 SQL Server Analysis Services服务 43 3.1.5 SQL Server Browser服务 44 3.1.6 SQL Server FullText Search服务 44 3.1.7 SQL Server Integration Services服务 44 3.1.8 SQL Server Reporting Services服务 44 3.1.9 SQL Server VSS Writer服务 45 3.2 客户端上的管理工具 45 3.2.1 SQL Server Management Studio 45 3.2.2 Reporting Services配置 45 3.2.3 SQL Server Configuration Manager 47 3.2.4 SQL Server错误和使用情况报告 48 3.2.5 SQL Server Profiler 49 3.2.6 数据库引擎优化顾问 50 3.2.7 Visual Studio 2008 52 3.2.8 SQL Server Business Intelligence Development Studio 52 3.3 SQL Server Management Studio 52 3.3.1 认识SQL Server Management Studio的界面 53 3.3.2 更改SQL Server Management Studio的界面布局 53 3.3.3 使用查询编辑器 53 3.3.4 利用编辑器自动生成查询语句 54 3.3.5 脱机编写SQL语句后连接到服务器 55 3.3.6 全屏显示查询编辑器 55 3.3.7 使用模板编写SQL语句 56 3.3.8 创建自定义模板 57 3.3.9 使用项目脚本和解决方案 58 3.4 示例数据库 59 3.4.1 SQL Server 2008示例数据库 59 3.4.2 本书示例数据库 61 3.5 小结 61 第3部分 基础操作篇 63 第4章 数据库服务器管理 64 4.1 数据库服务器的工作模式 64 4.1.1 C/S模式 64 4.1.2 B/S模式 65 4.2 连接与断开数据库服务器 65 4.2.1 用SQL Server Management Studio连接服务器 65 4.2.2 在已注册的服务器里添加服务器组与服务器 68 4.2.3 使用对象资源管理器连接服务器 72 4.2.4 通过服务器注册连接到服务器 73 4.2.5 断开与数据库服务器的连接 73 4.3 使用配置管理器配置SQL Server服务 74 4.3.1 启动/停止/暂停/重新启动服务 74 4.3.2 配置服务的启动模式 76 4.3.3 更改登录身份 77 4.3.4 SQL Server 2008使用的网络协议 78 4.3.5 为SQL Server 2008配置共享内存协议 79 4.3.6 为SQL Server 2008配置管道协议 80 4.3.7 为SQL Server 2008配置TCP/IP协议 84 4.3.8 配置客户端网络协议的使用顺序 86 4.3.9 隐藏实例 87 4.4 配置远程SQL Server服务 88 4.4.1 配置远程SQL Server服务的权限 89 4.4.2 用SQL Server Management Studio停止和启动远程SQL Server服务 89 4.4.3 通过已注册的服务器启动远程SQL Server服务 91 4.4.4 使用SQL Server配置管理器远程管理SQL Server服务 91 4.5 配置SQL Server 2008服务器 92 4.5.1 服务器属性的常规设置 92 4.5.2 服务器属性的内存设置 93 4.5.3 服务器属性的处理器设置 94 4.5.4 服务器属性的安全性设置 96 4.5.5 服务器属性的连接设置 97 4.5.6 服务器属性的数据库设置 98 4.5.7 服务器属性的高级选项设置 99 4.5.8 服务器属性的权限设置 100 4.6 通过日志查看服务器的运行情况 101 4.6.1 在事件查看器中查看服务器的运行情况 101 4.6.2 通过日志查看器查看SQL Server日志 102 4.6.3 在LOG文件夹中查看SQL Server错误日志 103 4.7 小结 104 第5章 数据库管理 105 5.1 创建数据库前的准备 105 5.1.1 数据库命名规则 105 5.1.2 创建数据库需要的权限 106 5.1.3 数据库的所有者 106 5.1.4 数据库的上限 106 5.1.5 数据库文件和文件组 106 5.1.6 记录数据库操作的事务日志 106 5.1.7 数据库状态 107 5.2 在SQL Server Management Studio中创建数据库 107 5.3 使用Create database语句创建数据库 113 5.3.1 基本语法 113 5.3.2 T-SQL中的语法约定 114 5.3.3 参数讲解 115 5.3.4 Create Database语句需要注意的功能 116 5.3.5 举例说明 116 5.3.6 使用模板 119 5.4 修改数据库设置 122 5.4.1 使用SQL Server Management Studio修改数据库设置 122 5.4.2 查看数据库的基本信息 123 5.4.3 增加、删除与修改数据库文件 123 5.4.4 修改数据库的所有者 124 5.4.5 设置全文索引 125 5.4.6 增加、删除与修改文件组 126 5.4.7 修改数据库的排序规则 127 5.4.8 修改数据库的兼容性 128 5.4.9 限制用户的访问 128 5.4.10 设置用户及角色对数据库的使用权限 128 5.4.11 修改数据库名称 130 5.5 使用Alter database语句修改数据库 131 5.5.1 基本语法 131 5.5.2 参数说明 131 5.5.3 Alter database语句的注意事项 134 5.5.4 典型案例 134 5.6 分离与附加数据库 136 5.6.1 分离数据库 136 5.6.2 附加数据库 139 5.7 脱机和联机数据库 143 5.7.1 脱机数据库 143 5.7.2 联机数据库 144 5.8 删除数据库 145 5.8.1 在SQL Server Management Studio中删除数据库 145 5.8.2 用Drop database语句删除数据库 146 5.9 收缩数据库 146 5.9.1 自动收缩数据库 147 5.9.2 手动收缩数据库 147 5.9.3 手动收缩数据库文件 149 5.10 编写数据库脚本 151 5.11 小结 153 第6章 数据表管理 154 6.1 数据表简介 154 6.1.1 数据表的分类 155 6.1.2 认识列 155 6.2 数据类型 155 6.2.1 精确数字型 156 6.2.2 近似数字型 157 6.2.3 日期和时间型 157 6.2.4 字符串型 157 6.2.5 Unicode字符串型 158 6.2.6 二进制字符串型 158 6.2.7 其他数据类型 159 6.2.8 用户自定义型 159 6.3 在SQL Server Management Studio中创建表 160 6.3.1 定义数据表的字段和主键 160 6.3.2 设置默认值 162 6.3.3 设置标识列 162 6.3.4 建立表与表之间的关系 163 6.3.5 创建索引 166 6.3.6 创建约束 167 6.3.7 设置数据表所在文件组 169 6.4 用T-SQL语言创建表 170 6.4.1 基本语法 170 6.4.2 参数说明 170 6.4.3 创建新表 175 6.4.4 创建标识字段 176 6.4.5 创建带标识种子和标识增量的标识字段 176 6.4.6 创建非Null字段 176 6.4.7 字段的默认值 177 6.4.8 将创建的表放在文件组中 177 6.4.9 使用Check约束 177 6.4.10 设置字段的排序规则 178 6.4.11 创建外键 178 6.4.12 设置外键的更新规则和删除规则 178 6.4.13 创建Unique约束 179 6.4.14 创建计算列 179 6.4.15 设置数据表的约束 180 6.4.16 Create Table语句的注意事项 180 6.5 在SQL Server Management Studio中修改表 180 6.5.1 修改数据表名 180 6.5.2 插入、移动和删除数据表的字段 181 6.5.3 修改字段数据类型 182 6.5.4 修改主键、外键、索引和约束 182 6.5.5 修改数据表属性 182 6.6 用T-SQL语言修改数据表结构 184 6.6.1 基本语法 184 6.6.2 参数说明 184 6.6.3 修改字段属性 189 6.6.4 添加字段 189 6.6.5 添加字段并设置字段属性 189 6.6.6 删除字段 189 6.6.7 添加约束 189 6.6.8 禁用约束 190 6.6.9 启用约束 190 6.6.10 删除约束 190 6.6.11 设置主键 190 6.6.12 修改字段名和数据表名 191 6.6.13 Create Table语句的注意事项 191 6.7 在SQL Server Management Studio中删除表 191 6.8 用Drop Table删除数据表 194 6.9 编写表脚本 194 6.10 数据库关系图的使用 195 6.10.1 创建数据库关系图并添加数据表 195 6.10.2 添加相关联的数据表 197 6.10.3 更改数据表的显示模式 197 6.10.4 在关系图中删除数据表 198 6.10.5 建立和删除表与表之间的关联 198 6.10.6 保存部分修改过的数据表 199 6.10.7 在关系图中创建数据表 200 6.10.8 在关系图中修改字段属性 201 6.10.9 在关系图中设置或修改表的外键与约束 201 6.11 临时表简介 202 6.12 已分区表简介 203 6.13 小结 203 第7章 数据(记录)操作 204 7.1 在SQL Server Management Studio中查看记录 204 7.1.1 选择前1000行 204 7.1.2 返回前几条记录 204 7.2 在SQL Server Management Studio中插入记录 205 7.3 用Insert语句插入记录 207 7.3.1 基本语法 207 7.3.2 参数说明 207 7.3.3 简单的插入语句 208 7.3.4 按表中不同字段顺序插入记录 208 7.3.5 插入值少于字段数的记录 209 7.3.6 在标识列字段里插入字段内容 209 7.3.7 从数据表中查询记录并插入到另一个表中 209 7.3.8 从数据表中查询部分字段记录并插入到另一个表中 210 7.3.9 从数据表中查询记录插入其他表并为字段添加固定内容 210 7.3.10 在Insert语句里使用exec子句 211 7.3.11 在数据中只插入默认值 211 7.4 插入记录的注意事项 211 7.5 用Update语句更新记录 212 7.5.1 基本语法 212 7.5.2 参数说明 213 7.5.3 简单的更新语句 214 7.5.4 使用计算值更新记录 214 7.5.5 引用其他表里的字段值更新记录 214 7.5.6 使用top子句更新记录 215 7.6 在SQL Server Management Studio中删除记录 215 7.7 用Delete语句删除记录 215 7.7.1 基本语法 215 7.7.2 参数说明 216 7.7.3 简单的删除语句 217 7.7.4 删除多条记录 217 7.7.5 引用其他表里的字段值来删除记录 217 7.8 用Truncate Table语句删除记录 217 7.9 用Select语句进行查询 218 7.10 用Select子句设定查询内容 218 7.10.1 基本语法 218 7.10.2 参数说明 219 7.10.3 查询表中所有列 219 7.10.4 查询表中某几列 220 7.10.5 为查询添加计算列 220 7.10.6 查看最前记录 221 7.10.7 查看不重复记录 222 7.10.8 查询表中的标识列或GUID列 223 7.11 用From子句指定查询哪些表 223 7.11.1 基本语法 223 7.11.2 参数说明 224 7.11.3 简单的From子句 225 7.11.4 从两个表中联合查询记录 225 7.11.5 从多个表中联合查询记录 227 7.11.6 JOIN的其他类型 227 7.11.7 使用表别名 229 7.11.8 表JOIN自身 230 7.12 用Where子句设定查询条件 230 7.12.1 基本语法 230 7.12.2 参数说明 231 7.12.3 单个查询条件 232 7.12.4 设置多个查询条件 232 7.12.5 在查询条件里使用函数 233 7.12.6 查询两个条件之间的记录 233 7.12.7 查询字段内容为NULL的记录 234 7.12.8 将结果集作为查询条件 234 7.12.9 模糊查询 235 7.12.10 在模糊查询中查询含有通配符的文本 236 7.12.11 使用EXISTS关键字 237 7.12.12 使用ALL,ANY和SOME关键字 237 7.13 使用Order by子句排序 238 7.13.1 基本语法 238 7.13.2 参数说明 239 7.13.3 按一个字段排序 239 7.13.4 按多个字段排序 239 7.14 使用Group by子句分组 239 7.14.1 基本语法 240 7.14.2 参数说明 240 7.14.3 Group by的基本用法 240 7.14.4 在Group by中使用表达式 241 7.14.5 使用with cube对所有字段进行汇总 241 7.14.6 使用with rollup对第一个字段进行汇总 242 7.14.7 使用Group by all对所有数据分组 243 7.15 使用Having子句在分组中设置查询条件 243 7.15.1 基本语法 244 7.15.2 使用Having对分组设置查询条件 244 7.16 使用Compute子句归类 244 7.16.1 基本语法 245 7.16.2 参数说明 245 7.16.3 使用Compute归类 245 7.16.4 使用Compute by归类 246 7.17 使用UNION子句合并多个查询结果 246 7.17.1 基本语法 247 7.17.2 参数说明 247 7.17.3 使用UNION ALL合并两个查询结果集 248 7.17.4 使用UNION合并两个查询结果集 248 7.17.5 使用UNION加入临时数据 248 7.17.6 在UNION的结果集里排序 248 7.17.7 在UNION的结果集里分组 249 7.18 使用Select into子句为查询结果建立新表 249 7.18.1 基本语法 249 7.18.2 使用Select into创建一个新表 249 7.18.3 在Select into中设置复杂的查询条件 250 7.18.4 使用Select into复制表结构 250 7.19 在不同数据库中查询记录 251 7.20 NULL字段的处理方法 251 7.20.1 使用NULL时要注意的事项 251 7.20.2 检查字段内容是否为NULL 252 7.20.3 使用ISNULL函数替换NULL值 252 7.21 SQL Server 2008语句新增功能 253 7.21.1 Select语句新增功能 253 7.21.2 Insert语句新增功能 253 7.21.3 Update语句新增功能 254 7.21.4 Delete语句新增功能 255 7.22 小结 255 第4部分 数据库管理篇 257 第8章 T-SQL程序 258 8.1 T-SQL概述 258 8.1.1 什么是T-SQL 258 8.1.2 T-SQL的语法约定 258 8.2 数据库对象的引用方法 259 8.2.1 引用数据库对象的方法 259 8.2.2 架构 260 8.2.3 创建自定义架构 261 8.3 T-SQL中的批处理 262 8.3.1 一次执行多个T-SQL语句 262 8.3.2 使用GO语句分隔多个批 262 8.4 T-SQL中的注释 263 8.4.1 --注释 263 8.4.2 /* … */注释 263 8.5 T-SQL数据类型及转换 264 8.5.1 使用CAST转换数据类型 264 8.5.2 使用CONVERT转换数据类型 265 8.5.3 隐式数据类型转换 266 8.5.4 数据类型转换时的注意事项 267 8.6 T-SQL运算符 267 8.6.1 算术运算符 267 8.6.2 赋值运算符 268 8.6.3 位运算符 268 8.6.4 比较运算符 268 8.6.5 逻辑运算符 268 8.6.6 字符串串联运算符 269 8.6.7 一元运算符 269 8.7 运算符的优先级 269 8.8 T-SQL中的常量 270 8.8.1 字符串常量 270 8.8.2 Unicode常量 270 8.8.3 二进制常量 270 8.8.4 bit常量 271 8.8.5 datetime常量 271 8.8.6 integer常量 271 8.8.7 decimal常量 271 8.8.8 float和real常量 271 8.8.9 money常量 271 8.8.10 uniqueidentifier常量 272 8.8.11 在T-SQL中使用常量 272 8.9 T-SQL中的变量 272 8.9.1 局部变量 273 8.9.2 全局变量 275 8.10 T-SQL的流程控制 277 8.10.1 Begin…End语句 277 8.10.2 If…Else语句 278 8.10.3 While语句 279 8.10.4 Case语句 280 8.10.5 Goto语句 282 8.10.6 Waitfor语句 283 8.10.7 Return语句 284 8.10.8 Try…Catch语句 284 8.10.9 Execute语句 285 8.11 T-SQL的常用函数 287 8.11.1 聚合函数 287 8.11.2 日期和时间函数 288 8.11.3 数学函数 288 8.11.4 字符串函数 289 8.11.5 文本和图像函数 289 8.11.6 配置函数 289 8.11.7 游标函数 290 8.11.8 元数据函数 290 8.11.9 行集函数 291 8.11.10 安全函数 291 8.11.11 系统统计函数 291 8.11.12 其他函数 292 8.12 不应使用的关键字 293 8.13 小结 295 第9章 视图 296 9.1 视图简介 296 9.2 创建视图 297 9.2.1 在SQL Server Management Studio中创建视图 298 9.2.2 使用Create view语句创建视图 299 9.3 查看与修改视图 302 9.3.1 查看视图 302 9.3.2 在SQL Server Management Studio中修改视图 303 9.3.3 使用Alter view语句修改视图 303 9.4 加密视图 304 9.5 限制视图所用的表或视图不能更改设计和删除 305 9.6 检查视图的数据变动 307 9.7 编辑视图中的记录 307 9.7.1 编辑视图中的记录的限制 307 9.7.2 在SQL Server Management Studio中操作视图记录 308 9.7.3 使用Insert,Update和Delete语句操作视图记录 308 9.8 删除视图 309 9.8.1 在Management Studio中删除视图 309 9.8.2 使用Drop view语句删除视图 309 9.9 为视图重命名 309 9.10 小结 310 第10章 存储过程 311 10.1 存储过程简介 311 10.1.1 存储过程的概念 311 10.1.2 使用存储过程的优点 311 10.1.3 存储过程的分类 312 10.2 创建存储过程 312 10.2.1 使用Create procedure语句创建存储过程 312 10.2.2 在SQL Server Management Studio中建立存储过程 314 10.3 修改存储过程 316 10.3.1 使用Alter procedure语句修改存储过程 316 10.3.2 在SQL Server Management Studio中修改存储过程 316 10.3.3 修改存储过程名 317 10.4 执行存储过程 318 10.5 设计存储过程的高级技巧 320 10.5.1 设计存储过程时的注意事项 320 10.5.2 参数传递的方式 321 10.5.3 存储过程的返回值 322 10.5.4 不显示影响行数的通知 324 10.5.5 临时存储过程 325 10.5.6 嵌套调用存储过程 325 10.5.7 查看存储过程的依赖关系 326 10.5.8 加密存储过程 327 10.5.9 查看存储过程的源代码 327 10.5.10 设计存储过程组 328 10.6 删除存储过程 329 10.6.1 使用Drop procedure语句删除存储过程 329 10.6.2 在SQL Server Management Studio中删除存储过程 329 10.7 常用的系统存储过程 330 10.7.1 sp_help:查看对象信息 330 10.7.2 sp_helpdb:查看数据库信息 330 10.7.3 sp_helpfile:查看数据库文件信息 331 10.7.4 sp_helpfilegroup:查看文件组信息 331 10.7.5 sp_helpindex:查看索引信息 331 10.7.6 sp_helpsort:查看排序及字符集信息 331 10.7.7 sp_helpstats:查看列和索引的统计信息 331 10.7.8 sp_helptext:查看对象内容 332 10.7.9 sp_helptrigger:查看触发器信息 332 10.7.10 sp_lock:查看锁信息 332 10.7.11 sp_monitor:查看系统统计信息 332 10.7.12 sp_rename:修改对象名 332 10.7.13 sp_renamedb:修改数据库名 332 10.7.14 sp_who:查看用户和进程信息 333 10.7.15 sp_columns:查看列信息 333 10.7.16 sp_databases:查看数据库信息 333 10.7.17 sp_fkeys:查看外键信息 333 10.7.18 sp_pkeys:查看主键信息 334 10.7.19 sp_server_info:查看SQL Server信息 334 10.7.20 sp_tables:查看表或视图信息 334 10.7.21 sp_stored_procedures:查看存储过程信息 334 10.8 CLR存储过程 335 10.8.1 创建CLR存储过程的步骤 335 10.8.2 开启CLR支持 335 10.8.3 编写CLR存储过程内容 335 10.8.4 将CLR存储过程编译成DLL文件 337 10.8.5 注册程序集 337 10.8.6 创建引用程序集的存储过程 338 10.8.7 执行CLR存储过程 339 10.9 小结 339 第11章 触发器 340 11.1 触发器简介 340 11.1.1 触发器的概念和作用 340 11.1.2 触发器的种类 341 11.2 DML触发器的分类 341 11.3 DML触发器的工作原理 341 11.3.1 After触发器的工作原理 342 11.3.2 Instead Of触发器的工作原理 342 11.4 设计DML触发器的注意事项及技巧 342 11.4.1 设计触发器的限制 342 11.4.2 如何用触发器取得字段修改前和修改后的数据 343 11.4.3 使用DML触发器的注意事项 343 11.5 设计After触发器 344 11.5.1 设计简单的After触发器 344 11.5.2 测试触发器功能 346 11.5.3 建立触发器的SQL语句 347 11.6 设置After触发器的激活顺序 350 11.7 触发器的嵌套 352 11.8 触发器的递归 354 11.9 设计Instead Of触发器 355 11.9.1 Instead Of触发器的使用范围 355 11.9.2 设计简单的Instead Of触发器 355 11.10 查看DML触发器 356 11.10.1 在SQL Server Management Studio中查看触发器 356 11.10.2 使用系统存储过程查看触发器 357 11.11 修改DML触发器 359 11.12 删除DML触发器 359 11.13 禁用与启用DML触发器 359 11.14 DDL触发器 360 11.15 设计DDL触发器 360 11.15.1 建立DDL触发器的语句 360 11.15.2 测试触发器功能 363 11.16 查看与修改DDL触发器 365 11.17 触发器的应用技巧 366 11.17.1 如何知道触发器修改了多少条记录 366 11.17.2 如何知道插入记录的自动编号是多少 367 11.17.3 如何知道某个字段是否被修改 367 11.17.4 如何返回错误信息 368 11.18 小结 370 第12章 索引 371 12.1 索引简介 371 12.2 索引的结构 371 12.3 索引的分类 372 12.3.1 聚集索引与非聚集索引 372 12.3.2 唯一索引 372 12.3.3 复合索引与包含性列索引 373 12.3.4 视图索引 373 12.3.5 全文索引 373 12.3.6 XML索引 373 12.4 系统自动建立的索引 374 12.4.1 主键字段 374 12.4.2 Unique字段 374 12.5 建立索引的注意事项 375 12.6 在SQL Server Management Studio中创建索引 375 12.7 使用Create index语句创建索引 379 12.7.1 基本语法 379 12.7.2 参数说明 380 12.7.3 创建简单的索引 380 12.7.4 创建简单的复合索引 381 12.7.5 创建唯一索引 381 12.7.6 创建聚集索引 381 12.7.7 创建降序的非聚集索引 381 12.7.8 创建包含性列索引 381 12.7.9 创建索引并指定其所在的文件组 382 12.7.10 创建索引并设置填充因子 382 12.7.11 创建索引并设置填充索引 382 12.7.12 创建复杂的索引 383 12.8 查看与修改索引 383 12.8.1 在SQL Server Management Studio中查看与修改索引 383 12.8.2 使用sp_helpindex查看索引 385 12.8.3 使用sys.indexes视图查看索引信息 385 12.8.4 使用Alter index语句修改索引 386 12.9 重新生成和重新组织索引 387 12.9.1 在SQL Server Management Studio中重新生成索引 388 12.9.2 在SQL Server Management Studio中重新组织索引 388 12.9.3 使用REBUILD参数重新生成索引 389 12.9.4 使用REORGANIZE参数重新组织索引 390 12.9.5 使用SQL Server Management Studio查看索引碎片 390 12.9.6 使用函数sys.dm_db_index_physical_stats查看索引碎片 391 12.10 禁用索引 392 12.10.1 在SQL Server Management Studio中禁用索引 392 12.10.2 使用DISABLE参数禁用索引 392 12.11 重命名索引 393 12.12 删除索引 394 12.12.1 删除索引的注意事项 394 12.12.2 在SQL Server Management Studio中删除索引 394 12.12.3 使用Drop index语句删除索引 394 12.13 索引视图 394 12.13.1 索引视图简介 395 12.13.2 创建索引视图 395 12.14 小结 395 第13章 用户定义数据类型和函数 396 13.1 用户定义数据类型 396 13.1.1 创建用户定义数据类型 396 13.1.2 使用用户定义数据类型 398 13.1.3 删除用户定义数据类型 399 13.2 用户定义函数 400 13.2.1 用户定义函数与存储过程的比较 401 13.2.2 用户定义函数类型 401 13.2.3 创建标量值函数 401 13.2.4 创建内联表值函数 403 13.2.5 创建多语句表值函数 404 13.2.6 在SQL Server Management Studio里创建用户定义函数 406 13.2.7 查看与修改用户定义函数 407 13.2.8 使用用户定义函数 408 13.2.9 删除用户定义函数 409 13.3 小结 410 第14章 全文索引 411 14.1 全文索引简介 411 14.2 全文索引常用术语 411 14.3 全文索引的体系结构 412 14.4 全文目录管理 413 14.4.1 创建全文目录 413 14.4.2 查看与修改全文目录 414 14.4.3 删除全文目录 415 14.5 全文索引管理 415 14.5.1 创建全文索引的注意事项 415 14.5.2 创建全文索引 416 14.5.3 查看与修改全文索引 419 14.5.4 启用和禁用全文索引 420 14.5.5 删除全文索引 420 14.6 填充全文索引 420 14.6.1 填充全文索引的方式 421 14.6.2 填充全文索引 421 14.6.3 定时填充全文索引 422 14.7 使用全文搜索查询数据 424 14.7.1 使用CONTAINS搜索 424 14.7.2 使用FREETEXT搜索 428 14.7.3 使用CONTAINSTABLE搜索 429 14.7.4 使用FREETEXTTABLE搜索 432 14.7.5 搜索image字段 432 14.8 与全文索引相关的T-SQL语句 433 14.8.1 创建全文目录 433 14.8.2 更改全文目录属性 433 14.8.3 创建全文索引 434 14.8.4 更改全文索引属性 435 14.8.5 删除全文索引 436 14.8.6 删除全文目录 436 14.9 小结 436 第15章 游标 438 15.1 游标简介 438 15.2 游标的基本操作 439 15.2.1 定义游标 439 15.2.2 打开游标 440 15.2.3 读取游标 441 15.2.4 关闭和删除游标 441 15.3 游标的运用 442 15.3.1 用游标处理数据 442 15.3.2 全局游标与本地游标 445 15.3.3 游标的嵌套 446 15.3.4 使用游标变量 447 15.3.5 在存储过程中使用游标参数 451 15.4 在游标中常用的变量、函数和存储过程 452 15.4.1 使用系统全局变量查看游标信息 452 15.4.2 使用函数查看游标状态 453 15.4.3 使用系统存储过程查看游标属性 454 15.5 小结 458 第16章 事务与锁 460 16.1 事务简介 460 16.1.1 事务的特性 460 16.1.2 事务的工作流程 461 16.1.3 执行事务的注意事项 462 16.1.4 事务的工作原理 462 16.1.5 事务执行的模式 463 16.2 编写事务 463 16.2.1 编写事务的原则 464 16.2.2 编写事务 464 16.3 嵌套事务 466 16.3.1 使用嵌套事务的注意事项 466 16.3.2 嵌套事务示例 467 16.3.3 获取嵌套的层次 469 16.4 事务保存点 471 16.5 事务的隔离级别 473 16.6 锁简介 473 16.7 锁的对象和模式 474 16.8 死锁 475 16.9 小结 476 第17章 其他数据对象 477 17.1 统计信息 477 17.1.1 统计信息简介 477 17.1.2 查看统计信息 478 17.1.3 创建统计信息 481 17.1.4 更新统计信息 482 17.1.5 删除统计信息 483 17.2 同义词 484 17.2.1 同义词简介 484 17.2.2 创建同义词 484 17.2.3 使用同义词与链接服务器 486 17.2.4 查看同义词的信息与删除同义词 488 17.3 小结 489 第5部分 SQL Server高级技术篇 491 第18章 数据库备份与恢复 492 18.1 备份与恢复介绍 492 18.1.1 备份类型 492 18.1.2 恢复模式 493 18.1.3 如何备份数据库 494 18.1.4 数据库备份到哪里 495 18.2 在SQL Server Management Studio中备份数据库 496 18.3 使用T-SQL语言备份数据库 499 18.3.1 完整备份与差异备份 499 18.3.2 备份文件和文件组 502 18.3.3 事务日志备份 503 18.4 备份设备管理 504 18.4.1 查看备份设备的内容 504 18.4.2 通过备份设备来备份数据库 505 18.4.3 验证备份的内容 506 18.4.4 删除备份设备 507 18.5 在SQL Server Management Studio中还原数据库 507 18.5.1 还原数据库的方式 508 18.5.2 还原数据库前要注意的事项 508 18.5.3 还原数据库备份 508 18.5.4 还原文件和文件组备份 510 18.5.5 使用现有的备份创建新的数据库 511 18.6 用T-SQL语言还原数据库 512 18.6.1 还原完整备份 512 18.6.2 还原差异备份 514 18.6.3 还原事务日志备份 515 18.6.4 还原文件和文件组备份 515 18.6.5 将数据库还原到某个时间点 516 18.6.6 将文件还原到新位置上 516 18.7 建立自动备份的维护计划 517 18.8 小结 519 第19章 系统数据库与用户数据库 520 19.1 SQL Server 2008系统数据库介绍 520 19.1.1 master系统数据库 520 19.1.2 tempdb临时数据库 520 19.1.3 model模板数据库 521 19.1.4 msdb系统数据库 521 19.1.5 resource系统数据库 522 19.2 系统表与视图介绍 522 19.2.1 msdb数据库里的表 523 19.2.2 系统视图 525 19.2.3 系统函数 526 19.3 规划数据库 526 19.3.1 数据库文件 526 19.3.2 文件组 527 19.3.3 计算数据库文件的大小 528 19.4 小结 529 第20章 SQL Server 2008的安全 530 20.1 SQL Server 2008的身份验证模式 530 20.2 访问权限 532 20.3 用户 532 20.3.1 添加用户 532 20.3.2 使用用户登录 533 20.3.3 为用户设置权限 534 20.4 角色 538 20.4.1 角色简介 538 20.4.2 服务器角色 538 20.4.3 将用户设为服务器角色成员 539 20.4.4 数据库角色 539 20.4.5 将用户设为数据库角色成员 540 20.4.6 创建用户自定义数据库角色 541 20.4.7 应用程序角色 541 20.4.8 创建应用程序角色 541 20.4.9 使用应用程序角色 542 20.5 架构 543 20.6 确保数据库服务器的安全 544 20.7 小结 546 第21章 复制与发布 547 21.1 复制简介 547 21.1.1 什么是复制 547 21.1.2 复制的类型 548 21.1.3 复制代理 549 21.2 发布服务器与发布 550 21.2.1 复制的步骤 550 21.2.2 创建发布服务器与发布 550 21.2.3 修改发布属性 554 21.2.4 删除发布 557 21.3 订阅服务器与订阅 557 21.3.1 创建订阅服务器与订阅 557 21.3.2 修改订阅属性 560 21.3.3 删除订阅 560 21.4 复制监视器 561 21.4.1 启动复制监视器 561 21.4.2 添加其他发布服务器 562 21.4.3 查看发布服务器的信息 563 21.5 小结 564 第22章 SQL Server的自动化管理 565 22.1 SQL Server代理 565 22.1.1 SQL Server代理简介 565 22.1.2 启动和停止SQL Server代理 566 22.1.3 SQL Server代理的设置 566 22.1.4 指定SQL Server代理的登录账户 569 22.2 操作员 570 22.3 作业 571 22.3.1 新建作业 571 22.3.2 手动执行作业 574 22.3.3 调度作业 574 22.3.4 查看历史记录 575 22.3.5 删除、禁用与启用作业 576 22.4 警报与通知 576 22.4.1 新建警报 576 22.4.2 修改警报 579 22.4.3 启动、禁用与删除警报 579 22.4.4 通知 579 22.5 维护计划 580 22.6 错误日志 582 22.7 小结 583 第23章 SQL Server的性能工具 584 23.1 SQL Server Profiler 584 23.1.1 SQL Server Profiler简介 584 23.1.2 新建跟踪 585 23.1.3 存储事件记录 586 23.1.4 载入事件记录 586 23.1.5 新建跟踪模板 586 23.1.6 值得注意的功能 587 23.2 数据库引擎优化顾问 588 23.2.1 数据库引擎优化顾问介绍 588 23.2.2 使用数据库引擎优化顾问 588 23.3 小结 589 第24章 SQL Server邮件 590 24.1 SQL Mail 590 24.1.1 配置SQL Mail 590 24.1.2 使用SQL Mail发送电子邮件 593 24.2 数据库邮件 594 24.2.1 配置数据库邮件 594 24.2.2 发送测试邮件 597 24.2.3 配置SQL Server代理以使用数据库邮件 598 24.3 小结 599 第25章 数据导入与导出 601 25.1 SQL Server导入导出向导 601 25.2 数据导入导出 601 25.3 数据导入导出时的数据类型转换 604 25.4 在不同数据源与目标之间传输数据 604 25.5 小结 606 第26章 Analysis Services 607 26.1 Analysis Services简介 607 26.1.1 数据仓库 607 26.1.2 数据仓库的结构 608 26.1.3 创建数据仓库的步骤 609 26.1.4 联机分析处理(OLAP) 609 26.1.5 数据挖掘 610 26.2 定义数据源 610 26.3 定义数据源视图 612 26.4 定义多维数据集 614 26.5 部署Analysis Services项目 618 26.6 查看多维数据集 619 26.7 使用客户端软件查看多维数据 620 26.8 小结 623 第27章 Reporting Services 624 27.1 创建报表服务器项目 624 27.2 创建数据源 625 27.3 创建报表 626 27.4 发布报表 628 27.5 自定义报表信息 629 27.6 小结 632 第28章 SQL Server与XML 634 28.1 XML简介 634 28.1.1 什么是XML 634 28.1.2 使用XML的好处 635 28.1.3 XML的语法 636 28.2 SQL Server中的XML语句 638 28.2.1 FOR XML的Select语句 638 28.2.2 简单输出XML 639 28.2.3 输出XSD架构 643 28.2.4 输出XDR架构 645 28.2.5 按路径输出XML 646 28.2.6 为输出的XML添加根元素 647 28.2.7 OpenXml函数 648 28.3 XML数据类型 650 28.3.1 声明XML数据类型 651 28.3.2 为XML类型的变量赋值 651 28.3.3 将XML数据插入数据表 653 28.4 XML索引 653 28.4.1 XML索引类型 653 28.4.2 使用SQL Server Management Studio创建XML索引 654 28.4.3 使用T-SQL语句创建XML索引 656 28.5 操作XML 657 28.5.1 Query方法 657 28.5.2 Value方法 658 28.5.3 Exist方法 659 28.5.4 在XML实例中插入节点 660 28.5.5 在XML实例中修改节点的值 661 28.5.6 在XML实例中删除节点 664 28.6 小结 664 第29章 客户端及应用程序访问SQL Server的方式 666 29.1 客户端访问SQL Server的方式 666 29.1.1 ODBC接口 666 29.1.2 OLE DB接口 668 29.1.3 ADO组件 668 29.2 从Access访问SQL Server 668 29.3 使用ASP.NET程序访问SQL Server 669 29.3.1 通过ODBC接口访问SQL Server 669 29.3.2 通过OLE DB接口访问SQL Server 670 29.4 小结 671 第6部分 SQL Server 2008改进篇 673 第30章 对T-SQL的改进 674 30.1 兼容级别设置 674 30.1.1 语法 674 30.1.2 使用SQL Server Management Studio更改兼容级别 675 30.1.3 数据库兼容的注意事项 676 30.1.4 兼容级别导致的影响 677 30.1.5 兼容级别示例 678 30.1.6 兼容级别对ORDER BY的影响示例 679 30.2 复合运算符 681 30.2.1 +=运算符 681 30.2.2 -=运算符 681 30.3 Convert函数 682 30.3.1 语法 682 30.3.2 二进制与字符十六进制转换示例 683 30.4 日期和时间功能 683 30.4.1 语法 683 30.4.2 ISO周-日示例 684 30.4.3 日期功能的注意事项 684 30.5 Grouping Sets分组 685 30.5.1 语法 685 30.5.2 注意事项 686 30.5.3 Grouping Sets分组示例 686 30.6 MERGE语句 687 30.6.1 语法 687 30.6.2 MERGE合并数据源示例 690 30.7 SQL依赖关系报告 691 30.8 表值参数 692 30.8.1 创建用户表类型 692 30.8.2 使用表值参数示例 692 30.8.3 使用表值参数进行数据传递的注意事项 692 30.9 T-SQL行构造函数 693 30.10 小结 694 第31章 数据存储和数据类型 695 31.1 数据存储的改进 695 31.1.1 表和索引的压缩存储 695 31.1.2 FILESTREAM存储 701 31.1.3 稀疏列和列集 705 31.1.4 空间数据的存储、方法和索引 710 31.2 新增的数据类型 710 31.2.1 HierarchyID层次化数据 711 31.2.2 日期和时间类型 715 31.2.3 空间数据类型 718 31.2.4 用户定义表类型 723 31.2.5 用户定义类型 727 31.3 对非关系数据类型的支持 730 31.3.1 非关系数据类型概述 731 31.3.2 文档和多媒体 731 31.3.3 地理信息数据 731 31.3.4 XML数据 732 31.4 小结 734 第32章 安全性的增强 735 32.1 数据加密 735 32.1.1 新的加密辅助函数 735 32.1.2 透明数据加密 736 32.1.3 外部密钥管理 743 32.2 数据审核 743 32.2.1 数据审核概述 743 32.2.2 进行数据审核 744 32.3 身份验证的改进 752 32.3.1 基本身份验证 752 32.3.2 端点身份验证 752 32.4 小结 753 第33章 SQL Server Integration Service 754 33.1 SSIS简介 754 33.1.1 SSIS的概述 754 33.1.2 SQL Server 2008中SSIS的改进 755 33.2 SSIS结构 756 33.2.1 SSIS的用途 756 33.2.2 SSIS包的组成 757 33.3 SSIS的开发 762 33.3.1 设计和实现包 762 33.3.2 部署包 767 33.4 小结 772 第34章 分析服务的改进 773 34.1 多维数据库解决方案设计的改进 773 34.1.1 AMO警示 773 34.1.2 维度设计 775 34.1.3 多维数据集 777 34.1.4 聚合设计 780 34.2 资源监控及管理的改进 783 34.2.1 资源监控 783 34.2.2 块计算 783 34.2.3 回写性能 783 34.2.4 备份可扩展性 784 34.3 小结 784 第35章 报表服务的改进 785 35.1 新增报表制作功能 785 35.1.1 新增的数据源类型 785 35.1.2 增强的图表数据区域 785 35.1.3 仪表数据区域的使用 790 35.1.4 Tablix数据区域 792 35.1.5 文本框增强功能 797 35.1.6 报表设计器 798 35.2 报表处理 799 35.2.1 增强的报表导出格式 799 35.2.2 报表的部署 799 35.3 小结 802
2022-08-22 16:08:43 130MB SQL Server 2008 宝典
1
经典最新鸟哥的Linux私房菜-基础学习篇(第四版)高清完整书签PDF版,环境是centos7.0,需要的可以下载。
1
Python.Cookbook 第二版 主要针对 2.x 内容虽然有些老,但不过时,是一个提升python 必看的书,这个版本为高清扫描版,带书签。
2022-06-26 19:21:37 68.13MB Python. Cookbook 中文 第二版
1
CruiseYoung提供的带有详细书签的电子书籍目录 http://blog.csdn.net/fksec/article/details/7888251 Oracle SQL高级编程(资深Oracle专家力作,OakTable团队推荐) 1.10 小结 正如你可以从到目前为止的例子中看出的,SQL语言提供了很多不同的选择来得到同样的结果集。你可能还注意到了一点就是这5个核心的SQL语句都可以使用类似的构造,例如子查询。关键是需要搞清楚在各种不同的使用场景下哪种构造是最高效的。我们将在本书后面的内容中阐述如何做到这一点。 如果你对本章的例子的理解有任何困难,请一定花点时间复习Beginning Oracle SQL或者Oracle文档中的SQL Reference Guide。在本书中接下来的部分我们假设你已经很好地理解了5个核心SQL语句的基本构造:SELECT、INSERT、UPDATE、DELETE和MERGE。 Oracle SQL 高级编程 详细书签版 2013-------》2022
2022-06-20 18:05:37 43.88MB Oracle SQL 高级编程 详细书签版
1
JAVA面向对象编程(孙卫琴)(带完整书签版,课后答案,源代码) 最好的JAVA入门书籍 讲解全面,透彻 需要单独下载课后答案和源代码的在本人资源中可以找到,欢迎下载 本压缩包共分为6个部分,这里为第三部分。
1
深入理解Nginx模块开发与架构解析第2版LinuxUnix技术丛书。 这个是带完整目录书签的pdf高清文字版本,内容可以复制的,很好的学习资源。分享给大家。
2022-06-01 19:31:50 28.09MB Nginx web服务器 文字版 书签版
1