Tải bản đầy đủ (.pdf) (492 trang)

Sams Teach Yourself SQL in 24 Hours (5th Edition) pdf

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (3.07 MB, 492 trang )

ptg
ptg
800 East 96th Street, Indianapolis, Indiana, 46240 USA
Ryan Stephens
Ron Plew
Arie D. Jones
Sams Teach Yourself
24
in
Hours
SQL
FIFTH EDITION
Down from [www.wowebook.com]
ptg
Sams Teach Yourself SQL in 24 Hours, Fifth Edition
Copyright © 2011 by Pearson Education, Inc.
All rights reserved. No part of this book shall be reproduced, stored in a retrieval system, or
transmitted by any means, electronic, mechanical, photocopying, recording, or otherwise, without
written permission from the publisher. No patent liability is assumed with respect to the use of
the information contained herein. Although every precaution has been taken in the preparation of
this book, the publisher and author assume no responsibility for errors or omissions. Nor is any
liability assumed for damages resulting from the use of the information contained herein.
Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be
trademarks of their respective owners.
ISBN-13: 978-0-672-33541-9
ISBN-10: 0-672-33541-7
The Library of Congress cataloging-in-publication data is on file.
Printed in the United States of America
First Printing May 2011
Trademarks
All terms mentioned in this book that are known to be trademarks or service marks have been


appropriately capitalized. Sams Publishing cannot attest to the accuracy of this information. Use
of a term in this book should not be regarded as affecting the validity of any trademark or service
mark.
Warning and Disclaimer
Every effort has been made to make this book as complete and as accurate as possible, but no
warranty or fitness is implied. The information provided is on an “as is” basis. The authors and
the publisher shall have neither liability nor responsibility to any person or entity with respect to
any loss or damages arising from the information contained in this book or from the programs
accompanying it.
Bulk Sales
Sams Publishing offers excellent discounts on this book when ordered in quantity for bulk pur-
chases or special sales. For more information, please contact
U.S. Corporate and Government Sales
1-800-382-3419

For sales outside of the U.S., please contact
International Sales

Associate Publisher
Mark Taub
Acquisitions Editor
Trina MacDonald
Development Editor
Michael Thurston
Managing Editor
Kristy Hart
Project Editor
Jovana San Nicolas-
Shirley
Copy Editor

The Wordsmithery
LLC
Indexer
Lisa Stumpf
Proofreader
Gill Editorial Services
Technical Editor
Benjamin Schupak
Publishing
Coordinator
Olivia Basegio
Book Designer
Gary Adair
Composition
Gloria Schurick
Down from [www.wowebook.com]
ptg
Contents at a Glance
Part I: An SQL Concepts Overview
HOUR 1 Welcome to the World of SQL . 1
Part II: Building Your Database
HOUR 2 Defining Data Structures . 21
3 Managing Database Objects . 37
4 The Normalization Process . 61
5 Manipulating Data . 73
6 Managing Database Transactions. 87
Part III: Getting Effective Results from Queries
HOUR 7 Introduction to the Database Query 99
8 Using Operators to Categorize Data. 115
9 Summarizing Data Results from a Query . 141

10 Sorting and Grouping Data. 153
11 Restructuring the Appearance of Data . 169
12 Understanding Dates and Times . 191
Part IV: Building Sophisticated Database Queries
HOUR 13 Joining Tables in Queries . 207
14 Using Subqueries to Define Unknown Data. 225
15 Combining Multiple Queries into One . 239
Part V: SQL Performance Tuning
HOUR 16 Using Indexes to Improve Performance . 255
17 Improving Database Performance 267
Down from [www.wowebook.com]
ptg
Part VI: Using SQL to Manage Users and Security
HOUR 18 Managing Database Users 285
19 Managing Database Security. 299
Part VII: Summarized Data Structures
HOUR 20 Creating and Using Views and Synonyms 313
21 Working with the System Catalog 329
Part VIII: Applying SQL Fundamentals in Today’s World
HOUR 22 Advanced SQL Topics . 339
23 Extending SQL to the Enterprise, the Internet, and the Intranet. 355
24 Extensions to Standard SQL. 367
Part IX: Appendixes
A Common SQL Commands . 377
B Using the Databases for Exercises. 383
C Answers to Quizzes and Exercises . 391
D CREATE TABLE Statements for Book Examples. 439
E INSERT Statements for Data in Book Examples. 443
F Glossary. 451
G Bonus Exercises . 455

