Beginning Database Design Solutions : Understanding and Implementing Database Design Concepts for the Cloud and Beyond /


Rod Stephens.
Bok Engelsk 2023
Utgitt
Somerset : Wiley
Omfang
xxxiv, 702 pages;
Utgave
Second edition.
Opplysninger
Includes index.. - Cover -- Title Page -- Copyright Page -- About The Author -- Contents -- Introduction -- Who This Book Is For -- What This Book Covers -- What You Need to Use This Book -- How This Book Is Structured -- Part I: Introduction to Databases and Database Design -- Part II: Database Design Process and Techniques -- Part III: A Detailed Case Study -- Part IV: Example Programs -- Part V: Advanced Topics -- Appendixes -- How to Use This Book -- Note to Instructors -- Note to Students -- Conventions -- Source Code -- Contacting the Author -- Disclaimer -- Part 1 Introduction to Databases and Database Design -- Chapter 1 Database Design Goals -- The Importance of Design -- Space Spat -- Information Containers -- Strengths and Weaknesses of Information Containers -- Desirable Database Features -- CRUD -- Retrieval -- Consistency -- Validity -- Easy Error Correction -- Speed -- Atomic Transactions -- ACID -- BASE -- NewSQL -- Persistence and Backups -- Low Cost and Extensibility -- Ease of Use -- Portability -- Security -- Sharing -- Ability to Perform Complex Calculations -- CAP Theorem -- Cloud Considerations -- Legal and Security Considerations -- Consequences of Good and Bad Design -- Summary -- Chapter 2 Relational Overview -- Picking a Database -- Relational Points of View -- Table, Rows, and Columns -- Relations, Attributes, and Tuples -- Keys -- Indexes -- Constraints -- Domain Constraints -- Check Constraints -- Primary Key Constraints -- Unique Constraints -- Foreign Key Constraints -- Database Operations -- Popular RDBs -- Spreadsheets -- Summary -- Chapter 3 NoSQL Overview -- The Cloud -- Picking a Database -- NoSQL Philosophy -- NoSQL Databases -- Document Databases -- Key-Value Database -- Column-Oriented Databases -- Graph Databases -- Street Networks -- Communication Networks -- Social Media Apps -- E-Commerce Programs -- Algorithms.. - Boyce-Codd Normal Form (BCNF) -- Fourth Normal Form (4NF) -- Fifth Normal Form (5NF) -- Domain/Key Normal Form (DKNF) -- Essential Redundancy -- The Best Level of Normalization -- NoSQL Normalization -- Summary -- Chapter 8 Designing Databases to Support Software -- Plan Ahead -- Document Everything -- Consider Multi-tier Architecture -- Convert Domains into Tables -- Keep Tables Focused -- Use Three Kinds of Tables -- Use Naming Conventions -- Allow Some Redundant Data -- Don't Squeeze in Everything -- Summary -- Chapter 9 Using Common Design Patterns -- Associations -- Many-to-Many Associations -- Multiple Many-to-Many Associations -- Multiple-Object Associations -- Repeated Attribute Associations -- Reflexive Associations -- One-to-One Reflexive Associations -- One-to-Many Reflexive Associations -- Hierarchical Data -- Hierarchical Data with NoSQL -- Network Data -- Network Data with NoSQL -- Temporal Data -- Effective Dates -- Deleted Objects -- Deciding What to Temporalize -- Logging and Locking -- Audit Trails -- Turnkey Records -- Summary -- Chapter 10 Avoiding Common Design Pitfalls -- Lack of Preparation -- Poor Documentation -- Poor Naming Standards -- Thinking Too Small -- Not Planning for Change -- Too Much Normalization -- Insufficient Normalization -- Insufficient Testing -- Performance Anxiety -- Mishmash Tables -- Not Enforcing Constraints -- Obsession with IDs -- Not Defining Natural Keys -- Summary -- Part 3 A Detailed Case Study -- Chapter 11 Defining User Needs and Requirements -- Meet the Customers -- Pick the Customers' Brains -- Determining What the System Should Do -- Determining How the Project Should Look -- Determining What Data Is Needed for the User Interface -- Determining Where the Data Should Come From -- Determining How the Pieces of Data Are Related -- Determining Performance Needs -- Determining Security Needs.. - Create Customer Data -- Create Order Data -- Create Order Item Data -- Close the Connection -- Perform Queries -- Summary -- Chapter 19 PostgreSQL in C# -- Create the Program -- Install Npgsql -- Connect to the Database -- Delete Old Data -- Create Customer Data -- Create Order Data -- Create Order Item Data -- Display Orders -- Summary -- Exercises -- Chapter 20 Neo4j AuraDB in Python -- Install Neo4j AuraDB -- Nodes and Relationships -- Cypher -- Create the Program -- Install the Neo4j Database Adapter -- Action Methods -- delete_all_nodes -- make_node -- make_link -- execute_node_query -- find_path -- Org Chart Methods -- build_org_chart -- query_org_chart -- Main Program -- Summary -- Chapter 21 Neo4j AuraDB in C# -- Create the Program -- Install the Neo4j Driver -- Action Methods -- DeleteAllNodes -- MakeNode -- MakeLink -- ExecuteNodeQuery -- FindPath -- Org Chart Methods -- BuildOrgChart -- QueryOrgChart -- Main -- Summary -- Chapter 22 MongoDB Atlas in Python -- Not Normal but Not Abnormal -- XML, JSON, and BSON -- Install MongoDB Atlas -- Find the Connection Code -- Create the Program -- Install the PyMongo Database Adapter -- Helper Methods -- person_string -- connect_to_db -- delete_old_data -- create_data -- query_data -- Main Program -- Summary -- Chapter 23 MongoDB Atlas in C# -- Create the Program -- Install the MongoDB Database Adapter -- Helper Methods -- PersonString -- DeleteOldData -- CreateData -- QueryData -- Main Program -- Summary -- Chapter 24 Apache Ignite in Python -- Install Apache Ignite -- Start a Node -- Without Persistence -- With Persistence -- Create the Program -- Install the pyignite Database Adapter -- Define the Building Class -- Save Data -- Read Data -- Demonstrate Volatile Data -- Demonstrate Persistent Data -- Summary -- Chapter 25 Apache Ignite in C# -- Create the Program.. - Determining Data Integrity Needs -- Write Use Cases -- Write the Requirements Document -- Demand Feedback -- Summary -- Chapter 12 Building a Data Model -- Semantic Object Modeling -- Building an Initial Semantic Object Model -- Improving the Semantic Object Model -- Entity-Relationship Modeling -- Building an ER Diagram -- Building a Combined ER Diagram -- Improving the Entity-Relationship Diagram -- Relational Modeling -- Putting It All Together -- Summary -- Chapter 13 Extracting Business Rules -- Identifying Business Rules -- Courses -- CustomerCourses -- Customers -- Pets -- Employees -- Orders -- OrderItems -- InventoryItems -- TimeEntries -- Shifts -- Persons -- Phones -- Vendors -- Drawing a New Relational Model -- Summary -- Exercises -- Chapter 14 Normalizing and Refining -- Improving Flexibility -- Verifying First Normal Form -- Verifying Second Normal Form -- Pets -- TimeEntries -- Verifying Third Normal Form -- Summary -- Part 4 Example Programs -- Chapter 15 Example Overview -- Tool Choices -- Jupyter Notebook -- Visual Studio -- Database Adapters -- Packages in Jupyter Notebook -- Packages in Visual Studio -- Program Passwords -- Summary -- Chapter 16 MariaDB in Python -- Install MariaDB -- Run HeidiSQL -- Create the Program -- Install pymysql -- Create the Database -- Define Tables -- Create Data -- Fetch Data -- Summary -- Exercises -- Chapter 17 MariaDB in C# -- Create the Program -- Install MySqlConnector -- Create the Database -- Define Tables -- Create Data -- Fetch Data -- Summary -- Exercises -- Chapter 18 PostgreSQL in Python -- Install PostgreSQL -- Run pgAdmin -- Design the Database -- Create a User -- Create the Database -- Define the Tables -- Define the customers Table -- Define the orders Table -- Define the order_items Table -- Create the Program -- Install Psycopg -- Connect to the Database -- Delete Old Data.. - Hierarchical Databases -- Less Exotic Options -- Flat Files -- XML Files -- XML Basics -- XML Practices -- XML Summary -- JSON Files -- Spreadsheets -- More Exotic Options -- Object -- Deductive -- Dimensional -- Temporal -- Database Pros and Cons -- Relational -- General NoSQL -- Quick Guidelines -- Summary -- Part 2 Database Design Process and Techniques -- Chapter 4 Understanding User Needs -- Make a Plan -- Bring a List of Questions -- Functionality -- Data Needs -- Data Integrity -- Security -- Environment -- Meet the Customers -- Learn Who's Who -- Pick the Customers' Brains -- Walk a Mile in the User's Shoes -- Study Current Operations -- Brainstorm -- Look to the Future -- Understand the Customers' Reasoning -- Learn What the Customers Really Need -- Prioritize -- Verify Your Understanding -- Create the Requirements Document -- Make Use Cases -- Decide Feasibility -- Summary -- Chapter 5 Translating User Needs into Data Models -- What Are Data Models? -- User Interface Models -- Semantic Object Models -- Classes and Objects -- Cardinality -- Identifiers -- Putting It Together -- Semantic Views -- Class Types -- Simple Objects -- Composite Objects -- Compound Objects -- Hybrid Objects -- Association Objects -- Inherited Objects -- Comments and Notes -- Entity-Relationship Models -- Entities, Attributes, and Identifiers -- Relationships -- Cardinality -- Inheritance -- Additional Conventions -- Comments and Notes -- Relational Models -- Converting Semantic Object Models -- Converting ER Diagrams -- Summary -- Chapter 6 Extracting Business Rules -- What Are Business Rules? -- Identifying Key Business Rules -- Extracting Key Business Rules -- Multi-Tier Applications -- Summary -- Chapter 7 Normalizing Data -- What Is Normalization? -- First Normal Form (1NF) -- Second Normal Form (2NF) -- Third Normal Form (3NF) -- Stopping at Third Normal Form.. - Install the Ignite Database Adapter.
Emner
ISBN
0-470-44052-X

Bibliotek som har denne