内容简介
本书基于最新版本的ISO SQL:2006标准介绍SQL编程基础知识。全书分为3部分。第1部分介绍SQL的基本概念,解释如何在数据库中创建对象。第2部分介绍如何在数据库中检索数据,如何修改存储在数据库中的数据。第3部分介绍高级数据访问技术,可以扩展在第1和第2部分学习的内容。无论是在Web开发方面经验丰富的编程人员、数据库管理员,还是初次接触编程和数据库的新手,任何希望深入学习SQL的读者都可从中得到帮助。
本文作者
Andrew(Andy)J.Oppel,毕业于马里兰州的男子拉丁学校和Transylvania大学(位于肯塔基州的Lexington市)。1974年,他在这所大学获得了计算机科学的学士学位。之后,他在信息技术领域从事过各种职业,包括程序员、分析员、系统架构工程师、项目经理、数据库高级管理员、数据库经理、顾问、数据库设计员、数据建模员和数据架构工程师,此外,他还在加利福尼亚大学的伯克利分校担任了20多年的兼职教师,并获得了2000年度的最佳教师奖,他开设了3门课程,包括“数据库管理系统的概念”、“关系数据库管理系统”和“数据建模和数据库设计”,2003年,他获得了Oraclec9icDatabase协会的认证。他目前就职于加利福尼亚的BluecShield公司,担任高级数据建模师,除了参与计算机系统的开发以外,Andy还非常喜欢音乐(吉他和声乐)、无线电(美国无线电转播联盟太平洋分部的副总裁)和足球(美国足球协会的裁判)。 Andy设计和实现的数据库在各种领域具有广泛的应用,包括医学研究、银行、保险、服装、远程通信、无线电通信和人力资源,他编著的作品有“DatabasescDemystified”(2004年由McGraw-Hill/Osborne出版社出版)和“SQLcDemystified”(2005年由McGraw-HilI/Osborne出版社出版),他参与设计的数据库产品包括IMS、DB2、Sybase、MicrosoftcSQLcServer、MicrosoftcAccess、MySQL和Oracle(版本7、8、8i、9i和10g).
目录
第1部分 关系数据库和sQL
第1章 关系数据库及SQL导论
1.1 关系数据库
1.1.1 关系模型
项目1.1 规范化数据和识别联系
项目小结
1.2 了解SOL
1.2.1 SQL的演变
1.2.2 SQL语句的类型
1.2.3 执行的类型
1.2.4 SOL标准和产品实现方式
项目1-2 连接数据库
项目小结
1.3 思考与练习
第2章 研究SQL环境
2.1 了解SQL环境
2.2 了解SQL目录
2.2.1 模式
2.2.2 模式对象
2.2.3 数据库
2.3 在SQL环境中命名对象
2.4 创建模式
2.5 创建数据库
项目2.1 创建数据库和模式
项目小结
2.6 思考与练习
第3章 创建和修改表
3.1 创建SOL表
3.2 指定列数据类型
3.2.1 字符串数据类型
3.2.2 数字数据类型
3.2.3 日期数据类型
3.2.4 间隔数据类型
3.2.5 布尔数据类型
3.2.6 使用SQL数据类型
3.3 创建用户定义类型
3.4 指定列默认值
项目3.1 创建SQL表
项目小结
3.5 删除SOL表
项目3.2 修改和删除SOL表
项目小结
3.6 思考与练习
第4章 增强数据完整性
4.1 了解完整性约束
4.2 使用NOTNULL约束
4.3 添加UNIQUE约束
4.4 添加PRIMARY KEY约束
4.5 添加FOREIGNKEY约束
4.5.1 MATCH子句
4.5.2 <参照触发动作>子句
项目4.1 添加NOTNULL约束、唯一约束和参照约束
……
第5章 创建SQL视图
第6章 管理数据库的安全
第2部分 数据访问和修改
第7章 查询SQL数据
第8章 修改SQL数据
第9章 谓语
第10章 函数和值表达式
第11章 访问多个表
第12章 使用子查询访问和修改数据
第3部分 高级数据访问技术
第13章 创建SQL调用例程
第14章 创建SQL触发器
第15章 使用SQL游标
第16章 管理SQL事务
第17章 访问主机程序中的SQL数据
第18章 处理XML数据
附录 思考与练习答案
先读为快
第1部分 关系数据库和sQL
第1章 关系数据库及SQL导论
2006年,ISO(国际标准化组织)和ANSI(美国国家标准协会)发布了SOL标准的修订版,即sQL:2006。该标准分为几部分,每一部分都有自己的批准和发布时间,所以不同的部分具有不同的发布年度。通常,截止最新年度发布的所有部分都将包括在一个集合内,然后把该年度作为其集体名称。和前身SQL:2003、SOL:1999(又被称为SQL3)和sQL-92一样,sQL:2006以关系数据模型为基础,关系数据模型定义如何在关系数据库中存储和操作数据。Oracle、Sybase、DB2、MySOL和MicrosoR sQL Server(简称为sQL server)等RDBMs把sQL标准作为其技术的基础,提供既支持SQL又支持关系数据模型的数据库环境。
1.1 关系数据库
SQL(结构化查询语言)支持关系数据库的创建和维护,并且支持数据库中数据的管理。但是,在深入讨论关系数据库之前,先要解释一下“数据库”这个术语的含义。这个术语本身涵盖各种内容,从名称、地址集合到复杂的数据检索和存储系统,后者依赖于用户界面和客户计算机、服务器网络。可以说有多少本关于数据库定义的书,就有多少种数据库的定义。此外,不同的DBMS开发商开发不同的体系结构,所以并非所有数据库都按照相同的方式设计。尽管没有一个绝对的定义,但是大多数资料都承认数据库起码是以结构化格式组织的数据集合,该结构化格式由描述该结构的元数据定义。元数据是关于所存储数据的数据,定义数据在数据库中的存储方式。
……