Why Rent from Knetbooks?

Because Knetbooks knows college students. Our rental program is designed to save you time and money. Whether you need a textbook for a semester, quarter or even a summer session, we have an option for you. Simply select a rental period, enter your information and your book will be on its way!

This book places a strong emphasis on good design practice, allowing readers to master design methodology in an accessible, step-by-step fashion. In this book, database design methodology is explicitly divided into three phases: conceptual, logical, and physical. Each phase is described in a separate chapter with an example of the methodology working in practice. Extensive treatment of the Web as an emerging platform for database applications is covered alongside many code samples for accessing databases from the Web including JDBC, SQLJ, ASP, ISP, and Oracle's PSP. A thorough update of later chapters covering object-oriented databases, Web databases, XML, data warehousing, data mining is included in this new edition. A clear introduction to design implementation and management issues, as well as an extensive treatment of database languages and standards, make this book an indispensable, complete reference for database professionals.

Preface

xxxiii

Part 1 Background

1

(66)

Introduction to Databases

3

(30)

Introduction

4

(3)

Traditional File-Based Systems

7

(7)

File-Based Approach

7

(5)

Limitations of the File-Based Approach

12

(2)

Database Approach

14

(7)

The Database

15

(1)

The Database Management System (DBMS)

16

(1)

(Database) Application Programs

17

(1)

Components of the DBMS Environment

18

(3)

Database Design: The Paradigm Shift

21

(1)

Roles in the Database Environment

21

(3)

Data and Database Administrators

22

(1)

Database Designers

22

(1)

Application Developers

23

(1)

End-Users

23

(1)

History of Database Management Systems

24

(2)

Advantages and Disadvantages of DBMSs

26

(7)

Chapter Summary

31

(1)

Review Questions

32

(1)

Exercises

32

(1)

Database Environment

33

(34)

The Three-Level ANSI-SPARC Architecture

34

(5)

External Level

35

(1)

Conceptual Level

36

(1)

Internal Level

36

(1)

Schemas, Mappings, and Instances

37

(1)

Data Independence

38

(1)

Database Languages

39

(4)

The Data Definition Language (DDL)

40

(1)

The Data Manipulation Language (DML)

40

(2)

Fourth-Generation Languages (4GLs)

42

(1)

Data Models and Conceptual Modeling

43

(5)

Object-Based Data Models

44

(1)

Record-Based Data Models

45

(2)

Physical Data Models

47

(1)

Conceptual Modeling

47

(1)

Functions of a DBMS

48

(5)

Components of a DBMS

53

(3)

Multi-User DBMS Architectures

56

(11)

Teleprocessing

56

(1)

File-Server Architectures

56

(1)

Traditional Two-Tier Client--Server Architecture

57

(3)

Three-Tier Client--Server Architecture

60

(2)

Transaction Processing Monitors

62

(2)

Chapter Summary

64

(1)

Review Questions

65

(1)

Exercises

65

(2)

Part 2 The Relational Model and Languages

67

(212)

The Relational Model

69

(19)

Brief History of the Relational Model

70

(1)

Terminology

71

(10)

Relational Data Structure

72

(3)

Mathematical Relations

75

(1)

Database Relations

76

(1)

Properties of Relations

77

(1)

Relational Keys

78

(1)

Representing Relational Database Schemes

79

(2)

Integrity Constraints

81

(2)

Nulls

81

(1)

Entity Integrity

82

(1)

Referential Integrity

83

(1)

General Constraints

83

(1)

Views

83

(5)

Terminology

84

(1)

Purpose of Views

84

(1)

Updating Views

85

(1)

Chapter Summary

86

(1)

Review Questions

87

(1)

Exercises

87

(1)

Relational Algebra and Relational Calculus

88

(24)

The Relational Algebra

89

(14)

Unary Operations

89

(3)

Set Operations

92

(3)

Join Operations

95

(4)

Division Operation

99

(1)

Aggregation and Grouping Operations

100

(2)

Summary of the Relational Algebra Operations

102

(1)

The Relational Calculus

103

(6)

Tuple Relational Calculus

