Database: Principles Programming Performance provides an introduction to the fundamental principles of database systems. This book focuses on database programming and the relationships between principles, programming, and performance.

Organized into 10 chapters, this book begins with an overview of database design principles and presents a comprehensive introduction to the concepts used by a DBA. This text then provides grounding in many abstract concepts of the relational model. Other chapters introduce SQL, describing its capabilities and covering the statements and functions of the programming language. This book provides as well an introduction to Embedded SQL and Dynamic SQL that is sufficiently detailed to enable students to immediately start writing database programs. The final chapter deals with some of the motivations for database systems spanning multiple CPUs, including client-server and distributed transactions.

This book is a valuable resource for database administrators, application programmers, specialist users, and end users.



Autorentext

Patrick O'Neil is a professor of computer science at the University of Massachusetts at Boston. He is responsible for a number of important research results in transactional performance and disk access algorithms, and he holds patents for his work in these and other database areas. Author of "The Set Query Benchmark" (in The Benchmark Handbook for Database and Transaction Processing Systems, also from Morgan Kaufmann) and an area editor for Information Systems, O'Neil is also an active industry consultant who has worked with a number of prominent companies, including Microsoft, Oracle, Sybase, Informix, Praxis, Price Waterhouse, and Policy Management Systems Corporation.



Inhalt

Preface
Chapter 1 Introduction

1.1 Fundamental Database Concepts

1.2 Database Users

1.3 Overview of a Relational DBMS

The Relational Model and Query Capabilities

Programs to Access a Database

Logical Database Design

Database Administration

Physical Database Design and Performance

Database Transactions

1.4 Putting it All Together

Chapter 2 The Relational Model

2.1 The CAP Database

2.2 Naming the Parts of a Database

Domains and Datatypes

Tables and Relations

2.3 Relational Rules

2.4 Keys, Superkeys, and Null Values

Null Values

2.5 Relational Algebra

Fundamental Operations of Relational Algebra

2.6 Set-Theoretic Operations

The Union, Intersection, and Difference Operations

Assignment and Alias

The Product Operation

2.7 Native Relational Operations

The Projection Operation

The Selection Operation

Precedence of Relational Operations

The Join Operation

The Division Operation

2.8 The Interdependence of Operations

2.9 Illustrative Examples

2.10 Other Relational Operations

Outer Join

Theta Join

Chapter 3 Query Language SQL

3.1 Introduction

SQL Capabilities

SQL History-Standards and Dialects

3.2 Setting Up the Database

A Practical Exercise

3.3 Simple Select Statements

3.4 Subselects

The in Predicate

The Quantified (Comparison) Predicate

The Exists Predicate

A Weakness of SQL: Too Many Equivalent Forms

3.5 SQL Union and "For All . . ." Conditions

The Union Operator

The Division Operator: SQL "For All . . ." Conditions

3.6 Set Functions in SQL

Handling Null Values

3.7 Groups of Rows in SQL

3.8 A Complete Description of SQL Select

Expressions, Predicates, and the Search_Condition

A Discussion of the Predicates

3.9 Insert, Update, and Delete Statements

The Insert Statement

The Update Statement

The Delete Statement

3.10 The Power of the Select Statement

The Non-Procedural Select Statement

The Select Statement

3.11 Object-Orientation in Database Systems

Object-Oriented Database Systems

Extended Relational Database Systems

Chapter 4 Programs to Access a Database

4.1 Introduction to Embedded SQL in C

A Simple Program Using Embedded SQL

Selecting Multiple Rows with a Cursor

4.2 Error Handling

Condition Handling with the Whenever Statement

Handling Error Messages

Indicator Variables

4.3 Some Common Embedded SQL Statements

The Select Statement

The Declare Cursor Statement

The Delete Statement

The Update Statement

The Insert Statement

Cursor Open, Fetch, and Close

Other Embedded SQL Operations

4.4 Programming for Transactions

The Concept of a Transaction

How Transactions Occur in Programs

The Transaction Isolation Guarantee and Locking

Special Considerations in Transactions

4.5 The Power of Procedural SQL Programs

Customized Set Functions

Other Capabilities: Transitive Closure

4.6 Dynamic SQL

Execute Immediate

Prepare, Execute, and Using

Dynamic Select: The Describe Statement and the SQLDA

4.7 Some Advanced Programming Concepts

Scrollable Cursors

Cursor Sensitivity

Fourth-Generation Languages

Chapter 5 Database Design

5.1 Introduction to E-R Concepts

Entities, Attributes, and Simple E-R Diagrams

Transforming Entities and Attributes to Relations

Relationships Among Entities

5.2 Further Details of E-R Modeling

Cardinality of Entity Participation in a Relationship

One-to-One, Many-to-Many, and Many-to-One Relationships

Transforming Binary Relationships to Relations

5.3 Additional E-R Concepts

Cardinality of Attributes

Weak Entities

Generalization Hierarchies

5.4 Case Study

5.5 Normalization: Preliminaries

A Running Example: Employee Information

Anomalies of a Bad Database Design

5.6 Functional Dependencies

Logical Implications Among Functional Dependencies

5.7 Lossless Decompositions

5.8 Normal Forms

A Succession of Decompositions to Eliminate Anomalies

Normal Forms: BCNF, 3NF, and 2NF

An Algorithm to Achieve Well-Behaved 3NF Decomposition

A Review of Normalization

5.9 Additional Design Considerations

Database Design Tools

Chapter 6 Integrity, Views, Security, and Catalogs

6.1 Integrity Constraints

Integrity Constraints in the Create Table Statement

Primary Keys, Foreign Keys, and Referential Integrity

The Alter Table Statement

SQL-92 Integrity Constraints

Non-Procedural and Procedural Integrity Constraints

6.2 Creating Views

Restrictions on Querying and Updating a View

The Value of Views

6.3 Security: The Grant Statement in SQL

Variations in Database Products

6.4 System Catalogs

Catalog Variations in Database Products

Chapter 7 Indexing

7.1 The Concept of Indexing

7.2 Disk Storage

Disk Access is Excruciatingly Slow

The DBA and Disk Resource Allocation in ORACLE

Data Storage Pages and Row Pointers: ORACLE, DB2, and INGRES

7.3 The B-Tree Index

Dynamic Changes in the B-Tree

Properties of the B-Tree

Index Node Layout and Free Space

Duplicate Key Values in an Index

Index Compression with Multiple Duplicates

7.4 Cluster…

Titel
Database
Untertitel
Principles Programming Performance
EAN
9781483184043
Format
E-Book (pdf)
Veröffentlichung
12.05.2014
Digitaler Kopierschutz
Adobe-DRM
Dateigrösse
43.27 MB
Anzahl Seiten
888