数据库

位置:IT落伍者 >> 数据库 >> 浏览文章

SQL实战新手入门:前言


发布日期:2018年07月19日
 
SQL实战新手入门:前言

前言

信息泛滥并没有减弱的趋势人们被来自电视Internet和塞满邮箱的广告等各种各样的信息所淹没令人遗憾的是随着信息数量的增长信息的质量却在急剧下降图书被期刊和杂志取代然后被报纸Web页面博客取代最终又被推特(tweet)取代信息量变得越来越庞大也变得越来越不可信赖更糟糕的是在Internet时代数据永远不会真正消失它不停地累积隐藏在各种文件日志和数据库中根据Google的前CEO Eric Schmidt的说法现在人类在两天之内创造的数据量就相当于自从出现书写记录到年(或者任何一年)所创造的数据即现在只需要两天就会创造出大约EB(即亿GB)的数据这一步伐还在不停地加速

当以电子化方式存储数据变成现实之后它也带来了自己的规则要理解数据的含义人们必须去学习相应的语言关系数据库理论为人们带来了对电子化数据的掌控能力它采用结构化查询语言(Structured Query LanguageSQL)来处理数据到目前为止关系数据库获取了巨大的成功

自从世纪年代第一次提出关系数据库以来关系数据库和SQL已经取得了长足的进步关系数据库和SQL中包含的那些概念对于初学者来说可能并不直观本书将为读者抽丝剥茧使读者理解SQL背后的原理既让读者了解SQL的强大功能也了解它存在的局限

读者对象

本书从入门知识开始介绍读者无须具备SQL或关系数据库的预备知识本书将带领读者走入SQL的发现之旅读者将亲自创建示例数据库它不仅结合了本书中所介绍的SQL概念还将通过几次反复重构引入数据建模查询调整和优化的概念本书还介绍了一些适用于每一种SQL的最佳实践

本书适合于准备学习关系数据库程序设计的计算机程序员也适合那些希望从数据库中释放更强大威力的商业用户SQL是关系数据库世界的通用语言每一个对学习SQL这门强大语言感兴趣的人都适合阅读本书

先前已具有一定数据库使用经验的读者可以略过前两章直接跳到更高级的内容当然也可以复习一下这两章中介绍的重要原则

内容提要

本书介绍了当前已发布的SQL标准SQL:把最主要的精力放在了SQL语言实际的运用上强调了不同SQL实现之间存在的差异本书介绍了很多示例在这些示例中使用了最新版本的现代数据库系统对SQL的具体实现这些数据库要么是可以免费下载的Express版本要么是免费的开源软件另外本书还介绍了目前最流行的桌面型数据库软件Microsoft Access和OpenOffice本书中介绍的数据库包括

IBM UDB

Oracle g

Microsoft SQL Server //

MySQL /

PostgreSQL

Microsoft Access /

带有嵌入式 HSQLDB的OpenOffice BASE

本书结构

本书从整体着眼向读者介绍了关系数据库的一般概念特别是SQL中的概念通过一个反复重构数据库的过程循序渐进地向读者介绍了数据库的各种知识在这一过程中对于开始时介绍的每一个概念随后都进行了更详细的分析从而启发读者理解这些概念背后的关联性

章简要地介绍了SQL及其背后的关系理论这一章只是浮光掠影般地介绍了数据库最基本的概念后面的各章都在此基础上展开该章介绍了数据与信息的区别一些基本的原理还需要在后面章节中进一步解释这一章还对本书中所使用的关系数据库管理系统(RDBMS)进行了一个概述

章对这些概念进行了更深入的介绍根据关系模型的分析应该将无组织的数据结构化使之符合关系模型的要求即将冰箱磁铁模式转换为斗柜模式然后再将其转换为关系数据库中实际的表

章进一步介绍了关系模型初步介绍了数据库的基本设计和规范化的基本过程这一章还介绍了一些对规范化数据执行查询的SQL工具此外该章还介绍了动态SQL

SQL是一种基于集合的语言这使得它既有强大的功能也存在一定的局限章讨论了最流行的过程化扩展(例如Oracle的PL/SQL和Microsoft的TransactSQL)这一章还介绍了SQL函数SQL函数可以作为一种补充手段以弥补在处理基于记录的逻辑时SQL存在的固有不足

章介绍了聚合数据总结了这种方式的威力和局限该章将前面章节中介绍过的SQL聚合函数提高到了一个新的层次演示了如何使用SQL来获取数据的聚合值

章介绍了子查询当数据集是交错的查询数据需要依靠多层次的数据筛选时可以将一个查询作为另一个查询的筛选条件可以调整SQL语句用JOIN代替子查询这是贯穿本书的主题之一

SQL的强大功能在于处理存储在多个关系表中的数据章介绍了SQL如何在单个数据集中联合这些关系表的数据