103

(4)

Domain Relational Calculus

107

(2)

Other Languages

109

(3)

Chapter Summary

110

(1)

Review Questions

110

(1)

Exercises

111

(1)

SQL: Data Manipulation

112

(45)

Introduction to SQL

113

(3)

Objectives of SQL

113

(1)

History of SQL

114

(2)

Importance of SQL

116

(1)

Terminology

116

(1)

Writing SQL Commands

116

(1)

Data Manipulation

117

(40)

Simple Queries

118

(9)

Sorting Results (Order by Clause)

127

(2)

Using the SQL Aggregate Functions

129

(2)

Grouping Results (Group by Clause)

131

(3)

Subqueries

134

(4)

Any and All

138

(1)

Multi-Table Queries

139

(7)

Exists and Not Exists

146

(1)

Combining Result Tables (Union, Intersect, Except)

147

(2)

Database Updates

149

(5)

Chapter Summary

154

(1)

Review Questions

155

(1)

Exercises

155

(2)

SQL: Data Definition

157

(41)

The ISO SQL Data Types

158

(6)

SQL Identifiers

158

(1)

SQL Scalar Data Types

159

(1)

Exact Numeric Data

160

(4)

Integrity Enhancement Feature

164

(4)

Required Data

164

(1)

Domain Constraints

164

(2)

Entity Integrity

166

(1)

Referential Integrity

166

(1)

General Constraints

167

(1)

Data Definition

168

(8)

Creating a Database

168

(1)

Creating a Table (Create Table)

169

(4)

Changing a Table Definition (Alter Table)

173

(1)

Removing a Table (Drop Table)

174

(1)

Creating an Index (Create Index)

175

(1)

Removing an Index (Drop Index)

176

(1)

Views

176

(11)

Creating a View (Create View)

177

(2)

Removing a View (Drop View)

179

(1)

View Resolution

180

(1)

Restrictions on Views

181

(1)

View Updatability

181

(2)

With Check Option

183

(1)

Advantages and Disadvantages of Views

184

(2)

View Materialization

186

(1)

Transactions

187

(2)

Immediate and Deferred Integrity Constraints

189

(1)

Discretionary Access Control

189

(9)

Granting Privileges to Other Users (Grant)

191

(1)

Revoking Privileges from Users (Revoke)

192

(2)

Chapter Summary

194

(1)

Review Questions

195

(1)

Exercises

195

(3)

Query-By-Example

198

(27)

Introduction to Microsoft Office Access Queries

199

(2)

Building Select Queries Using QBE

201

(7)

Specifying Criteria

202

(2)

Creating Multi-Table Queries

204

(3)

Calculating Totals

207

(1)

Using Advanced Queries

208

(7)

Parameter Query

208

(1)

Crosstab Query

209

(3)

Find Duplicates Query

212

(2)

Find Unmatched Query

214

(1)

Autolookup Query

215

(1)

Changing the Content of Tables Using Action Queries

215

(10)

Make-Table Action Query

215

(2)

Delete Action Query

217

(1)

Update Action Query

217

(4)

Append Action Query

221

(3)

Exercises

224

(1)

Commercial RDBMSs: Office Access and Oracle

225

(54)

Microsoft Office Access 2003

226

(16)

Objects

226

(1)

Microsoft Office Access Architecture

227

(1)

Table Definition

228

(5)

Relationships and Referential Integrity Definition

233

(1)

General Constraint Definition

234

(2)

Forms

236

(2)

Reports

238

(1)

Macros

239

(3)

Object Dependencies

242

(1)

Oracle9i

242

(37)

Objects

244

(1)

Oracle Architecture

245

(7)

Table Definition

252

(3)

General Constraint Definition

255

(1)

PL/SQL

255

(6)

Subprograms, Stored Procedures, Functions, and Packages

261

(2)

Triggers

263

(4)

Oracle Internet Developer Suite

267

(4)

Other Oracle Functionality

271

(1)

Oracle 10g

271

(5)

Chapter Summary

276

(1)

Review Questions

277

(2)

Part 3 Database Analysis and Design Techniques