Index . 461
iv
Teach Yourself SQL in 24 Hours
Down from [www.wowebook.com]
ptg
Table of Contents
Part I: An SQL Concepts Overview
HOUR 1: Welcome to the World of SQL 1
SQL Definition and History . 1
SQL Sessions . 8
Types of SQL Commands . 9
The Database Used in This Book . 12
Summary 17
Q&A. 17
Workshop 18
Part II: Building Your Database
HOUR 2: Defining Data Structures 21
What Is Data?. 21
Basic Data Types . 22
Summary . 31
Q&A. 31
Workshop . 32
HOUR 3: Managing Database Objects 37
What Are Database Objects? . 37
What Is a Schema? . 37
Tables: The Primar y Storage for Data . 39
Integrity Constraints . 49
Summary . 54
Q&A. 55
Workshop . 55

Down from [www.wowebook.com]
ptg
HOUR 4: The Normalization Process 61
Normalizing a Database . 61
Denormalizing a Database . 69
Summary . 70
Q&A. 70
Workshop . 71
HOUR 5: Manipulating Data 73
Overview of Data Manipulation. 73
Populating Tables with New Data. 74
Updating Existing Data . 80
Deleting Data from Tables. 82
Summary . 83
Q&A. 83
Workshop . 84
HOUR 6: Managing Database Transactions 87
What Is a Transaction?. 87
Controlling Transactions. 88
Transactional Control and Database Performance . 95
Summary . 96
Q&A. 96
Workshop . 97
Part III: Getting Effective Results from Queries
HOUR 7: Introduction to the Database Query 99
What Is a Query? . 99
Introduction to the SELECT Statement . 99
Examples of Simple Queries . 108
Summary . 112
Q&A 112

Workshop . 113
vi
Teach Yourself SQL in 24 Hours
Down from [www.wowebook.com]
ptg
HOUR 8: Using Operators to Categorize Data 115
What Is an Operator in SQL? . 115
Comparison Operators . 116
Logical Operators. 119
Conjunctive Operators . 126
Negative Operators . 129
Arithmetic Operators . 133
Summary . 136
Q&A . 137
Workshop . 137
HOUR 9: Summarizing Data Results from a Query 141
What Are Aggregate Functions? . 141
Summary . 150
Q&A . 150
Workshop . 150
HOUR 10: Sorting and Grouping Data 153
Why Group Data? . 153
The GROUP BY Clause . 154
GROUP BY Versus ORDER BY . 159
CUBE and ROLLUP Expressions . 161
The HAVING Clause . 164
Summary . 165
Q&A . 166
Workshop . 166
HOUR 11: Restructuring the Appearance of Data 169

ANSI Character Functions . 169
Common Character Functions . 170
Miscellaneous Character Functions . 179
Mathematical Functions . 183
Conversion Functions . 183
Contents
vii
Down from [www.wowebook.com]
ptg
Combining Character Functions . 186
Summary . 187
Q&A . 188
Workshop . 188
HOUR 12: Understanding Dates and Times 191
How Is a Date Stored? . 191
Date Functions . 193
Date Conversions . 198
Summary . 204
Q&A . 204
Workshop . 205
Part IV: Building Sophisticated Database Queries
HOUR 13: Joining Tables in Queries 207
Selecting Data from Multiple Tables . 207
Understanding Joins . 208
Join Considerations . 217
Summary . 221
Q&A . 222
Workshop . 222
HOUR 14: Using Subqueries to Define Unknown Data 225
What Is a Subquery? . 225

Embedded Subqueries . 231
Correlated Subqueries . 233
Subquery Performance . 234
Summary . 235
Q&A . 235
Workshop . 236
viii
Teach Yourself SQL in 24 Hours
Down from [www.wowebook.com]
ptg
HOUR 15: Combining Multiple Queries into One 239
Single Queries Versus Compound Queries. 239
Compound Query Operators . 240
Using ORDER BY with a Compound Query. 246
Using GROUP BY with a Compound Query . 248
Retrieving Accurate Data. 250
Summary . 250
Q&A . 250
Workshop . 251
Part V: SQL Performance Tuning
HOUR 16: Using Indexes to Improve Performance 255
What Is an Index? . 255
How Do Indexes Work? . 256
The CREATE INDEX Command. 257
Types of Indexes . 258
When Should Indexes Be Considered? . 260
When Should Indexes Be Avoided? . 261
Altering an Index. 263
Dropping an Index. 263
Summary . 264

