Muutke küpsiste eelistusi

Relational Database Design and Implementation: Clearly Explained 3rd edition [Pehme köide]

(Professor and Department Chair, Computer Science, Marist College, Hyde Park, NY, USA)
  • Formaat: Paperback / softback, 440 pages, kõrgus x laius: 235x191 mm, kaal: 890 g
  • Ilmumisaeg: 02-Sep-2009
  • Kirjastus: Morgan Kaufmann Publishers In
  • ISBN-10: 0123747309
  • ISBN-13: 9780123747303
Teised raamatud teemal:
  • Pehme köide
  • Hind: 62,64 €*
  • * saadame teile pakkumise kasutatud raamatule, mille hind võib erineda kodulehel olevast hinnast
  • See raamat on trükist otsas, kuid me saadame teile pakkumise kasutatud raamatule.
  • Kogus:
  • Lisa ostukorvi
  • Tasuta tarne
  • Lisa soovinimekirja
  • Formaat: Paperback / softback, 440 pages, kõrgus x laius: 235x191 mm, kaal: 890 g
  • Ilmumisaeg: 02-Sep-2009
  • Kirjastus: Morgan Kaufmann Publishers In
  • ISBN-10: 0123747309
  • ISBN-13: 9780123747303
Teised raamatud teemal:
Fully revised, updated, and expanded, Relational Database Design and Implementation, Third Edition is the most lucid and effective introduction to the subject available for IT/IS professionals interested in honing their skills in database design, implementation, and administration. This book provides the conceptual and practical information necessary to develop a design and management scheme that ensures data accuracy and user satisfaction while optimizing performance, regardless of experience level or choice of DBMS.
The book begins by reviewing basic concepts of databases and database design, then briefly reviews the SQL one would use to create databases. Topics such as the relational data model, normalization, data entities and Codd's Rules (and why they are important) are covered clearly and concisely but without resorting to "Dummies"-style talking down to the reader.
Supporting the book's step-by-step instruction are three NEW case studies illustrating database planning, analysis, design, and management practices. In addition to these real-world examples, which include object-relational design techniques, an entirely NEW section consisting of three chapters is devoted to database implementation and management issues.


* Principles needed to understand the basis of good relational database design and implementation practices.
* Examples to illustrate core concepts for enhanced comprehension and to put the book's practical instruction to work.
* Methods for tailoring DB design to the environment in which the database will run and the uses to which it will be put.
* Design approaches that ensure data accuracy and consistency.
* Examples of how design can inhibit or boost database application performance.
* Object-relational design techniques, benefits, and examples.
* Instructions on how to choose and use a normalization technique.
* Guidelines for understanding and applying Codd's rules.
* Tools to implement a relational design using SQL.
* Techniques for using CASE tools for database design.

Arvustused

"I think this book addresses database designers and database professionals quite well. The book also is well-suited to be used for an introductory course on database management." --Craig Mullins, Corporate Technologist, NEON Enterprise Software

"The book uses straightforward language to present different concepts related to the design and implementation of relational databases. Although it does not include exercises, it could be used as a textbook in a database course. While it is difficult nowadays for a book on databases to stand out among the popular and excellent ones already available, I want to emphasize what I consider a key contribution of this book: it is illustrated with real-world examples and includes clear explanations that will help readers understand the design process. In this sense, the three case studies included are particularly valuable." --Computing Reviews

Muu info

