Muutke küpsiste eelistusi

E-raamat: Relational Database Design and Implementation

(Professor and Department Chair, Computer Science, Marist College, Hyde Park, NY, USA)
  • Formaat: PDF+DRM
  • Ilmumisaeg: 15-Apr-2016
  • Kirjastus: Morgan Kaufmann Publishers In
  • Keel: eng
  • ISBN-13: 9780128499023
  • Formaat - PDF+DRM
  • Hind: 50,49 €*
  • * hind on lõplik, st. muud allahindlused enam ei rakendu
  • Lisa ostukorvi
  • Lisa soovinimekirja
  • See e-raamat on mõeldud ainult isiklikuks kasutamiseks. E-raamatuid ei saa tagastada.
  • Formaat: PDF+DRM
  • Ilmumisaeg: 15-Apr-2016
  • Kirjastus: Morgan Kaufmann Publishers In
  • Keel: eng
  • ISBN-13: 9780128499023

DRM piirangud

  • Kopeerimine (copy/paste):

    ei ole lubatud

  • Printimine:

    ei ole lubatud

  • Kasutamine:

    Digitaalõiguste kaitse (DRM)
    Kirjastus on väljastanud selle e-raamatu krüpteeritud kujul, mis tähendab, et selle lugemiseks peate installeerima spetsiaalse tarkvara. Samuti peate looma endale  Adobe ID Rohkem infot siin. E-raamatut saab lugeda 1 kasutaja ning alla laadida kuni 6'de seadmesse (kõik autoriseeritud sama Adobe ID-ga).

    Vajalik tarkvara
    Mobiilsetes seadmetes (telefon või tahvelarvuti) lugemiseks peate installeerima selle tasuta rakenduse: PocketBook Reader (iOS / Android)

    PC või Mac seadmes lugemiseks peate installima Adobe Digital Editionsi (Seeon tasuta rakendus spetsiaalselt e-raamatute lugemiseks. Seda ei tohi segamini ajada Adober Reader'iga, mis tõenäoliselt on juba teie arvutisse installeeritud )

    Seda e-raamatut ei saa lugeda Amazon Kindle's. 

Relational Database Design and Implementation: Clearly Explained, Fourth Edition, provides the conceptual and practical information necessary to develop a database design and management scheme that ensures data accuracy and user satisfaction while optimizing performance. Database systems underlie the large majority of business information systems. Most of those in use today are based on the relational data model, a way of representing data and data relationships using only two-dimensional tables. This book covers relational database theory as well as providing a solid introduction to SQL, the international standard for the relational database data manipulation language.The book begins by reviewing basic concepts of databases and database design, then turns to creating, populating, and retrieving data using SQL. Topics such as the relational data model, normalization, data entities, and Codds Rules (and why they are important) are covered clearly and concisely. In addition, the book looks at the impact of big data on relational databases and the option of using NoSQL databases for that purpose.Features updated and expanded coverage of SQL and new material on big data, cloud computing, and object-relational databasesPresents design approaches that ensure data accuracy and consistency and help boost performanceIncludes three case studies, each illustrating a different database design challengeReviews the basic concepts of databases and database design, then turns to creating, populating, and retrieving data using SQL

Muu info

Covering such topics as the relational data model, normalization, data entities, and Codd's Rules and why they are important, this thorough guide reviews the basic concepts of good relational database design, including how to create, populate, and retrieve data using SQL, the standard database query language
Preface to the Fourth Edition xix
Acknowledgments xxi
Part I Introduction
Chapter 1 The Database Environment
3(24)
Defining a Database
4(2)
Lists and Files
4(1)
Databases
5(1)
Systems that Use Databases
6(1)
Data "Ownership"
7(2)
Service-Oriented Architecture (SOA)
8(1)
Database Software: DBMSs
9(3)
Database Hardware Architecture
12(10)
Centralized
12(2)
Client/Server
14(1)
Distributed
15(2)
Web
17(1)
Remote Access
18(1)
Cloud Storage
19(3)
Other Factors in the Database Environment
22(3)
Security
22(1)
Government Regulations and Privacy
23(1)
Legacy Databases
24(1)
Open Source Relational DBMSs
25(1)
For Further Reading
26(1)
Chapter 2 Systems Analysis and Database Requirements
27(20)
Dealing with Resistance to Change
28(1)
The Structured Design Life Cycle
29(2)
Conducting the Needs Assessment
31(3)
Assessing Feasibility
34(1)
Generating Alternatives
35(1)
Evaluating and Choosing an Alternative
36(1)
Creating Design Requirements
37(1)
Alternative Analysis Methods
37(6)
Prototyping
37(2)
Spiral Methodology
39(2)
Object-Oriented Analysis
41(2)
For Further Reading
43(4)
Part II Relational Database Design Theory
Chapter 3 Why Good Design Matters
47(8)
Effects of Poor Database Design
47(2)
Unnecessary Duplicated Data and Data Consistency
49(2)
Data Insertion Problems
51(1)
Data Deletion Problems
52(1)
Meaningful Identifiers
53(1)
The Bottom Line
53(2)
Chapter 4 Entities and Relationships
55(34)
Entities and Their Attributes
55(9)
Entity Identifiers
56(1)
Single-Valued Versus Multivalued Attributes
57(3)
Avoiding Collections of Entities
60(1)
Documenting Entities and Their Attributes
61(2)
Entities and Attributes for Antique Opticals
63(1)
Domains
64(2)
Documenting Domains
64(1)
Practical Domain Choices
65(1)
Basic Data Relationships
66(5)
One-to-One Relationships
68(1)
One-to-Many Relationships
69(1)
Many-to-Many Relationships
69(1)
Weak Entities and Mandatory Relationships
70(1)
Documenting Relationships
71(5)
The Chen Method
71(2)
IE Style Diagrams
73(1)
UML Style Diagrams
74(1)
Basic Relationships for Antique Opticals
75(1)
Dealing with Many-to-Many Relationships
76(6)
Composite Entities
77(1)
Documenting Composite Entities
78(1)
Resolving Antique Opticals' Many-to-Many Relationships
78(2)
N-Way Composite Entities
80(2)
Relationships and Business Rules
82(1)
Data Modeling Versus Data Flow
82(4)
Schemas
86(1)
For Further Reading
87(2)
Chapter 5 The Relational Data Model
89(18)
Understanding Relations
90(2)
Columns and Column Characteristics
90(1)
Rows and Row Characteristics
91(1)
Types of Tables
91(1)
A Notation for Relations
92(1)
Primary Keys
92(5)
Primary Keys to Identify People
93(1)
Avoiding Meaningful Identifiers
94(2)
Concatenated Primary Keys
96(1)
All-Key Relations
96(1)
Representing Data Relationships
97(4)
Referential Integrity
99(1)
Concatenated Foreign Keys
99(1)
Foreign Keys That Reference the Primary Key of Their Own Table
100(1)
Views
101(1)
The View Mechanism
101(1)
Why Use Views?
102(1)
The Data Dictionary
102(2)
Sample Data Dictionary Tables
103(1)
A Bit of History
104(1)
For Further Reading
105(2)
Chapter 6 Relational Algebra
107(34)
The Relational Algebra and SQL Example Database: Rare Books
108(2)
The Sample Data
110(2)
Making Vertical Subsets: Project
112(4)
Making Horizontal Subsets: Restrict
116(2)
Choosing Columns and Rows: Restrict and Then Project
118(1)
Union
119(17)
Join
119(2)
A Non-Database Example
121(1)
The Equi-Join
121(2)
What's Really Going On: Product and Restrict
123(2)
Equi-Joins over Concatenated Keys
125(4)
Θ-Joins
129(1)
Outer Joins
130(3)
Valid Versus Invalid Joins
133(3)
Difference
136(1)
Intersect
136(4)
For Further Reading
140(1)
Chapter 7 Normalization
141(22)
Translating an ER Diagram into Relations
141(2)
Normal Forms
143(1)
First Normal Form
144(4)
Understanding Repeating Groups
144(1)
Handling Repeating Groups
145(2)
Problems with First Normal Form
147(1)
Second Normal Form
148(3)
Understanding Functional Dependencies
149(1)
Using Functional Dependencies to Reach 2NF
150(1)
Problems with 2NF Relations
151(1)
Third Normal Form
151(2)
Transitive Dependencies
152(1)
Boyce-Codd Normal Form
153(1)
Fourth Normal Form
154(2)
Multivalued Dependencies
155(1)
Fifth Normal Form
156(3)
Sixth Normal Form
159(1)
For Further Reading
160(3)
Chapter 8 Database Design and Performance Tuning
163(8)
Indexing
164(2)
Deciding Which Indexes to Create
165(1)
Clustering
166(1)
Partitioning
167(2)
Horizontal Partitioning
167(1)
Vertical Partitioning
168(1)
For Further Reading
169(2)
Chapter 9 Codd's Rules for Relational DBMSs
171(12)
Rule 0 The Foundation Rule
171(1)
Rule 1 The Information Rule
172(1)
Rule 2 The Guaranteed Access Rule
173(1)
Rule 3 Systematic Treatment of Null Values
174(1)
Rule 4 Dynamic Online Catalog Based on the Relational Model
175(1)
Rule 5 The Comprehensive Data Sublanguage Rule
176(1)
Rule 6 The View Updating Rule
176(1)
Rule 7 High-Level Insert, Update, Delete
177(1)
Rule 8 Physical Data Independence
177(1)
Rule 9 Logical Data Independence
178(1)
Rule 10 Integrity Independence
178(1)
Rule 11 Distribution Independence
179(1)
Rule 12 Nonsubversion Rule
180(1)
For Further Reading
180(3)
Part III Relational Database Design Practice
Chapter 10 Introduction to SQL
183(8)
A Bit of SQL History
183(2)
Conformance Levels
185(1)
SQL Environments
186(3)
Interactive SQL Command Processors
187(1)
GUI Environments
187(2)
The Embedded SQL Dilemma
189(1)
Elements of a SQL Statement
189(1)
For Further Reading
190(1)
Chapter 11 Using SQL to Implement a Relational Design
191(24)
Database Structure Hierarchy
191(3)
Naming and Identifying Structural Elements
193(1)
Schemas
194(1)
Creating a Schema
194(1)
Identifying the Schema You Want to Use
195(1)
Domains
195(2)
Tables
197(12)
Column Data Types
197(3)
Default Values
200(1)
NOT NULL Constraints
200(1)
Primary Keys
200(2)
Foreign Keys
202(3)
Additional Column Constraints
205(4)
Modifying Database Elements
209(3)
Adding Columns
209(1)
Adding Table Constraints
209(1)
Modifying Columns
210(1)
Deleting Table Elements
211(1)
Renaming Table Elements
212(1)
Deleting Database Elements
212(1)
For Further Reading
213(2)
Chapter 12 Using CASE Tools for Database Design
215(16)
CASE Capabilities
216(1)
ER Diagram Reports
217(2)
Data Flow Diagrams
219(1)
The Data Dictionary
220(7)
Code Generation
227(1)
Sample Input and Output Designs
227(2)
The Drawing Environment
229(1)
For Further Reading
230(1)
Chapter 13 Database Design Case Study #1: Mighty-Mite Motors
231(34)
Corporate Overview
231(16)
Product Development Division
237(1)
Manufacturing Division
237(1)
Marketing and Sales Division
237(1)
Current Information Systems
238(1)
Reengineering Project
239(1)
New Information Systems Division
239(1)
Basic System Goals
240(1)
Current Business Processes
240(7)
Designing the Database
247(18)
Examining the Data Flows
250(2)
The ER Diagram
252(6)
Creating the Tables
258(1)
Generating the SQL
259(6)
Chapter 14 Database Design Case Study #2: East Coast Aquarium
265(36)
Organizational Overview
265(6)
Animal Tracking Needs
266(4)
The Volunteer Organization
270(1)
The Volunteers Database
271(13)
Creating the Application Prototype
271(8)
Creating the ER Diagram
279(3)
Designing the Tables
282(1)
Generating the SQL
282(2)
The Animal Tracking Database
284(17)
Highlights of the Application Prototype
285(4)
Creating the ER Diagram
289(4)
Creating the Tables
293(1)
Generating the SQL
294(7)
Chapter 15 Database Design Case Study #3: SmartMart
301(22)
The Merchandising Environment
301(2)
Product Requirements
302(1)
In-Store Sales Requirements
302(1)
Web Sales Requirements
302(1)
Personnel Requirements
303(1)
Putting Together an ERD
303(7)
Stores, Products, and Employees
303(3)
In-store Sales
306(2)
Web Sales
308(2)
Creating the Tables
310(2)
Generating the SQL
312(11)
Part IV Using Interactive SQL To Manipulate A Relational Database
Chapter 16 Simple SQL Retrieval
323(32)
Revisiting the Sample Data
324(1)
Choosing Columns
325(8)
Retrieving All Columns
325(5)
Retrieving Specific Columns
330(1)
Removing Duplicates
331(2)
Ordering the Result Table
333(3)
Choosing Rows
336(14)
Predicates
336(9)
Performing Row Selection Queries
345(5)
Nulls and Retrieval: Three-Valued Logic
350(5)
Chapter 17 Retrieving Data from More Than One Table
355(20)
SQL Syntax for Inner Joins
355(7)
Traditional SQL Joins
355(2)
SQL-92 Join Syntax
357(1)
Joining Using Concatenated Keys
358(2)
Joining More Than Two Tables
360(2)
Finding Multiple Rows in One Table: Joining a Table to Itself
362(5)
Correlation Names
364(2)
Performing the Same-Table Join
366(1)
Outer Joins
367(1)
Table Constructors in Queries
368(1)
Avoiding Joins with Uncorrelated Subqueries
369(6)
Using the IN Operator
370(1)
Using the ANY Operator
371(1)
Nesting Subqueries
371(1)
Replacing a Same-Table Join with Subqueries
372(3)
Chapter 18 Advanced Retrieval Operations
375(24)
Union
375(4)
Performing Union Using the Same Source Tables
376(1)
Performing Union Using Different Source Tables
377(1)
Alternative SQL-92 Union Syntax
378(1)
Negative Queries
379(4)
Traditional SQL Negative Queries
379(3)
Negative Queries Using the EXCEPT Operator
382(1)
The EXISTS Operator
383(1)
The EXCEPT and INTERSECT Operators
384(2)
Performing Arithmetic
386(3)
Arithmetic Operators
387(1)
Operator Precedence
387(2)
String Manipulation
389(3)
Concatenation
389(1)
UPPER and LOWER
389(2)
TRIM
391(1)
SUBSTRING
391(1)
Date and Time Manipulation
392(4)
Date and Time System Values
392(1)
Date and Time Interval Operations
393(1)
OVERLAPS
394(1)
EXTRACT
395(1)
CASE Expressions
396(3)
Chapter 19 Working With Groups of Rows
399(30)
Set Functions
399(5)
COUNT
399(3)
SUM
402(1)
AVG
403(1)
MIN and MAX
403(1)
Set Functions in Predicates
404(1)
Changing Data Types: CAST
404(2)
Grouping Queries
406(7)
Forming Groups
406(6)
Restricting Groups
412(1)
Windowing and Window Functions
413(16)
Ordering the Partitioning
416(3)
Specific Functions
419(10)
Chapter 20 Data Modification
429(8)
Inserting Rows
429(3)
Inserting One Row
429(2)
Copying Existing Rows
431(1)
Updating Data
432(1)
Deleting Rows
433(2)
Deletes and Referential Integrity
434(1)
Inserting, Updating, or Deleting on a Condition: MERGE
435(2)
Chapter 21 Creating Additional Structural Elements
437(12)
Views
437(2)
Deciding Which Views to Create
437(1)
View Updatability Issues
438(1)
Creating Views
438(1)
Temporary Tables
439(3)
Creating Temporary Tables
440(1)
Loading Temporary Tables with Data
441(1)
Disposition of Temporary Table Rows
441(1)
Common Table Expressions (CTEs)
442(3)
Creating Indexes
445(4)
Part V Database Implementation Issues
Chapter 22 Concurrency Control
449(22)
The Multiuser Environment
449(5)
Transactions
450(1)
The ACID Transaction Goal
450(1)
Logging and Rollback
451(2)
Recovery
453(1)
Problems with Concurrent Use
454(7)
Lost Update #1
454(1)
Lost Update #2
455(2)
Inconsistent Analysis
457(1)
Dirty Reads
458(1)
Nonrepeatable Read
459(1)
Phantom Read
460(1)
Solution #1: Classic Locking
461(5)
Write or Exclusive Locks
461(3)
Read or Shared Locks
464(1)
Two-Phase Locking
465(1)
Locks and Transaction Length
466(1)
Solution #2: Optimistic Concurrency Control (Optimistic Locking)
466(1)
Solution #3: Multiversion Concurrency Control (Timestamping)
467(1)
Transaction Isolation Levels
467(1)
Web Database Concurrency Control Issues
468(1)
Distributed Database Issues
469(1)
For Further Reading
470(1)
Chapter 23 Database Security
471(26)
Sources of External Security Threats
472(3)
Physical Threats
472(1)
Hackers and Crackers
472(2)
Types of Attacks
474(1)
Sources of Internal Threats
475(1)
Employee Threats
475(1)
External Remedies
476(8)
Securing the Perimeter: Firewalls
476(2)
Handling Malware
478(1)
Buffer Overflows
479(1)
Physical Server Security
479(1)
User Authentication
480(1)
VPNs
481(1)
Combating Social Engineering
482(2)
Handling Other Employee Threats
484(1)
Internal Solutions
484(6)
Internal Database User IDs and Passwords
485(1)
Authorization Matrices
485(2)
Granting and Revoking Access Rights
487(2)
Who Has Access to What
489(1)
Backup and Recovery
490(4)
Backup
490(2)
Disaster Recovery
492(2)
The Bottom Line: How Much Security Do You Need?
494(1)
For Further Reading
494(3)
Chapter 24 Data Warehousing
497(12)
Scope and Purpose of a Data Warehouse
498(2)
Obtaining and Preparing the Data
500(2)
Data Modeling for the Data Warehouse
502(3)
Dimensional Modeling Basics
502(2)
Dates and Data
504(1)
Data Warehouse Appliances
505(2)
For Further Reading
507(2)
Chapter 25 Data Quality
509(14)
Why Data Quality Matters
509(1)
Recognizing and Handling Incomplete Data
510(2)
Missing Rows
510(1)
Missing Column Data
511(1)
Missing Primary Key Data
512(1)
Recognizing and Handling Incorrect Data
512(3)
Wrong Codes
512(1)
Wrong Calculations
513(1)
Wrong Data Entered into the Database
514(1)
Violation of Business Rules
514(1)
Recognizing and Handling Incomprehensible Data
515(1)
Multiple Values in a Column
515(1)
Orphaned Foreign Keys
515(1)
Recognizing and Handling Inconsistent Data
516(3)
Inconsistent Names and Addresses
516(1)
Inconsistent Business Rules
516(1)
Inconsistent Granularity
517(1)
Unenforced Referential Integrity
517(1)
Inconsistent Data Formatting
518(1)
Preventing Inconsistent Data on an Organizational Level
518(1)
Fixing the Problem
518(1)
Employees and Data Quality
519(1)
For Further Reading
520(3)
Part VI Beyond The Relational Data Model
Chapter 26 XML Support
523(20)
XML Basics
524(6)
XML Structure
524(2)
XML Document Structure
526(2)
XML Schemas
528(2)
SQL/XML
530(10)
XML Publishing Functions
530(10)
The XML Data Type
540(1)
XMLSERIALIZE
541(1)
For Further Reading
541(2)
Chapter 27 Object-Relational Databases
543(42)
Getting Started: Object-Orientation without Computing
544(4)
Basic OO Concepts
548(11)
Objects
548(1)
Classes
549(4)
Class Relationships
553(6)
Benefits of Object-Orientation
559(5)
Where Objects Work Better Than Relations
560(4)
Limitations of Pure Object-Oriented DBMSs
564(1)
The Object-Relational Data Model
565(5)
ER Diagrams for Object-Relational Designs
565(5)
Features of the OR Data Model
570(1)
SQL Support for the OR Data Model
570(1)
An Additional Sample Database
571(1)
SQL Data Types for Object-Relational Support
572(5)
Row Type
572(1)
Array Type
573(3)
Multiset Type
576(1)
User-Defined Data Types and Typed Tables
577(5)
UDTs as Domains
578(1)
UDTs as Classes
578(1)
Creating Typed Tables Using UDTs
579(1)
Inheritance
580(1)
Reference (REF) Type
580(2)
Methods
582(2)
Defining Methods
583(1)
Executing Methods
583(1)
For Further Reading
584(1)
Chapter 28 Relational Databases and "Big Data": The Alternative of a NoSQL Solution
585(14)
Types of NoSQL Databases
586(3)
Key-Value Store
586(1)
Document
587(1)
Column
587(1)
Graph
588(1)
Other Differences Between NoSQL Databases and Relational Databases
589(6)
Hardware Architecture Differences
589(3)
Data Access and Manipulation Techniques
592(2)
Transaction Control: BASE Transactions
594(1)
Benefits of NoSQL Databases
595(1)
Problems with NoSQL Databases
595(1)
Open Source NoSQL Products
596(1)
For Further Reading
596(3)
Part VII Appendices
Appendix A Historical Antecedents
599(18)
File Processing Systems
599(5)
Early File Processing
599(2)
ISAM Files
601(1)
Limitations of File Processing
602(1)
File Processing on the Desktop
603(1)
The Hierarchical Data Model
604(4)
Characteristics of the Hierarchical Data Model
604(3)
IMS
607(1)
The Simple Network Data Model
608(4)
Characteristics of a Simple Network
608(2)
CODASYL
610(2)
The Complex Network Data Model
612(5)
Appendix B SQL Programming
617(44)
SQL Language Programming Elements
617(10)
Variables and Assignment
619(2)
Selection
621(2)
Iteration
623(2)
Example #1: Interactive Retrievals
625(1)
Example #2: Nested Modules
625(1)
Executing Modules as Triggers
626(1)
Executing Modules as Stored Procedures
627(1)
Embedded SQL Programming
627(16)
The Embedded SQL Environment
627(2)
Using Host Language Variables
629(1)
DBMS Return Codes
630(1)
Retrieving a Single Row
631(1)
Indicator Variables
632(1)
Retrieving Multiple Rows: Cursors
633(6)
Embedded SQL Data Modification
639(4)
Dynamic SQL
643(10)
Immediate Execution
644(1)
Dynamic SQL with Dynamic Parameters
645(1)
Dynamic Parameters with Cursors
646(6)
Dynamic Parameters without a Cursor
652(1)
SQLSTATE Return Codes
653(8)
Appendix C SQL Syntax Summary
661(8)
Glossary 669(14)
Subject Index 683
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.