Q&A . 264
Workshop . 265
HOUR 17: Improving Database Performance 267
What Is SQL Statement Tuning? . 267
Database Tuning Versus SQL Statement Tuning . 268
Formatting Your SQL Statement . 268
Full Table Scans . 274
Other Performance Considerations . 275
Cost-Based Optimization . 279
Performance Tools . 280
Summary . 280
Contents
ix
Down from [www.wowebook.com]
ptg
Q&A 281
Workshop . 281
Part VI: Using SQL to Manage Users and Security
HOUR 18: Managing Database Users 285
User Management in the Database . 285
The Management Process . 288
Tools Utilized by Database Users . 296
Summary . 296
Q&A . 297
Workshop . 297
HOUR 19: Managing Database Security 299
What Is Database Security? . 299
What Are Privileges?. 301
Controlling User Access . 304
Controlling Privileges Through Roles . 308

Summary . 310
Q&A . 310
Workshop . 311
Part VII: Summarized Data Structures
HOUR 20: Creating and Using Views and Synonyms 313
What Is a View?. 313
Creating Views . 316
WITH CHECK OPTION . 320
Creating a Table from a View. 321
Views and the ORDER BY Clause . 322
Updating Data Through a View . 322
Dropping a View . 323
Performance Impact of Using Nested Views . 323
What Is a Synonym? . 324
x
Teach Yourself SQL in 24 Hours
Down from [www.wowebook.com]
ptg
Summary . 325
Q&A . 326
Workshop . 326
HOUR 21: Working with the System Catalog 329
What Is the System Catalog? . 329
How Is the System Catalog Created? . 331
What Is Contained in the System Catalog?. 331
System Catalog Tables by Implementation . 333
Querying the System Catalog. 334
Updating System Catalog Objects . 336
Summary . 337
Q&A . 337

Workshop . 338
Part VIII: Applying SQL Fundamentals in Today’s World
HOUR 22: Advanced SQL Topics 339
Cursors . 339
Stored Procedures and Functions. 343
Triggers . 346
Dynamic SQL . 348
Call-Level Interface 349
Using SQL to Generate SQL 350
Direct Versus Embedded SQL . 351
Windowed Table Functions 351
Working with XML 352
Summary 353
Q&A 353
Workshop . 354
HOUR 23: Extending SQL to the Enterprise, the Internet, and the Intranet 355
SQL and the Enterprise 355
Accessing a Remote Database 357
Contents
xi
Down from [www.wowebook.com]
ptg
xii
Teach Yourself SQL in 24 Hours
SQL and the Internet . 360
SQL and the Intranet . 361
Summary . 362
Q&A . 363
Workshop . 363
HOUR 24: Extensions to Standard SQL 367

Various Implementations . 367
Example Extensions . 370
Interactive SQL Statements . 373
Summary . 374
Q&A . 375
Workshop . 375
Part IX: Appendixes
APPENDIX A: Common SQL Commands 377
SQL Statements. 377
SQL Clauses 381
APPENDIX B: Using the Databases for Exercises 383
Windows Installation Instructions for MySQL . 383
Windows Installation Instructions for Oracle . 386
Windows Installation Instructions for Microsoft SQL Server . 388
APPENDIX C: Answers to Quizzes and Exercises 391
APPENDIX D: CREATE TABLE Statements for Book Examples 439
APPENDIX E: INSERT Statements for Data in Book Examples 443
APPENDIX F: Glossary 451
APPENDIX G: Bonus Exercises 455
INDEX 461
Down from [www.wowebook.com]
ptg
About the Author
For more than 10 years, the authors have studied, applied, and documented the SQL stan-
dard and its application to critical database systems in this book.
Ryan Stephens and Ron Plew are entrepreneurs, speakers, and cofounders of Perpetual
Technologies, Inc. (PTI), a fast-growing IT management and consulting firm. PTI specializes
in database technologies, primarily Oracle and SQL servers running on all UNIX, Linux,
and Microsoft platforms. Starting out as data analysts and database administrators, Ryan
and Ron now lead a team of impressive technical subject matter experts who manage data-