The most lucid and effective introduction to relational database design and management available, providing you with the tools necessary to put the book's practical instruction to work immediately.
Preface xv
Acknowledgments xix
PART I INTRODUCTION
The Database Environment
3(22)
Defining a Database
4(2)
Lists and Files
4(1)
Databases
5(1)
Data ``Ownership''
6(2)
Service-Oriented Architecture
7(1)
Database Software: DBMSs
8(2)
Database Hardware Architecture
10(8)
Centralized
10(3)
Client/Server
13(1)
Distributed
14(2)
The Web
16(1)
Remote Access
17(1)
Other Factors in the Database Environment
18(5)
Security
18(2)
Government Regulations and Privacy
20(1)
Legacy Databases
21(2)
For Further Reading
23(2)
Systems Analysis and Database Requirements
25(20)
Dealing with Resistance to Change
26(1)
The Structured Design Life Cycle
27(1)
Conducting the Needs Assessment
28(4)
Assessing Feasibility
32(2)
Generating Alternatives
34(1)
Evaluating and Choosing an Alternative
35(1)
Creating Design Requirements
36(1)
Alternative Analysis Methods
36(6)
Prototyping
36(2)
Spiral Methodology
38(1)
Object-Oriented Analysis
38(4)
For Further Reading
42(3)
PART II DATABASE DESIGN THEORY
Why Good Design Matters
45(6)
Effects of Poor Database Design
45(2)
Unnecessary Duplicated Data and Data Consistency
47(1)
Data Insertion Problems
48(1)
Data Deletion Problems
49(1)
Meaningful Identifiers
50(1)
Entities and Relationships
51(34)
Entities and Their Attributes
51(10)
Entity Identifiers
53(1)
Single-Valued versus Multivalued Attributes
54(2)
Avoiding Collections of Entities
56(2)
Documenting Entities and Their Attributes
58(2)
Entities and Attributes for Antique Opticals
60(1)
Domains
61(3)
Documenting Domains
61(1)
Practical Domain Choices
62(2)
Basic Data Relationships
64(8)
One-to-One Relationships
64(2)
One-to-Many Relationships
66(1)
Many-to-Many Relationships
67(1)
Weak Entities and Mandatory Relationships
67(1)
Documenting Relationships
68(3)
Basic Relationships for Antique Opticals
71(1)
Dealing with Many-to-Many Relationships
72(5)
Composite Entities
73(1)
Documenting Composite Entities
74(1)
Resolving Antique Opticals' Many-to-Many Relationships
75(2)
Relationships and Business Rules
77(1)
Data Modeling versus Data Flow
77(3)
Schemas
80(3)
For Further Reading
83(2)
The Relational Data Model
85(18)
Understanding Relations
86(2)
Columns and Column Characteristics
86(1)
Rows and Row Characteristics
87(1)
Types of Tables
87(1)
A Notation for Relations
88(1)
Primary Keys
88(5)
Primary Keys to Identify People
89(1)
Avoiding Meaningful Identifiers
90(1)
Concatenated Primary Keys
91(1)
All-Key Relations
92(1)
Representing Data Relationships
93(3)
Referential Integrity
95(1)
Foreign Keys and Primary Keys in the Same Table
95(1)
Views
96(1)
The View Mechanism
96(1)
Why Use Views?
97(1)
The Data Dictionary
97(2)
Sample Data Dictionary Tables
98(1)
A Bit of History
99(2)
For Further Reading
101(2)
Normalization
103(24)
Translating an ER Diagram into Relations
103(2)
Normal Forms
105(1)
First Normal Form
106(5)
Understanding Repeating Groups
106(1)
Handling Repeating Groups
107(2)
Problems with First Normal Form
109(2)
Second Normal Form
111(3)
Understanding Functional Dependencies
111(1)
Using Functional Dependencies to Reach 2NF
112(1)
Problems with 2NF Relations
113(1)
Third Normal Form
114(2)
Transitive Dependencies
114(2)
Boyce-Codd Normal Form
116(1)
Fourth Normal Form
117(2)
Multivalued Dependencies
118(1)
Fifth Normal Form
119(6)
Projections and Joins
120(2)
Understanding 5NF
122(3)
Sixth Normal Form
125(1)
For Further Reading
126(1)
Database Structure and Performance Tuning
127(12)
Joins and Database Performance
128(4)
Indexing
132(2)
Deciding Which Indexes to Create
133(1)
Clustering
134(1)
Partitioning
135(2)
Horizontal Partitioning
136(1)
Vertical Partitioning
136(1)
For Further Reading
137(2)
Codd's Rules for Relational Database Design
139(12)
Rule 1: The Information Rule
140(1)
Rule 2: The Guaranteed Access Rule
141(1)
Rule 3: Systematic Treatment of Null Values
142(1)
Rule 4: Dynamic Online Catalog Based on the Relational Model
143(1)
Rule 5: The Comprehensive Data Sublanguage Rule
144(1)
Rule 6: The View Updating Rule
145(1)
Rule 7: High-Level Insert, Update, Delete
145(1)
Rule 8: Physical Data Independence
146(1)
Rule 9: Logical Data Independence
147(1)
Rule 10: Integrity Independence
147(1)
Rule 11: Distribution Independence
148(1)
Rule 12: Nonsubversion Rule
149(2)
Using SQL to Implement a Relational Design
151(30)
Database Structure Hierarchy
151(3)
Naming and Identifying Structural Elements
153(1)
Schemas
154(2)
Creating a Schema
154(1)
Identifying the Schema You Want to Use
155(1)
Domains
156(1)
Tables
157(13)
Column Data Types
158(2)
Default Values
160(1)
Not Null Constraints
161(1)
Primary Keys
161(1)
Foreign Keys
161(9)
Additional Column Constraints
170(1)
Views
170(3)
Deciding Which Views to Create
170(1)
View Updatability Issues
171(1)
Creating Views
172(1)
Temporary Tables
173(2)
Creating Temporary Tables
174(1)
Loading Temporary Tables with Data
174(1)
Disposition of Temporary Table Rows
174(1)
Creating Indexes
175(1)
Modifying Database Elements
176(3)
Adding Columns
176(1)
Adding Table Constraints
177(1)
Modifying Columns
177(2)
Deleting Table Elements
179(1)
Renaming Table Elements
179(1)
Deleting Database Elements
179(2)
Using CASE Tools for Database Design
181(16)
CASE Capabilities
182(1)
ER Diagram Reports
183(3)
Data Flow Diagrams
186(2)
The Data Dictionary
188(3)
Code Generation
191(2)
Sample Input and Output Designs
193(2)
The Drawing Environment
195(1)
For Further Reading
196(1)
Database Design Case Study 1: Mighty-Mite Motors
197(34)
Corporate Overview
197(18)
Product Development Division
199(1)
Manufacturing Division
200(1)
Marketing and Sales Division
201(1)
Current Information Systems
202(2)
Reengineering Project
204(1)
New Information Systems Division
204(1)
Basic System Goals
205(1)
Current Business Processes
206(9)
Designing the Database
215(16)
Examining the Data Flows
215(3)
The ER Diagram
218(5)
Creating the Tables
223(2)
Generating the SQL
225(6)
Database Design Case Study 2: East Coast Aquarium
231(44)
Organizational Overview
231(23)
Animal Tracking Needs
233(3)
The Volunteer Organization
236(2)
The Volunteers Database
238(1)
Creating the Application Prototype
238(10)
Creating the ER Diagram
248(3)
Designing the Tables
251(1)
Generating the SQL
251(3)
The Animal Tracking Database
254(21)
Highlights of the Application Prototype
255(5)
Creating the ER Diagram
260(4)
Creating the Tables
264(1)
Generating the SQL
265(10)
PART III RELATIONAL DESIGN PRACTICE
Database Design Case Study 3: SmartMart
275(24)
The Merchandising Environment
275(2)
Product Requirements
276(1)
In-Store Sales Requirements
276(1)
Web Sales Requirements
276(1)
Personnel Requirements
277(1)
Putting Together an ERD
277(7)
Stores, Products, and Employees
277(4)
In-Store Sales
281(1)
Web Sales
282(2)
Creating the Tables
284(2)
Generating the SQL
286(13)
PART IV DATABASE IMPLEMENTATION ISSUES
Concurrency Control
299(24)
The Multiuser Environment
299(5)
Transactions
300(1)
Logging and Rollback
300(3)
Recovery
303(1)
Problems with Concurrent Use
304(7)
Lost Update #1
304(1)
Lost Update #2
305(2)
Inconsistent Analysis
307(2)
Dirty Reads
309(1)
Nonrepeatable Read
309(1)
Phantom Read
310(1)
Solution 1: Classic Locking
311(7)
Read or Exclusive Locks
311(4)
Read or Shared Locks
315(1)
Two-Phase Locking
316(1)
Locks and Transaction Length
317(1)
Solution 2: Optimistic Concurrency Control (Optimistic Locking)
318(1)
Solution #3: Multiversion Concurrency Control (Timestamping)
318(1)
Transaction Isolation Levels
319(1)
Web Database Concurrency Control Issues
320(1)
Distributed Database Issues
321(1)
For Further Reading
322(1)
Database Security
323(28)
Sources of External Security Threats
324(3)
Physical Threats
324(1)
Hackers and Crackers
325(1)
Types of Attacks
326(1)
Sources of Internal Threats
327(2)
Employee Threats
327(2)
External Remedies
329(9)
Securing the Perimeter: Firewalls
329(2)
Handling Malware
331(1)
Buffer Overflows
331(1)
Physical Server Security
332(1)
User Authentication
333(2)
VPNs
335(1)
Combating Social Engineering
336(2)
Handling Other Employee Threats
338(1)
Internal Solutions
338(6)
Internal Database User IDs and Passwords
338(1)
Authorization Matrices
339(2)
Granting and Revoking Access Rights
341(2)
Who Has Access to What
343(1)
Backup and Recovery
344(4)
Backup
345(2)
Disaster Recovery
347(1)
The Bottom Line: How Much Security Do You Need?
348(1)
For Further Reading
349(2)
Data Warehousing
351(12)
Scope and Purpose of a Data Warehouse
352(2)
Obtaining and Preparing the Data
354(2)
Data Modeling for the Data Warehouse
356(2)
Dimensional Modeling Basics
356(2)
Dates and Data
358(1)
Data Warehouse Appliances
358(3)
For Further Reading
361(2)
Data Quality
363(14)
Why Data Quality Matters
363(1)
Recognizing and Handling Incomplete Data
364(2)
Missing Rows
365(1)
Missing Column Data
365(1)
Missing Primary Key Data
366(1)
Recognizing and Handling Incorrect Data
366(3)
Wrong Codes
367(1)
Wrong Calculations
367(1)
Wrong Data Entered into the Database
368(1)
Violation of Business Rules
369(1)
Recognizing and Handling Incomprehensible Data
369(2)
Multiple Values in a Column
369(1)
Orphaned Foreign Keys
370(1)
Recognizing and Handling Inconsistent Data
371(3)
Inconsistent Names and Addresses
371(1)
Inconsistent Business Rules
371(1)
Inconsistent Granularity
372(1)
Unenforced Referential Integrity
373(1)
Inconsistent Data Formatting
373(1)
Preventing Inconsistent Data on an Organizational Level
373(1)
Employees and Data Quality
374(1)
For Further Reading
375(2)
XML
377(10)
XML Syntax
377(3)
XML Document Correctness
380(1)
XML Schemas
380(2)
XML Support in Relational DBMSs
382(3)
DB2
382(2)
Oracle
384(1)
For Further Reading
385(2)
Appendix Historical Antecedents 387(20)
Glossary 407(6)
Index 413
Jan L. Harrington, author of more than 35 books on a variety of technical subjects, has been writing about databases since 1984. She retired in 2013 from her position as professor and chair of the Department of Computing Technology at Marist College, where she taught database design and management, data communications, computer architecture, and the impact of technology on society for 25 years.