Log In
Or create an account ->
Imperial Library
Home
About
News
Upload
Forum
Help
Login/SignUp
Index
Cover
Title
Copyright
Contents at a glance
Contents
Foreword
About the Author
About the Technical Reviewer
Acknowledgments
Introduction
Chapter 1: What Can Go Wrong
Mishandling Keywords and Categories
Repeated Information
Designing for a Single Report
Summary
Chapter 2: Guided Tour of the Development Process
Initial Problem Statement
Analysis and Simple Data Model
Classes and Objects
Relationships
Further Analysis: Revisiting the Use Cases
Design
Implementation
Interfaces for Input Use Cases
Reports for Output Use Cases
Summary
Chapter 3: Initial Requirements and Use Cases
Real and Abstract Views of a Problem
Data Minding
Task Automation
What Does the User Do?
What Data Are Involved?
What Is the Objective of the System?
What Data are Required to Satisfy the Objective?
What are the Input Use Cases?
What Is the First Data Model?
What Are the Output Use Cases?
More About Use Cases
Actors
Exceptions and Extensions
Use Cases for Maintaining Data
Use Cases for Reporting Information
Finding Out More About the Problem
What Have We Postponed?
Changing Prices
Meals That Are Discontinued
Quantities of Particular Meals
Summary
Chapter 4: Learning from the Data Model
Review of Data Models
Optionality: Should It Be 0 or 1?
Student Course Example
Customer Order Example
Insect Example
A Cardinality of 1: Might It Occasionally Be Two?
Insect Example
Sports Club Example
A Cardinality of 1: What About Historical Data?
Sports Club Example
Departments Example
Insect Example
A Many–Many: Are We Missing Anything?
Sports Club Example
Student Course Example
Meal Delivery Example
When a Many–Many Doesn ’t Need an Intermediate Class
Summary
Chapter 5: Developing a Data Model
Attribute, Class, or Relationship?
Two or More Relationships Between Classes
Different Routes Between Classes
Redundant Information
Routes Providing Different Information
False Information from a Route (Fan Trap)
Gaps in a Route Between Classes (Chasm Trap)
Relationships Between Objects of the Same Class
Relationships Involving More Than Two Classes
Summary
Chapter 6: Generalization and Specialization
Classes or Objects with Much in Common
Specialization
Generalization
Inheritance in Summary
When Inheritance Is Not a Good Idea
Confusing Objects with Subclasses
Confusing an Association with a Subclass
When Is Inheritance Worth Considering?
Should the Superclass Have Objects?
Objects That Belong to More Than One Subclass
Composites and Aggregates
It Isn ’t Easy
Summary
Chapter 7: From Data Model to Relational Database Design
Representing the Model
Representing Classes and Attributes
Creating a Table
Choosing Data Types
Domains and Constraints
Checking Character Fields
Primary Key
Determining a Primary Key
Concatenated Keys
Representing Relationships
Foreign Keys
Referential Integrity
Representing 1–Many Relationships
Representing Many–Many Relationships
Representing 1–1 Relationships
Representing Inheritance
Summary
Chapter 8: Normalization
Update Anomalies
Insertion Problems
Deletion Problems
Dealing With Update Anomalies
Functional Dependencies
Definition of a Functional Dependency
Functional Dependencies and Primary Keys
Normal Forms
First Normal Form
Second Normal Form
Third Normal Form
Boyce–Codd Normal Form
Data Models or Functional Dependencies?
Additional Considerations
Summary
Chapter 9: More on Keys and Constraints
Choosing a Primary Key
More About ID Numbers
Candidate Keys
An ID Number or a Concatenated Key?
Unique Constraints
Using Constraints Instead of Category Classes
Deleting Referenced Records
Summary
Chapter 10: Query Basics
Simple Queries on One Table
The Project Operation
The Select Operation
Aggregates
Ordering
Queries with Two or More Tables
The Join Operation
Set Operations
How Indexes Can Help
Indexes and Simple Queries
Disadvantages of Indexes
Types of Indexes
Views
Creating Views
Uses for Views
Summary
Chapter 11: User Interface
Input Forms
Data Entry Forms Based on a Single Table
Data Entry Forms Based on Several Tables
Constraints on a Form
Restricting Access to a Form
Reports
Basing Reports on Views
Main Parts of a Report
Grouping and Summarizing
Summary
Chapter 12: Other Implementations
Object–Oriented Implementation
Classes and Objects
Complex Types and Methods
Collections of Objects
Representing Relationships
OO Environments
Implementing a Data Model in a Spreadsheet
1–Many Relationships
Many–Many Relationships
Implementing in XML
Representing Relationships
Defining XML types
Querying XML
NoSQL
Summary
Object–Oriented Databases
Spreadsheets
XML
Appendix
Index
← Prev
Back
Next →
← Prev
Back
Next →