bases for clients worldwide. They authored and taught database courses for Indiana
University-Purdue University in Indianapolis for five years and have authored more than a
dozen books on Oracle, SQL, database design, and high availability of critical systems.
Arie D. Jones is the principal technology manager for Perpetual Technologies, Inc. (PTI) in
Indianapolis, Indiana. Arie leads PTI’s team of experts in planning, design, development,
deployment, and management of database environments and applications to achieve the
best combination of tools and services for each client. He is a regular speaker at technical
events and has authored several books and articles pertaining to database-related topics.
Down from [www.wowebook.com]
ptg
Dedication
This book is dedicated to my parents, Thomas and Karlyn Stephens, who always
taught me that I can achieve anything if determined. This book is also dedicated to
my brilliant son, Daniel, and to my beautiful daughters, Autumn and Alivia; don’t
ever settle for anything less than your dreams.
—Ryan
This book is dedicated to my family: my wife, Linda; my mother, Betty; my children,
Leslie, Nancy, Angela, and Wendy; my grandchildren, Andy, Ryan, Holly, Morgan,
Schyler, Heather, Gavin, Regan, Caleigh, and Cameron; and my sons-in-law, Jason
and Dallas. Thanks for being patient with me during this busy time. Love all of you.
—Poppy
I would like to dedicate this book to my wife, Jackie, for being understanding and
supportive during the long hours that it took to complete this book.
—Arie
Acknowledgments
Thanks to all the people in our lives who have been patient during all editions of this
book—mostly to our wives, Tina and Linda. Thanks to Arie Jones for stepping up to the
plate and helping so much with this edition. Thanks also to the editorial staff at Sams for
all of their hard work to make this edition better than the last. It has been a pleasure to
work with each of you.

—Ryan and Ron
Down from [www.wowebook.com]
ptg
We Want to Hear from You!
As the reader of this book, you are our most important critic and commentator. We value
your opinion and want to know what we’re doing right, what we could do better, what
areas you’d like to see us publish in, and any other words of wisdom you’re willing to pass
our way.
You can email or write me directly to let me know what you did or didn’t like about this
book—as well as what we can do to make our books stronger.
Please note that I cannot help you with technical problems related to the topic of this book, and
that due to the high volume of mail I receive, I might not be able to reply to every message.
When you write, please be sure to include this book’s title and author as well as your name
and phone or email address. I will carefully review your comments and share them with the
author and editors who worked on the book.
Email:
Mail: Mark Taub
Associate Publisher
Sams Publishing
800 East 96th Street
Indianapolis, IN 46240 USA
Reader Services
Visit our website and register this book at informit.com/register for convenient access to any
updates, downloads, or errata that might be available for this book.
Down from [www.wowebook.com]
ptg
This page intentionally left blank
Down from [www.wowebook.com]
ptg
[(H3F)]

1
HOUR 1
Welcome to the World of SQL
What You’ll Learn in This Hour:
.
An introduction to and brief history of SQL
.
An introduction to database management systems
.
An overview of some basic terms and concepts
.
An introduction to the database used in this book
Welcome to the world of SQL and the vast, growing database technologies
of today’s businesses all over the world. By reading this book, you have
begun accepting the knowledge that will soon be required for survival in
today’s world of relational databases and data management.
Unfortunately, because it is first necessary to provide the background of
SQL and cover some preliminary concepts that you need to know, the
majority of this hour is overview before we jump into actual coding. Bear
with this hour of the book; this will be exciting, and the “boring stuff” in
this hour definitely pays off.
SQL Definition and History
Every modern-day business has data, which requires some organized
method or mechanism for maintaining and retrieving the data. When the
data is kept within a database, this mechanism is referred to as a database
management system (DBMS). Database management systems have been
around for years, many of which started out as flat-file systems on a main-
frame. With today’s technologies, the accepted use of database manage-
ment systems has begun to flow in other directions, driven by the demands
of growing businesses, increased volumes of corporate data, and of course,

