Linked e-resources
Details
Table of Contents
Intro
Table of Contents
About the Author
About the Technical Reviewer
Acknowledgments
Introduction
Part I: Learn How to Learn
Chapter 1: Understand Relational Databases
History of Relational Databases
Relational Model and Why It Matters
History
Terminology
Simplicity
Sets and Tables
Problems Implementing a Relational Model
Relational Model and Why It Doesn't Matter
The NULL Problem Isn't a Problem
Column Order Is Important
Denormalization
All Rows Are Distinct
SQL Programming Language
History and Terminology
SQL Alternatives
Is SQL a Programming Language?
Different Database Types
Alternative Database Models
Different Oracle Databases (OLTP vs. DW)
Key Concepts
NULL
JOIN
Join Visualizations
Inner Join
Left and Right Outer Joins
Full Outer Join
Cross Join
Summary
Chapter 2: Create an Efficient Database Development Process
Shared Database vs. Private Database
Create an Infinite Number of Databases
Advantages of Private Databases
Create Private Databases: Local Installation
Create Private Databases: Other Options
Rapidly Drop and Recreate Schemas
Why Deploy Often?
How to Deploy Often?
SQL*Plus Installation Scripts
Comments
SQL*Plus Settings and Messages
Check Prerequisites
Drop Old Schemas
Scripts for Object Types
Grant to Roles
Validate the Schemas
SQL*Plus Patch Scripts
Control Schemas with Version-Controlled Text Files
Single Source of Truth
Load Objects from the Repository and File System
Create and Save Changes Manually
Empower Everyone
Power Imbalance
Transparency
Lower Barriers to Entry
Summary
Chapter 3: Increase Confidence and Knowledge with Testing
Build Confidence with Automated Tests
Fix Bugs Faster
Gain Confidence and Avoid Biases
Test-Driven Development
Create Useful Test Data
Create Large Test Data
Remove Test Data
How to Build Automated Tests
Build Knowledge with Minimal, Complete, and Verifiable Examples
Why Spend So Much Time Building Reproducible Test Cases?
Minimal
Complete
Verifiable
Sharing Tests
Avoiding the XY Problem
Oracle Performance Testing
Oracle Detective Kit
Data Dictionary Views
Dynamic Performance Views
Relational Tools for Inspecting Databases
Non-relational Tools for Inspecting Databases
Summary
Chapter 4: Find Reliable Sources
Places to Go
The Problems with Forums
The Problems with Static Websites
Read the Manual
The Manual Is Not Perfect
My Oracle Support
People to See
Summary
Chapter 5: Master the Entire Stack
Not Just Faster
Typing
Operating Systems and Supporting Programs
Operating Systems
Text Editors
Comparison Tools
Reporting Tools and Excel
SQL and PL/SQL
SQL*Plus
When We Should Use SQL*Plus
When We Should Not Use SQL*Plus
Integrated Development Environment
Table of Contents
About the Author
About the Technical Reviewer
Acknowledgments
Introduction
Part I: Learn How to Learn
Chapter 1: Understand Relational Databases
History of Relational Databases
Relational Model and Why It Matters
History
Terminology
Simplicity
Sets and Tables
Problems Implementing a Relational Model
Relational Model and Why It Doesn't Matter
The NULL Problem Isn't a Problem
Column Order Is Important
Denormalization
All Rows Are Distinct
SQL Programming Language
History and Terminology
SQL Alternatives
Is SQL a Programming Language?
Different Database Types
Alternative Database Models
Different Oracle Databases (OLTP vs. DW)
Key Concepts
NULL
JOIN
Join Visualizations
Inner Join
Left and Right Outer Joins
Full Outer Join
Cross Join
Summary
Chapter 2: Create an Efficient Database Development Process
Shared Database vs. Private Database
Create an Infinite Number of Databases
Advantages of Private Databases
Create Private Databases: Local Installation
Create Private Databases: Other Options
Rapidly Drop and Recreate Schemas
Why Deploy Often?
How to Deploy Often?
SQL*Plus Installation Scripts
Comments
SQL*Plus Settings and Messages
Check Prerequisites
Drop Old Schemas
Scripts for Object Types
Grant to Roles
Validate the Schemas
SQL*Plus Patch Scripts
Control Schemas with Version-Controlled Text Files
Single Source of Truth
Load Objects from the Repository and File System
Create and Save Changes Manually
Empower Everyone
Power Imbalance
Transparency
Lower Barriers to Entry
Summary
Chapter 3: Increase Confidence and Knowledge with Testing
Build Confidence with Automated Tests
Fix Bugs Faster
Gain Confidence and Avoid Biases
Test-Driven Development
Create Useful Test Data
Create Large Test Data
Remove Test Data
How to Build Automated Tests
Build Knowledge with Minimal, Complete, and Verifiable Examples
Why Spend So Much Time Building Reproducible Test Cases?
Minimal
Complete
Verifiable
Sharing Tests
Avoiding the XY Problem
Oracle Performance Testing
Oracle Detective Kit
Data Dictionary Views
Dynamic Performance Views
Relational Tools for Inspecting Databases
Non-relational Tools for Inspecting Databases
Summary
Chapter 4: Find Reliable Sources
Places to Go
The Problems with Forums
The Problems with Static Websites
Read the Manual
The Manual Is Not Perfect
My Oracle Support
People to See
Summary
Chapter 5: Master the Entire Stack
Not Just Faster
Typing
Operating Systems and Supporting Programs
Operating Systems
Text Editors
Comparison Tools
Reporting Tools and Excel
SQL and PL/SQL
SQL*Plus
When We Should Use SQL*Plus
When We Should Not Use SQL*Plus
Integrated Development Environment