Muutke küpsiste eelistusi

Databases Illuminated 4th edition [Pehme köide]

  • Formaat: Paperback / softback, 682 pages, kaal: 992 g
  • Ilmumisaeg: 23-Mar-2022
  • Kirjastus: Jones and Bartlett Publishers, Inc
  • ISBN-10: 1284231585
  • ISBN-13: 9781284231588
Teised raamatud teemal:
  • Formaat: Paperback / softback, 682 pages, kaal: 992 g
  • Ilmumisaeg: 23-Mar-2022
  • Kirjastus: Jones and Bartlett Publishers, Inc
  • ISBN-10: 1284231585
  • ISBN-13: 9781284231588
Teised raamatud teemal:
Hear from Catherine M. Ricardo, PhD, on the importance of becoming a responsible steward of data in a world of big data!Databases Illuminated, Fourth Edition is designed to help students integrate theoretical material with practical knowledge, using an approach that applies theory to practical database implementation. The text helps students understand the difference between traditional database technology and the new directions created by big data, outlining motivation, fundamental concepts, technologies, and challenges associated with handling large datasets.
Preface xiii
About the Authors xix
Acronyms Used in This Book xxi
1 Introductory Database Concepts
1(18)
1.1 Uses of Databases
2(1)
1.2 A Sample Database
2(4)
1.3 The Integrated Database Environment
6(1)
1.4 Roles in the Integrated Database Environment
7(3)
1.5 Advantages of the Integrated Database Approach
10(1)
1.6 Historical Developments in Information Systems
11(4)
1.6.1 Developments in Storage Media
11(2)
1.6.2 Database Models
13(2)
1.7 Big Data
15(1)
1.8
Chapter Summary
16(3)
2 Database Planning and Database Architecture
19(30)
2.1 Data as a Resource
20(1)
2.2 Characteristics of Data
20(3)
2.2.1 Data and Information
20(1)
2.2.2 Levels of Discussing Data
21(2)
2.2.3 Data Sublanguages
23(1)
2.3 Stages in Database Design
23(4)
2.4 Design Tools
27(2)
2.4.1 Data Dictionary
27(2)
2.4.2 Diagramming Tools
29(1)
2.4.3 Computer-aided Software Engineering (CASE) Packages
29(1)
2.5 Functions of the Database Administrator (DBA)
29(3)
2.5.1 Planning and Design
29(1)
2.5.2 Developing the Database
30(1)
2.5.3 Database Management
31(1)
2.6 The Three-Level Database Architecture
32(8)
2.6.1 External Views
33(2)
2.6.2 Logical Model
35(1)
2.6.3 Internal Model
36(1)
2.6.4 Physical Level
36(1)
2.6.5 Record Retrieval
36(3)
2.6.6 Data Independence
39(1)
2.7 Overview of Data Models
40(6)
2.7.1 The Entity-Relationship (ER) Model
40(2)
2.7.2 Relational and Other Record-Based Models
42(1)
2.7.3 Object-Oriented (OO) Model
43(1)
2.7.4 Object-Relational (OR) Model
44(1)
2.7.5 Data Warehouse Models
44(1)
2.7.6 Semistructured Data Models
44(1)
2.7.7 Big Data and NoSQL Models
45(1)
2.8
Chapter Summary
46(3)
3 The Entity-Relationship Model
49(44)
3.1 Purpose of the Entity-Relationship (ER) Model
50(1)
3.2 Entities
50(2)
3.3 Attributes
52(2)
3.3.1 Domains
52(1)
3.3.2 Null Values
53(1)
3.3.3 Multivalued Attributes
53(1)
3.3.4 Composite Attributes
53(1)
3.3.5 Derived Attributes
54(1)
3.4 Keys
54(3)
3.4.1 Superkeys
55(1)
3.4.2 Candidate Keys
55(1)
3.4.3 Primary Keys
56(1)
3.5 Relationships
57(9)
3.5.1 Degree of Relationships
57(3)
3.5.2 Attributes of Relationship Sets
60(1)
3.5.3 Cardinality of a Relationship
60(1)
3.5.4 Showing Cardinalities in an ER Diagram
61(2)
3.5.5 Participation Constraints
63(1)
3.5.6 Using (min, max) Notation for Cardinality and Participation
64(2)
3.6 Roles
66(1)
3.7 Existence Dependency and Weak Entities
67(1)
3.8 Sample ER Diagrams
67(6)
3.9 The Extended Entity-Relationship (EER) Model
73(1)
3.10 Generalization and Specialization
73(9)
3.10.1 Specialization
73(2)
3.10.2 Generalization
75(2)
3.10.3 Generalization Constraints
77(2)
3.10.4 Multiple Hierarchies and Inheritance
79(3)
3.11 Union
82(2)
3.12 Sample EER Diagrams
84(3)
3.13
Chapter Summary
87(6)
4 The Relational Model
93(46)
4.1 Advantages of the Relational Model
94(1)
4.2 Relational Data Structures
94(7)
4.2.1 Tables
95(2)
4.2.2 Mathematical Relations
97(1)
4.2.3 Database Relations and Tables
98(1)
4.2.4 Properties of Relations
99(1)
4.2.5 Degree and Cardinality
99(1)
4.2.6 Relation Keys
99(2)
4.3 Integrity Constraints
101(1)
4.4 Representing Relational Database Schemas
101(1)
4.5 Relational Data Manipulation Languages (DMLs)
102(13)
4.5.1 Categories of DMLs
102(1)
4.5.2 Relational Algebra
103(12)
4.6 Views
115(2)
4.7 Mapping an Entity-Relationship (ER) Model to a Relational Schema
117(6)
4.8 Mapping an Extended Entity-Relationship (EER) Model to a Relational Schema
123(6)
4.8.1 Summary of ER to Relational Mapping Concepts
123(1)
4.8.2 Mapping EER Set Hierarchies to Relational Tables
124(1)
4.8.3 Mapping Unions
125(1)
4.8.4 EER to Relational Mapping Example
126(3)
4.9 Forward and Reverse Engineering: ER and Relational Models
129(4)
4.10
Chapter Summary
133(6)
5 Relational Database Management Systems and SQL
139(60)
5.1 Brief History of SQL in Relational Database Systems
140(1)
5.2 Architecture of a Relational Database Management System (RDBMS)
141(1)
5.3 Defining the Database: SQL Data Definition Language (DDL)
142(11)
5.3.1 Create Database, Create Schema
142(1)
5.3.2 Create Table
143(6)
5.3.3 Create Index
149(1)
5.3.4 Alter Table, Rename Table
150(1)
5.3.5 Drop Statements
151(1)
5.3.6 Additional SQL Data Definition Language (DDL) Example
151(2)
5.4 Manipulating the Database: SQL Data Manipulation Language (DML)
153(36)
5.4.1 Introduction to the SELECT Statement
153(5)
5.4.2 SELECT Using Multiple Tables
158(12)
5.4.3 SELECT with Aggregate Functions
170(5)
5.4.4 SELECT with GROUP BY
175(3)
5.4.5 SELECT with Pattern Strings
178(2)
5.4.6 Operators for Updating: UPDATE, INSERT, DELETE
180(9)
5.5 Creating and Using Views
189(4)
5.6 The System Catalog
193(2)
5.7
Chapter Summary
195(4)
6 Normalization and Denormalization
199(32)
6.1 Objectives of Normalization
200(1)
6.2 Insertion, Update, and Deletion Anomalies
200(2)
6.3 Functional Dependency (FD)
202(2)
6.4 Superkeys, Candidate Keys, and Primary Keys
204(1)
6.5 Normalization Using Candidate Keys
205(13)
6.5.1 First Normal Form (INF)
206(2)
6.5.2 Full Functional Dependency (FD) and Second Normal Form (2NF)
208(2)
6.5.3 Transitive Dependency and Third Normal Form (3NF)
210(2)
6.5.4 Boyce-Codd Normal Form (BCNF)
212(3)
6.5.5 Comprehensive Example of Functional Dependencies (FDs)
215(3)
6.6 Properties of Relational Decompositions
218(4)
6.6.1 Attribute Preservation
218(1)
6.6.2 Dependency Preservation
218(1)
6.6.3 Lossless Decomposition
218(3)
6.6.4 Decomposition Algorithm for Boyce-Codd Normal Form (BCNF) with Lossless Join
221(1)
6.7 Higher Normal Forms
222(1)
6.8 The Normalization Process
222(1)
6.8.1 Analysis
223(1)
6.8.2 Synthesis
223(1)
6.8.3 Normalization from an Entity-Relationship Diagram
223(1)
6.9 When to Stop Normalizing
223(1)
6.10 Non-normalized Databases
224(1)
6.11
Chapter Summary
225(6)
7 Advanced SQL
231(50)
7.1 Introduction to Advanced SQL Features
232(1)
7.2 Additional SQL Functions
232(7)
7.2.1 Numeric Single-Row Functions
232(3)
7.2.2 Character Single-Row Functions
235(1)
7.2.3 Date and Time Functions
236(3)
7.3 Sequences
239(2)
7.4 Temporal Databases and SQL
241(6)
7.4.1 User Valid Time
241(5)
7.4.2 Transaction Time
246(1)
7.5 SQL Programming
247(14)
7.5.1 SQL Persistent Stored Modules (PSMs)
248(7)
7.5.2 Embedded SQL
255(4)
7.5.3 Application Programming Interfaces (APIs)
259(2)
7.5.4 Dynamic SQL
261(1)
7.6 Using COMMIT and ROLLBACK Statements
261(1)
7.7 Active Databases
261(7)
7.7.1 Enabling and Disabling Constraints
262(1)
7.7.2 SQL Triggers
263(5)
7.8 Global and Private Temporary Tables
268(1)
7.9 Java Database Connectivity (JDBC)
269(7)
7.9.1 Developing a JDBC Application
269(1)
7.9.2 The Statement Object
270(2)
7.9.3 The PreparedStatement Object
272(1)
7.9.4 The CallableStatement Object
272(2)
7.9.5 Updating the Database
274(1)
7.9.6 Querying Metadata
275(1)
7.10
Chapter Summary
276(5)
8 Introduction to Database Security
281(32)
8.1 Issues in Database Security
282(2)
8.1.1 Accidental Security Threats
283(1)
8.1.2 Deliberate Security Threats
283(1)
8.2 Fundamentals of Access Control
284(2)
8.2.1 Physical Security
284(1)
8.2.2 Information System Access Control
285(1)
8.3 Database Access Control
286(1)
8.4 Using Views for Access Control
287(1)
8.5 Security Logs and Audit Trails
288(1)
8.6 Encryption
289(3)
8.6.1 Symmetric Key Encryption
289(2)
8.6.2 Public-Key Encryption
291(1)
8.7 Data De-identification
292(1)
8.8 SQL Data Control Language (DCL)
293(2)
8.9 Security in Oracle
295(6)
8.9.1 Security Features
296(1)
8.9.2 Oracle Security Tools
296(1)
8.9.3 Administrative Accounts
297(1)
8.9.4 User Privileges
297(1)
8.9.5 Creating and Managing User Accounts
298(3)
8.10 Statistical Database Security
301(1)
8.11 SQL Injection
301(5)
8.11.1 SQL Vulnerability
302(1)
8.11.2 Further Examples of SQL Injection
303(1)
8.11.3 Mitigation of SQL Injection
304(2)
8.12 Database Security and the Internet
306(2)
8.12.1 Proxy Servers
306(1)
8.12.2 Firewalls
307(1)
8.12.3 Digital Signatures
307(1)
8.12.4 Certification Authorities
307(1)
8.13
Chapter Summary
308(5)
9 Object-Based Models
313(54)
9.1 Rationale for the Object-Oriented (OO) Data Model
314(1)
9.2 OO Data Concepts
314(6)
9.2.1 Objects and Literals
315(1)
9.2.2 Classes
316(2)
9.2.3 Class Hierarchies and Inheritance
318(2)
9.2.4 Object Identity
320(1)
9.3 OO Data Modeling Using Unified Modeling Language (UML)
320(3)
9.4 The Object Database Management Group (ODMG) Model and Object Definition Language (ODL)
323(6)
9.4.1 Class Declarations
325(1)
9.4.2 Extent
326(1)
9.4.3 Attributes
326(1)
9.4.4 Relationships
326(1)
9.4.5 Methods
327(1)
9.4.6 Classes and Inheritance
328(1)
9.4.7 n-ary Relationships and M:N Relationships with Attributes
328(1)
9.4.8 Keys
329(1)
9.5 Object Query Language (OQL)
329(4)
9.6 Developing an OO Database Application
333(6)
9.6.1 Overview of InterSystems Iris
333(1)
9.6.2 Schema Definition in Iris
334(5)
9.7 Extending the Relational Model
339(15)
9.7.1 Large Object Data Types
339(1)
9.7.2 Structured Types
340(1)
9.7.3 User-Defined Data Types (UDTs)
340(7)
9.7.4 Reference Types
347(1)
9.7.5 Type Hierarchies in Standard SQL
348(1)
9.7.6 Type Hierarchies in Oracle
349(2)
9.7.7 Nested Tables in Oracle
351(2)
9.7.8 Oracle Object Views
353(1)
9.8 Converting a UML Diagram to an Object-Relational (OR) Database Model
354(7)
9.9 Converting an Extended Entity-Relationship (EER) Diagram to an OR Database Model
361(1)
9.10
Chapter Summary
362(5)
10 Relational Query Optimization
367(34)
10.1 Query Processing and Query Optimization
368(2)
10.2 Logical Query Optimization
370(10)
10.2.1 The Query Tree
370(2)
10.2.2 An SQL Query and Its Relational Algebra Translation
372(1)
10.2.3 Performing SELECT Operations Early
372(1)
10.2.4 Evaluating Conjunctive Conditions
373(3)
10.2.5 Performing PROJECT Early
376(1)
10.2.6 Equivalence of Algebraic Operations
376(3)
10.2.7 Heuristics for Query Optimization
379(1)
10.3 Physical Query Optimization
380(13)
10.3.1 Cost Factors
380(2)
10.3.2 Cost of Processing Selects
382(3)
10.3.3 Processing Joins
385(4)
10.3.4 Processing Other Operations Projection
389(3)
10.3.5 Adaptive Query Optimization
392(1)
10.3.6 Pipelining
392(1)
10.4 Query Optimization in Oracle
393(3)
10.5
Chapter Summary
396(5)
11 Transaction Management
401(44)
11.1 ACID Properties of Transactions
402(3)
11.2 Need for Concurrency Control
405(3)
11.2.1 The Lost Update Problem
406(1)
11.2.2 The Uncommitted Update Problem
407(1)
11.2.3 The Problem of Inconsistent Analysis
408(1)
11.3 Serializability
408(5)
11.4 Locking
413(9)
11.4.1 Deadlock and Starvation
414(4)
11.4.2 Two-Phase Locking Protocol
418(3)
11.4.3 Levels of Locking
421(1)
11.5 Timestamping
422(5)
11.5.1 Basic Timestamping Protocol
423(2)
11.5.2 Thomas's Write Rule
425(1)
11.5.3 Multiversion Timestamping
425(2)
11.6 Optimistic Techniques
427(2)
11.7 Need for Recovery
429(1)
11.8 Recovery Techniques
429(5)
11.8.1 Deferred Update Protocol
430(2)
11.8.2 Checkpoints
432(1)
11.8.3 Immediate Update Protocol
432(1)
11.8.4 Shadow Paging
433(1)
11.8.5 Overview of the ARIES Recovery Algorithm
433(1)
11.9 Transaction Management in Oracle
434(4)
11.9.1 Transaction Limits
434(1)
11.9.2 Isolation Levels
435(1)
11.9.3 Types of Locks
436(1)
11.9.4 Recovery Management
437(1)
11.10
Chapter Summary
438(7)
12 Distributed Databases
445(38)
12.1 Rationale for Distribution
446(1)
12.2 Architectures for a Distributed System
446(8)
12.2.1 Distributed Processing Using a Centralized Database
447(1)
12.2.2 Client-Server Systems
447(1)
12.2.3 Parallel Databases
448(3)
12.2.4 Distributed Databases
451(1)
12.2.5 Peer-to-Peer (P2P) Data Management Systems
452(2)
12.2.6 Cloud Database Systems
454(1)
12.3 Components of a Distributed Database System (DDBS)
454(2)
12.4 Data Placement
456(4)
12.5 Transparency
460(2)
12.6 Transaction Control for Distributed Databases
462(8)
12.6.1 Concurrency Control
463(4)
12.6.2 Recovery
467(3)
12.7 Distributed Query Processing
470(3)
12.7.1 Steps in Distributed Query Processing
470(2)
12.7.2 The Semijoin Operation
472(1)
12.8 Blockchain Technology
473(4)
12.8.1 Blockchain Architecture and Functionality
473(3)
12.8.2 Blockchain Benefits and Future Directions
476(1)
12.9
Chapter Summary
477(6)
13 Semistructured Data
483(48)
13.1 Data and the Internet
484(1)
13.2 A Semistructured Data Model
485(1)
13.3 JavaScript Object Notation (JSON)
486(4)
13.4 Extensible Markup Language (XML)
490(17)
13.4.1 Standalone XML Documents
491(2)
13.4.2 Document Type Definition (DTD)
493(2)
13.4.3 XML Schema Definition (XSD)
495(4)
13.4.4 XML Data Manipulation
499(7)
13.4.5 XML Parsers
506(1)
13.5 JSON and XML in Relational Databases
507(1)
13.6 Oracle Implementation of Semistructured Data
507(16)
13.6.1 JSON in Oracle
508(7)
13.6.2 XML DB
515(7)
13.6.3 Oracle XML Developer Kits (XDKs)
522(1)
13.7
Chapter Summary
523(8)
14 Big Data and NoSQL
531(38)
14.1 Big Data
532(4)
14.2 Distributed File Systems (DFSs) and Parallel Programming Paradigms
536(5)
14.2.1 Hadoop Distributed File System (HDFS)
537(1)
14.2.2 MapReduce
538(2)
14.2.3 Spark
540(1)
14.2.4 Hive and HiveQL
540(1)
14.3 NoSQL
541(4)
14.3.1 Defining NoSQL Technology
542(1)
14.3.2 NoSQL Systems
543(2)
14.4 A Document Database System: MongoDB
545(13)
14.5 A Graph Database System: Neo4j
558(7)
14.6
Chapter Summary
565(4)
15 Data Warehouses
569(54)
15.1 Origins of Data Warehousing
570(1)
15.2 Operational Databases and Data Warehouses
571(1)
15.3 Components of a Data Warehouse
572(2)
15.4 Data Warehouse 3-Level Architecture
574(1)
15.5 Data Lakes
574(2)
15.6 Developing a Data Warehouse
576(2)
15.6.1 Top-Down Method
577(1)
15.6.2 Bottom-Up Method
577(1)
15.6.3 Data Vault Method
577(1)
15.7 Data Models for Data Warehouses
578(5)
15.7.1 Star Schema and Snowflake Schema
579(1)
15.7.2 Data Cubes and Hypercubes
580(1)
15.7.3 Semistructured Data
581(1)
15.7.4 Column Stores
582(1)
15.8 Data Warehouse Administration
583(1)
15.9 Views and View Materialization
584(2)
15.10 Data Analytics
586(18)
15.10.1 Techniques for ROLAP
587(2)
15.10.2 Basic Data Cube Operations
589(5)
15.10.3 SQL Analytic Functions
594(10)
15.11 Data Mining
604(13)
15.11.1 Purpose of Data Mining
605(1)
15.11.2 Types of Knowledge Discovered
606(1)
15.11.3 Models and Methods Used
607(7)
15.11.4 Applications of Data Mining
614(3)
15.12
Chapter Summary
617(6)
16 Social, Ethical, and Legal Issues
623(36)
16.1 Computerization and Society
624(1)
16.2 Ethical Issues in Information Technology
625(4)
16.2.1 A Framework for Ethical Decision Making
626(1)
16.2.2 Ethical Standards for Computing Professionals
627(2)
16.3 Databases and Privacy Issues
629(12)
16.3.1 Privacy and Security
630(1)
16.3.2 Privacy as a Human Right
630(1)
16.3.3 Privacy Legislation in the United States
631(4)
16.3.4 Privacy Legislation in the European Union
635(4)
16.3.5 Privacy Legislation in Other Countries
639(2)
16.4 Intellectual Property
641(14)
16.4.1 Definition of Intellectual Property
643(1)
16.4.2 Legal Protections for Intellectual Property
644(9)
16.4.3 Intellectual Property Protection for Software
653(2)
16.5
Chapter Summary
655(4)
Index 659
Catherine Ricardo is a Professor Emeritus of Computer Science at Iona University in New Rochelle, NY.' She received a B.A. from the College of Mount Saint Vincent, an M.A. from Fordham University, and an M. Phil. and Ph.D. from Columbia University. She served as departmental chairperson and as coordinator of graduate programs in computing at Iona. She has taught a variety of courses, but she has concentrated on courses in database systems, at both the undergraduate and graduate level. Her other interests include computing education, educational assessment, and computing curriculum development. She has written textbooks, book chapters, and numerous articles, and has made presentations at many conferences in the field.'