Internet technologies.
The modern wave of information management is primarily carried out
through the use of a relational database management system (RDBMS),
derived from the traditional DBMS. Modern databases combined with
Down from [www.wowebook.com]
ptg
2
HOUR 1: Welcome to the World of SQL
client/server and web technologies are typical combinations used by cur-
rent businesses to successfully manage their data and stay competitive in
their appropriate markets. The trend for many businesses is to move from a
client/server environment to the Web, where location is not a restriction
when users need access to important data. The next few sections discuss
SQL and the relational database, the most common DBMS implemented
today. A good fundamental understanding of the relational database and
how to apply SQL to managing data in today’s information technology
world is important to your understanding of the SQL language.
What Is SQL?
Structured Query Language (SQL) is the standard language used to communi-
cate with a relational database. The prototype was originally developed by
IBM using Dr. E.F. Codd’s paper (“A Relational Model of Data for Large
Shared Data Banks”) as a model. In 1979, not long after IBM’s prototype,
the first SQL product, ORACLE, was released by Relational Software,
Incorporated (which was later renamed Oracle Corporation). Today it is
one of the distinguished leaders in relational database technologies.
If you travel to a foreign country, you might be required to know that
country’s language to get around. For example, you might have trouble
ordering from a menu via your native tongue if the waiter speaks only his
country’s language. Look at a database as a foreign land in which you seek
information. SQL is the language you use to express your needs to the

database. Just as you would order a meal from a menu in another country,
you can request specific information from within a database in the form of
a query using SQL.
What Is ANSI SQL?
The American National Standards Institute (ANSI) is an organization that
approves certain standards in many different industries. SQL has been
deemed the standard language in relational database communication,
originally approved in 1986 based on IBM’s implementation. In 1987, the
ANSI SQL standard was accepted as the international standard by the
International Standards Organization (ISO). The standard was revised again in
1992 (SQL-92) and once again in 1999 (SQL-99). The newest standard is
now called SQL-2008, which was officially adopted in July of 2008.
Down from [www.wowebook.com]
ptg
SQL Definition and History
3
The New Standard: SQL-2008
SQL-2008 has nine interrelated documents, and other documents might be
added in the near future as the standard is expanded to encompass newly
emerging technology needs. The nine interrelated parts are as follows:
.
Part 1: SQL/Framework—Specifies the general requirements for
conformance and defines the fundamental concepts of SQL.
.
Part 2: SQL/Foundation—Defines the syntax and operations of SQL.
.
Part 3: SQL/Call-Level Interface—Defines the interface for appli-
cation programming to SQL.
.
Part 4: SQL/Persistent Stored Modules—Defines the control struc-

tures that then define SQL routines. Part 4 also defines the modules
that contain SQL routines.
.
Part 9: Management of External Data (SQL/MED)—Defines
extensions to SQL to support the management of external data
through the use of data-wrappers and datalink types.
.
Part 10: Object Language Bindings—Defines extensions to the
SQL language to support the embedding of SQL statements into
programs written in Java.
.
Part 11: Information and Definition Schemas—Defines specifica-
tions for the Information Schema and Definition Schema, which
provide structural and security information related to SQL data.
.
Part 13: Routines and Types Using the Java Programming
Language—Defines the capability to call Java static routines and
classes as SQL-invoked routines.
.
Part 14: XML-Related Specifications—Defines ways in which SQL
can be used with XML.
The new ANSI standard (SQL-2008) has two levels of minimal compliance
that a DBMS may claim: Core SQL Support and Enhanced SQL Support.
You can find a link to the ANSI SQL standard on this book’s web page,
www.informit.com/title/9780672335419.
With any standard comes numerous, obvious advantages, as well as some
disadvantages. Foremost, a standard steers vendors in the appropriate
industry direction for development. In the case of SQL, a standard provides
a basic skeleton of necessary fundamentals, which, as an end result,
enables consistency between various implementations and better serves

