1. Trang chủ
  2. » Công Nghệ Thông Tin

Tài liệu Databases Demystified- P1 doc

50 234 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Databases Demystified
Tác giả Andrew J. Oppel
Chuyên ngành Databases
Thể loại Sách giáo khoa
Năm xuất bản 2004
Thành phố New York
Định dạng
Số trang 50
Dung lượng 1,28 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Since then he has been continuously employed in a widevariety of information technology positions, including programmer, programmer/analyst, systems architect, project manager, senior da

Trang 1

www.dbebooks.com - Free Books & magazines

Trang 2

DATABASES DEMYSTIFIED

Composite Default screen

Trang 3

Composite Default screen

This page intentionally left blank.

Trang 4

Seoul Singapore Sydney Toronto

Composite Default screen

Trang 5

Composite Default screen

Copyright © 2004 by The McGraw-Hill Companies All rights reserved Manufactured in the United States of America Except as permitted under the United States Copyright Act of 1976, no part of this publication may be reproduced or distributed in any form or by any means, or stored in a database or retrieval system, without the prior written permission of the publisher

0-07-146960-5

The material in this eBook also appears in the print version of this title: 0-07-225364-9

All trademarks are trademarks of their respective owners Rather than put a trademark symbol after every occurrence of a trademarked name, we use names in an editorial fashion only, and to the benefit of the trademark owner, with no intention of infringement of the trademark Where such designations appear in this book, they have been printed with initial caps McGraw-Hill eBooks are available at special quantity discounts

to use as premiums and sales promotions, or for use in corporate training programs For more information, please contact George Hoare, Special Sales, at george_hoare@mcgraw-hill.com or (212) 904-4069

TERMS OF USE This is a copyrighted work and The McGraw-Hill Companies, Inc (“McGraw-Hill”) and its licensors reserve all rights in and to the work Use of this work is subject to these terms Except as permitted under the Copyright Act of 1976 and the right to store and retrieve one copy of the work, you may not decompile, disassemble, reverse engineer, reproduce, modify, create derivative works based upon, transmit, distribute, disseminate, sell, publish or sublicense the work or any part of it without McGraw-Hill’s prior consent You may use the work for your own noncommercial and personal use; any other use of the work is strictly prohibited Your right to use the work may be terminated if you fail to comply with these terms

THE WORK IS PROVIDED “AS IS.” McGRAW-HILL AND ITS LICENSORS MAKE NO GUARANTEES

OR WARRANTIES AS TO THE ACCURACY, ADEQUACY OR COMPLETENESS OF OR RESULTS TO

BE OBTAINED FROM USING THE WORK, INCLUDING ANY INFORMATION THAT CAN BE ACCESSED THROUGH THE WORK VIA HYPERLINK OR OTHERWISE, AND EXPRESSLY DISCLAIM ANY WARRANTY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE McGraw-Hill and its licensors do not warrant or guarantee that the functions contained in the work will meet your requirements or that its operation will be uninterrupted or error free Neither McGraw-Hill nor its licensors shall

be liable to you or anyone else for any inaccuracy, error or omission, regardless of cause, in the work or for any damages resulting therefrom McGraw-Hill has no responsibility for the content of any information accessed through the work Under no circumstances shall McGraw-Hill and/or its licensors be liable for any indirect, incidental, special, punitive, consequential or similar damages that result from the use of or inability to use the work, even if any of them has been advised of the possibility of such damages This limitation of liability shall apply to any claim or cause whatsoever whether such claim or cause arises in contract, tort or otherwise

DOI: 10.1036/0071469605

Trang 6

To everyone from whom I have learned so much about so many things, including the many teachers, students, and co-workers

I have had the pleasure of knowing.

Composite Default screen

Trang 7

ABOUT THE AUTHOR

Andrew J (Andy) Oppel is a proud graduate of The Boys’ Latin School of land and of Transylvania University (Lexington, KY) where he earned a BA in com-puter science in 1974 Since then he has been continuously employed in a widevariety of information technology positions, including programmer, programmer/analyst, systems architect, project manager, senior database administrator, databasegroup manager, consultant, database designer, and data architect In addition, he hasbeen a part-time instructor with the University of California (Berkeley) Extensionfor over 20 years, and received the Honored Instructor Award for the year 2000 Histeaching work has included developing two courses for UC Extension, “Concepts ofDatabase Management Systems” and “Introduction to Relational Database Man-agement Systems.” He also earned his Oracle 9i Database Associate certification in

