{"product_id":"beginning-database-design-solutions-9781394155729","title":"Beginning Database Design Solutions","description":"\u003cb\u003eBook Synopsis\u003c\/b\u003e\u003cbr\u003e\u003cp\u003e\u003cb\u003eA concise introduction to database design concepts, methods, and techniques in and out of the cloud\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eIn the newly revised second edition of \u003ci\u003eBeginning Database Design Solutions: Understanding and Implementing Database Design Concepts for the Cloud and Beyond, Second Edition\u003c\/i\u003e, award-winning programming instructor and mathematician Rod Stephens delivers an easy-to-understand guide to designing and implementing databases both in and out of the cloud. Without assuming any prior database design knowledge, the author walks you through the steps you'll need to take to understand, analyze, design, and build databases.\u003c\/p\u003e \u003cp\u003eIn the book, you'll find clear coverage of foundational database concepts along with hands-on examples that help you practice important techniques so you can apply them to your own database designs, as well as:\u003c\/p\u003e \u003cul\u003e \u003cli\u003eDownloadable source code that illustrates the concepts discussed in the book\u003c\/li\u003e \u003cli\u003eBest practices for reliable, platform-agnost\u003cbr\u003e\u003cbr\u003e\u003cb\u003eTable of Contents\u003c\/b\u003e\u003cbr\u003e\u003cp\u003eIntroduction xxv\u003c\/p\u003e \u003cp\u003e\u003cb\u003ePart 1: Introduction to Databases and Database Design\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 1: Database Design Goals 3\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eThe Importance of Design 4\u003c\/p\u003e \u003cp\u003eInformation Containers 6\u003c\/p\u003e \u003cp\u003eStrengths and Weaknesses of Information Containers 8\u003c\/p\u003e \u003cp\u003eDesirable Database Features 9\u003c\/p\u003e \u003cp\u003eCrud 10\u003c\/p\u003e \u003cp\u003eRetrieval 10\u003c\/p\u003e \u003cp\u003eConsistency 11\u003c\/p\u003e \u003cp\u003eValidity 11\u003c\/p\u003e \u003cp\u003eEasy Error Correction 12\u003c\/p\u003e \u003cp\u003eSpeed 13\u003c\/p\u003e \u003cp\u003eAtomic Transactions 13\u003c\/p\u003e \u003cp\u003eAcid 14\u003c\/p\u003e \u003cp\u003eBase 16\u003c\/p\u003e \u003cp\u003eNewSQL 17\u003c\/p\u003e \u003cp\u003ePersistence and Backups 17\u003c\/p\u003e \u003cp\u003eLow Cost and Extensibility 18\u003c\/p\u003e \u003cp\u003eEase of Use 19\u003c\/p\u003e \u003cp\u003ePortability 19\u003c\/p\u003e \u003cp\u003eSecurity 20\u003c\/p\u003e \u003cp\u003eSharing 21\u003c\/p\u003e \u003cp\u003eAbility to Perform Complex Calculations 21\u003c\/p\u003e \u003cp\u003eCAP Theorem 22\u003c\/p\u003e \u003cp\u003eCloud Considerations 22\u003c\/p\u003e \u003cp\u003eLegal and Security Considerations 23\u003c\/p\u003e \u003cp\u003eConsequences of Good and Bad Design 24\u003c\/p\u003e \u003cp\u003eSummary 26\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 2: Relational Overview 29\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003ePicking a Database 30\u003c\/p\u003e \u003cp\u003eRelational Points of View 31\u003c\/p\u003e \u003cp\u003eTable, Rows, and Columns 32\u003c\/p\u003e \u003cp\u003eRelations, Attributes, and Tuples 34\u003c\/p\u003e \u003cp\u003eKeys 34\u003c\/p\u003e \u003cp\u003eIndexes 36\u003c\/p\u003e \u003cp\u003eConstraints 37\u003c\/p\u003e \u003cp\u003eDomain Constraints 37\u003c\/p\u003e \u003cp\u003eCheck Constraints 37\u003c\/p\u003e \u003cp\u003ePrimary Key Constraints 38\u003c\/p\u003e \u003cp\u003eUnique Constraints 38\u003c\/p\u003e \u003cp\u003eForeign Key Constraints 38\u003c\/p\u003e \u003cp\u003eDatabase Operations 40\u003c\/p\u003e \u003cp\u003ePopular RDBs 41\u003c\/p\u003e \u003cp\u003eSpreadsheets 43\u003c\/p\u003e \u003cp\u003eSummary 44\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 3: NoSQL OVERVIEW 47\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eThe Cloud 47\u003c\/p\u003e \u003cp\u003ePicking a Database 50\u003c\/p\u003e \u003cp\u003eNoSQL Philosophy 50\u003c\/p\u003e \u003cp\u003eNoSQL Databases 50\u003c\/p\u003e \u003cp\u003eDocument Databases 51\u003c\/p\u003e \u003cp\u003eKey- Value Database 52\u003c\/p\u003e \u003cp\u003eColumn- Oriented Databases 53\u003c\/p\u003e \u003cp\u003eGraph Databases 53\u003c\/p\u003e \u003cp\u003eStreet Networks 54\u003c\/p\u003e \u003cp\u003eCommunication Networks 55\u003c\/p\u003e \u003cp\u003eSocial Media Apps 55\u003c\/p\u003e \u003cp\u003eE- Commerce Programs 55\u003c\/p\u003e \u003cp\u003eAlgorithms 56\u003c\/p\u003e \u003cp\u003eHierarchical Databases 56\u003c\/p\u003e \u003cp\u003eLess Exotic Options 59\u003c\/p\u003e \u003cp\u003eFlat Files 59\u003c\/p\u003e \u003cp\u003eXML Files 60\u003c\/p\u003e \u003cp\u003eXML Basics 61\u003c\/p\u003e \u003cp\u003eXML Practices 64\u003c\/p\u003e \u003cp\u003eXML Summary 66\u003c\/p\u003e \u003cp\u003eJSON Files 67\u003c\/p\u003e \u003cp\u003eSpreadsheets 69\u003c\/p\u003e \u003cp\u003eMore Exotic Options 70\u003c\/p\u003e \u003cp\u003eObject 70\u003c\/p\u003e \u003cp\u003eDeductive 70\u003c\/p\u003e \u003cp\u003eDimensional 70\u003c\/p\u003e \u003cp\u003eTemporal 71\u003c\/p\u003e \u003cp\u003eDatabase Pros and Cons 72\u003c\/p\u003e \u003cp\u003eRelational 72\u003c\/p\u003e \u003cp\u003eGeneral NoSQL 73\u003c\/p\u003e \u003cp\u003eQuick Guidelines 74\u003c\/p\u003e \u003cp\u003eSummary 76\u003c\/p\u003e \u003cp\u003e\u003cb\u003ePart 2: Database Design Process and Techniques\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 4: Understanding User Needs 83\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eMake a Plan 84\u003c\/p\u003e \u003cp\u003eBring a List of Questions 85\u003c\/p\u003e \u003cp\u003eFunctionality 85\u003c\/p\u003e \u003cp\u003eData Needs 86\u003c\/p\u003e \u003cp\u003eData Integrity 86\u003c\/p\u003e \u003cp\u003eSecurity 87\u003c\/p\u003e \u003cp\u003eEnvironment 88\u003c\/p\u003e \u003cp\u003eMeet the Customers 88\u003c\/p\u003e \u003cp\u003eLearn Who’s Who 89\u003c\/p\u003e \u003cp\u003ePick the Customers’ Brains 93\u003c\/p\u003e \u003cp\u003eWalk a Mile in the User’s Shoes 93\u003c\/p\u003e \u003cp\u003eStudy Current Operations 94\u003c\/p\u003e \u003cp\u003eBrainstorm 94\u003c\/p\u003e \u003cp\u003eLook to the Future 95\u003c\/p\u003e \u003cp\u003eUnderstand the Customers’ Reasoning 96\u003c\/p\u003e \u003cp\u003eLearn What the Customers Really Need 97\u003c\/p\u003e \u003cp\u003ePrioritize 98\u003c\/p\u003e \u003cp\u003eVerify Your Understanding 99\u003c\/p\u003e \u003cp\u003eCreate the Requirements Document 101\u003c\/p\u003e \u003cp\u003eMake Use Cases 102\u003c\/p\u003e \u003cp\u003eDecide Feasibility 106\u003c\/p\u003e \u003cp\u003eSummary 106\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 5: Translating User Needs Into Data Models 111\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eWhat Are Data Models? 112\u003c\/p\u003e \u003cp\u003eUser Interface Models 114\u003c\/p\u003e \u003cp\u003eSemantic Object Models 118\u003c\/p\u003e \u003cp\u003eClasses and Objects 119\u003c\/p\u003e \u003cp\u003eCardinality 120\u003c\/p\u003e \u003cp\u003eIdentifiers 120\u003c\/p\u003e \u003cp\u003ePutting It Together 121\u003c\/p\u003e \u003cp\u003eSemantic Views 122\u003c\/p\u003e \u003cp\u003eClass Types 124\u003c\/p\u003e \u003cp\u003eSimple Objects 124\u003c\/p\u003e \u003cp\u003eComposite Objects 124\u003c\/p\u003e \u003cp\u003eCompound Objects 125\u003c\/p\u003e \u003cp\u003eHybrid Objects 125\u003c\/p\u003e \u003cp\u003eAssociation Objects 126\u003c\/p\u003e \u003cp\u003eInherited Objects 128\u003c\/p\u003e \u003cp\u003eComments and Notes 129\u003c\/p\u003e \u003cp\u003eEntity- Relationship Models 130\u003c\/p\u003e \u003cp\u003eEntities, Attributes, and Identifiers 131\u003c\/p\u003e \u003cp\u003eRelationships 132\u003c\/p\u003e \u003cp\u003eCardinality 133\u003c\/p\u003e \u003cp\u003eInheritance 134\u003c\/p\u003e \u003cp\u003eAdditional Conventions 136\u003c\/p\u003e \u003cp\u003eComments and Notes 137\u003c\/p\u003e \u003cp\u003eRelational Models 137\u003c\/p\u003e \u003cp\u003eConverting Semantic Object Models 138\u003c\/p\u003e \u003cp\u003eConverting ER Diagrams 140\u003c\/p\u003e \u003cp\u003eSummary 142\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 6: Extracting Business Rules 145\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eWhat Are Business Rules? 145\u003c\/p\u003e \u003cp\u003eIdentifying Key Business Rules 147\u003c\/p\u003e \u003cp\u003eExtracting Key Business Rules 152\u003c\/p\u003e \u003cp\u003eMulti- Tier Applications 154\u003c\/p\u003e \u003cp\u003eSummary 158\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 7: Normalizing Data 163\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eWhat Is Normalization? 163\u003c\/p\u003e \u003cp\u003eFirst Normal Form (1NF) 164\u003c\/p\u003e \u003cp\u003eSecond Normal Form (2NF) 173\u003c\/p\u003e \u003cp\u003eThird Normal Form (3NF) 177\u003c\/p\u003e \u003cp\u003eStopping at Third Normal Form 181\u003c\/p\u003e \u003cp\u003eBoyce- Codd Normal Form (BCNF) 181\u003c\/p\u003e \u003cp\u003eFourth Normal Form (4NF) 185\u003c\/p\u003e \u003cp\u003eFifth Normal Form (5NF) 190\u003c\/p\u003e \u003cp\u003eDomain\/Key Normal Form (DKNF) 193\u003c\/p\u003e \u003cp\u003eEssential Redundancy 195\u003c\/p\u003e \u003cp\u003eThe Best Level of Normalization 197\u003c\/p\u003e \u003cp\u003eNoSQL Normalization 197\u003c\/p\u003e \u003cp\u003eSummary 199\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 8: Designing Databases to Support Software 203\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003ePlan Ahead 204\u003c\/p\u003e \u003cp\u003eDocument Everything 204\u003c\/p\u003e \u003cp\u003eConsider Multi- Tier Architecture 205\u003c\/p\u003e \u003cp\u003eConvert Domains into Tables 205\u003c\/p\u003e \u003cp\u003eKeep Tables Focused 206\u003c\/p\u003e \u003cp\u003eUse Three Kinds of Tables 207\u003c\/p\u003e \u003cp\u003eUse Naming Conventions 209\u003c\/p\u003e \u003cp\u003eAllow Some Redundant Data 210\u003c\/p\u003e \u003cp\u003eDon’t Squeeze in Everything 211\u003c\/p\u003e \u003cp\u003eSummary 212\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 9: Using Common Design Patterns 215\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eAssociations 216\u003c\/p\u003e \u003cp\u003eMany- to- Many Associations 216\u003c\/p\u003e \u003cp\u003eMultiple Many- to- Many Associations 216\u003c\/p\u003e \u003cp\u003eMultiple- Object Associations 218\u003c\/p\u003e \u003cp\u003eRepeated Attribute Associations 221\u003c\/p\u003e \u003cp\u003eReflexive Associations 222\u003c\/p\u003e \u003cp\u003eOne- to- One Reflexive Associations 223\u003c\/p\u003e \u003cp\u003eOne- to- Many Reflexive Associations 224\u003c\/p\u003e \u003cp\u003eHierarchical Data 225\u003c\/p\u003e \u003cp\u003eHierarchical Data with NoSQL 228\u003c\/p\u003e \u003cp\u003eNetwork Data 229\u003c\/p\u003e \u003cp\u003eNetwork Data with NoSQL 231\u003c\/p\u003e \u003cp\u003eTemporal Data 232\u003c\/p\u003e \u003cp\u003eEffective Dates 232\u003c\/p\u003e \u003cp\u003eDeleted Objects 233\u003c\/p\u003e \u003cp\u003eDeciding What to Temporalize 234\u003c\/p\u003e \u003cp\u003eLogging and Locking 236\u003c\/p\u003e \u003cp\u003eAudit Trails 236\u003c\/p\u003e \u003cp\u003eTurnkey Records 237\u003c\/p\u003e \u003cp\u003eSummary 238\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 10: Avoiding Common Design Pitfalls 241\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eLack of Preparation 241\u003c\/p\u003e \u003cp\u003ePoor Documentation 242\u003c\/p\u003e \u003cp\u003ePoor Naming Standards 242\u003c\/p\u003e \u003cp\u003eThinking Too Small 244\u003c\/p\u003e \u003cp\u003eNot Planning for Change 245\u003c\/p\u003e \u003cp\u003eToo Much Normalization 248\u003c\/p\u003e \u003cp\u003eInsufficient Normalization 248\u003c\/p\u003e \u003cp\u003eInsufficient Testing 249\u003c\/p\u003e \u003cp\u003ePerformance Anxiety 249\u003c\/p\u003e \u003cp\u003eMishmash Tables 250\u003c\/p\u003e \u003cp\u003eNot Enforcing Constraints 253\u003c\/p\u003e \u003cp\u003eObsession with IDs 253\u003c\/p\u003e \u003cp\u003eNot Defining Natural Keys 256\u003c\/p\u003e \u003cp\u003eSummary 257\u003c\/p\u003e \u003cp\u003e\u003cb\u003ePart 3: a Detailed Case Study\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 11: Defining User Needs and Requirements 263\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eMeet the Customers 263\u003c\/p\u003e \u003cp\u003ePick the Customers’ Brains 265\u003c\/p\u003e \u003cp\u003eDetermining What the System Should Do 265\u003c\/p\u003e \u003cp\u003eDetermining How the Project Should Look 267\u003c\/p\u003e \u003cp\u003eDetermining What Data Is Needed for the User Interface 268\u003c\/p\u003e \u003cp\u003eDetermining Where the Data Should Come From 269\u003c\/p\u003e \u003cp\u003eDetermining How the Pieces of Data Are Related 269\u003c\/p\u003e \u003cp\u003eDetermining Performance Needs 271\u003c\/p\u003e \u003cp\u003eDetermining Security Needs 272\u003c\/p\u003e \u003cp\u003eDetermining Data Integrity Needs 273\u003c\/p\u003e \u003cp\u003eWrite Use Cases 275\u003c\/p\u003e \u003cp\u003eWrite the Requirements Document 279\u003c\/p\u003e \u003cp\u003eDemand Feedback 280\u003c\/p\u003e \u003cp\u003eSummary 281\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 12: Building a Data Model 283\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eSemantic Object Modeling 283\u003c\/p\u003e \u003cp\u003eBuilding an Initial Semantic Object Model 283\u003c\/p\u003e \u003cp\u003eImproving the Semantic Object Model 286\u003c\/p\u003e \u003cp\u003eEntity- Relationship Modeling 289\u003c\/p\u003e \u003cp\u003eBuilding an ER Diagram 289\u003c\/p\u003e \u003cp\u003eBuilding a Combined ER Diagram 291\u003c\/p\u003e \u003cp\u003eImproving the Entity- Relationship Diagram 293\u003c\/p\u003e \u003cp\u003eRelational Modeling 294\u003c\/p\u003e \u003cp\u003ePutting It All Together 298\u003c\/p\u003e \u003cp\u003eSummary 299\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 13: Extracting Business Rules 303\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eIdentifying Business Rules 303\u003c\/p\u003e \u003cp\u003eCourses 304\u003c\/p\u003e \u003cp\u003eCustomerCourses 306\u003c\/p\u003e \u003cp\u003eCustomers 307\u003c\/p\u003e \u003cp\u003ePets 307\u003c\/p\u003e \u003cp\u003eEmployees 307\u003c\/p\u003e \u003cp\u003eOrders 307\u003c\/p\u003e \u003cp\u003eOrderItems 308\u003c\/p\u003e \u003cp\u003eInventoryItems 308\u003c\/p\u003e \u003cp\u003eTimeEntries 308\u003c\/p\u003e \u003cp\u003eShifts 309\u003c\/p\u003e \u003cp\u003ePersons 309\u003c\/p\u003e \u003cp\u003ePhones 309\u003c\/p\u003e \u003cp\u003eVendors 309\u003c\/p\u003e \u003cp\u003eDrawing a New Relational Model 310\u003c\/p\u003e \u003cp\u003eSummary 310\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 14: Normalizing and Refining 313\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eImproving Flexibility 313\u003c\/p\u003e \u003cp\u003eVerifying First Normal Form 315\u003c\/p\u003e \u003cp\u003eVerifying Second Normal Form 318\u003c\/p\u003e \u003cp\u003ePets 319\u003c\/p\u003e \u003cp\u003eTimeEntries 320\u003c\/p\u003e \u003cp\u003eVerifying Third Normal Form 321\u003c\/p\u003e \u003cp\u003eSummary 323\u003c\/p\u003e \u003cp\u003e\u003cb\u003ePart 4: Example Programs\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 15: Example Overview 327\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eTool Choices 327\u003c\/p\u003e \u003cp\u003eJupyter Notebook 329\u003c\/p\u003e \u003cp\u003eVisual Studio 331\u003c\/p\u003e \u003cp\u003eDatabase Adapters 332\u003c\/p\u003e \u003cp\u003ePackages in Jupyter Notebook 333\u003c\/p\u003e \u003cp\u003ePackages in Visual Studio 334\u003c\/p\u003e \u003cp\u003eProgram Passwords 336\u003c\/p\u003e \u003cp\u003eSummary 336\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 16: MariaDB IN PYTHON 339\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eInstall MariaDB 340\u003c\/p\u003e \u003cp\u003eRun HeidiSQL 340\u003c\/p\u003e \u003cp\u003eCreate the Program 343\u003c\/p\u003e \u003cp\u003eInstall pymysql 344\u003c\/p\u003e \u003cp\u003eCreate the Database 344\u003c\/p\u003e \u003cp\u003eDefine Tables 346\u003c\/p\u003e \u003cp\u003eCreate Data 348\u003c\/p\u003e \u003cp\u003eFetch Data 350\u003c\/p\u003e \u003cp\u003eSummary 352\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 17: MariaDB IN C# 355\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eCreate the Program 355\u003c\/p\u003e \u003cp\u003eInstall MySqlConnector 356\u003c\/p\u003e \u003cp\u003eCreate the Database 356\u003c\/p\u003e \u003cp\u003eDefine Tables 358\u003c\/p\u003e \u003cp\u003eCreate Data 360\u003c\/p\u003e \u003cp\u003eFetch Data 364\u003c\/p\u003e \u003cp\u003eSummary 366\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 18: PostgreSQL IN PYTHON 369\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eInstall PostgreSQL 370\u003c\/p\u003e \u003cp\u003eRun pgAdmin 371\u003c\/p\u003e \u003cp\u003eDesign the Database 371\u003c\/p\u003e \u003cp\u003eCreate a User 371\u003c\/p\u003e \u003cp\u003eCreate the Database 373\u003c\/p\u003e \u003cp\u003eDefine the Tables 374\u003c\/p\u003e \u003cp\u003eDefine the customers Table 374\u003c\/p\u003e \u003cp\u003eDefine the orders Table 376\u003c\/p\u003e \u003cp\u003eDefine the order_items Table 377\u003c\/p\u003e \u003cp\u003eCreate the Program 378\u003c\/p\u003e \u003cp\u003eInstall Psycopg 379\u003c\/p\u003e \u003cp\u003eConnect to the Database 379\u003c\/p\u003e \u003cp\u003eDelete Old Data 380\u003c\/p\u003e \u003cp\u003eCreate Customer Data 380\u003c\/p\u003e \u003cp\u003eCreate Order Data 382\u003c\/p\u003e \u003cp\u003eCreate Order Item Data 383\u003c\/p\u003e \u003cp\u003eClose the Connection 384\u003c\/p\u003e \u003cp\u003ePerform Queries 384\u003c\/p\u003e \u003cp\u003eSummary 386\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 19: PostgreSQL IN C# 389\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eCreate the Program 389\u003c\/p\u003e \u003cp\u003eInstall Npgsql 389\u003c\/p\u003e \u003cp\u003eConnect to the Database 390\u003c\/p\u003e \u003cp\u003eDelete Old Data 391\u003c\/p\u003e \u003cp\u003eCreate Customer Data 392\u003c\/p\u003e \u003cp\u003eCreate Order Data 393\u003c\/p\u003e \u003cp\u003eCreate Order Item Data 395\u003c\/p\u003e \u003cp\u003eDisplay Orders 396\u003c\/p\u003e \u003cp\u003eSummary 399\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 20: Neo4j AuraDB IN PYTHON 401\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eInstall Neo4j AuraDB 402\u003c\/p\u003e \u003cp\u003eNodes and Relationships 404\u003c\/p\u003e \u003cp\u003eCypher 404\u003c\/p\u003e \u003cp\u003eCreate the Program 405\u003c\/p\u003e \u003cp\u003eInstall the Neo4j Database Adapter 405\u003c\/p\u003e \u003cp\u003eAction Methods 405\u003c\/p\u003e \u003cp\u003edelete_all_nodes 406\u003c\/p\u003e \u003cp\u003emake_node 407\u003c\/p\u003e \u003cp\u003emake_link 407\u003c\/p\u003e \u003cp\u003eexecute_node_query 408\u003c\/p\u003e \u003cp\u003efind_path 409\u003c\/p\u003e \u003cp\u003eOrg Chart Methods 410\u003c\/p\u003e \u003cp\u003ebuild_org_chart 410\u003c\/p\u003e \u003cp\u003equery_org_chart 411\u003c\/p\u003e \u003cp\u003eMain Program 412\u003c\/p\u003e \u003cp\u003eSummary 414\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 21: Neo4j AuraDB IN C# 417\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eCreate the Program 418\u003c\/p\u003e \u003cp\u003eInstall the Neo4j Driver 418\u003c\/p\u003e \u003cp\u003eAction Methods 419\u003c\/p\u003e \u003cp\u003eDeleteAllNodes 419\u003c\/p\u003e \u003cp\u003eMakeNode 420\u003c\/p\u003e \u003cp\u003eMakeLink 421\u003c\/p\u003e \u003cp\u003eExecuteNodeQuery 422\u003c\/p\u003e \u003cp\u003eFindPath 422\u003c\/p\u003e \u003cp\u003eOrg Chart Methods 423\u003c\/p\u003e \u003cp\u003eBuildOrgChart 424\u003c\/p\u003e \u003cp\u003eQueryOrgChart 424\u003c\/p\u003e \u003cp\u003eMain 426\u003c\/p\u003e \u003cp\u003eSummary 428\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 22: MongoDB ATLAS IN PYTHON 431\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eNot Normal but Not Abnormal 432\u003c\/p\u003e \u003cp\u003eXML, JSON, and BSON 432\u003c\/p\u003e \u003cp\u003eInstall MongoDB Atlas 434\u003c\/p\u003e \u003cp\u003eFind the Connection Code 436\u003c\/p\u003e \u003cp\u003eCreate the Program 439\u003c\/p\u003e \u003cp\u003eInstall the PyMongo Database Adapter 439\u003c\/p\u003e \u003cp\u003eHelper Methods 440\u003c\/p\u003e \u003cp\u003eperson_string 440\u003c\/p\u003e \u003cp\u003econnect_to_db 441\u003c\/p\u003e \u003cp\u003edelete_old_data 442\u003c\/p\u003e \u003cp\u003ecreate_data 442\u003c\/p\u003e \u003cp\u003equery_data 444\u003c\/p\u003e \u003cp\u003eMain Program 449\u003c\/p\u003e \u003cp\u003eSummary 450\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 23: MongoDB ATLAS IN C# 453\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eCreate the Program 454\u003c\/p\u003e \u003cp\u003eInstall the MongoDB Database Adapter 454\u003c\/p\u003e \u003cp\u003eHelper Methods 454\u003c\/p\u003e \u003cp\u003ePersonString 455\u003c\/p\u003e \u003cp\u003eDeleteOldData 456\u003c\/p\u003e \u003cp\u003eCreateData 457\u003c\/p\u003e \u003cp\u003eQueryData 458\u003c\/p\u003e \u003cp\u003eMain Program 462\u003c\/p\u003e \u003cp\u003eSummary 465\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 24: Apache Ignite in Python 467\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eInstall Apache Ignite 468\u003c\/p\u003e \u003cp\u003eStart a Node 468\u003c\/p\u003e \u003cp\u003eWithout Persistence 469\u003c\/p\u003e \u003cp\u003eWith Persistence 470\u003c\/p\u003e \u003cp\u003eCreate the Program 470\u003c\/p\u003e \u003cp\u003eInstall the pyignite Database Adapter 471\u003c\/p\u003e \u003cp\u003eDefine the Building Class 471\u003c\/p\u003e \u003cp\u003eSave Data 471\u003c\/p\u003e \u003cp\u003eRead Data 473\u003c\/p\u003e \u003cp\u003eDemonstrate Volatile Data 473\u003c\/p\u003e \u003cp\u003eDemonstrate Persistent Data 474\u003c\/p\u003e \u003cp\u003eSummary 474\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 25: Apache Ignite in C# 477\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eCreate the Program 477\u003c\/p\u003e \u003cp\u003eInstall the Ignite Database Adapter 478\u003c\/p\u003e \u003cp\u003eThe Main Program 479\u003c\/p\u003e \u003cp\u003eThe Building Class 480\u003c\/p\u003e \u003cp\u003eThe WriteData Method 480\u003c\/p\u003e \u003cp\u003eThe ReadData Method 482\u003c\/p\u003e \u003cp\u003eDemonstrate Volatile Data 483\u003c\/p\u003e \u003cp\u003eDemonstrate Persistent Data 483\u003c\/p\u003e \u003cp\u003eSummary 483\u003c\/p\u003e \u003cp\u003e\u003cb\u003ePart 5: Advanced Topics\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eChapter 26: Introduction to Sql 489\u003c\/p\u003e \u003cp\u003eBackground 491\u003c\/p\u003e \u003cp\u003eFinding More Information 491\u003c\/p\u003e \u003cp\u003eStandards 492\u003c\/p\u003e \u003cp\u003eMultistatement Commands 493\u003c\/p\u003e \u003cp\u003eBasic Syntax 495\u003c\/p\u003e \u003cp\u003eCommand Overview 495\u003c\/p\u003e \u003cp\u003eCreate Table 498\u003c\/p\u003e \u003cp\u003eCreate Index 503\u003c\/p\u003e \u003cp\u003eDrop 504\u003c\/p\u003e \u003cp\u003eInsert 504\u003c\/p\u003e \u003cp\u003eSelect 506\u003c\/p\u003e \u003cp\u003eSELECT Clause 506\u003c\/p\u003e \u003cp\u003eFROM Clause 507\u003c\/p\u003e \u003cp\u003eWHERE Clause 511\u003c\/p\u003e \u003cp\u003eGROUP BY Clause 511\u003c\/p\u003e \u003cp\u003eORDER BY Clause 512\u003c\/p\u003e \u003cp\u003eUpdate 513\u003c\/p\u003e \u003cp\u003eDelete 514\u003c\/p\u003e \u003cp\u003eSummary 515\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 27: Building Databases with Sql Scripts 519\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eWhy Bother with Scripts? 519\u003c\/p\u003e \u003cp\u003eScript Categories 520\u003c\/p\u003e \u003cp\u003eDatabase Creation Scripts 520\u003c\/p\u003e \u003cp\u003eBasic Initialization Scripts 520\u003c\/p\u003e \u003cp\u003eData Initialization Scripts 520\u003c\/p\u003e \u003cp\u003eCleanup Scripts 521\u003c\/p\u003e \u003cp\u003eSaving Scripts 521\u003c\/p\u003e \u003cp\u003eOrdering SQL Commands 522\u003c\/p\u003e \u003cp\u003eSummary 531\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 28: Database Maintenance 533\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eBackups 533\u003c\/p\u003e \u003cp\u003eData Warehousing 537\u003c\/p\u003e \u003cp\u003eRepairing the Database 538\u003c\/p\u003e \u003cp\u003eCompacting the Database 538\u003c\/p\u003e \u003cp\u003ePerformance Tuning 538\u003c\/p\u003e \u003cp\u003eSummary 542\u003c\/p\u003e \u003cp\u003eChapter 29: Database Security 545\u003c\/p\u003e \u003cp\u003eThe Right Level of Security 545\u003c\/p\u003e \u003cp\u003ePasswords 546\u003c\/p\u003e \u003cp\u003eSingle- Password Databases 546\u003c\/p\u003e \u003cp\u003eIndividual Passwords 546\u003c\/p\u003e \u003cp\u003eOperating System Passwords 547\u003c\/p\u003e \u003cp\u003eGood Passwords 547\u003c\/p\u003e \u003cp\u003ePrivileges 548\u003c\/p\u003e \u003cp\u003eInitial Configuration and Privileges 553\u003c\/p\u003e \u003cp\u003eToo Much Security 553\u003c\/p\u003e \u003cp\u003ePhysical Security 554\u003c\/p\u003e \u003cp\u003eSummary 555\u003c\/p\u003e \u003cp\u003eAppendix A: Exercise Solutions 557\u003c\/p\u003e \u003cp\u003eAppendix B: Sample Relational Designs 649\u003c\/p\u003e \u003cp\u003eGlossary 671\u003c\/p\u003e \u003cp\u003eIndex 683\u003c\/p\u003e\n\u003c\/li\u003e\n\u003c\/ul\u003e","brand":"John Wiley \u0026 Sons Inc","offers":[{"title":"Default Title","offer_id":49407595217239,"sku":"9781394155729","price":34.0,"currency_code":"GBP","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0817\/1739\/5799\/files\/9781394155729.jpg?v=1730499874","url":"https:\/\/bookcurl.com\/products\/beginning-database-design-solutions-9781394155729","provider":"Book Curl","version":"1.0","type":"link"}