Down from [www.wowebook.com]
ptg
4
HOUR 1: Welcome to the World of SQL
increased portability (not only for database programs, but databases in
general and individuals who manage databases).
Some might argue that a standard is not so good, limiting the flexibility
and possible capabilities of a particular implementation. However, most
vendors who comply with the standard have added product-specific
enhancements to standard SQL to fill in these gaps.
A standard is good, considering the advantages and disadvantages. The
expected standard demands features that should be available in any com-
plete SQL implementation and outlines basic concepts that not only force
consistency between all competitive SQL implementations, but also
increase the value of an SQL programmer.
An SQL implementation is a particular vendor’s SQL product, or RDBMS. It is
important to note, as you will hear numerous times in this book, that
implementations of SQL vary widely. There is no one implementation that
follows the standard completely, although some are mostly ANSI-compliant.
It is also important to note that in recent years the list of functionality
within the ANSI standard that must be adhered to in order to be considered
complaint has not changed dramatically. Hence, when new versions of
RDBMS are released, they will most likely claim ANSI SQL compliance.
What Is a Database?
In simple terms, a database is a collection of data. Some like to think of a
database as an organized mechanism that has the capability of storing
information, through which a user can retrieve stored information in an
effective and efficient manner.
People use databases every day without realizing it. A phone book is a
database. The data contained consists of individuals’ names, addresses,

and telephone numbers. The listings are alphabetized or indexed, which
enables the user to reference a particular local resident with ease.
Ultimately, this data is stored in a database somewhere on a computer.
After all, each page of a phone book is not manually typed each year a
new edition is released.
The database has to be maintained. As people move to different cities or
states, entries might have to be added or removed from the phone book.
Likewise, entries have to be modified for people changing names, address-
es, telephone numbers, and so on. Figure 1.1 illustrates a simple database.
Down from [www.wowebook.com]
ptg
SQL Definition and History
5
Data Data
Data
Stored Information
Stored Objects
Vital Database Files
Users
Transactions
Internal
Processes
FIGURE 1.1
The database.
The Relational Database
A relational database is a database divided into logical units called tables,
where tables are related to one another within the database. A relational
database allows data to be broken down into logical, smaller, manageable
units, enabling easier maintenance and providing more optimal database
performance according to the level of organization. In Figure 1.2, you can

see that tables are related to one another through a common key (data
value) in a relational database.
Stored Data, Objects
Relationship
TABLE1
Key
Data
TABLE2
Key
Data
Internal Processes
Database Files
Transactions, Queries
Users
FIGURE 1.2
The relational
database.
Again, tables are related in a relational database, allowing adequate data
to be retrieved in a single query (although the desired data may exist in
more than one table). By having common keys, or fields, among relational
database tables, data from multiple tables can be joined to form one large
set of data. As you venture deeper into this book, you see more of a rela-
tional database’s advantages, including overall performance and easy data
access.
Client/Server Technology
In the past, the computer industry was predominately ruled by mainframe
computers—large, powerful systems capable of high storage capacity and
high data processing capabilities. Users communicated with the mainframe
through dumb terminals—terminals that did not think on their own but
relied solely on the mainframe’s CPU, storage, and memory. Each terminal

had a data line attached to the mainframe. The mainframe environment
definitely served its purpose and does today in many businesses, but a
greater technology was soon to be introduced: the client/server model.
Down from [www.wowebook.com]
ptg
6
HOUR 1: Welcome to the World of SQL
In the client/server system, the main computer, called the server, is accessible
from a network—typically a local area network (LAN) or a wide area network
(WAN). The server is normally accessed by personal computers (PCs) or by
other servers, instead of dumb terminals. Each PC, called a client, is provid-
ed access to the network, allowing communication between the client and
the server, thus explaining the name client/server. The main difference
between client/server and mainframe environments is that the user’s PC in
a client/server environment is capable of thinking on its own, capable of
running its own processes using its own CPU and memory, but readily
accessible to a server computer through a network. In most cases, a
client/server system is much more flexible for today’s overall business needs
and is much preferred.
Modern database systems reside on various types of computer systems with
various operating systems. The most common types of operating systems
are Windows-based systems, Linux, and command-line systems such as
UNIX. Databases reside mainly in client/server and web environments. A
lack of training and experience is the main reason for failed implementa-
tions of database systems. Nevertheless, an understanding of the
client/server model and web-based systems, which will be explained in the
next section, is imperative with the rising (and sometimes unreasonable)
demands placed on today’s businesses as well as the development of
Internet technologies and network computing. Figure 1.3 illustrates the
concept of client/server technology.