Mary-2003 He is currently employed as the principal data architect for Ceridian, a leadingprovider of human resource solutions Aside from computer systems, Andy enjoysmusic (guitar and vocals), amateur radio (Pacific Division vice director, AmericanRadio Relay League), and soccer (referee instructor, U.S Soccer)

Andy has designed and implemented hundreds of databases for a wide range ofapplications, including medical research, banking, insurance, apparel manufactur-ing, telecommunications, wireless communications, and human resources His da-tabase product experience includes IMS, DB2, Sybase, Microsoft SQL Server,Microsoft Access, MySQL, and Oracle (versions 7, 8, 8i, and 9i)

Composite Default screen

Trang 8

CONTENTS AT A GLANCE

Normalization 145

Trang 9

Composite Default screen

This page intentionally left blank.

Trang 10

The Object-Oriented Model 15The Object-Relational Model 16

A Brief History of Databases 17

Conceptual Database Design Components 26

ix

Composite Default screen

For more information about this title, click here

Trang 11

QBE: The Roots of Forms-Based Queries 52Getting Started in Microsoft Access 52The Microsoft Access Relationships Panel 55The Microsoft Access Table Design View 57Creating Queries in Microsoft Access 59Example 3-1: List All Customers 62Example 3-2: Choosing Columns to Display 63Example 3-3: Sorting Results 64Example 3-4: Advanced Sorting 66Example 3-5: Choosing Rows to Display 66Example 3-6: Compound Row Selection 68Example 3-7: Using Not Equal 70Example 3-8: Joining Tables 70Example 3-9: Limiting Join Results 72Example 3-10: Outer Joins 75Example 3-11: Multiple Joins;

Trang 12

Demystified / Databases Demystified / Oppel/ 225364-9 / FM

Getting Started with Oracle SQL 91

Finding Database Objects Using Catalog Views 97Viewing Database Objects Using

Oracle Enterprise Manager 98Data Query Language (DQL):

Example 4-1: Listing All Employees 100Example 4-2: Limiting Columns to Display 100Example 4-3: Sorting Results 102Choosing Rows to Display 103

Data Manipulation Language (DML) 114Transaction Support

(COMMIT and ROLLBACK) 114

Data Definition Language (DDL) Statements 118The CREATE TABLE Statement 118The ALTER TABLE Statement 119The CREATE VIEW Statement 121The CREATE INDEX Statement 121

Data Control Language (DCL) Statements 122

Trang 13

xii Databases Demystified

Demystified / Databases Demystified / Oppel/ 225364-9 / FM

Second Normal Form: EliminatingPartial Dependencies 156Third Normal Form: Eliminating

Transitive Dependencies 158Beyond Third Normal Form 160

TLA University Academic Tracking 164Composite Default screen

Trang 14

Computer Books Company 170

Entity Relationship Modeling 180

Integrating Business Rules and Data Integrity 214

Primary Key Constraints 216Referential (Foreign Key) Constraints 216

Trang 15

xiv Databases Demystified

Demystified / Databases Demystified / Oppel/ 225364-9 / FM

Connecting Databases to the Web 235Introduction to the Internet and the Web 236Components of the Web “Technology Stack” 238Invoking Transactions from Web Pages 239Connecting Databases to Applications 240Connecting Databases via ODBC 240Connecting Databases to Java Applications 241

Why Is Security Necessary? 247Database Server Security 249

System-Level Security 255Database Client and Application Security 255

Other Client Considerations 257Database Access Security 258Database Security Architectures 259Schema Owner Accounts 263

Trang 16

Transaction Management 276What Is a Transaction? 276DBMS Support for Transactions 276Locking and Transaction Deadlock 278

Trang 17

Composite Default screen

This page intentionally left blank.

Trang 18

I owe much to my parents for providing me with an excellent education and a love ofboth learning and teaching I credit The Boys’ Latin School of Maryland and the lateJack H Williams, headmaster, with teaching me to write effectively And I creditTransylvania University and Dr James E Miller for introducing me to the fascinatingworld of information systems and providing me with the tools for continuous learning

I’d like to thank the wonderful people at McGraw-Hill/Osborne for the opportunity towrite my first book and for their excellent support during the writing process Finally,