279

(156)

Database Planning, Design, and Administration

281

(33)

The Information Systems Lifecycle

282

(1)

The Database System Development Lifecycle

283

(2)

Database Planning

285

(1)

System Definition

286

(2)

User Views

287

(1)

Requirements Collection and Analysis

288

(3)

Centralized Approach

289

(1)

View Integration Approach

289

(2)

Database Design

291

(4)

Approaches to Database Design

291

(1)

Data Modeling

292

(1)

Phases of Database Design

293

(2)

DBMS Selection

295

(4)

Selecting the DBMS

296

(3)

Application Design

299

(4)

Transaction Design

300

(1)

User Interface Design Guidelines

301

(2)

Prototyping

303

(1)

Implementation

304

(1)

Data Conversion and Loading

305

(1)

Testing

305

(1)

Operational Maintenance

306

(1)

Case Tools

307

(2)

Data Administration and Database Administration

309

(5)

Data Administration

309

(1)

Database Administration

309

(2)

Comparison of Data and Database Administration

311

(1)

Chapter Summary

311

(2)

Review Questions

313

(1)

Exercises

313

(1)

Fact-Finding Techniques

314

(28)

When Are Fact-Finding Techniques Used?

315

(1)

What Facts Are Collected?

316

(1)

Fact-Finding Techniques

317

(4)

Examining Documentation

317

(1)

Interviewing

317

(2)

Observing the Enterprise in Operation

319

(1)

Research

319

(1)

Questionnaires

320

(1)

Using Fact-Finding Techniques -- A Worked Example

321

(21)

The DreamHome Case Study -- An Overview

321

(5)

The DreamHome Case Study -- Database Planning

326

(5)

The DreamHome Case Study -- System Definition

331

(1)

The DreamHome Case Study -- Requirements Collection and Analysis

332

(8)

The DreamHome Case Study -- Database Design

340

(1)

Chapter Summary

340

(1)

Review Questions

341

(1)

Exercises

341

(1)

Entity--Relationship Modeling

342

(29)

Entity Types

343

(3)

Relationship Types

346

(4)

Degree of Relationship Type

347

(2)

Recursive Relationship

349

(1)

Attributes

350

(4)

Simple and Composite Attributes

351

(1)

Single-Valued and Multi-Valued Attributes

351

(1)

Derived Attributes

352

(1)

Keys

352

(2)

Strong and Weak Entity Types

354

(1)

Attributes and Relationships

355

(1)

Structural Constraints

356

(8)

One-to-One (1:1) Relationships

357

(1)

One-to-Many (1:*) Relationships

358

(1)

Many-to-Many (*:*) Relationships

359

(2)

Multiplicity for Complex Relationships

361

(1)

Cardinality and Participation Constraints

362

(2)

Problems with ER Models

364

(7)

Fan Traps

364

(1)

Chasm Traps

365

(3)

Chapter Summary

368

(1)

Review Questions

369

(1)

Exercises

369

(2)

Enhanced Entity--Relationship Modeling

371

(16)

Specialization/Generalization

372

(11)

Superclasses and Subclasses

372

(1)

Superclass/Subclass Relationships

373

(1)

Attribute Inheritance

374

(1)

Specialization Process

374

(1)

Generalization Process

375

(3)

Constraints on Specialization/Generalization

378

(1)

Worked Example of using Specialization/Generalization to Model the Branch View of DreamHome Case Study

379

(4)

Aggregation

383

(1)

Composition

384

(3)

Chapter Summary

385

(1)

Review Questions

386

(1)

Exercises

386

(1)

Normalization

387

(28)

The Purpose of Normalization

388

(1)

How Normalization Supports Database Design

389

(1)

Data Redundancy and Update Anomalies

390

(2)

Insertion Anomalies

391

(1)

Deletion Anomalies

392

(1)

Modification Anomalies

392

(1)

Functional Dependencies

392

(9)

Characteristics of Functional Dependencies

393

(4)

Identifying Functional Dependencies

397

(2)

Identifying the Primary Key for a Relation using Functional Dependencies