SQL Sever
-
SQL Server数据库开发经典实例精解夏邦贵 等编著本书是由国内资深数据库专家精心打造,以中文版SQL Server2000进行编写的,全书共详细介绍了7个实例,是7个典型数据库的完整开发过程,而且超值赠送书中实例的完整代码和练习文件。各个实例所涉及的知识点由浅入深,其目的是让一个SOL Server 2000初学者从入门到精通,再到实际的应用,让一个已有一定Visual Basic和SOL Server 2000基础的用户掌握如何自己设计并开发出具有实用性的数据库管理系统。因此,无论您是一个初学者还是已有一定基础的读者,本书都无疑是一个很好的选择。另外,本书也可作为各类培训班、大中专院校的上机教材和自学参考书。本书主要介绍如何使用SQLServer 2000进行数据库管理系统的开发。全书共分3篇:基础篇、应用篇和高级篇,各篇中的实例涉及SQL Server 2000数据库管理系统管理和开发领域中的应用。基础篇介绍了关系数据库的基础知识,SQLServerr2000的基本特点、版本、安装和T.SQL基础;应用篇包括4个小型实例:创建学分制选课数据库、创建学分制选课数据库表、创建选课记录查询和创建XML.查询;高级篇包括3个比较大型的综合实例:创建学生信息管理窗体、学分制选课管理系统和图书销售系统。各篇实例的实用性极强,涵盖了SQL Server 2000数据库管理系统管理和开发的大部分操作知识点,主要包括数据库管理、数据表管理、查询和视图、XML查询和ADO数据库访问组件等。本书定位于已有一定基础的SQLServer 2000初中级用户、数据库管理系统开发相关人员以及电脑爱好者学习使用,也可作为社会相关办学、大中专院校的辅助教材使用。为了方便读者学习和操作,书中实例所涉及到的源代码都被收录在本书的配套光盘中,以供读者在学习过程中调用。 -
SQL Server数据库开发实例解析赛奎春 主编本书以实用商业案例为基础,通过几个完整的商业案例,一步一步带领读者实现商业案例开发的各个目标。书中的每个实例都突出实用性,通过学习,读者不仅可以了解开发商业案例程序的专业知识,而且可以全面掌握整个数据库系统的设计思路和开发技术。全书包含仓库管理系统、图书管理系统、网上图书订购系统、明日实业企业网站、科研成果申报系统等5个数据库系统实例,通过多种开发环境、多行业实例,使读者快速掌握使用SQLServer进行数据库系统开发的精髓。.本书附有配套光盘。光盘提供了书中5个案例的全部源代码,每个案例都经过精心调试。在WindowsXP/2000下全部通过,能够正常运行。..本书内容详实、实例完整、步骤详尽,具有很强的实用性。适合于各级软件开发人员学习使用,也可供大中专院校师生学习参考。... -
深入浅出赵松涛著内容简介目录内容提要本书是作者多年从事SQL Server 2000数据库系统管理、应用开发和教学培训的经验总结。全书深入浅出地剖析了SQL Server 2000系统管理和应用开发的重点技术,突出了读者容易忽略的,但又是管理和开发实践中需要注意的重点,比如网络和数据库的结合、SQL Server 2000的体系结构、高效的SQL语句设计、优化的索引设计、备份和恢复的实现机制、ADO的体系结构和报表的设计艺术等。相信读者会有耳目一新的感觉。全书分为3个部分,共22章,内容包括构建SQL Server 2000网络、SQL Server 2000的体系结构、管理和配置服务器、管理和配置数据库、DBCC命令、数据三套车、Transact-SQL、数据安全性、数据并发性、备份和恢复、性能监控和优化、基于ADO技术的VB数据库项目开发等。本书内容全面、思路流畅、实用性强,所有实例均经过上机反复实践;对常见的问题提出了解决方案,具有很强的指导性。本书适合SQL Server 2000数据库管理人员、数据库应用开发人员阅读和参考,可作为管理SQL Server 2000数据库的技术手册、数据库技术培训教材以及参加SQL Server 2000认证考试的参考书。本书配套光盘包括各章标注的内容以及17个多媒体实验。 目 录第一部分SQL Server 2000系统管理 第1章 构建SQL Server 2000网络 31.1 本章导读 31.2 初识计算机网络 31.2.1 计算机网络的定义 31.2.2 计算机网络的发展历程 41.2.3 计算机网络的分类 51.2.4 计算机网络的拓扑结构 51.2.5 网络中的计算机通信的原理 61.2.6 TCP/IP 71.2.7 客户机/服务器模式 91.2.8 端口 91.2.9 配置计算机的IP地址 101.2.10 查看计算机的端口使用情况 101.3 初识数据库 111.3.1 数据库系统 111.3.2 数据库 111.3.3 数据库管理系统 121.3.4 数据库应用系统 121.3.5 数据库系统相关人员 121.3.6 关系模型 121.3.7 关系型数据库 131.3.8 关系型数据表的关联关系 131.3.9 关系型数据的完整性 141.4 初识关系型网络数据库 161.4.1 关系型网络数据库的特点 161.4.2 关系型网络数据库的工作模式 161.5 初识SQL Server 2000 171.5.1 SQL Server 2000的产品版本 171.5.2 安装环境需求 181.5.3 实例(Instance) 191.5.4 服务账户 191.5.5 身份验证模式 201.5.6 客户机许可模式 201.5.7 SQL Server 2000网络采用的通信协议 211.6 构建SQL Server 2000服务器和客户机 211.6.1 构建SQL Server 2000服务器 211.6.2 构建SQL Server 2000客户机 251.7 实验:远程客户机能否通过共享内存访问服务器 251.7.1 在服务器上配置共享内存 261.7.2 在本地客户机上配置共享内存 281.7.3 在远程客户机上配置共享内存 291.7.4 实验结论 291.8 实验:配置命名管道的SQL Server 2000网络 291.8.1 在服务器上配置命名管道 301.8.2 在本地客户机上配置命名管道 311.8.3 在远程客户机上配置命名管道 321.8.4 实验结论 331.9 实验:配置TCP/IP的SQL Server 2000网络 331.9.1 在服务器上配置TCP/IP 331.9.2 在本地客户机上配置TCP/IP 341.9.3 在远程客户机上配置TCP/IP 351.9.4 实验结论 351.10 实验:明明白白配置TCP/IP的端口 351.10.1 更改服务器的端口 351.10.2 客户机上如何进行配置 361.10.3 什么是动态决定端口 361.10.4 实验结论 371.11 实验:配置多协议的SQL Server 2000网络 381.11.1 在服务器上配置多协议 381.11.2 在本地客户机上配置多协议 391.11.3 在远程客户机上配置多协议 391.11.4 实验结论 391.12 实验:Winsock代理设置的含义 401.12.1 什么是代理服务 401.12.2 什么是Winsock代理 411.12.3 在服务器上设置Winsock代理 411.12.4 在客户机上配置Winsock代理 421.12.5 实验结论 421.13 实验:为什么强制协议加密导致服务器无法启动 421.13.1 在服务器上配置强制协议加密 431.13.2 实验结论 431.14 疑难解析 441.14.1 Windows XP上可以安装什么SQL Server 2000版本 441.14.2 Windows 2003上如何安装SQL Server 2000企业版 441.14.3 启动提示"1069错误(由于登录失败而无法启动服务)"如何解决 441.14.4 服务器的1433端口没有启动如何解决 451.14.5 如何下载SQL Server 2000的SP3 451.14.6 如何远程管理Internet上的SQL Server 2000服务器 451.14.7 如何卸载SQL Server 2000 461.14.8 排除SQL Server 2000网络连接故障 461.14.9 排除SQL Server 2000连接超时故障 471.14.10 什么是数据字典 471.14.11 DBA都有什么职责 471.14.12 DBA日常如何工作 481.14.13 什么是数据库的模型 491.14.14 什么是IPC机制 501.14.15 什么是网络库(Net-Library) 501.14.16 什么是关系型数据库的范式 501.15 本章小结 511.16 实践题目 51第2章 SQL Server 2000的体系结构 532.1 本章导读 532.2 SQL Server 2000网络结构 532.2.1 SQL Server 2000的C/S模式 542.2.2 客户机的结构 542.2.3 服务器的结构 552.3 SQL Server 2000服务器的引擎结构 572.3.1 SQL Server 2000引擎工作流程 572.3.2 SQL Server 2000引擎的设计 592.4 SQL Server 2000服务器的内存结构 612.4.1 为什么要设计内存 612.4.2 如何为SQL Server 2000服务器分配内存 612.4.3 SQL Server 2000服务器内存有什么内容 622.4.4 如何快速访问SQL Server 2000服务器内存 622.4.5 如何替换SQL Server 2000服务器内存页面 632.4.6 SQL Server 2000服务器日志缓冲池如何管理 632.5 SQL Server 2000服务器的存储结构 642.5.1 SQL Server 2000服务器的物理文件 642.5.2 页面(Page):SQL Server 2000数据文件的存储单位 642.5.3 页面是如何存储数据的 652.5.4 DBCC PAGE:如何查看页面的数据 652.5.5 如何查询数据库的ID和名称 662.5.6 如何查询数据文件的ID和名称 672.5.7 一个查询数据页面信息的实例 672.5.8 内存是如何管理数据页面的 712.5.9 页头:物理页面是如何管理的 712.5.10 如何查询ID所属的数据对象 722.5.11 槽(Slot):数据记录(行)在数据页面中如何存储 732.5.12 盘区(Extent):SQL Server 2000是如何分配存储空间的 742.5.13 如何提高盘区的空间利用率 742.5.14 GAM:SQL Server 2000的盘区是如何管理的 752.5.15 SGAM:SQL Server 2000的混合盘区是如何管理的 762.5.16 SQL Server 2000如何为数据对象分配盘区 772.5.17 数据文件的页面结构是怎样的 772.5.18 如何查询数据文件的页面数 782.5.19 如何查询数据库的页面数 782.5.20 如何查询数据库的盘区数 782.5.21 如何查询数据对象的盘区数 792.5.22 LOB数据是如何存储的 802.5.23 如何将小的LOB数据保存在数据页面内 802.5.24 日志文件的存储空间是如何管理的 812.6 SQL Server 2000服务器的进程结构 812.6.1 什么是SQL Server 2000进程 812.6.2 什么是SQL Server 2000线程 812.6.3 什么是SQL Server 2000纤程 822.6.4 SQL语句是怎样使用CPU资源的 822.6.5 线程或者纤程分配越多效率就越高吗 832.6.6 什么是线程或者纤程的执行优先级 832.7 实验:SQL Server 2000如何管理表 832.7.1 创建测试用数据表 832.7.2 分析日志内容 842.7.3 验证系统表中产生的信息 872.7.4 实验结论 882.8 实验:对数据页面存储参数的深入研究 892.8.1 pminlen参数的含义 892.8.2 m_freecnt参数的含义 902.8.3 数据页面空间是如何分配的 902.9 实验:揭秘定长记录(行)的存储空间 912.9.1 向定长数据表中录入数据 912.9.2 用DBCC PAGE查看定长记录的存储 942.9.3 数据页面的空间分配 952.9.4 总结定长行存储空间的计算方法 952.10 实验:揭秘变长记录(行)的存储空间 962.10.1 向变长数据表中录入数据 962.10.2 用DBCC PAGE查看变长记录的存储空间 982.10.3 数据页面的空间分配 992.10.4 总结变长行存储空间的计算方法 992.10.5 总结计算表行存储空间的方法 1002.11 实验:为什么包含LOB类型的记录可以跨越页面 1002.11.1 LOB对象记录的存储机制 1012.11.2 研究LOB类型的表的存储 1022.11.3 实验结论 1042.12 实验:将LOB数据和普通数据存储在同一个页面 1052.12.1 将LOB数据和普通数据存储在同一页面 1052.12.2 将LOB数据和普通数据分开存储 1062.13 实验:NULL值是否占用存储空间 1062.13.1 定长和变长字段都取NULL值 1072.13.2 定长字段取NULL值、变长字段取NOT NULL值 1082.13.3 定长字段取NOT NULL值、变长字段取NULL值 1092.13.4 定长和变长字段都取NOT NULL值 1102.13.5 实验结论 1112.14 疑难解析 1112.14.1 为什么页面可以存储的数据容量参数不一致 1112.14.2 能不能将特定的数据始终保留在内存中 1112.14.3 最多可以为SQL Server 2000分配多少内存 1112.14.4 如何判断SQL Server 2000内存够不够用 1112.14.5 什么是Read Ahead(先读) 1122.14.6 什么是旋转木马扫描(Merry-Go-Round Scan) 1122.14.7 同步VS.异步:数据和日志文件的写机制区别 1132.14.8 什么时机使用纤程 1132.14.9 线程数和连接数有无关系 1142.14.10 什么是零散收集I/O 1142.14.11 什么是异步I/O 1142.14.12 什么是TDS 1142.14.13 什么是Latch 1152.15 本章小结 1152.16 实践题目 115第3章 管理和配置服务器 1183.1 本章导读 1183.2 服务器的管理和配置工具 1183.2.1 MMC和企业管理器是什么关系 1193.2.2 如何配置企业管理器 1193.2.3 为什么查询分析器查询的对象名无效 1213.2.4 查询分析器显示的执行计划有什么意义 1223.2.5 查询分析器显示的服务器跟踪有什么意义 1233.2.6 查询分析器显示的客户统计有什么意义 1233.2.7 什么是查询分析器的模板(Template) 1243.3 服务器组 1253.3.1 什么是服务器组 1253.3.2 什么是基于服务器组的管理结构 1253.4 注册服务器 1253.4.1 什么是服务器的注册 1253.4.2 什么情况下需要注册服务器 1263.4.3 怎样注册一个服务器 1263.5 暂停、启动和关闭服务器 1273.5.1 什么时机需要暂停服务器 1283.5.2 如何暂停服务器 1283.5.3 如何关闭服务器 1283.5.4 关闭和暂停服务器有什么区别 1293.5.5 如何启动服务器 1293.5.6 在企业管理器中管理服务器 1303.6 配置服务器 1303.6.1 怎样查看服务器的环境信息 1303.6.2 什么是服务器的排序规则 1313.6.3 哪些服务可以自动启动 1313.6.4 什么是服务器的错误报告功能 1323.6.5 如何配置使用动态内存的服务器 1323.6.6 如何配置一个使用固定内存的服务器 1333.6.7 SQL Server 2000服务器可以使用哪些CPU 1333.6.8 如何设置CPU的最大线程数 1333.6.9 是否提升SQL Server 2000线程的优先级 1343.6.10 使用线程还是纤程 1343.6.11 是否启用多CPU做并行查询 1343.6.12 如何更改服务器的身份验证方式 1343.6.13 如何对服务器进行审核 1353.6.14 如何查看服务器的审核信息 1353.6.15 谁可以启动服务器 1363.6.16 如何限制并发连接的用户数 1373.6.17 如何在服务器之间执行分布式事务 1373.6.18 什么是用户的默认语言 1383.6.19 如何控制服务器的行为 1383.6.20 服务器如何解释两位数年份 1393.6.21 什么是索引填充因子 1393.6.22 如何设置磁带备份和还原参数 1413.6.23 什么是恢复间隔 1413.6.24 创建数据库的文件存放在哪里 1423.6.25 如何查询服务器的当前配置参数 1423.6.26 如何查询服务器的当前运行参数 1423.7 多服务器环境的管理和配置 1433.7.1 创建和使用链接服务器 1433.7.2 创建和使用远程服务器 1453.8 疑难解析 1463.8.1 注册名为Local如何处理 1463.8.2 如何设置服务器的内存大小 1463.8.3 为什么服务器占用内存太多 1463.8.4 什么是服务器的错误日志 1473.9 本章小结 1473.10 实践题目 148第4章 管理和配置数据库 1494.1 本章导读 1494.2 默认的4个系统数据库 1504.2.1 master数据库有什么作用 1504.2.2 model数据库有什么作用 1504.2.3 msdb数据库有什么作用 1504.2.4 tempdb数据库有什么作用 1504.2.5 4个系统数据库是如何启动的 1514.3 创建用户数据库 1524.3.1 谁可以创建用户数据库 1524.3.2 如何命名用户数据库 1524.3.3 创建用户数据库会产生哪些操作系统文件 1524.3.4 为什么要评估数据文件的初始大小 1534.3.5 粗略评估数据文件初始大小的案例 1534.3.6 创建用户数据库的案例 1534.4 配置用户数据库 1554.4.1 数据库工作在什么状态 1554.4.2 数据库当前空间利用率是多少 1564.4.3 怎样添加次要数据文件 1564.4.4 数据文件之间怎样存储数据 1564.4.5 怎样添加多个日志文件 1574.4.6 日志文件之间怎样存储数据 1574.4.7 什么是文件组 1584.4.8 什么是默认的文件组 1584.4.9 如何使用文件组 1584.4.10 如何创建文件组 1594.4.11 如何限制用户对数据库的访问 1594.4.12 什么是数据库的单用户模式 1604.4.13 如何选择数据库的故障还原模型(恢复模型) 1604.4.14 选项设置参数有什么含义 1614.4.15 什么是数据库的兼容性 1624.4.16 如何设置用户访问数据库的权限 1624.5 分离和附加用户数据库 1634.5.1 如何分离数据库 1634.5.2 如何附加数据库 1634.6 脱机和联机用户数据库 1644.6.1 如何脱机数据库 1644.6.2 如何联机数据库 1654.7 维护用户数据库 1654.7.1 什么是数据库的维护计划 1654.7.2 创建数据库维护计划 1654.8 收缩用户数据库 1684.8.1 为什么要收缩数据库 1684.8.2 什么是自动收缩和手动收缩 1694.8.3 收缩数据文件和日志文件有什么不同 1694.8.4 收缩操作是如何执行的 1694.8.5 收缩数据库的案例 1694.9 删除用户数据库 1704.10 实验:tempdb数据库的数据存放在内存还是硬盘上 1714.11 实验:数据文件组的比例填充写机制 1734.11.1 测试比例填充写机制的方法 1734.11.2 研究数据页面分配方法 1744.12 实验:日志文件的循环写机制 1764.13 疑难解析 1764.13.1 文件必须按照指定的扩展名命名吗 1764.13.2 能不能重新命名数据库 1774.13.3 如何删除数据文件 1774.13.4 如何删除日志文件 1784.13.5 为什么分区上无法创建文件 1784.13.6 如何查看数据库空间使用情况 1784.13.7 如何使用tempdb数据库 1784.13.8 为什么恢复Master数据库提示必须单用户模式 1794.13.9 Tempdb数据库可以恢复吗 1794.13.10 如何在Tempdb数据库中创建临时表 1794.13.11 在企业管理器中看不到Tempdb数据库的临时表 1794.13.12 为什么对Tempdb数据库的操作执行较快 1804.13.13 如何更改Tempdb数据库文件的存储路径 1804.14 本章小结 1814.15 实践题目 181第5章 DBCC命令 1825.1 本章导读 1825.2 DBCC帮助类命令 1835.2.1 DBCC HELP (‘?‘) 1835.2.2 DBCC HELP (‘命令‘) 1835.2.3 DBCC USEROPTIONS 1835.3 DBCC状态验证类命令 1835.3.1 DBCC CHECKALLOC 1835.3.2 DBCC CHECKCATALOG 1845.3.3 DBCC CHECKCONSTRINTS 1855.3.4 DBCC CHECKDB 1855.3.5 DBCC CHECKFILEGROUP 1865.3.6 DBCC CHECKTABLE 1875.3.7 DBCC CHECKIDENT 1885.4 DBCC维护类命令 1885.4.1 DBCC CLEANTABLE 1885.4.2 DBCC DBREINDEX 1895.4.3 DBCC UPDATEUSAGE 1905.4.4 DBCC INDEXDEFRAG 1915.4.5 DBCC PINTABLE 1925.4.6 DBCC UNPINTABLE 1935.4.7 DBCC SHRINKDATABASE 1935.4.8 DBCC SHRINKFILE 1955.5 DBCC性能调节类命令 1975.5.1 DBCC dllname(FREE) 1975.5.2 DBCC DROPCLEANBUFFERS 1975.5.3 DBCC FREEPROCCACHE 1985.5.4 DBCC INPUTBUFFER 1985.5.5 DBCC OPENTRAN 1995.5.6 DBCC OUTPUTBUFFER 1995.5.7 DBCC SHOW_STATISTICS 2005.5.8 DBCC SHOWCONTIG 2005.5.9 DBCC SQLPERF 2015.5.10 DBCC CACHESTATS 2045.5.11 DBCC CURSORSTATS 2055.5.12 DBCC MEMORYSTATS 2055.5.13 DBCC SQLMGRSTATS 2065.6 DBCC未公开的命令 2065.6.1 DBCC ERRLOG 2065.6.2 DBCC FLUSHPROCINDB 2075.6.3 DBCC BUFFER 2075.6.4 DBCC DBINFO 2075.6.5 DBCC DBTABLE 2085.6.6 DBCC IND 2085.6.7 DBCC LOG 2085.6.8 DBCC PROCBUF 2095.6.9 DBCC PRTIPAGE 2105.6.10 DBCC PSS 2105.6.11 DBCC RESOURCE 2115.6.12 DBCC TAB 2115.7 DBCC跟踪标记 2125.7.1 什么是跟踪标记 2125.7.2 DBCC TRACEON 2125.7.3 DBCC TRACEOFF 2125.7.4 DBCC TRACESTATUS 212第6章 数据三套车:表、索引和视图 2136.1 本章导读 2136.2 数据类型:SQL Server 2000如何表示数据 2136.2.1 SQL Server 2000的基本数据类型 2136.2.2 使用整数型数据类型需要注意什么 2146.2.3 使用货币数据类型需要注意什么 2156.2.4 如何录入货币数据类型的数据 2156.2.5 使用精确数字数据类型需要注意什么 2156.2.6 使用浮点数字数据类型需要注意什么 2166.2.7 使用日期/时间数字数据类型需要注意什么 2166.2.8 如何指定日期/时间数据类型的格式 2166.2.9 使用字符型数据类型时需要注意什么 2176.2.10 使用Unicode字符型数据类型时需要注意什么 2176.2.11 使用二进制数据类型时需要注意什么 2176.2.12 如何创建用户定义的数据类型 2186.3 表 2196.3.1 SQL Server 2000表的分类 2196.3.2 如何设计表 2196.3.3 设计表结构时为什么要避免NULL值 2206.3.4 如何选择主码列 2206.3.5 什么是IDENTITY(标识符)列 2206.3.6 什么是GUID(全局惟一标识符)列 2216.3.7 创建表 2216.3.8 修改表结构 2236.3.9 删除表 2256.3.10 SQL Server 2000如何管理表 2256.3.11 表的数据存储在哪个数据页面 2286.3.12 文本和图像数据是如何存储的 2296.3.13 如何计算表需要的存储空间 2316.4 索引 2326.4.1 表扫描还是索引扫描:SQL Server 2000如何访问数据 2326.4.2 索引对数据库是不是必须的 2326.4.3 索引的原理 2336.4.4 从堆到B+树:索引文件结构的变迁 2336.4.5 SQL Server 2000的索引类型 2346.4.6 时间VS.空间:选择稠密索引还是稀疏索引 2356.4.7 探究聚集索引的奥秘 2366.4.8 行定位器:探究非聚集索引的奥秘 2436.4.9 IAM页面:探究堆集的奥秘 2446.4.10 什么是页的分裂 2456.4.11 索引填充因子:避免页分裂的重要参数 2466.4.12 如何估计B+树索引的大小 2466.4.13 如何查看索引的实际大小 2476.4.14 在【企业管理器】中如何创建索引 2496.4.15 用Transact-SQL语句如何创建索引 2506.4.16 DBCC IND:如何查看索引分配的页面 2516.4.17 DBCC SHOWCONTIG:如何检测索引的碎片 2526.4.18 DBCC INDEXDEFRAG:如何整理索引的碎片 2546.4.19 选择性和密度:选择索引的奥秘 2556.4.20 统计信息:影响索引性能的因素 2566.4.21 用索引优化向导设计索引 2576.4.22 不是每个索引都有美好结局:总结创建索引的经验 2596.5 视图 2606.5.1 视图是什么 2606.5.2 为什么要使用视图 2606.5.3 SQL Server 2000中创建视图的规则 2616.5.4 创建视图 2616.5.5 通过视图操作表的数据 2626.6 疑难解析 2636.6.1 为什么非聚集索引适合返回少数值的查询 2636.6.2 为什么聚集索引适合范围查询 2646.6.3 SQL Server 2000中表的规格参数 2646.6.4 索引是否只对SELECT语句起作用 2646.6.5 视图上能不能建立索引 2656.6.6 如何创建覆盖索引 2656.6.7 什么是数据热点 2656.6.8 创建的聚集索引如何避免产生数据热点 2656.6.9 如何选择建立聚集索引的列 2666.6.10 如何设计聚集索引和非聚集索引 2666.6.11 如何设计索引的填充因子 2666.6.12 什么是表变量 2676.6.13 表变量VS.临时表 2676.6.14 视图到底有没有自己的数据 2686.7 本章小结 2686.8 实践题目 268第7章 功能VS.效率:SQL详解 2707.1 本章导读 2707.2 SQL基础 2707.2.1 SQL的特点 2707.2.2 SQL的组成 2727.2.3 SQL中如何表示数据对象 2737.3 用SQL定义数据 2737.3.1 Create Database:创建数据库 2747.3.2 Alter Database:修改数据库 2747.3.3 Drop Database:删除数据库 2757.3.4 Create Table:创建表 2757.3.5 Alter Table:修改表 2777.3.6 Drop Table:删除表 2777.4 用SQL查询单表数据 2777.4.1 创建实例数据库 2777.4.2 查询所有记录 2807.4.3 查询指定字段的记录 2807.4.4 查询中过滤相同的记录 2817.4.5 带表达式的查询 2817.4.6 显示列名的带表达式的查询 2817.4.7 指定查询路径的查询 2817.4.8 指定查询结果的查询 2817.4.9 更改列标题显示的查询 2827.4.10 【Where】条件查询 2827.4.11 组合条件查询 2847.4.12 用Order By对查询结果排序 2847.4.13 用Group By对查询结果分组 2857.4.14 用Having对查询结果筛选 2857.4.15 用Compute对查询结果汇总 2867.4.16 用Compute By对查询结果分类汇总 2867.4.17 用Into存储查询结果 2877.5 用SQL查询多表数据(连接查询) 2877.5.1 连接查询的语法结构 2877.5.2 连接查询的分类 2887.5.3 笛卡尔积连接 2887.5.4 等值连接 2887.5.5 自然连接 2897.5.6 非等值连接 2897.5.7 自身连接 2897.5.8 内连接 2897.5.9 外连接 2907.5.10 复合连接 2917.6 用SQL进行函数查询 2927.6.1 聚合函数 2927.6.2 日期和时间函数 2937.6.3 数学函数 2967.6.4 字符串函数 2987.7 用SQL进行嵌套查询 3017.7.1 什么是嵌套查询 3017.7.2 什么是子查询 3017.7.3 简单嵌套查询 3027.7.4 带in的嵌套查询 3027.7.5 带not in的嵌套查询 3037.7.6 带some的嵌套查询 3037.7.7 带any的嵌套查询 3047.7.8 带all的嵌套查询 3057.7.9 带exists的嵌套查询 3057.8 用SQL操纵数据 3067.8.1 Insert:数据录入 3067.8.2 Update:数据修改 3067.8.3 Delete:数据删除 3077.9 设计高效的SQL语句 3077.9.1 SQL语句是怎样被执行的 3077.9.2 SQL语句是怎样被优化的 3087.9.3 SET STATISTICS IO:查询SQL语句的读写代价 3087.9.4 SET STATISTICS TIME:查询SQL语句的执行时间 3107.9.5 SET SHOWPLAN_TEXT ON :查询SQL语句的执行计划 3117.9.6 SET NOCOUNT ON:减少SQL语句的网络流量 3117.9.7 编程查询单条SQL语句的执行时间 3127.9.8 编程查询成批的SQL语句的执行时间 3137.9.9 SET SHOWPLAN_ALL:详解SQL语句的执行计划 3137.9.10 SEEK VS.SCAN:从执行计划判断是否需要优化SQL 3157.9.11 连接VS.子查询:一样的结果、不一样的效率 3167.9.12 SQL优化与数据库性能的关系 3177.9.13 人工优化VS.智能优化:SQL优化技术的发展 3187.9.14 用SQL Expert设计优化的SQL语句 3187.10 疑难解析 3217.10.1 在SQL语句中如何转换数据类型 3217.10.2 设计SQL语句的经验 3217.11 本章小结 3227.12 实践题目 322第8章 数据完整性:约束、规则和默认 3238.1 本章导读 3238.2 SQL Server 2000的数据完整性机制 3238.2.1 什么是数据完整性 3238.2.2 SQL Server 2000的数据完整性机制 3248.2.3 SQL Server 2000的约束(CONSTRAINT) 3248.2.4 SQL Server 2000的规则(RULE) 3258.2.5 SQL Server 2000的默认(DEFAULT) 3258.3 创建约束 3268.3.1 创建NOT NULL约束 3268.3.2 创建PRIMARY KEY约束 3268.3.3 创建FOREIGN KEY约束 3278.3.4 创建UNIQUE约束 3288.3.5 创建CHECK约束 3288.4 创建规则 3298.4.1 在【企业管理器】中创建规则 3298.4.2 将规则绑定到列 3298.5 创建默认 3308.5.1 在【企业管理器】中创建默认 3308.5.2 将默认绑定到列 3318.6 疑难解析 3318.6.1 创建UNIQUE约束的注意事项 3318.6.2 创建CHECK约束的注意事项 3328.7 本章小结 3328.8 实践题目 332第9章 数据安全性:角色、用户和权限 3349.1 本章导读 3349.2 SQL Server 2000的数据安全性机制 3349.2.1 SQL Server 2000的数据安全性机制 3349.2.2 SQL Server 2000的身份验证机制 3359.2.3 SQL Server 2000的角色机制 3369.2.4 SQL Server 2000的权限(许可)机制 3379.3 管理服务器角色 3389.3.1 管理角色 3389.3.2 创建数据库角色 3399.4 管理用户账户(登录) 3419.4.1 创建登录 3419.4.2 管理登录的权限 3429.5 审核用户活动(AUDIT) 3429.5.1 启动服务器的审核功能 3439.5.2 利用【事件探查器】进行审核 3439.6 疑难解析 3469.6.1 账户和密码保存在哪里 3469.6.2 如何选择身份验证机制 3469.6.3 应用程序角色和标准角色有什么区别 3469.6.4 什么时机使用应用程序角色 3479.6.5 为什么【企业管理器】中无法添加Windows用户组 3479.6.6 如何设计SQL Server 2000服务器的安全体系 3479.6.7 如何使用sa账户 3479.6.8 什么是dbo用户 3479.6.9 什么是数据库对象所有者 3489.7 本章小结 348第10章 数据并发性:事务和锁 34910.1 本章导读 34910.2 SQL Server 2000的事务机制 34910.2.1 SQL Server 2000的并发问题 34910.2.2 什么是事务(Transaction) 35110.2.3 事务的状态 35210.2.4 SQL Server 2000事务模式 35310.2.5 SQL Server 2000事务控制语句 35410.2.6 SQL Server 2000的平面事务 35410.2.7 SQL Server 2000的嵌套事务 35410.2.8 SQL Server 2000的分布式事务 35610.2.9 效率VS.一致性:事务的调度机制 35810.2.10 一致性VS.并发性:事务的隔离性级别 35810.2.11 什么是SQL Server 2000批 35910.2.12 事务中不能使用的Transact-SQL语句 35910.3 SQL Server 2000的锁机制 35910.3.1 并发问题解决机制 35910.3.2 锁:预先预防冲突的悲观并发控制机制 36010.3.3 SQL Server 2000锁的粒度 36110.3.4 SQL Server 2000锁的类型(模式) 36110.3.5 锁持有度 36310.3.6 锁拥有者 36310.3.7 查询锁信息 36310.3.8 锁的兼容性 36510.3.9 SQL Server 2000的动态锁机制 36510.3.10 在【企业管理器】中查看锁 36610.3.11 死锁的检测和预防 36610.3.12 SQL Server 2000的死锁检测和结束机制 36710.3.13 用【事件探查器】检测死锁 36810.4 SQL Server 2000的事务编程 36810.4.1 设置和关闭隐性事务模式 36810.4.2 定义本地事务 37010.4.3 提交事务 37110.4.4 回滚事务 37210.4.5 利用保存点保存本地事务 37310.4.6 设置事务的隔离性级别 37310.5 疑难解析 37410.5.1 本地事务什么时机会升级为分布式事务 37410.5.2 编写前台应用程序时如何使用事务 37410.5.3 在利用ADO编写前台应用程序时如何使用事务 37510.5.4 编写前台应用程序时如何使用隐性事务 37510.5.5 编写前台应用程序事务的原则 37610.5.6 Log Explorer:明明白白学日志的工具 37710.5.7 Select语句会不会产生日志 37910.5.8 Insert语句产生了什么事务日志 37910.5.9 Update语句产生了什么事务日志 38010.5.10 Delete语句产生了什么事务 38110.6 本章小结 381第11章 数据库备份和恢复 38311.1 本章导读 38311.2 基于日志的数据库恢复机制 38411.2.1 日志对数据库是必须的吗 38411.2.2 日志的作用 38411.2.3 SQL Server 2000日志的特点 38511.2.4 日志记录:日志文件的内容单位 38511.2.5 UndoVS.Redo:基于日志的数据库恢复机制 38511.2.6 LSN:维系数据和日志的纽带 38611.2.7 WAL:先写日志的恢复机制 38811.3 SQL Server 2000的常见故障和恢复机制 39011.3.1 Undo:事务故障及其恢复机制 39011.3.2 Undo+Redo:系统故障及其恢复机制 39111.3.3 Redo:介质故障及其恢复机制 39111.4 SQL Server 2000的日志检查点机制 39211.4.1 检查点:日志的驿站 39211.4.2 为什么检查点能提高恢复的效率 39311.4.3 MinLSN:如何选择最小恢复LSN 39411.4.4 什么情况下产生检查点 39411.4.5 SQL Server 2000的自动检查点机制 39511.4.6 CHECKPOINT:手动产生检查点 39511.5 安全VS.空间:SQL Server 2000数据库的恢复模型 39611.5.1 完全恢复模型 39611.5.2 大容量日志记录恢复模型 39711.5.3 简单恢复模型 39711.5.4 3种恢复模型的比较 39711.5.5 设置SQL Server 2000数据库的恢复模型 39811.5.6 不同恢复模型下的检查点操作 39811.6 SQL Server 2000的备份机制 40011.6.1 SQL Server 2000的备份类型 40011.6.2 不同的恢复模型支持的备份类型 40111.6.3 SQL Server 2000的备份设备 40111.6.4 用SP_SPACEUSED估计备份的大小 40311.7 用【企业管理器】备份与恢复 40411.7.1 完全数据库备份 40411.7.2 完全数据库恢复 40511.7.3 事务日志备份 40611.7.4 事务日志恢复 40711.7.5 差异数据库备份 40811.7.6 差异数据库恢复 40911.7.7 文件和文件组备份 41011.7.8 文件和文件组恢复 41111.8 用Transact-SQL备份与恢复 41211.8.1 用于数据库备份的Transact-SQL语句 41211.8.2 用于文件或文件组备份的Transact-SQL语句 41411.8.3 用于日志备份的Transact-SQL语句 41511.8.4 截断事务日志Transact-SQL语句 41611.8.5 恢复完全数据库备份的Transact-SQL语句 41611.8.6 恢复事务日志备份的Transact-SQL语句 41711.9 设计和实施一个完整的数据库备份与恢复方案 41811.9.1 技术VS.代价:如何制定备份与恢复方案 41811.9.2 选择SQL Server 2000数据库的恢复模型 42011.9.3 适合绝大部分数据库的两种备份与恢复方案 42111.9.4 剖析一个完整的数据库备份与恢复方案 42111.9.5 实施一个完整的数据库备份方案 42211.9.6 实施灾难数据库恢复方案 42511.10 疑难解析 42611.10.1 仅有.BAK文件时如何恢复 42611.10.2 为什么无法进行事务日志备份和文件备份 42711.10.3 为什么无法创建差异数据库备份 42711.10.4 备份或者恢复过程发生中断如何处理 42811.10.5 什么时机需要备份Master数据库 42911.10.6 需不需要备份tempdb数据库 42911.10.7 当前日志和备份日志有什么关系 42911.10.8 仅有数据文件、没有日志文件时如何恢复 42911.10.9 DBCC LOGINFO查看VLF 43111.11 本章小结 43211.12 实践题目 432第12章 智能管理:代理服务 43412.1 本章导读 43412.2 SQL Server 2000的代理服务机制 43412.2.1 SQL Server 2000代理服务的结构 43412.2.2 SQL Server 2000代理服务的运行环境 43512.2.3 配置SQL Server 2000代理服务的属性 43512.3 一个基于代理服务实现的智能作业 43712.3.1 创建警报 43712.3.2 创建操作员 43812.3.3 创建作业 43912.4 本章小结 44112.5 实践题目 442第13章 服务器性能监控、调整和优化 44313.1 本章导读 44313.2 可能导致性能瓶颈的因素 44413.2.1 服务器资源 44413.2.2 网络 44413.2.3 数据库设计 44413.2.4 应用系统设计 44413.3 服务器性能监控和调整工具 44513.3.1 Windows的【性能监控器】 44513.3.2 Windows的【任务管理器】 44613.3.3 SQL Server 2000的【事件探查器】 44713.3.4 SQL Server 2000的【查询分析器】 44913.3.5 特殊的系统存储过程 44913.3.6 特殊的DBCC命令 44913.3.7 特殊的全局变量 45013.3.8 SQL Server 2000的【索引调节向导】 45313.4 监控和调整I/O性能 45313.4.1 磁盘I/O对服务器性能的影响 45313.4.2 监控磁盘I/O性能的计数器 45313.4.3 磁盘I/O是否是性能瓶颈 45413.4.4 可能导致磁盘I/O性能瓶颈的原因 45413.4.5 顺序I/O VS.随机I/O:SQL Server 2000的I/O类型 45513.4.6 调整I/O性能的方法 45513.5 监控和调整内存性能 45613.5.1 物理内存VS.虚拟内存 45613.5.2 内存页面错误:内存性能低下的原因 45613.5.3 监控内存性能的计数器 45713.5.4 内存是不是性能瓶颈 45713.5.5 调整内存性能的方法 45813.6 监控和调整CPU性能 45813.6.1 进程VS.线程VS.纤程:分配CPU资源的单位 45813.6.2 用户模式VS.特权模式 45913.6.3 监控CPU性能的计数器 45913.6.4 CPU是不是性能的瓶颈 45913.6.5 监控消耗CPU资源进程的计数器 46013.6.6 监控消耗CPU资源线程的计数器 46013.6.7 监控进程和线程的意义 46013.6.8 更多CPU VS.更快的CPU 46113.7 监控和调整网络性能 46113.7.1 监控网络性能的计数器 46113.7.2 调整网络性能的方法 46113.8 调整和优化数据库设计 46213.8.1 监控数据库性能的计数器 46213.8.2 优化数据库设计的方法 46413.9 调整和优化应用系统设计 46413.9.1 监控应用系统性能的计数器 46413.9.2 优化应用系统设计的方法 46513.10 设计和实现一个优化的SQL Server 2000服务器 46513.10.1 数据和日志文件分开存放在不同磁盘上 46513.10.2 tempdb数据库单独存放在不同磁盘上 46513.10.3 避免热点数据的发生 46613.10.4 数据类型要少 46613.10.5 监控和整理空间碎片 46613.10.6 使用主数据文件和次要数据文件 46613.10.7 利用文件组改善性能 46613.10.8 重视自动增长和自动收缩可能导致的性能问题 46713.10.9 分离系统数据和用户数据 46713.10.10 优化索引设计 46713.10.11 定期更新统计信息 46713.10.12 定期的一致性检查 46713.11 疑难解析 46713.11.1 整数VS.浮点运算能力:配置SQL Server 2000系统的CPU 46713.11.2 查询密集VS.事务密集:配置SQL Server 2000系统的内存 46813.11.3 容量VS.吞吐量:配置SQL Server 2000系统的硬盘 46813.12 本章小结 468第14章 SQL Server 2000高级管理专题 47014.1 本章导读 47014.2 数据转换服务DTS 47014.2.1 什么是DTS服务 47014.2.2 使用DTS向导转换数据 47114.2.3 创建DTS包 47414.2.4 DTS包调度执行失败原因及解决方法 47714.3 全文索引 47814.3.1 基表查询VS.全文查询 47814.3.2 什么是全文目录 47914.3.3 什么是全文索引 47914.3.4 启用全文检索服务 47914.3.5 定义全文索引 48014.3.6 利用全文索引检索数据 48214.4 分布式数据复制 48414.4.1 备份VS.复制 48414.4.2 分布式数据复制的优点 48414.4.3 什么时机需要使用分布式数据复制 48514.4.4 SQL Server 2000分布式数据复制的机制 48514.4.5 拉订阅(请求订阅)VS.推订阅(强制订阅) 48514.4.6 SQL Server 2000的分布式数据复制类型 48614.4.7 SQL Server 2000的分布式数据复制代理 48714.4.8 配置发布、订阅和分发服务器 48814.4.9 使用【复制监视器】 49114.4.10 创建及管理发布 49214.4.11 创建订阅 49514.5 本章小结 499第15章 专业的SQL Server 2000管理工具 50015.1 本章导读 50015.2 Quest Central 50115.2.1 Quest Central简介 50115.2.2 Quest Central for SQL Server简介 50115.2.3 注册SQL Server 2000服务器 50215.2.4 自动发现未注册的SQL Server 2000服务器 50315.2.5 比较两个SQL Server 2000对象 50415.2.6 Knowledge Xpert:SQL Server 2000知识宝典 50515.2.7 SQL Tuning:设计优化的SQL语句 50615.2.8 Space Management:可视化的空间管理工具 50715.2.9 Database Analysis:专业数据库性能分析工具 50815.2.10 Performance Analysis:实时诊断和历史分析工具 50815.3 Spotlight 50915.3.1 Spotlight简介 50915.3.2 用Spotlight监控服务器总体性能 50915.3.3 用Spotlight监控I/O 51015.3.4 用Spotlight监控Sessions 51115.3.5 用Spotlight监控Lock 51115.3.6 用Spotlight监控有无资源阻塞 51215.3.7 用Spotlight监控物理文件的I/O 51215.3.8 用Spotlight监控内存总体性能 51315.3.9 用Spotlight监控数据库空间使用情况 51315.4 Data Factory 51415.4.1 Data Factory简介 51415.4.2 利用Data Factory产生数据 51415.5 Benchmark Factory 51615.5.1 Benchmarka Factory简介 51615.5.2 数据库压力测试工业标准 51715.5.3 用Benchmark Factory测试数据库压力 51715.6 本章小结 520 第二部分Transact-SQL编程 第16章 Transact-SQL编程 52316.1 本章导读 52316.2 Transact-SQL VS. SQL 52316.2.1 什么是Transact-SQL 52316.2.2 Transact-SQL VS. SQL 52416.2.3 Transact-SQL程序的结构 52416.2.4 Transact-SQL程序的数据类型 52516.2.5 Transact-SQL程序的批处理 52516.2.6 应用程序中如何使用Transact-SQL程序 52616.2.7 Transact-SQL程序的运算符 52616.3 变量 52716.3.1 Transact-SQL的变量类型 52716.3.2 Transact-SQL的全局变量 52816.3.3 创建和使用局部变量 52916.4 函数 53016.4.1 Convert函数 53016.4.2 创建和使用自定义函数 53116.5 流程控制语句 53316.5.1 程序块语句(BEGIN…END) 53316.5.2 判断语句(IF…ELSE) 53416.5.3 检测语句(IF…EXISTS) 53616.5.4 循环语句(WHILE) 53616.5.5 分支判断语句(CASE…WHEN) 53716.5.6 无条件退出语句(RETURN) 53816.5.7 延期执行语句(WAITFOR) 54016.5.8 跳转语句(GOTO) 54116.6 功能性语句 54216.6.1 输出语句(PRINT) 54216.6.2 错误处理语句(RAISEERROR) 54316.6.3 选项设置语句(SET) 54416.7 游标(Cursor) 54516.7.1 什么是游标 54516.7.2 游标的生命周期 54516.7.3 声明游标 54616.7.4 打开游标 54716.7.5 读取游标 54716.7.6 关闭游标 54816.7.7 释放游标 54816.7.8 完整的游标实例 54816.7.9 游标的执行效率很差吗 54916.8 本章小结 550第17章 存储过程和触发器 55117.1 本章导读 55117.2 存储过程基础 55117.2.1 为什么要设计存储过程 55117.2.2 什么是存储过程 55217.2.3 存储过程的作用 55217.2.4 存储过程有什么优点 55217.2.5 SQL Server 2000存储过程的分类 55317.3 创建、执行和管理存储过程 55317.3.1 在【企业管理器】中创建存储过程 55317.3.2 创建存储过程的Transact-SQL语法 55617.3.3 执行存储过程 55717.3.4 创建带参数和返回值的存储过程 55917.3.5 执行带参数和返回值的存储过程 56017.3.6 删除存储过程 56017.3.7 执行带参数的存储过程的等效语句 56017.4 触发器基础 56117.4.1 什么是触发器 56117.4.2 SQL Server 2000的触发器类型 56117.4.3 SQL Server 2000的触发器工作原理 56217.4.4 SQL Server 2000触发器的优点 56317.4.5 什么时机使用触发器 56317.5 创建和管理触发器 56317.5.1 创建触发器的Transact-SQL语法 56317.5.2 -
数据库原理与应用李春葆, 曾平编著内容简介目录数据库技术是目前IT行业中发展最快的领域之一,已经被广泛应用于各种类型的数据处理系统之中。了解并掌握数据库知识已经成为各类科技人员和管理人员的基本要求。本书基于SQL Server 2000系统讨论数据库的原理和应用方法。全书分为3部分:第1章~第5章介绍数据库的一般原理;第6章~第18章介绍SQL Server 2000数据库管理方法;第19章~第21章介绍VB 6.0环境下开发SQL Server 2000数据库应用系统的相关技术。每章都配有练习题,书中还安排了16个上机实验题供选做。本书内容由浅入深,循序渐进,通俗易懂,适合自学,可作为各类院校相关专业及其他培训班的"数据库原理与应用"或"SQL Server 2000应用系统开发"课程的教学用书,对于计算机应用人员和计算机爱好者本书也是一本实用的自学参考书。前言数据库技术是目前IT行业中发展最快的领域之一,已经广泛应用于各种类型的数据处理系统之中。了解并掌握数据库知识已经成为各类科技人员和管理人员的基本要求。"数据库原理与应用"课程已逐渐成为普通高校各个专业本、专科学生的必修课程。本书基于SQL Server 2000讨论数据库的原理和应用方法。全书分为3部分,第1章~第5章介绍数据库的一般原理;第6章~第18章介绍SQL Server 2000数据库管理方法;第19章~第21章介绍VB 6.0环境下开发SQL Server 2000数据库应用系统的相关技术。第1章为数据库系统概述,第2章为数据模型,第3章为关系数据库,第4章为关系数据库规范化理论,第5章为数据库设计,第6章为SQL Server 2000系统概述,第7章为创建和使用数据库,第8章为创建和使用表,第9章为Transact-SQL,第10章为SQL高级使用,第11章为索引,第12章为视图,第13章为数据库完整性,第14章为存储过程,第15章为触发器,第16章为SQL Server的安全管理,第17章为数据备份与还原,第18章为数据转换,第19章为VB与数据库,第20章为使用DAO操作数据库,第21章为使用ADO操作数据库。每一章后都给出相应的练习题,书中还安排了16个上机实验题供读者选做。本书内容由浅入深,循序渐进,通俗易懂,适合自学。书中提供了大量例题,有助于读者理解概念、巩固知识、掌握要点、攻克难点。本书可以作为各类院校相关专业及其他培训班的"数据库原理与应用"或"SQL Server 2000应用系统开发"课程的教学用书,对于计算机应用人员和计算机爱好者本书也是一本实用的自学参考书。由于时间仓促,编者水平有限,书中难免出现错误和疏漏之处,敬请广大读者指正。 编者2005年11月 第1章数据库系统概述 11.1信息、数据和数据处理 11.1.1信息与数据 11.1.2数据处理 21.2数据管理技术的发展 21.2.1人工管理阶段(20世纪50年代) 21.2.2文件系统阶段(20世纪60年代) 21.2.3数据库系统阶段(20世纪60年代后期) 31.3数据库系统的组成与结构 41.3.1数据库系统的组成 41.3.2数据库系统体系结构 5l.4数据库管理系统 71.4.1DBMS的主要功能 71.4.2DBMS的组成 8练习题1 9第2章数据模型 102.1什么是数据模型 102.1.1数据的描述 112.1.2数据间联系的描述 112.2概念模型 112.2.1信息世界中的基本概念 112.2.2实体间的联系方式 122.2.3实体联系表示法(E-R方法) 132.2.4怎样设计E-R图 152.3数据库类型 162.3.1层次模型 172.3.2网状模型 182.3.3关系模型 19练习题2 20第3章关系数据库 213.1关系模型的基本概念 213.2关系的数学定义 223.3关系代数 243.3.1传统的集合运算 243.3.2专门的关系运算 24练习题3 26第4章关系数据库规范化理论 284.1问题的提出 284.2函数依赖 294.2.1函数依赖的定义 294.2.2函数依赖与属性关系 304.2.3Armstrong公理 314.2.4闭包及其计算 324.3范式和规范化 334.3.1什么叫范式 334.3.2范式的判定条件与规范化 334.4关系模式的分解 354.4.1模式分解中存在的问题 354.4.2无损分解的定义和性质 354.4.3无损分解的测试方法 364.4.4保持函数依赖的分解 36练习题4 37第5章数据库设计 395.1数据库设计概述 395.2需求分析 405.2.1需求分析的步骤 405.2.2需求分析的方法 425.3概念结构设计 455.3.1局部应用E-R模型设计 455.3.2总体概念E-R模型设计 475.4逻辑结构设计 495.5物理结构设计 515.6数据库的实施和维护 51练习题5 52第6章SQL Server 2000系统概述 546.1SQL Server 2000系统简介 546.1.1概况 546.1.2特性 556.1.3新增或增强功能 566.2系统需求 586.2.1硬件需求 586.2.2软件需求 596.3SQL Server 2000的安装 606.3.1SQL Server 2000的配置选项 606.3.2安装SQL Server 2000 666.3.3其他安装方式 696.3.4从其他版本升级到SQL Server 2000 706.4客户/服务器体系结构 716.5SQL Server服务器的管理 736.6SQL Server 2000的主要组件 756.6.1联机丛书 766.6.2企业管理器 766.6.3服务器网络实用工具和客户网络实用工具 776.6.4查询分析器 786.6.5导入和导出数据 786.6.6服务管理器 796.6.7事件探查器 79练习题6 79上机实验题1 79第7章创建和使用数据库 807.1查看数据库 807.1.1查看数据库 807.1.2查看关系图 837.1.3查看表的结构和内容 857.1.4查看视图 867.1.5查看存储过程 887.1.6查看用户和角色 897.1.7数据库的其他组成部分 917.2SQL Server数据库和文件 917.2.1文件和文件组 917.2.2数据库存储结构 937.2.3事务日志 947.3创建数据库 957.3.1直接建立数据库 957.3.2使用向导建立数据库 987.3.3数据库的属性设置 997.3.4数据库大小估算和收缩数据库 1007.4数据库更名 1027.5删除数据库 103练习题7 104上机实验题2 104第8章创建和使用表 1058.1建立表 1058.2修改表的结构 1088.3建立表间的关联 1088.4删除表 1118.5记录的新增和修改 112练习题8 113上机实验题3 114第9章Transact-SQL 1169.1SQL语言 1169.1.1概述 1169.1.2SQL语言的分类 1179.2Transact-SQL基础 1189.2.1查询分析器 1189.2.2数据库的操作语句 1209.2.3表的操作语句 1249.2.4数据查询 1279.3Transact-SQL程序设计基础 1419.3.1标识符 1429.3.2数据类型 1449.3.3运算符 1589.3.4变量 1639.3.5批处理 1659.3.6注释 1669.3.7控制流语句 1679.3.8函数 174练习题9 177上机实验题4 177第10章SQL高级应用 17910.1SELECT高级查询 17910.1.1数据汇总 17910.1.2联接查询 18410.1.3子查询 18810.1.4在查询的基础上创建新表 19310.2管理ntext、text和image数据 19410.2.1检索ntext、text或image值 19510.2.2修改ntext、text或image值 19710.3事务处理 19910.3.1事务分类 20010.3.2显式事务 20010.3.3自动提交事务 20410.3.4隐式事务 20510.4数据的锁定 20610.4.1并发问题 20610.4.2事务的隔离级别 20810.4.3SQL Server中的锁定 20910.4.4自定义锁 21210.5使用游标 21710.5.1游标的概念 21810.5.2使用游标 21810.5.3游标类型 223练习题10 224上机实验题5 224第11章索引 22611.1索引简介 22611.1.1创建索引的原因 22611.1.2建立索引应该考虑的问题 22711.2索引类型 22911.2.1B-树索引结构 22911.2.2聚集索引和非聚集索引 22911.2.3惟一索引和组合索引 23211.3创建索引 23311.3.1通过企业管理器创建索引 23311.3.2通过向导创建索引 23611.3.3使用SQL语言创建索引 23811.3.4创建索引的选项设置 24011.3.5创建索引的空间考虑 24211.3.6在视图和计算列上创建索引 24211.4查看和删除索引 24211.4.1使用企业管理器 24311.4.2使用SQL语言 243练习题11 244上机实验题6 244第12章视图 24512.1视图概述 24512.2创建视图 24612.2.1使用企业管理器创建视图 24712.2.2使用向导创建视图 24912.2.3使用SQL语句创建视图 25112.3使用视图 25212.3.1使用视图进行数据检索 25212.3.2通过视图修改数据 25312.4视图的修改 25512.4.1修改视图 25512.4.2重命名视图 25612.5视图信息的查询 25812.5.1使用企业管理器查询视图信息 25812.5.2使用sp_helptext存储过程查询视图信息 25812.6视图的删除 25912.6.1使用企业管理器删除视图 26012.6.2使用Transact-SQL删除视图 261练习题12 261上机实验题7 261第13章数据库完整性 26213.1约束 26213.1.1PRIMARY KEY约束 26213.1.2FOREIGN KEY约束 26313.1.3UNIQUE约束 26413.1.4CHECK约束 26513.1.5列约束和表约束 26513.2默认值 26613.2.1在创建表时指定默认值 26713.2.2使用默认对象 26813.3规则 27213.3.1创建规则 27313.3.2绑定规则 27413.3.3解除和删除规则 275练习题13 275上机实验题8 276第14章存储过程 27714.1概述 27714.2创建存储过程 27714.3执行存储过程 28214.4存储过程的参数 28314.5存储过程的查看、修改和删除 286练习题14 288上机实验题9 288第15章触发器 28915.1概述 28915.2创建触发器 28915.3inserted表和deleted表 29415.4使用触发器 29515.5修改触发器 29715.6删除触发器 29815.7嵌套触发器 298练习题15 299上机实验题10 299第16章SQL Server的安全管理 30016.1SQL Server安全体系结构 30016.1.1操作系统的安全性 30016.1.2SQL Server的安全性 30116.1.3数据库的安全性 30116.1.4SQL Server数据库对象的安全性 30216.2 SQL Server的验证模式 30216.2.1NT验证模式 30216.2.2混合验证模式 30316.2.3NT验证模式对SQL Server的影响 30316.2.4设置验证模式 30416.3账号和角色 30516.3.1服务器的登录账号 30516.3.2数据库的用户 30816.3.3数据库角色 31216.3.4用户和角色的权限问题 316练习题16 317上机实验题11 317第17章数据备份与还原 31817.1备份和还原构架 31817.2备份数据库 32117.2.1备份类型和常用备份策略 32117.2.2备份数据库中各种对象 32217.3数据库还原 33417.3.1数据库恢复模型 33417.3.2还原数据库备份 33717.3.3还原事务日志备份 340练习题17 341上机实验题12 341第18章数据转换 34218.1DTS的基本概念 34218.2数据的导入 34318.3数据的导出 346练习题18 350上机实验题13 350第19章VB与数据库 35119.1概述 35119.1.1数据访问对象模型 35119.1.2数据库的分类 35119.1.3ODBC和数据源 35319.2常用的数据访问控件 35519.2.1Data控件 35519.2.2ADO Data控件 36019.2.3DataCombo控件 36519.2.4DataGrid控件 36819.3常用的高级用户界面控件 37119.3.1图像列表控件 37119.3.2TreeView控件 37419.3.3ListView控件 38019.3.4公共对话框控件 387练习题19 392上机实验题14 392第20章使用DAO操作数据库 39320.1什么是DAO 39320.1.1DAO操作数据库的步骤 39420.1.2DBEngine初始化数据库环境 39620.1.3打开数据库 39620.1.4打开数据集 39620.2DBEngine对象 39620.2.1DBEngine对象的属性 39620.2.2DBEngine对象的方法 39720.3Workspace对象 39820.3.1Workspace对象的属性 39920.3.2Workspace对象的方法 39920.4Database对象 40120.4.1Database对象的属性 40120.4.2Database对象的方法 40220.4.3TableDef对象 40320.4.4Recordset对象 40520.4.5QueryDef对象 40920.5Fields集合和Field对象 41020.5.1Field对象的属性 41020.5.2Field对象的方法 41120.5.3Fields集合的属性 41120.5.4Fields集合的方法 41120.6Index对象 41220.6.1Index对象的属性 41220.6.2Index对象的方法 41220.7DAO编程实例 413练习题20 418上机实验题15 418第21章使用ADO操作数据库 41921.1ADO概述 41921.2Connection对象 42321.2.1Connection对象的属性 42421.2.2Connection对象的方法 42621.2.3Connection对象的事件 42821.3Recordset对象 42921.3.1Recordset对象的属性 43021.3.2Recordset对象的方法 43621.3.3Recordset对象的事件 44721.4Field对象 45121.4.1Field对象的属性 45121.4.2Field对象的方法 45421.4.3Fields集合 45421.5Command对象 45921.5.1Command对象的属性 46021.5.2Command对象的方法 46121.5.3 Parameters集合和Parameter对象 46321.6ADO编程综合实例 468练习题21 471上机实验题16 471参考文献 472 -
SQL Server 数据库管理与开发教程与实训杜兆将,郭鲜凤,刘占文 主编本书以学生和教师都非常熟悉的“教学成绩管理信息系统”为案例贯穿全书例题、习题,目的使同学们以“教学成绩管理系统”为案例学会SQL数据库管理与编程开发技能。本书例题、实训、习题中所有案例的库、表、视图、字段、函数、存储过程、触发器及其语法格式等对象均采用汉字命名,使同学们能更好地理解举例的意义。.全书共15章。第1、2章,讲解数据库基本概念、基本理论以及数据库系统设计;第3章,介绍了SQLServer服务器的安装与配置;第4~8章,讲解了SQL语言基础、数据库和数据表、数据查询与视图,设计数据的完整性、索引与优化;第9~11章,讲解自定义函数,存储过程触发器,游标及事务,数据库的安全性;第12、13章,介绍数据库管理的备份恢复、导入导出与分离附加,代理服务与数据复制;第14、15章,给出[教学成绩管理系统(VB+ASP)]数据库应用系统的完整案例及其源代码;最后在附录中提供了三个具有特色的辅助教学软件;SQL作业提交与阅系统、SQL上机考试与阅卷系统、SQL保留字背单词系统、还配有电子课件,以帮助师生们顺利地完成本课程的教材任务。..本书内容丰富、实用性强,简明扼要、深入浅出,通俗易懂,特别适用于高职高专、成人专科等相关专业作为《数据库原理与技术》,《SQL数据库技术》等课程的教材,也可以作为高等院校相关专业进行课程设计、毕业设计的参考书,还可以作在职程序和数据库管理员自学教程或SQLServer的培训教材。... -
数据库原理与SQL Server壮志剑《数据库原理与SQL Server:数据库开发职业核心能力课程》采用“就业导向的职业能力系统化课程及其开发方法(VOCSCUM)”进行开发,是国家教育科学“十五”规划国家级课题“IT领域高职课程结构改革与教材改革的研究与试验”的研究成果之一。《数据库原理与SQL Server:数据库开发职业核心能力课程》是高等职业教育电子信息类专业“双证课程”培养方案配套教材之一,同时也是“CEAC国家信息化培训认证”的指定教材,具有鲜明的特色,可作为高职高专院校电子信息类专业的教材。“数据库原理与SQL Server”是“数据库开发”职业能力课程的第二阶段课程。作为高职高专的教材,《数据库原理与SQL Server:数据库开发职业核心能力课程》以“应用”为主题,在内容上不求大而全,而是以SQL Server 2000为主线,有选择地在相应位置穿插介绍数据库原理的相关内容,使学生能够以数据库原理为指导,设计合理规范的数据库,从而达到熟练使用SQLServer 2000数据库管理系统的目的。本教材以SQL Server 2000为核心,系统地介绍了数据库理论体系结构。主要包括SQL Server 2000系统的安装、Transact-SQL语言、数据库与表、索引、视图、存储过程、触发器的建立以及数据库的复制和恢复、数据安全性和完整性的维护、数据库系统体系结构、关系数据库规范设计、关系运算等相关内容。《数据库原理与SQL Server:数据库开发职业核心能力课程》适合于高等职业学校、高等专科学校、成人高等院校、本科院校举办的职业技术学院电子信息类专业教学使用,也可供示范性软件职业技术学院、继续教育学院、民办高校、技能型紧缺人才培养使用。 -
SQL Server2000数据库实用技术林成春著本书是"21世纪高校计算机应用技术系列规划教材--高职高专系列"之一。全书共分12章,主要内容包括数据库的基础概念、SQL Server 2000关系数据库管理系统、管理服务器、 Transact-SQL语言、通过大量例题介绍应用SQL Server 2000的企业管理器和Transact-SQL语言创建、管理和维护数据库及数据库对象的操作方法、SQL Server的安全管理和数据转换。以"图书管理系统''和"学生成绩管理系统"为例,介绍如何使用Visual Basic和Delphi进行前台界面设计并实现与后台SQL Server数据库的连接,开发一个完整的数据库管理系统。 本书既可作为高职高专院校计算机、信息管理、电子商务等专业的教学用书,也可以作为SQL Server 2000的培训教材。 -
SQL SERVER数据库开发经典案例解析王晟, 马里杰编著本书第l~4章分别介绍了数据库基础、SQLServer2000应用基础、数据库创建及维护、Transact-SQL程序设计;第5~8章以进销存管理系统、医院管理系统、酒店管理系统和图书馆管理系统4个实用的信息管理系统为例,分别以Delphi、PowerBuilder、Visual Basic.NET和Visual C#.NET4种开发工具为开发平台,详细地介绍了这些系统的需求分析及开发的过程和方法。对项目背景、业务需求分析、功能需求分析、数据库需求分析、数据库建模、系统开发、系统编译及系统发行等过程进行了详细的讲解;第9~12章简单介绍了教务管理系统、人力资源管理系统、生产管理系统和财务管理系统的业务需求分析和数据库建模。 本书实用性非常强,用户从中不仅可以学习到SQL Server数据库应用的基础知识,还可以通过书中的实例了解相应行业的特点和用户需求,成为行家里手;同时还可以全面掌握利用SQL Server结合其他开发语言开发信息管理系统的过程和方法。书中全部实例代码都已在Windows 2000和SQL Server 2000环境中调试通过。 I司时本书的随书光盘提供了所有系统完整的数据库建库脚本,用户在实际的工作中可以直接使用,并可在此基础上进行补充,从而大大减少系统数据库设计的工作量和时间。 本书适合SQL Server初学者在学习SQL Server数据库编程的基本方法时使用,也适合具有一定SQL Server使用经验的应用程序开发人员作为项目分析和开发的资料使用。 -
SQL Server 2000数据库开发技术杨缨, 白德淳主编《高职高专电子信息系列规划教材:SQL Server2000数据库开发技术》从基本概念和实际应用出发,由浅入深、循序渐进地讲述了数据库设计基础知识、数据库创建、表的操作、视图操作、索引创建、存储过程与触发器应用、数据的安全与管理,以及备份与恢复等内容。《高职高专电子信息系列规划教材:SQL Server2000数据库开发技术》还将“图书馆管理系统”案例融入各章节,阐述数据库创建、管理、开发,以及SQL语言程序设计的思想与具体方法;简明扼要地介绍了SQL Server上机实验操作;根据技能培养的要求,结合案例,给出多个实例,以便读者能够更好地学习和掌握数据库的基本知识与技能。通过《高职高专电子信息系列规划教材:SQL Server2000数据库开发技术》的学习,读者能够准确完整地理解数据库基础知识,掌握SQL Server的基本操作,培养运用SQL。语言进行程序设计的思想,提高数据库管理与开发水平。《高职高专电子信息系列规划教材:SQL Server2000数据库开发技术》讲解力求准确、简练,强调知识的层次性和技能培养的渐进性,强调SQL Server数据库管理与开发技能的培养。在内容安排上遵循“循序渐进”与“难点分解”的原则,合理安排各章内容,减小学习难度。《高职高专电子信息系列规划教材:SQL Server2000数据库开发技术》适合作为高职高专院校、普通高等院校计算机及其相关专业教材,也可作为从事相关工作的人员学习SQL Server知识的自学教材或参考书。 -
SQL Server数据库开发实例精粹徐国智,汪孝宜 等编著丛书内容整体介绍:本套丛书介绍了JSP、Visual Basic、ASP、Visual FoxPro、SQL Server开发数据库应用系统的重点技术技巧,对初学者有很好的指导意义。然后以多个实用的系统为例,详细地讲述了用多个行业系统开发的详细过程。内容包括在线书店、企业内部管理信息系统、新闻发布系统、医院门诊查询系统、招标信息管理系统、固定资产管理系统等等。讲解过程逐层深入,由一个简单的系统开始,难度逐渐加深。全书各章都穿插着许多开发的技巧,同时突破只讲编程技术,不讲开发思路的桎梏。书中处处渗透着软件工程的思想,希望通过每个系统的开发,提供给读者一些软件设计的理念,除了授人以鱼,同时还授人以渔。本丛书适合行业数据库系统库开发人员、网站开发人员、高校学生、培训机构学员。本书首先讲解了SQL Server开发的必备知识,归纳了常用技术,然后重点介绍了SQL Server的优化知识,指导读者如何充分发挥SQL Server的性能。最后以多个不同语言开发的实用系统为例,详细地讲述了SQL Server在不同环境下开发数据库应用程序的详细过程。内容包括三层结构的进销存系统(VB),在线图书销售系统(ASP),新闻发布系统(ASP.NET)及网上书店(JSP)。全书逐层深入,从SQL Server开发的必备知识,到精练的实用技巧,从优化技巧,再到工程项目,难度逐渐加深。书中关于SQL Server优化的技巧大多来源于业内开发人员的经验总结和微软工程师技术文献,随后的几个案例均来自实际项目,都具有非常高的实用价值。同时全书突破只讲编程技术,不讲开发思路的桎梏,书中处处渗透着软件工程的思想,希望通过每个系统的开发,提供给读者一些软件设计的理念,力图使读者透过开发语言看到软件开发的一些本质,除了授人以鱼,同时还授人以渔。本书适用于使用SQL Server进行数据库应用程序开发的技术人员,以及对相关技术感兴趣的读者,同时也非常适合具备一定编程能力的读者学习和拓展视野。