Client
Machine
Client
Machine
Client
Machine
ServerServer Server
Network
Client
Machine
Client
Machine
Client
Machine
FIGURE 1.3
The client/
server model.
Web-Based Database Systems
Business information systems are moving toward web integration.
Databases are now accessible through the Internet, meaning that cus-
tomers’ access to an organization’s information is enabled through an
Internet browser such as Internet Explorer or Firefox. Customers (users of
Down from [www.wowebook.com]
ptg
SQL Definition and History
7
data) are able to order merchandise, check on inventories, check on the sta-
tus of orders, make administrative changes to accounts, transfer money
from one account to another, and so forth.
A customer simply invokes an Internet browser, goes to the organization’s

website, logs in (if required by the organization), and uses an application
built into the organization’s web page to access data. Most organizations
require users to register with them and issue a login and password to the
customer.
Of course, many things occur behind the scenes when a database is being
accessed via a web browser. SQL, for instance, can be executed by the web
application. This executed SQL is used to access the organization’s data-
base, return data to the web server, and then return that data to the cus-
tomer’s Internet browser.
The basic structure of a web-based database system is similar to that of a
client-server system from a user’s standpoint (refer to Figure 1.3). Each user
has a client machine, which has a connection to the Internet and contains
a web browser. The network in Figure 1.3 (in the case of a web-based data-
base) just happens to be the Internet, as opposed to a local network. For the
most part, a client is still accessing a server for information. It doesn’t mat-
ter that the server might exist in another state or even another country. The
main point of web-based database systems is to expand the potential cus-
tomer base of a database system that knows no physical location bounds,
thus increasing data availability and an organization’s customer base.
Popular Database Vendors
Some of the most predominant database vendors include Oracle, Microsoft,
Informix, Sybase, and IBM. These vendors distribute various versions of the
relational database for a base license fee and are normally referred to as
closed source. Many other vendors supply an open-source version of an SQL
database (relational database). Some of these vendors include MySQL,
PostgresSQL, and SAP. Although many more vendors exist than those men-
tioned, this list includes names that you might have recognized on the
bookshelf, in the newspaper, in magazines, on the stock market, or on the
World Wide Web.
Each vendor-specific implementation of SQL is unique in both features and

nature. A database server is a product—like any other product on the
market—manufactured by a widespread number of vendors. It is to the bene-
fit of the vendor to ensure that its implementation is compliant with the cur-
rent ANSI standard for portability and user convenience. For instance, if a
Down from [www.wowebook.com]
ptg
8
HOUR 1: Welcome to the World of SQL
company is migrating from one database server to another, it would be
rather discouraging for the database users to have to learn another lan-
guage to maintain functionality with the new system.
With each vendor’s SQL implementation, however, you find that there are
enhancements that serve the purpose for each database server. These
enhancements, or extensions, are additional commands and options that
are simply a bonus to the standard SQL package and available with a spe-
cific implementation.
SQL Sessions
An SQL session is an occurrence of a user interacting with a relational data-
base through the use of SQL commands. When a user initially connects to
the database, a session is established. Within the scope of an SQL session,
valid SQL commands can be entered to query the database, manipulate
data in the database, and define database structures, such as tables. A ses-
sion may be invoked by either direct connection to the database or through
a front-end application. In both cases, sessions are normally established by
a user at a terminal or workstation that communicates through a network
with the computer that hosts the database.
CONNECT
When a user connects to a database, the SQL session is initialized. The
CONNECT command is used to establish a database connection. With the
CONNECT command, you can either invoke a connection or change connec-

tions to the database. For example, if you are connected as USER1, you can
use the CONNECT command to connect to the database as USER2. When this
happens, the SQL session for USER1 is implicitly disconnected. You would
normally use the following:
CONNECT user@database
When you attempt to connect to a database, you are automatically
prompted for a password that is associated with your current username.
The username is used to authenticate you to the database, and the pass-
word is the key that allows entrance.
DISCONNECT and EXIT
When a user disconnects from a database, the SQL session is terminated.
The DISCONNECT command is used to disconnect a user from the database.
When you disconnect from the database, the software you are using might
Down from [www.wowebook.com]

×