{"product_id":"understanding-databases-isbn-9781119580645","title":"Understanding Databases","description":"\u003cp\u003e\u003ci\u003eUnderstanding Databases: Concepts and Practice \u003c\/i\u003eis an accessible, highly visual introduction to database systems for undergraduate students across many majors. Designed for self-contained first courses in the subject, this interactive e-textbook covers fundamental database topics including conceptual design, the relational data model, relational algebra and calculus, Structured Query Language (SQL), database manipulation, transaction management, and database design theory.\u003c\/p\u003e \u003cp\u003eVisual components and self-assessment features provide a more engaging and immersive method of learning that enables students to develop a solid foundation in both database theory and practical application. Concise, easy-to-digest chapters offer ample opportunities for students to practice and master the material, and include a variety of solved real-world problems, self-check questions, and hands-on collaborative activities that task students to build a functioning database. This Enhanced eText also offers interactive multiple-choice questions with immediate feedback that allow students to self-assess as they proceed through the book. Case studies, illustrative examples, color summary figures and tables with annotations, and other pedagogical tools are integrated throughout the text to increase comprehension and retention of key concepts and help strengthen students’ problem-solving skills.\u003c\/p\u003e \u003cp\u003ePreface xi\u003c\/p\u003e \u003cp\u003e\u003cb\u003e1 Introduction to Databases and the Relational Data Model 1\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e1.1 Databases are a Tool 2\u003c\/p\u003e \u003cp\u003e1.2 Overview of Data and Models 6\u003c\/p\u003e \u003cp\u003e1.3 The Relational Data Model 14\u003c\/p\u003e \u003cp\u003e1.3.1 Definition 14\u003c\/p\u003e \u003cp\u003e1.3.2 Uniqueness 16\u003c\/p\u003e \u003cp\u003e1.3.3 Referential Integrity 20\u003c\/p\u003e \u003cp\u003eSpecial Topic: Primary Key and Referential Integrity 26\u003c\/p\u003e \u003cp\u003e1.3.4 Additional Constraints 27\u003c\/p\u003e \u003cp\u003e\u003cb\u003e2 Conceptual Design 43\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e2.1 Gathering Requirements 44\u003c\/p\u003e \u003cp\u003e2.2 Entity-Relationship Diagrams 46\u003c\/p\u003e \u003cp\u003eHow To: Design an Entity-Relationship Diagram 50\u003c\/p\u003e \u003cp\u003eSpecial Topic: (Min, Max) Pairs 54\u003c\/p\u003e \u003cp\u003eSpecial Topic: Recursive Relationships and Role Names 54\u003c\/p\u003e \u003cp\u003eSpecial Topic: Ternary Relationships 56\u003c\/p\u003e \u003cp\u003eSpecial Topic: EER for Modeling Inheritance 56\u003c\/p\u003e \u003cp\u003e2.3 Mapping ER Diagrams to Tables 62\u003c\/p\u003e \u003cp\u003eHow To: Map an ER Diagram to Relations 67\u003c\/p\u003e \u003cp\u003e2.4 Other Graphical Approaches 73\u003c\/p\u003e \u003cp\u003e\u003cb\u003e3 Relational Algebra 103\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e3.1 Query Design 104\u003c\/p\u003e \u003cp\u003eHow To: Query Design 104\u003c\/p\u003e \u003cp\u003e3.2 Algebra Operators 109\u003c\/p\u003e \u003cp\u003eNote: Overview of Relational Algebra 110\u003c\/p\u003e \u003cp\u003e3.2.1 Filtering 111\u003c\/p\u003e \u003cp\u003e3.2.2 Sets 114\u003c\/p\u003e \u003cp\u003e3.2.3 Joins 116\u003c\/p\u003e \u003cp\u003e3.2.4 Division 119\u003c\/p\u003e \u003cp\u003e3.3 Relational Completeness 127\u003c\/p\u003e \u003cp\u003e3.4 Query Optimization 134\u003c\/p\u003e \u003cp\u003eHow To: Heuristic Query Optimization 136\u003c\/p\u003e \u003cp\u003e\u003cb\u003e4 Relational Calculus 161\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e4.1 Logical Foundations 162\u003c\/p\u003e \u003cp\u003eNote: Overview of Relational Calculus Languages 163\u003c\/p\u003e \u003cp\u003e4.2 Tuple Relational Calculus 164\u003c\/p\u003e \u003cp\u003e4.2.1 Fundamental Query Expressions 165\u003c\/p\u003e \u003cp\u003eHow To: Writing a Fundamental Query in TRC 165\u003c\/p\u003e \u003cp\u003evi\u003c\/p\u003e \u003cp\u003e4.2.2 Quantification of Variables 167\u003c\/p\u003e \u003cp\u003e4.2.3 Atoms and Formula 172\u003c\/p\u003e \u003cp\u003e4.2.4 Relational Completeness 175\u003c\/p\u003e \u003cp\u003e4.3 Domain Relational Calculus 183\u003c\/p\u003e \u003cp\u003e4.3.1 Fundamental Query Expressions 183\u003c\/p\u003e \u003cp\u003eHow To: Writing a Fundamental Query in DRC 184\u003c\/p\u003e \u003cp\u003e4.3.2 Quantification of Variables 187\u003c\/p\u003e \u003cp\u003e4.3.3 Atoms and Formula 193\u003c\/p\u003e \u003cp\u003e4.3.4 Relational Completeness 195\u003c\/p\u003e \u003cp\u003e4.4 Safety 204\u003c\/p\u003e \u003cp\u003e\u003cb\u003e5 SQL: An Introduction to Querying 237\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e5.1 Foundations 237\u003c\/p\u003e \u003cp\u003eNote: SQL Syntax 238\u003c\/p\u003e \u003cp\u003eSyntax: Basic SQL Query 240\u003c\/p\u003e \u003cp\u003e5.2 Fundamental Query Expressions 246\u003c\/p\u003e \u003cp\u003eHow To: Writing a Fundamental Query in SQL 246\u003c\/p\u003e \u003cp\u003e5.2.1 Queries involving One Table 247\u003c\/p\u003e \u003cp\u003e5.2.2 Queries involving Multiple Tables 250\u003c\/p\u003e \u003cp\u003eHow To: Writing a Reflection Query 255\u003c\/p\u003e \u003cp\u003e5.3 Nested Queries 261\u003c\/p\u003e \u003cp\u003eSpecial Topic: A glimpse at query optimization 264\u003c\/p\u003e \u003cp\u003eSpecial Topic: Views and Inline Views 266\u003c\/p\u003e \u003cp\u003e5.4 Set Operators 270\u003c\/p\u003e \u003cp\u003e5.5 Aggregation and Grouping 276\u003c\/p\u003e \u003cp\u003eSpecial Topic: Arithmetic Expressions 281\u003c\/p\u003e \u003cp\u003e5.6 Querying with null Values 285\u003c\/p\u003e \u003cp\u003e5.7 Relational Completeness 289\u003c\/p\u003e \u003cp\u003e5.7.1 Fundamental Operators 290\u003c\/p\u003e \u003cp\u003e5.7.2 Additional Operators 292\u003c\/p\u003e \u003cp\u003e\u003cb\u003e6 SQL: Beyond the Query Language 329\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e6.1 Data Definition 329\u003c\/p\u003e \u003cp\u003eSyntax: Create Table Statement 331\u003c\/p\u003e \u003cp\u003eSyntax: Drop Table Statement 336\u003c\/p\u003e \u003cp\u003eSyntax: Alter Table Statement 337\u003c\/p\u003e \u003cp\u003eSpecial Topic: Create Index 338\u003c\/p\u003e \u003cp\u003eSyntax: Create View Statement 339\u003c\/p\u003e \u003cp\u003e6.2 Data Manipulation 342\u003c\/p\u003e \u003cp\u003eSyntax: Insert Into Statement 343\u003c\/p\u003e \u003cp\u003eSpecial Topic: Database Population 346\u003c\/p\u003e \u003cp\u003eSyntax: Update Statement 347\u003c\/p\u003e \u003cp\u003eSyntax: Delete Statement 349\u003c\/p\u003e \u003cp\u003e6.3 Database User Privileges 352\u003c\/p\u003e \u003cp\u003eSyntax: Grant Statement 354\u003c\/p\u003e \u003cp\u003eSyntax: Revoke Statement 355\u003c\/p\u003e \u003cp\u003e\u003cb\u003e7 Database Programming 371\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e7.1 Persistent Stored Modules 372\u003c\/p\u003e \u003cp\u003eSyntax: Create Procedure Statement 374\u003c\/p\u003e \u003cp\u003eSyntax: Create Function Statement 376\u003c\/p\u003e \u003cp\u003e7.2 Overview of Call-Level Interface 382\u003c\/p\u003e \u003cp\u003e7.3 Java and JDBC 385\u003c\/p\u003e \u003cp\u003e7.4 Python and DB-API 393\u003c\/p\u003e \u003cp\u003e\u003cb\u003e8 XML and Databases 431\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e8.1 Overview of XML 432\u003c\/p\u003e \u003cp\u003e8.2 DTD 439\u003c\/p\u003e \u003cp\u003eSyntax: DTD Overview 440\u003c\/p\u003e \u003cp\u003e8.3 XML Schema 448\u003c\/p\u003e \u003cp\u003eSyntax: XSD Overview of Element and Attribute Declarations 450\u003c\/p\u003e \u003cp\u003eSyntax: XSD Attribute Declarations: use, default, fixed 460\u003c\/p\u003e \u003cp\u003e8.4 Structuring XML for Data Exchange 467\u003c\/p\u003e \u003cp\u003e\u003cb\u003e9 Transaction Management 491\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e9.1 ACID Properties of a Transaction 492\u003c\/p\u003e \u003cp\u003e9.2 Recovery control 498\u003c\/p\u003e \u003cp\u003eHow To: Recovery Control: UNDO and REDO 501\u003c\/p\u003e \u003cp\u003e9.3 Concurrency control 504\u003c\/p\u003e \u003cp\u003e9.3.1 Serializability 507\u003c\/p\u003e \u003cp\u003eHow To: Create a Precedence Graph 508\u003c\/p\u003e \u003cp\u003e9.3.2 Locking 512\u003c\/p\u003e \u003cp\u003e9.3.3 Timestamps 520\u003c\/p\u003e \u003cp\u003eAlgorithm: Basic Timestamp Protocol 521\u003c\/p\u003e \u003cp\u003e\u003cb\u003e10 More on Database Design 543\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e10.1 Database Design Goals 544\u003c\/p\u003e \u003cp\u003e10.2 Functional Dependencies 546\u003c\/p\u003e \u003cp\u003eAlgorithm: Attribute Closure 550\u003c\/p\u003e \u003cp\u003eSpecial Topic: Minimal Set of Functional Dependencies 552\u003c\/p\u003e \u003cp\u003eHow To: Heuristic Determination of a Candidate Key 552\u003c\/p\u003e \u003cp\u003e10.3 Decomposition 558\u003c\/p\u003e \u003cp\u003eHow To: Determine Breakdown of F for a Decomposition 559\u003c\/p\u003e \u003cp\u003eHow To: Determine Lossless Pairwise Decomposition 562\u003c\/p\u003e \u003cp\u003eAlgorithm: Lossless-Join Property for Database Schema 565\u003c\/p\u003e \u003cp\u003e10.4 Normal Forms 571\u003c\/p\u003e \u003cp\u003eHow To: Determine the Normal Form of a Relation 574\u003c\/p\u003e \u003cp\u003eAlgorithm: BCNF Decomposition Algorithm 575\u003c\/p\u003e \u003cp\u003eA WinRDBI 599\u003c\/p\u003e \u003cp\u003eA.1 Overview 599\u003c\/p\u003e \u003cp\u003eA.2 Query Languages 600\u003c\/p\u003e \u003cp\u003eA.3 Implementation Overview 606\u003c\/p\u003e \u003cp\u003eA.4 Summary 606\u003c\/p\u003e Index 607","brand":"Wiley","offers":[{"title":"Default Title","offer_id":47990428893413,"sku":"NP9781119580645","price":110.0,"currency_code":"USD","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1842\/7735\/files\/9781119580645.jpg?v=1761787789","url":"https:\/\/k12savings.com\/products\/understanding-databases-isbn-9781119580645","provider":"K12savings","version":"1.0","type":"link"}