本书结合丰富的案例,清晰地诠释了SQL Server 2019 编程语言与数据库开发涉及的每一个核心概念和技术。全书力求阐述实际开发应用中涉及的SQL Server 2019 的功能组件和管理工具;注重实际操作,采用可视化图解的方式,对SSMS、SSCM 等关键工具的操作步骤进行了详细说明,使得读者能够直观地看到操作过程和操作效果;注重编程技巧,对于核心的T-SQL 操作,在详细介绍其语法、参数后,都会附加案例的高级编程T-SQL 代码,这些T-SQL 代码在笔者的开发环境中都经过严格的调试,读者可以直接用于自己的项目开发实践。 本书可供数据库设计与开发等方向初学者、程序开发人员阅读,也可作为高等院校计算机、软件开发相关专业的教材。
明廷堂,河南大学计算机与信息工程学院,长期在河南大学计算机与信息工程学院(软件工程专业)、数学与统计学院(信息与计算科学专业)从事软件开发与教学工作,主持了多项实用项目开发,《电脑编程技巧与维护》等刊物的特约作者。
本书是面向广大数据库设计爱好者的教学参考书。全书基于SQL Server 2019数据库支撑平台,通过翔实的例程,让读者深入了解数据库技术原理内幕;最后联合Visual Studio 2019 开发平台,以一个综合性的项目开发作为终结,向读者全面展示数据库应用开发流程。 背景 Microsoft 公司推出的SQL Server 2019 是一个关系型数据库管理系统,它使用集成的商业智能工具提供了企业级的数据管理和安全可靠的数据存储功能,进而可构建高可用性的应用程序。SQL Server 2019 为所有数据工作负载带来了创新的安全性和合规性功能、任务关键型可用性和高级分析,还支持内置的大数据。 特点 本书具有以下特点: ① 例程翔实:提供100+ 个贴近实际应用的案例,图文并茂,选材层次分明,代码结构完整。 ② 内容全面:力求全面阐述SQL Server 的知识结构。 ③ 深度融合:介绍SQL Server 的技术背景知识不是本书的唯一目的。以SQLServer 作为数据支撑平台,紧密结合Visual Studio、Eclipse 等开发平台进行企业级的信息系统的开发才是笔者的初衷。 内容 内容编排循序渐进,正文包含12章: ① 第1章——SQL Server 集成环境:简要介绍SQL Server 2019 的软件特点、功能组件、管理工具和示例数据库。 ② 第2章——SQL Server 编程语言:详细介绍SQL Server 的编程语言及其语法结构,包括标准的ANSI SQL 和扩展的T-SQL 两大方面。 ③ 第3章——SQL Server 存储过程:详细介绍SQL Server 的存储过程,提升应用程序工作效率。 ④ 第4章——SQL Server 函数命令:详细介绍SQL Server 的函数命令及其语法格式。 ⑤ 第5章——SQL Server 服务器管理:详细介绍以多种方式管理SQL Server数据库平台。 ⑥ 第6章——SQL Server 数据库管理:详细介绍如何操控SQL Server 数据库引擎,包括数据库的创建、附加、还原、备份、删除、引用等。 ⑦ 第7章——SQL Server 表结构管理:详细介绍如何操控具体数据库的表,包括表结构的创建、修改和删除等。 ⑧ 第8章——SQL Server 表数据操作:详细介绍如何操控具体数据库的数据,包括数据的查询、插入、更新、删除、融合等。 ⑨ 第9章——SQL Server 完整性管理:简单介绍数据库完整性设计,确保指数据库中的数据在逻辑上的一致性、正确性、有效性和相容性。 ⑩ 第10章——SQL Server 安全性管理:简单介绍数据库的安全性设计,确保数据库中的数据安全存取。 11.第11章——数据服务对象组件的开发:详细介绍层次化开发架构,基于流行的C# 高级编程语言,从商业化和专业化的角度设计通用的访问和操作数据库的组件,为各种基于SQL Server 数据支撑平台的信息系统的开发打下坚实的基础。 12. 第12章——教师信息管理平台——自助系统的实现:详细介绍SQL Server 数据管理平台及Visual Studio 高级开发平台的深度融合,引导读者遵循软件工程学思想,进行企业级信息系统流程化和规范化的开发。 资源 本书配套的资源,可在化学工业出版社网站“资源下载”平台直接获取,或关注下方公众号、邮件联系mingtingtang@***,邮件标题请注明“SQL Server 数据库编程与开发教程资源”。 读者 本书适合如下读者群: ① 有志于SQL Server 2019 数据管理的初、中、高级人员,尤其适合信息管理的高校学生。 ② 有志于SQL Server 2019 数据管理融合Visual Studio 2019 软件开发的初、中、高级人员,尤其适合软件开发的高校学生。 鸣谢 本书第1 ~ 6章由武相军编写、第7 ~ 8章由崔占鹏编写、第9 ~ 10章由李辰编写、第11 ~ 12章由明廷堂编写。在成书过程中,河南大学韩道军教授提出了很多建设性意见;河南大学数学与统计学院的肖红德副教授对所有的SQL代码进行了测试和验证;河南大学信息化管理办公室的郭栋老师做了大量的文案校对工作;河南大学数学与统计学院信息与计算科学专业的2020 级部分学生参与了软件开发过程,在此一并谢过! 由于笔者水平有限,书中难免有不足之处,恳请广大读者和同行批评指正。 编著者
第1章 SQL Server 集成环境 001 1.1 SQL Server 2019 概述 001 1.2 SQL Server 2019 功能组件 001 1.2.1 数据库引擎 002 1.2.2 分析服务 002 1.2.3 报表服务 002 1.2.4 集成服务 003 1.3 SQL Server 2019 管理工具 003 1.3.1 配置管理器 003 1.3.2 管理套件 004 1.3.3 事件探查器 004 1.4 AdventureWorks2019 示例数据库 004 1.4.1 AdventureWorks 业务背景 005 1.4.2 AdventureWorks 系统架构 005 1.4.3 AdventureWorks 数据字典 008 1.5 本书演示与开发环境 035 第2章 SQL Server 编程语言 036 2.1 标准的ANSI SQL 036 2.1.1 ANSI SQL 简介 036 2.1.2 ANSI SQL 特点 036 2.1.3 ANSI SQL 构成 037 2.2 扩展的T-SQL 037 2.2.1 T-SQL 简介 037 2.2.2 T-SQL 语法约定 037 2.2.3 T-SQL 命名规则 038 2.2.4 T-SQL 对象引用 039 2.2.5 T-SQL 数据类型 040 2.2.6 T-SQL 类型转换 045 2.2.7 T-SQL 常量 047 2.2.8 T-SQL 变量 048 2.2.9 T-SQL 空值 051 2.2.10 T-SQL 运算符 053 2.2.11 T-SQL 表达式 058 2.2.12 T-SQL 注释符 059 2.2.13 T-SQL 控制流 059 2.2.14 T-SQL 函数过程 073 第3章 SQL Server 存储过程 075 3.1 存储过程简介 075 3.2 存储过程的分类076 3.3 系统存储过程076 3.3.1 Active Directory 存储过程 077 3.3.2 目录存储过程 078 3.3.3 游标存储过程 078 3.3.4 数据库引擎存储过程 079 3.3.5 全文搜索存储过程 082 3.3.6 日志传送存储过程 083 3.3.7 安全性存储过程 084 3.3.8 XML 存储过程 086 3.4 用户自定义的存储过程.086 3.4.1 用户自定义存储过程的设计原则 086 3.4.2 创建用户自定义存储过程 087 3.4.3 执行用户自定义存储过程 090 3.4.4 删除用户自定义存储过程 093 3.4.5 修改用户自定义存储过程 093 3.5 存储过程应用实例095 3.5.1 系统存储过程的应用 095 3.5.2 用户自定义存储过程的应用 096 第4章 SQL Server 函数命令 102 4.1 函数的确定性102 4.2 函数的分类102 4.3 聚合函数103 4.3.1 AVG 函数 103 4.3.2 COUNT 函数 104 4.3.3 SUM 函数 105 4.3.4 MAX 函数 106 4.3.5 MIN 函数 106 4.4 字符串处理函数107 4.4.1 ASCII 和CHAR 函数 107 4.4.2 UNICODE 和NCHAR 函数 108 4.4.3 LEFT 和RIGHT 函数 109 4.4.4 LOWER 和UPPER 函数 109 4.4.5 LTRIM 和RTRIM 函数 110 4.4.6 CHARINDEX 和PATINDEX函数 110 4.4.7 REPLICATE 和SPACE 函数 112 4.4.8 REPLACE 函数 113 4.4.9 REVERSE 函数 114 4.4.10 STR 函数 115 4.4.11 STUFF 函数 115 4.4.12 SUBSTRING 函数 116 4.5 日期和时间函数117 4.6 排名函数120 4.7 行集函数120 4.8 文本和图像函数120 4.9 系统函数120 4.10 配置函数121 4.11 元数据函数121 4.12 安全函数121 4.13 游标函数121 4.14 加密函数122 4.15 用户自定义函数122 4.15.1 用户自定义函数设计原则 122 4.15.2 用户自定义函数的分类 123 4.15.3 创建用户自定义函数 124 4.15.4 删除用户自定义函数 130 4.15.5 修改用户自定义函数 130 第5章 SQL Server 服务器管理 132 5.1 使用SSCM 管理服务器.132 5.1.1 SSCM 的几个管理控制台版本 132 5.1.2 SSCM 的几种打开方式 132 5.1.3 SSCM 管理数据库引擎服务 133 5.2 管理工作室SSMS133 5.2.1 SSMS 连接到数据库引擎 133 5.2.2 使用SSMS 操作数据库引擎 134 5.3 命令行工具管理134 第6章 SQL Server 数据库管理 135 6.1 系统数据库简介135 6.1.1 master 数据库 135 6.1.2 model 数据库 135 6.1.3 msdb 数据库 135 6.1.4 tempdb 数据库 136 6.2 新建数据库136 6.2.1 GUI 可视化方式创建数据库 136 6.2.2 T-SQL 编程方式创建数据库 136 6.3 附加数据库141 6.3.1 GUI 可视化方式附加数据库 141 6.3.2 T-SQL 编程方式附加数据库 141 6.4 备份数据库143 6.4.1 GUI 可视化方式备份数据库 143 6.4.2 T-SQL 编程方式备份数据库 143 6.5 还原数据库147 6.5.1 GUI 可视化方式还原数据库 147 6.5.2 T-SQL 编程方式还原数据库 148 6.6 删除数据库152 6.6.1 GUI 可视化方式删除数据库 152 6.6.2 T-SQL 编程方式删除数据库 153 6.7 引用数据库154 6.7.1 默认数据库 154 6.7.2 当前数据库 154 6.7.3 显式引用数据库 154 6.7.4 隐式引用数据库 155 第7章 SQL Server 表结构管理 156 7.1 表的分类.156 7.1.1 系统表 156 7.1.2 分区表 157 7.1.3 宽表 157 7.1.4 临时表 157 7.1.5 用户表 159 7.2 表的数据结构159 7.2.1 列字段名称 159 7.2.2 列字段类型和长度 160 7.2.3 列字段约束 160 7.2.4 表数据结构范例 161 7.3 创建用户表结构163 7.3.1 GUI 可视化方式创建表结构 163 7.3.2 T-SQL 编程方式创建表结构 167 7.4 修改用户表结构174 7.4.1 GUI 可视化方式修改表结构 175 7.4.2 T-SQL 编程方式修改表结构 175 7.5 删除用户表结构181 7.5.1 GUI 可视化方式删除表结构 181 7.5.2 T-SQL 编程方式删除表结构 182 第8章 SQL Server 表数据操作 183 8.1 数据查询操作183 8.1.1 数据查询操作核心动词SELECT 183 8.1.2 使用AS 子句分配别名 184 8.1.3 选择所有列 185 8.1.4 选择特定列 186 8.1.5 选择常量列 186 8.1.6 选择派生列 187 8.1.7 使用DISTINCT 选项消除重复行 188 8.1.8 使用WHERE 子句筛选行 189 8.1.9 使用HAVING 子句筛选行 192 8.1.10 使用ORDER BY 子句排序 193 8.1.11 使用GROUP BY 子句分组 194 8.1.12 使用连接查询 197 8.1.13 使用嵌套查询 203 8.2 数据插入操作210 8.2.1 数据插入操作核心动词INSERT 210 8.2.2 使用VALUES 子句插入数据 212 8.2.3 使用SELECT INTO 插入数据 212 8.2.4 使用子查询插入数据 213 8.3 数据更新操作214 8.3.1 数据更新操作核心动词UPDATE 214 8.3.2 使用SET 子句更新数据 216 8.3.3 使用WHERE 子句更新数据 217 8.3.4 使用FROM 子句更新数据 217 8.4 数据删除操作218 8.4.1 数据删除操作核心动词DELETE 218 8.4.2 使用WHERE 子句删除数据 219 8.4.3 使用TRUNCATE TABLE删除数据 220 8.5 数据融合操作221 8.5.1 子查询用于查询/ 插入/ 更新/删除的表达式 221 8.5.2 使用MERGE 语句插入/ 更新/删除数据 222 8.5.3 使用TOP 子句限制查询/ 插入/更新/ 删除操作 226 第9章 SQL Server 完整性管理 229 9.1 完整性概述.229 9.2 完整性约束分类229 9.2.1 实体完整性 229 9.2.2 参照完整性 230 9.2.3 域完整性 230 9.3 PRIMARY KEY 约束.230 9.3.1 创建PRIMARY KEY 约束 231 9.3.2 删除PRIMARY KEY 约束 232 9.3.3 修改PRIMARY KEY 约束 233 9.4 FOEREIGN KEY 约束233 9.4.1 创建FOREIGN KEY 约束 234 9.4.2 删除FOREIGN KEY 约束 236 9.4.3 修改FOREIGN KEY 约束 236 9.5 CHECK 约束237 9.5.1 创建CHECK 约束 238 9.5.2 删除CHECK 约束 239 9.5.3 修改CHECK 约束 239 9.6 DEFAULT 约束.240 9.6.1 创建DEFAULT 约束 240 9.6.2 删除DEFAULT 约束 242 9.6.3 修改DEFAULT 约束 242 9.7 UNIQUE 约束.243 9.7.1 创建UNIQUE 约束 244 9.7.2 删除UNIQUE 约束 245 9.7.3 修改UNIQUE 约束 245 9.8 NULL/NOT NULL 规则.246 第10章 SQL Server 安全性管理 248 10.1 安全性概述248 10.2 安全标识248 10.2.1 用户 248 10.2.2 角色 251 10.2.3 权限 253 10.2.4 凭证 256 10.2.5 架构 258 10.3 安全开发260 10.3.1 模块签名 260 10.3.2 上下文切换 260 10.4 安全访问261 10.4.1 设置身份验证模式 261 10.4.2 使用Windows 身份验证模式连接SQL Server 261 10.4.3 使用SQL Server 身份验证模式连接SQL Server 262 10.5 安全操作263 10.5.1 SQL Server 证书 263 10.5.2 SQL Server 加密 268 第11章 数据服务对象组件的开发 270 11.1 层次化开发架构.270 11.1.1 层次化开发架构的体系结构 270 11.1.2 层次化开发架构的技术优势 271 11.2 数据服务对象组件简介.272 11.3 SQLAgency 类对象设计272 11.3.1 修饰符abstract 272 11.3.2 公有静态函数GetConnection-String 272 11.3.3 私有静态函数Attach Parameters 274 11.3.4 私有静态函数AssignParameter-Values 274 11.3.5 私有静态函数Build-Command 275 11.3.6 公有静态重载函数Execute-DataSet 276 11.3.7 公有静态重载函数Execute-DataTable 279 11.3.8 公有静态重载函数ExecuteNon-Query 280 11.4 SQLParameterCache 类对象设计282 11.4.1 修饰符sealed 282 11.4.2 私有变量paramCache 282 11.4.3 私有静态函数DiscoverSp-ParameterSet 282 11.4.4 私有静态函数Clone-Parameters 283 11.4.5 公有静态函数Cache-ParameterSet 283 11.4.6 公有静态函数GetCached-ParameterSet 284 11.4.7 内部静态函数GetSpParameter-SetInternal 284 11.4.8 公有静态重载函数GetSp-ParameterSetInternal 285 第12章 教师信息管理平台——自助系统的实现 287 12.1 可行性研究287 12.2 系统需求分析.287 12.2.1 功能性需求 287 12.2.2 可用性需求 288 12.2.3 安全性需求 288 12.2.4 标准化需求 290 12.2.5 规范化需求 291 12.2.6 模块化需求 293 12.3 系统概要设计293 12.3.1 集成开发环境 293 12.3.2 系统功能结构 294 12.3.3 数据库概要设计 294 12.3.4 系统执行流程导图 295 12.4 用户自定义控件的详细设计.295 12.4.1 基底控件Fundus 的设计 295 12.4.2 头部控件HeaderBar 的设计 296 12.4.3 底部控件FooterBar 的设计 296 12.4.4 导航菜单控件Navigator-Menu 的设计 296 12.4.5 扩展的网格视图控件SmartGridView 的设计 296 12.4.6 用户自定义Web 控件的使用 296 12.5 实用工具类的详细设计.297 12.5.1 调试工具类Debugger 的设计 297 12.5.2 文件上传类FileUploader 的设计 298 12.5.3 状态管理类StateManager 的设计 299 12.5.4 安全引擎类SecurityEngine的设计 303 12.6 登录注册模块设计304 12.6.1 登录注册模块的数据实体层设计 304 12.6.2 登录注册模块的业务逻辑层设计 305 12.6.3 登录注册模块的用户接口层设计 307 12.6.4 登录注册模块的设计效果 309 12.7 基本信息模块设计310 12.7.1 基本信息模块的数据实体层设计 310 12.7.2 基本信息模块的业务逻辑层设计 311 12.7.3 基本信息模块的用户接口层设计 313 12.7.4 基本信息模块的设计效果 317 12.8 职称职务模块设计.318 12.8.1 职称职务模块的数据实体层设计 318 12.8.2 职称职务模块的业务逻辑层设计 319 12.8.3 职称职务模块的用户接口层设计 321 12.8.4 职称职务模块的设计效果 324 12.9 学习经历模块设计325 12.9.1 学习经历模块的数据实体层设计 325 12.9.2 学习经历模块的业务逻辑层设计 326 12.9.3 学习经历模块的用户接口层设计 328 12.9.4 学习经历模块的设计效果 331 12.10 工作经历模块设计.332 12.10.1 工作经历模块的数据实体层设计 332 12.10.2 工作经历模块的业务逻辑层设计 333 12.10.3 工作经历模块的用户接口层设计 335 12.10.4 工作经历模块的设计效果 337 12.11 培训经历模块设计338 12.11.1 培训经历模块的数据实体层设计 338 12.11.2 培训经历模块的业务逻辑层设计 339 12.11.3 培训经历模块的用户接口层设计 341 12.11.4 培训经历模块的设计效果 344 12.12 荣誉奖励模块设计.345 12.12.1 荣誉奖励模块的数据实体层设计 345 12.12.2 荣誉奖励模块的业务逻辑层设计 345 12.12.3 荣誉奖励模块的用户接口层设计 347 12.12.4 荣誉奖励模块的设计效果 350 12.13 技术专利模块设计.351 12.13.1 技术专利模块的数据实体层设计 351 12.13.2 技术专利模块的业务逻辑层设计 352 12.13.3 技术专利模块的用户接口层设计 354 12.13.4 技术专利模块的设计效果 356 12.14 项目课题模块设计.357 12.14.1 项目课题模块的数据实体层设计 357 12.14.2 项目课题模块的业务逻辑层设计 359 12.14.3 项目课题模块的用户接口层设计 361 12.14.4 项目课题模块的设计效果 364 12.15 论文发表模块设计.365 12.15.1 论文发表模块的数据实体层设计 365 12.15.2 论文发表模块的业务逻辑层设计 366 12.15.3 论文发表模块的用户接口层设计 368 12.15.4 论文发表模块的设计效果 371 12.16 专著出版模块设计.371 12.16.1 专著出版模块的数据实体层设计 371 12.16.2 专著出版模块的业务逻辑层设计 372 12.16.3 专著出版模块的用户接口层设计 374 12.16.4 专著出版模块的设计效果 377 12.17 科研成果模块设计.378 12.17.1 科研成果模块的数据实体层设计 378 12.17.2 科研成果模块的业务逻辑层设计 379 12.17.3 科研成果模块的用户接口层设计 381 12.17.4 科研成果模块的设计效果 383
ISBN:978-7-122-44424-0
语种:汉文
开本:16
出版时间:2024-05-01
装帧:平
页数:384