本书介绍的是基本的SQL概念打开了进一步学习SQL的大门章是SQL发现之旅的下一站它介绍了进一步学习SQL时应该考虑的问题

章介绍了性能优化技术描述了在优化查询和数据库环境时常用的方法和最佳实践章讨论了多用户环境中关系数据库的工作原理介绍了SQL中实现的处理并发数据访问的机制

SQL所有的操作都与结构和顺序有关毕竟它是结构化查询语言真实的数据可以是各种规模和结构章介绍了SQL如何处理半结构化数据(XML文档)非结构化数据(文本文件)和二进制数据(例如图片和声音)

章简要地讨论了数据库领域的最新发展例如列式数据库NoSQL数据库对象数据库和面向服务的架构(SOA)以及它们与SQL的关系

对于本书所讨论的每一种数据库附录A按部就班地描述了安装示例数据库Library的过程以及如何使用特定的指令生成Library数据库的初始数据可以从本书支持网站上下载到这些SQL脚本

对于本书介绍的关系数据库软件包附录B提供了一个详细的安装步骤

附录C描述了每一种数据库所提供的工具使用这些工具可以访问创建数据库对象操纵存储在表中的数据

附录D介绍了开源项目SQuirreL Universal SQL Client可以通过Java Database Connectivity(JDBC)接口使用SQuirreL Universal SQL Client来访问各种数据库该附录详细地介绍了如何安装和配置该软件

学习本书的条件

为了充分利用本书建议下载和安装本书中使用的关系数据库软件这些软件绝大多数都是免费的或者具有免费的试用版可以按照附录B中介绍的步骤来安装这些软件

支持网站和代码

在学习每一章时建议下载相应的SQL脚本创建并生成数据库可以从wwwwroxcom或者wwwagilitatorcom下载到本书的代码在支持网站中可以使用搜索框来查找指定名称的图书在找到指定的图书之后单击Download Code链接就可以访问允许下载的文件可以通过HTTP或FTP下载这些代码所有的文件都是以ZIP格式保存

本书的ISBN是通过ISBN号查找本书要比通过图书名称来查找更加方便

此外还可以从Wrox的下载页面wwwwroxcom/dynamic/books/downloadaspx下载到本书的代码只要单击Discovering SQL: A HandsOn Guide for Beginners链接就可以访问允许下载的文件

勘误表

尽管我们已经尽了最大的努力来保证文章或代码中不出现错误但是错误总是难免的如果您在本书中找到了错误例如拼写错误或代码错误请告诉我们我们将非常感激通过勘误表可以让其他读者避免走入误区当然这还有助于提供更高质量的信息

要在网站上找到本书英文版的勘误表可以登录http://wwwwroxcom通过Search工具或书名列表查找本书然后在本书的细目页面上单击Book Errata链接在这个页面上可以查看到Wrox编辑已提交和粘贴的所有勘误项完整的图书列表还包括每本书的勘误表网址是wwwwroxcom/miscpages/booklistshtml

如果你在勘误表上没有找到错误那么可以到wwwwroxcom/contact/techsupportshtml上完成上面的表格并把找到的错误发送给我们我们将会核查这些信息如果无误的话会把它放置到本书的勘误表中并在本书的后续版本中更正这些问题

ppwroxcom

要与作者和同行讨论请加入ppwroxcom上的PP论坛这个论坛是一个基于Web的系统便于您张贴与Wrox图书相关的消息和相关技术与其他读者和技术用户交流心得该论坛提供了订阅功能当论坛上有新的消息时它可以给您传送感兴趣的论题Wrox作者编辑和其他业界专家和读者都会到这个论坛上来探讨问题

在http://ppwroxcom上有许多不同的论坛它们不仅有助于阅读本书还有助于开发自己的应用程序要加入论坛可以遵循下面的步骤

) 进入ppwroxcom单击Register链接

) 阅读使用协议并单击Agree按钮

) 填写加入该论坛所需要的信息和自己希望提供的其他信息并单击Submit按钮

) 你会收到一封电子邮件其中的信息描述了如何验证账户和完成加入过程

不加入PP也可以阅读论坛上的消息但要张贴自己的消息就必须加入该论坛

加入论坛后就可以张贴新消息回复其他用户张贴的消息可以随时在Web上阅读消息如果要让该网站给自己发送特定论坛中的消息可以单击论坛列表中该论坛名旁边的Subscribe to this Forum图标

关于使用Wrox PP的更多信息可阅读PP FAQ了解论坛软件的工作情况以及PP和Wrox图书的许多常见问题要阅读FAQ可以在任意PP页面上单击FAQ链接

返回目录SQL实战新手入门

编辑推荐

Oracle索引技术

高性能MySQL

数据仓库与数据挖掘培训视频教程

上一篇:SQL实战新手入门

下一篇:SQL实战新手入门:数据泛滥和信息过载