my thanks to my wife Laurie and our sons Keith and Luke for their support, patience,and understanding during the long hours it took to produce this book

xvii

Composite Default screen

Trang 19

Composite Default screen

This page intentionally left blank.

Trang 20

Thirty years ago, databases were found only in special research laboratories wherecomputer scientists struggled with ways to make them efficient and useful, and pub-lished their findings in countless research papers Today databases are a ubiquitouspart of the information technology (IT) industry and business in general We directlyand indirectly use databases every day—banking transactions, travel reservations,employment relationships, web site searches, purchases, and most other transac-tions are recorded in and served by databases

As with many fast-growing technologies, industry standards have lagged behindthe development of database technology, resulting in a myriad of commercial prod-ucts, each following a particular software vendor’s vision Moreover, a number ofdifferent database models have emerged, with the relational model being the mostprevalent Databases Demystified examines all of the major database models, in-cluding hierarchical, network, relational, object-oriented, and object-relational

However, Databases Demystified concentrates heavily upon the relational and ject-relational models because these are the mainstream of the IT industry and willlikely remain so in the foreseeable future

ob-The most significant challenge in implementing a database is designing the ture of the database correctly Without a thorough understanding of the problem thedatabase is intended to solve, and without knowledge of the best practices for orga-nizing the required data, the implemented database becomes an unwieldy beast thatrequires constant attention Databases Demystified focuses on transformation of re-quirements into a working database model with special emphasis on a process callednormalization, which has proven to be an effective technique for designing rela-tional databases In fact, normalization can be applied successfully to other databasemodels And, in keeping with the notion that you cannot design an automobile if you

struc-xix

Composite Default screen

Trang 21

have never driven one, the SQL language is introduced so that the reader may

“drive” a database before delving into the details of designing one

I’ve drawn on my extensive experience as a database designer, administrator, andinstructor to provide you with this self-help guide to the fascinating and complexworld of database technology Examples are included using both Microsoft Accessand Oracle Publicly available sample databases supplied by these vendors (theMicrosoft Access Northwind database and the Oracle Human Resources databaseschema) are used in example figures whenever possible so that you may try the ex-amples directly on your own computer system A review quiz is provided at the end

of each chapter along with a comprehensive exam at the end of the book

If you have any comments, I’d like to hear from you

Andrew J (Andy) Oppelandy@andyoppel.comHonored instructor, University of California Berkeley ExtensionPrincipal data architect, Ceridian

Certified Oracle 9i Database Associate

Composite Default screen

Trang 22

CHAPTER 1

Database Fundamentals

This chapter introduces fundamental concepts and definitions regarding databases,including properties common to databases, prevalent database models, a brief his-tory of databases, and the rationale for focusing on the relational model

Properties of a Database

A database is a collection of interrelated data items that are managed as a single unit

This definition is deliberately broad because there is so much variety across the ous software vendors that provide database systems Microsoft Access places theentire database in a single data file, so an Access database can be defined as the filethat contains the data items Oracle Corporation defines their database as a collec-tion of physical files that are managed by an instance of their database softwareproduct An instance is a copy of the database software running in memory

vari-1

Composite Default screen

Trang 23

2 Databases Demystified

Demystified / Databases Demystified / Oppel/ 225364-9 / Chapter 1

Microsoft SQL Server and Sybase define a database as a collection of data items thathave a common owner, and multiple databases are typically managed by a single in-stance of the database management software This can be quite confusing if youwork with multiple products because, for example, a database as defined by MicrosoftSQL Server and Sybase is exactly what Oracle Corporation calls a schema

A database object is a named data structure that is stored in a database The cific types of database objects supported in a database vary from vendor to vendorand from one database model to another Database model refers to the way in which

spe-a dspe-atspe-abspe-ase orgspe-anizes its dspe-atspe-a to pspe-attern the respe-al world The most common dspe-atspe-abspe-asemodels are presented in “Prevalent Database Models,” later in this chapter

A file is a collection of related records that are stored as a single unit by an ing system Given the unfortunately similar definitions of files and databases, howcan we make a distinction? A number of Unix operating system vendors call theirpassword file a “database,” yet database experts will quickly point out that, in fact, it

operat-is not Clearly, we need a bit more rigor in our definitions The answer lies in an derstanding of certain characteristics or properties that databases possess that ordi-nary files do not, including the following:

un-• Management by a Database Management System (DBMS)

• Layers of data abstraction

• Physical data independence