Susan D. Urban received the Ph.D. degree in computer science in 1987 from the University of Louisiana at Lafayette. She received the B.S. degree in computer science in 1976 and the M.S. degree in computer science in 1980, also from the University of Louisiana, Lafayette. She is currently'an emeritus professor in the School of Computing, Informatics, and Decisions Systems Engineering at Arizona State University. She has also held faculty positions at the University of Miami and at Texas Tech University. She has taught at the undergraduate and graduate level for over 28 years, with a focus on database design, data consistency, active rule processing, distributed databases, the use of databases in engineering design, and the development of innovative teaching concepts for database instruction. She has over 120 refereed publications and book chapters on her research and teaching activities.'

Dr. Karen Davis is a Professor in the Department of Computer Science and Software Engineering at Miami University in Oxford, OH. Dr. Davis received a B.S. degree in Computer Science from Loyola University, New Orleans in 1985 and an M.S. and Ph.D. in Computer Science from the University of Louisiana, Lafayette in 1987 and 1990, respectively. She was a Professor in the Electrical Engineering and Computer Science Department at the University of Cincinnati prior to joining the faculty at Miami. Her research interests include data modeling, query optimization, and computing education. She has over 100 refereed publications in conference proceedings, journals, and book chapters and more than 30 years of teaching experience. In 2016, she received the ASEE Sharon Keillor Award for Women in Engineering Education. In 2021, she received Miami's MAC Outstanding Faculty Award for Student Success.