• Logical data independenceThese properties are discussed in the following subsections

The Database Management System (DBMS)

The Database Management System (DBMS) is software provided by the databasevendor Software products such as Microsoft Access, Oracle, Microsoft SQLServer, Sybase, DB2, INGRES, and MySQL are all DBMSs If it seems odd to youthat the acronym used is DBMS instead of merely DMS, keep in mind that the term

“database” was originally written as two words, and by convention has become asingle compound word

The DBMS provides all the basic services required to organize and maintain thedatabase, including the following:

• Moving data to and from the physical data files as needed

• Managing concurrent data access by multiple users, including provisions toprevent simultaneous updates from conflicting with one another

Composite Default screen

Trang 24

• Managing transactions so that each transaction’s database changes are anall-or-nothing unit of work In other words, if the transaction succeeds, alldatabase changes made by it are recorded in the database; if the transactionfails, none of the changes it made are recorded in the database.

• Support for a query language, which is a system of commands that a databaseuser employs to retrieve data from the database

• Provisions for backing up the database and recovering from failures

• Security mechanisms to prevent unauthorized data access and modification

Layers of Data Abstraction

Databases have the unique capability of presenting multiple users of the data withtheir own distinct views of that data while storing the underlying data only once.These are collectively called user views A user in this context is any person or appli-cation that signs on to the database for the purpose of storing and/or retrieving data

An application is a set of computer programs designed to solve a particular businessproblem, such as an order-entry system, a payroll-processing system, or an account-ing system

When an electronic spreadsheet application such as Microsoft Excel is used, allusers must share a common view of the data, and that view must match the way thedata is physically stored in the underlying data file If a user hides some columns in aspreadsheet, reorders the rows, and saves the spreadsheet, the next user who opens itwill have the data presented in the manner in which the first user saved it An alterna-tive, of course, is for each user to save their own copy in separate physical files, butthen as one user applies updates, the other users’ data becomes out of date With da-tabase systems, we can present each user a view of the same data, but the views can

be tailored to the needs of the individual users, even though they all come for onecommonly stored copy of the data Because views store no actual data, they automat-ically reflect any data changes made to the underlying database objects This is allpossible through layers of abstraction, as shown in Figure 1-1

The architecture shown in Figure 1-1 was first developed by ANSI/SPARC(American National Standards Institute Standards Planning and RequirementsCommittee) in the 1970s and quickly became a foundation for much of the databaseresearch and development efforts that followed Most modern DBMSs follow thisarchitecture, which is composed of three primary layers: the physical layer, the logi-cal layer, and the external layer The original architecture included a conceptuallayer, which has been omitted here because none of the modern database vendorsimplemented it

CHAPTER 1 Database Fundamentals

3

Composite Default screen

Trang 25

The Physical Layer

The physical layer contains the data files that hold all the data for the database Nearlyall modern DBMSs allow the database to be stored in multiple data files, which areusually spread out over multiple physical disk drives With this arrangement, the diskdrives can work in parallel for maximum performance A notable exception isMicrosoft Access, which stores the entire database in a single physical file This ar-rangement limits the ability of the DBMS to scale to accommodate many concurrentusers of the database, making it inappropriate as a solution for large enterprise sys-tems, while simplifying database use on a single-user personal computer system

The user of the database does not need to have any knowledge of how the data isactually stored within these files, or even which file contains the data item(s) of in-terest In most organizations, a technician known as a database administrator (DBA)handles the details of installing and configuring the database software and data filesand making the database available to the database users The DBMS works with thecomputer’s operating system to automatically manage the data files, including allfile opening, closing, reading, and writing operations The database user should not

be required to refer to physical data files when using a database, which is in sharpcontrast with spreadsheets and word processing, where the user must consciouslysave the document(s) and choose file names and storage locations Many of the per-sonal computer–based DBMSs are exceptions to this tenet because the user is re-quired to locate and open a physical file as part of the process of signing on to theDBMS In contrast, with server-based DBMSs (such as Oracle, Sybase, MicrosoftSQL Server, and so on), the physical files are managed automatically and the data-base user never needs to refer to them when using the database

Demystified / Databases Demystified / Oppel/ 225364-9 / Chapter 1

Figure 1-1 Database layers of abstraction

Composite Default screen

Ngày đăng: 14/12/2013, 15:15

TỪ KHÓA LIÊN QUAN

w