{"product_id":"sql-bible-paperback-softback-9780470229064","title":"SQL Bible (Paperback \/ softback) 9780470229064","description":"\u003cfont face=\"Georgia\"\u003e\r\n\u003cp\u003e\u003cfont size=\"6\"\u003eSQL Bible\u003c\/font\u003e\u003cbr\u003e\r\n\r\n\r\n\r\n\r\n\r\n\u003c\/p\u003e\n\u003cp\u003e\u003cfont size=\"4\"\u003eAlex Kriegel (Author), Boris M. Trukhnov (Author)\u003c\/font\u003e\u003c\/p\u003e\r\n\r\n\u003cp\u003e\u003cfont size=\"3\"\u003e9780470229064, Wiley\u003c\/font\u003e\u003c\/p\u003e\r\n\r\n\u003cp\u003e\u003cfont size=\"3\"\u003ePaperback \/ softback, published 4 April 2008\u003c\/font\u003e\u003c\/p\u003e\r\n\r\n\u003cp\u003e\u003cfont size=\"3\"\u003e896 pages\u003cbr\u003e23.6 x 18.8 x 4.5 cm, 1.27 kg\u003c\/font\u003e\u003c\/p\u003e\r\n\r\n\r\n\r\n\r\n\r\n\u003cp align=\"justify\"\u003e\u003cstrong\u003e\u003cfont size=\"3\"\u003eHarness SQL for Oracle 11g, IBM DB2, and Microsoft SQL Server 2008\u003cbr style=\"font-family: Arial; font-size: 13.3333px;\"\u003e\u003cbr style=\"font-family: Arial; font-size: 13.3333px;\"\u003eCombining theory with everyday practicality, this definitive volume is packed with up-to-date information, new features, and explanations you need to get the very most out of SQL and its latest standard. The book is unique in that every chapter highlights how the new SQL standard applies to the three major databases, Oracle 11g, IBM DB2 9.5, and Microsoft SQL Server 2008. The result is a comprehensive, useful, and real-world reference for all SQL users, from beginners to experienced developers.\u003cbr style=\"font-family: Arial; font-size: 13.3333px;\"\u003e \u003cul\u003e \u003cli\u003eLearn the basics of SQL and relational databases\u003c\/li\u003e \u003cli\u003eExplore tables, views, sequences, and other database objects\u003c\/li\u003e \u003cli\u003eExamine transactions and locking in multiuser environments\u003c\/li\u003e \u003cli\u003eReview functions mandated by the SQL standard and the three major vendors\u003c\/li\u003e \u003cli\u003eAccess metadata information and implement database security\u003c\/li\u003e \u003cli\u003eGo beyond SQL to XML integration, OLAP business intelligence, and more\u003c\/li\u003e \u003c\/ul\u003e \u003cbr style=\"font-family: Arial; font-size: 13.3333px;\"\u003eCompanion Web Site\u003cbr style=\"font-family: Arial; font-size: 13.3333px;\"\u003eFind downloadable code examples and more at www.wiley.com\/go\/SQLBible2\u003c\/font\u003e\u003c\/strong\u003e\u003c\/p\u003e\r\n\r\n\u003cp\u003e\u003cfont size=\"3\"\u003e\u003cp\u003eAcknowledgements xxiii\u003c\/p\u003e \u003cp\u003eIntroduction xxv\u003c\/p\u003e \u003cp\u003e\u003cb\u003ePart I SQL Basic Concepts and Principles\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 1: SQL and Relational Database Management Systems 3\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eDesirable Database Characteristics 3\u003c\/p\u003e \u003cp\u003eSufficient capacity 4\u003c\/p\u003e \u003cp\u003eAdequate security and auditing 4\u003c\/p\u003e \u003cp\u003eMultiuser environment 4\u003c\/p\u003e \u003cp\u003eEffectiveness and searchability 4\u003c\/p\u003e \u003cp\u003eScalability 5\u003c\/p\u003e \u003cp\u003eUser friendliness 5\u003c\/p\u003e \u003cp\u003eSelecting Your Database Software 6\u003c\/p\u003e \u003cp\u003eMarket share 6\u003c\/p\u003e \u003cp\u003eTotal cost of ownership 6\u003c\/p\u003e \u003cp\u003eSupport and persistence 7\u003c\/p\u003e \u003cp\u003eMajor DBMS Implementations 7\u003c\/p\u003e \u003cp\u003eReal-Life Database Examples 9\u003c\/p\u003e \u003cp\u003eOrder management system database 9\u003c\/p\u003e \u003cp\u003eHealth care provider database 10\u003c\/p\u003e \u003cp\u003eVideo sharing and editing database 10\u003c\/p\u003e \u003cp\u003eScientific database 11\u003c\/p\u003e \u003cp\u003eNonprofit organization database 11\u003c\/p\u003e \u003cp\u003eDatabase Legacy 11\u003c\/p\u003e \u003cp\u003eFlat file databases 11\u003c\/p\u003e \u003cp\u003eHierarchical databases 12\u003c\/p\u003e \u003cp\u003eNetwork databases 14\u003c\/p\u003e \u003cp\u003eRelational Databases 15\u003c\/p\u003e \u003cp\u003eTables 16\u003c\/p\u003e \u003cp\u003eRelationships 17\u003c\/p\u003e \u003cp\u003ePrimary key 17\u003c\/p\u003e \u003cp\u003eForeign key 18\u003c\/p\u003e \u003cp\u003eInvasion of RDBMS 18\u003c\/p\u003e \u003cp\u003eOther DBMS Models 19\u003c\/p\u003e \u003cp\u003eBrief History of SQL and SQL Standards 20\u003c\/p\u003e \u003cp\u003eHumble beginnings: RDBMS and SQL evolution 20\u003c\/p\u003e \u003cp\u003eA brief history of SQL standards 23\u003c\/p\u003e \u003cp\u003eSummary 26\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 2: Fundamental SQL Concepts and Principles 27\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003ePromises and Deliverables 27\u003c\/p\u003e \u003cp\u003eSQL: The First Look 32\u003c\/p\u003e \u003cp\u003eDatabase example 32\u003c\/p\u003e \u003cp\u003eGetting the data in and out 33\u003c\/p\u003e \u003cp\u003eSlice and dice: Same data, different angle 35\u003c\/p\u003e \u003cp\u003eAggregation 37\u003c\/p\u003e \u003cp\u003eData security 38\u003c\/p\u003e \u003cp\u003eAccessing data from a client application 39\u003c\/p\u003e \u003cp\u003eNew developments 40\u003c\/p\u003e \u003cp\u003eAny Platform, Any Time 40\u003c\/p\u003e \u003cp\u003eSummary 43\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 3: SQL Data Types 45\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eNo Strings Attached 46\u003c\/p\u003e \u003cp\u003eCharacter strings 46\u003c\/p\u003e \u003cp\u003eBinary strings 54\u003c\/p\u003e \u003cp\u003eIn Numbers Strength 56\u003c\/p\u003e \u003cp\u003eExact numbers 56\u003c\/p\u003e \u003cp\u003eApproximate numbers 60\u003c\/p\u003e \u003cp\u003eOnce Upon a Time: Date and Time Data Types 61\u003c\/p\u003e \u003cp\u003eIntroduction to complex data types 62\u003c\/p\u003e \u003cp\u003eDate and time implementations 63\u003c\/p\u003e \u003cp\u003eXML Data Type 69\u003c\/p\u003e \u003cp\u003eXML data type implementations 69\u003c\/p\u003e \u003cp\u003eConstructed and User-Defined Data Types 70\u003c\/p\u003e \u003cp\u003eSQL:2003 71\u003c\/p\u003e \u003cp\u003eOracle 11g 73\u003c\/p\u003e \u003cp\u003eDB2 9.5 75\u003c\/p\u003e \u003cp\u003eMicrosoft SQL Server 2008 76\u003c\/p\u003e \u003cp\u003eOther Data Types 77\u003c\/p\u003e \u003cp\u003eBOOLEAN 77\u003c\/p\u003e \u003cp\u003eROWID 77\u003c\/p\u003e \u003cp\u003eUROWID 78\u003c\/p\u003e \u003cp\u003eBFILE 78\u003c\/p\u003e \u003cp\u003eDATALINK 78\u003c\/p\u003e \u003cp\u003eBIT 78\u003c\/p\u003e \u003cp\u003eTIMESTAMP 78\u003c\/p\u003e \u003cp\u003eSQL_VARIANT 78\u003c\/p\u003e \u003cp\u003eNull 79\u003c\/p\u003e \u003cp\u003eSummary 79\u003c\/p\u003e \u003cp\u003e\u003cb\u003ePart II Creating and Modifying Database Objects\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 4: Creating RDBMS Objects 83\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eTables 83\u003c\/p\u003e \u003cp\u003eCREATE TABLE Statement 84\u003c\/p\u003e \u003cp\u003eIndexes 113\u003c\/p\u003e \u003cp\u003eCREATE INDEX statement 116\u003c\/p\u003e \u003cp\u003eViews 120\u003c\/p\u003e \u003cp\u003eCREATE VIEW statement 121\u003c\/p\u003e \u003cp\u003eCreating complex views 127\u003c\/p\u003e \u003cp\u003eAliases and Synonyms 130\u003c\/p\u003e \u003cp\u003eSQL:2003 131\u003c\/p\u003e \u003cp\u003eOracle 11 g CREATE SYNONYM statement 131\u003c\/p\u003e \u003cp\u003eDB2 9.5 CREATE ALIAS statement 133\u003c\/p\u003e \u003cp\u003eMicrosoft SQL Server 2008 CREATE SYNONYM statement 133\u003c\/p\u003e \u003cp\u003eSchemas 134\u003c\/p\u003e \u003cp\u003eCREATE SCHEMA statement 134\u003c\/p\u003e \u003cp\u003eSequences 138\u003c\/p\u003e \u003cp\u003eExternal sequence generators in SQL:2003 139\u003c\/p\u003e \u003cp\u003eSequences in Oracle 11 g 139\u003c\/p\u003e \u003cp\u003eDB2 9.5 142\u003c\/p\u003e \u003cp\u003eOther SQL:2003 and Implementation-Specific Objects 143\u003c\/p\u003e \u003cp\u003eDomains (SQL:2003) 144\u003c\/p\u003e \u003cp\u003eCharacter sets (SQL:2003) 144\u003c\/p\u003e \u003cp\u003eCollations (SQL:2003) 144\u003c\/p\u003e \u003cp\u003eTablespaces and filegroups 144\u003c\/p\u003e \u003cp\u003eMaterialized views (Oracle 11 g) 147\u003c\/p\u003e \u003cp\u003eDatabase links (Oracle 11 g) 149\u003c\/p\u003e \u003cp\u003eDirectories (Oracle 11 g) 150\u003c\/p\u003e \u003cp\u003eCREATE Statement Cross-Reference 151\u003c\/p\u003e \u003cp\u003eSummary 154\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 5: Altering and Destroying RDBMS Objects 155\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eTables 155\u003c\/p\u003e \u003cp\u003eALTER TABLE statement 156\u003c\/p\u003e \u003cp\u003eDROP TABLE statement 166\u003c\/p\u003e \u003cp\u003eIndexes 168\u003c\/p\u003e \u003cp\u003eALTER INDEX statement 168\u003c\/p\u003e \u003cp\u003eDROP INDEX statement 170\u003c\/p\u003e \u003cp\u003eViews 171\u003c\/p\u003e \u003cp\u003eALTER VIEW statement 171\u003c\/p\u003e \u003cp\u003eDROP VIEW statement 173\u003c\/p\u003e \u003cp\u003eAliases and Synonyms 173\u003c\/p\u003e \u003cp\u003eOracle 11 g 174\u003c\/p\u003e \u003cp\u003eDB2 9.5 174\u003c\/p\u003e \u003cp\u003eMicrosoft SQL Server 2008 174\u003c\/p\u003e \u003cp\u003eSchemas 174\u003c\/p\u003e \u003cp\u003eSQL:2003 174\u003c\/p\u003e \u003cp\u003eDB2 9.5 175\u003c\/p\u003e \u003cp\u003eMicrosoft SQL Server 2008 175\u003c\/p\u003e \u003cp\u003eSequences 176\u003c\/p\u003e \u003cp\u003eALTER SEQUENCE statement 176\u003c\/p\u003e \u003cp\u003eDROP SEQUENCE statement 177\u003c\/p\u003e \u003cp\u003eOther Implementation-Specific Objects 178\u003c\/p\u003e \u003cp\u003eDomains (SQL:2003) 178\u003c\/p\u003e \u003cp\u003eCharacter sets (SQL:2003) 178\u003c\/p\u003e \u003cp\u003eCollations (SQL:2003) 178\u003c\/p\u003e \u003cp\u003eTablespaces 178\u003c\/p\u003e \u003cp\u003eMaterialized views (Oracle 11 g) 180\u003c\/p\u003e \u003cp\u003eDatabase Links (Oracle 11 g) 180\u003c\/p\u003e \u003cp\u003eDirectories (Oracle 11 g) 181\u003c\/p\u003e \u003cp\u003eALTER and DROP Statements Cross-Reference 181\u003c\/p\u003e \u003cp\u003eSummary 186\u003c\/p\u003e \u003cp\u003e\u003cb\u003ePart III Data Manipulation and Transaction Control\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 6: Data Manipulation Language (DML) 191\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eINSERT: Populating Tables with Data 191\u003c\/p\u003e \u003cp\u003eCommon INSERT statement clauses 192\u003c\/p\u003e \u003cp\u003eINSERT statement vendor-related specifics 200\u003c\/p\u003e \u003cp\u003eUPDATE: Modifying Table Data 208\u003c\/p\u003e \u003cp\u003eCommon UPDATE statement clauses 209\u003c\/p\u003e \u003cp\u003eVendor-specific UPDATE statement details 213\u003c\/p\u003e \u003cp\u003eDELETE: Removing Data from Tables 216\u003c\/p\u003e \u003cp\u003eCommon DELETE statement clauses 216\u003c\/p\u003e \u003cp\u003eVendor-specific DELETE statement clauses 218\u003c\/p\u003e \u003cp\u003eMERGE: Combining INSERT, UPDATE, and DELETE in One Statement 219\u003c\/p\u003e \u003cp\u003eCommon MERGE statement clauses 219\u003c\/p\u003e \u003cp\u003eVendor-specific MERGE statement clauses 220\u003c\/p\u003e \u003cp\u003eTRUNCATE Statement 223\u003c\/p\u003e \u003cp\u003eDifferences between Oracle and Microsoft SQL Server TRUNCATE statements 224\u003c\/p\u003e \u003cp\u003eSummary 225\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 7: Sessions, Transactions, and Locks 227\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eSessions 227\u003c\/p\u003e \u003cp\u003eTransactions 237\u003c\/p\u003e \u003cp\u003eWhat is a transaction? 237\u003c\/p\u003e \u003cp\u003eTransactions COMMIT and ROLLBACK 241\u003c\/p\u003e \u003cp\u003eTransaction isolation levels 248\u003c\/p\u003e \u003cp\u003eUnderstanding Locks 251\u003c\/p\u003e \u003cp\u003eLocking modes 252\u003c\/p\u003e \u003cp\u003eDealing with deadlocks 256\u003c\/p\u003e \u003cp\u003eSummary 257\u003c\/p\u003e \u003cp\u003e\u003cb\u003ePart IV Retrieving and Transferring Data\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 8: Understanding the SELECT Statement 261\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eSingle Table SELECT Statement Syntax 261\u003c\/p\u003e \u003cp\u003eSELECT Clause: What Do You Select? 262\u003c\/p\u003e \u003cp\u003eSingle-column select 262\u003c\/p\u003e \u003cp\u003eMulticolumn SELECT 263\u003c\/p\u003e \u003cp\u003eUsing literals, functions, and calculated columns 267\u003c\/p\u003e \u003cp\u003eUsing subqueries in a SELECT clause 271\u003c\/p\u003e \u003cp\u003eFROM Clause: Select from What? 272\u003c\/p\u003e \u003cp\u003eSelecting from tables and views 272\u003c\/p\u003e \u003cp\u003eUsing aliases in a FROM clause 273\u003c\/p\u003e \u003cp\u003eUsing subqueries in a FROM clause (inline views) 273\u003c\/p\u003e \u003cp\u003eWHERE Clause: Setting Horizontal Limits 274\u003c\/p\u003e \u003cp\u003eUsing comparison operators 275\u003c\/p\u003e \u003cp\u003eCompound operators: Using AND and OR 276\u003c\/p\u003e \u003cp\u003eUsing the BETWEEN operator 277\u003c\/p\u003e \u003cp\u003eUsing the IN operator: Set membership test 278\u003c\/p\u003e \u003cp\u003eThe NOT operator 279\u003c\/p\u003e \u003cp\u003eUsing the IS NULL operator: Special test for NULLS 280\u003c\/p\u003e \u003cp\u003eUsing subqueries in a WHERE clause 281\u003c\/p\u003e \u003cp\u003eGROUP BY and HAVING Clauses: Summarizing Results 285\u003c\/p\u003e \u003cp\u003eORDER BY Clause: Sorting Query Output 288\u003c\/p\u003e \u003cp\u003eCombining the Results of Multiple Queries 291\u003c\/p\u003e \u003cp\u003eUnion 292\u003c\/p\u003e \u003cp\u003eIntersect 295\u003c\/p\u003e \u003cp\u003eExcept (minus) 296\u003c\/p\u003e \u003cp\u003eSQL Analytic Functions and Top N Queries 299\u003c\/p\u003e \u003cp\u003eAnalytic functions and the SQL:2003 standard 299\u003c\/p\u003e \u003cp\u003eDesigning top N queries 301\u003c\/p\u003e \u003cp\u003eLimit N queries 303\u003c\/p\u003e \u003cp\u003eSummary 304\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 9: Multitable Queries 307\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eInner Joins 307\u003c\/p\u003e \u003cp\u003eTwo syntaxes for inner joins 308\u003c\/p\u003e \u003cp\u003eEquijoin 309\u003c\/p\u003e \u003cp\u003eNonequijoin 312\u003c\/p\u003e \u003cp\u003eSelf-join 314\u003c\/p\u003e \u003cp\u003eCross join (Cartesian product) 317\u003c\/p\u003e \u003cp\u003eJoining more than two tables 318\u003c\/p\u003e \u003cp\u003eOuter Joins: Joining Tables on Columns Containing NULL Values 321\u003c\/p\u003e \u003cp\u003eTwo syntaxes for outer joins 321\u003c\/p\u003e \u003cp\u003eLeft outer join 323\u003c\/p\u003e \u003cp\u003eRight outer join 326\u003c\/p\u003e \u003cp\u003eFull outer join 327\u003c\/p\u003e \u003cp\u003eUnion join 328\u003c\/p\u003e \u003cp\u003eJoins Involving Inline Views 329\u003c\/p\u003e \u003cp\u003eMultitable Joins with Correlated Queries 331\u003c\/p\u003e \u003cp\u003eImproving Efficiency of Multitable Queries 333\u003c\/p\u003e \u003cp\u003eSummary 334\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 10: SQL Functions 335\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eNumeric functions 338\u003c\/p\u003e \u003cp\u003eString functions 345\u003c\/p\u003e \u003cp\u003eDate and time functions 357\u003c\/p\u003e \u003cp\u003eAggregate functions 368\u003c\/p\u003e \u003cp\u003eConversion functions 376\u003c\/p\u003e \u003cp\u003eSystem Functions 393\u003c\/p\u003e \u003cp\u003eMiscellaneous functions 397\u003c\/p\u003e \u003cp\u003eUser-defined functions 404\u003c\/p\u003e \u003cp\u003eSummary 405\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 11: SQL Operators 407\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eArithmetic and String Concatenation Operators 407\u003c\/p\u003e \u003cp\u003eLogical Operators 411\u003c\/p\u003e \u003cp\u003eALL 412\u003c\/p\u003e \u003cp\u003eANY | SOME 412\u003c\/p\u003e \u003cp\u003eBETWEEN \u003cexpression\u003e AND \u003cexpression\u003e 413\u003c\/expression\u003e\u003c\/expression\u003e\u003c\/p\u003e \u003cp\u003eIN 414\u003c\/p\u003e \u003cp\u003eEXISTS 416\u003c\/p\u003e \u003cp\u003eLIKE 417\u003c\/p\u003e \u003cp\u003eAND 421\u003c\/p\u003e \u003cp\u003eNOT 421\u003c\/p\u003e \u003cp\u003eOR 422\u003c\/p\u003e \u003cp\u003eOperator Precedence 422\u003c\/p\u003e \u003cp\u003eAssignment Operator 425\u003c\/p\u003e \u003cp\u003eComparison Operators 425\u003c\/p\u003e \u003cp\u003eBitwise Operators 430\u003c\/p\u003e \u003cp\u003eSummary 432\u003c\/p\u003e \u003cp\u003e\u003cb\u003ePart V Implementing Security Using the System Catalog\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 12: SQL and RDBMS Security 435\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eBasic Security Mechanisms 435\u003c\/p\u003e \u003cp\u003eIdentification and authentication 436\u003c\/p\u003e \u003cp\u003eAuthorization and access control 436\u003c\/p\u003e \u003cp\u003eEncryption 436\u003c\/p\u003e \u003cp\u003eIntegrity and consistency 436\u003c\/p\u003e \u003cp\u003eAuditing 436\u003c\/p\u003e \u003cp\u003eDefining a Database User 437\u003c\/p\u003e \u003cp\u003eManaging Security with Privileges 443\u003c\/p\u003e \u003cp\u003eGRANT statement 444\u003c\/p\u003e \u003cp\u003eREVOKE privileges 460\u003c\/p\u003e \u003cp\u003eManaging Security with Roles 465\u003c\/p\u003e \u003cp\u003eUsing Views for Security 472\u003c\/p\u003e \u003cp\u003eUsing Constraints for Security 475\u003c\/p\u003e \u003cp\u003eUsing Stored Procedures and Triggers for Security 477\u003c\/p\u003e \u003cp\u003eData encryption 480\u003c\/p\u003e \u003cp\u003eDatabase Auditing 485\u003c\/p\u003e \u003cp\u003eSecurity Standards 489\u003c\/p\u003e \u003cp\u003eInternational security standards 490\u003c\/p\u003e \u003cp\u003eRegulatory compliance 491\u003c\/p\u003e \u003cp\u003eSummary 493\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 13: The System Catalog and INFORMATION_SCHEMA 495\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eSQL System Catalogs 495\u003c\/p\u003e \u003cp\u003eOracle 11 g Data Dictionary 500\u003c\/p\u003e \u003cp\u003eOracle data dictionary structure 501\u003c\/p\u003e \u003cp\u003eOracle data dictionary and SQL:2007 standards 504\u003c\/p\u003e \u003cp\u003eOne level deeper: Data about metadata 505\u003c\/p\u003e \u003cp\u003eIBM DB2 9.5 System Catalogs 507\u003c\/p\u003e \u003cp\u003eThe INFORMATION_SCHEMA objects in DB2 507\u003c\/p\u003e \u003cp\u003eObtaining information about INFORMATION_SCHEMA objects 510\u003c\/p\u003e \u003cp\u003eMicrosoft SQL Server 2008 System Catalog 511\u003c\/p\u003e \u003cp\u003eMS SQL Server 2008 INFORMATION_SCHEMA Views 511\u003c\/p\u003e \u003cp\u003eMicrosoft SQL Server system stored procedures 515\u003c\/p\u003e \u003cp\u003eMicrosoft SQL Server 2008 system functions 520\u003c\/p\u003e \u003cp\u003eSummary 523\u003c\/p\u003e \u003cp\u003e\u003cb\u003ePart VI Beyond SQL: Procedural Programming and Database Access Mechanisms\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 14: Stored Procedures, Triggers, and User-Defined Functions 527\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eProcedural Extension Uses and Benefits 529\u003c\/p\u003e \u003cp\u003ePerformance and network traffic 529\u003c\/p\u003e \u003cp\u003eDatabase security 529\u003c\/p\u003e \u003cp\u003eCode reusability 530\u003c\/p\u003e \u003cp\u003eKey Elements of a SQL Procedural Language 530\u003c\/p\u003e \u003cp\u003eVariables and assignment 530\u003c\/p\u003e \u003cp\u003eModularity, subprograms, and block structure 532\u003c\/p\u003e \u003cp\u003ePassing parameters 533\u003c\/p\u003e \u003cp\u003eOracle 11 g 536\u003c\/p\u003e \u003cp\u003eDB2 9.5 536\u003c\/p\u003e \u003cp\u003eMicrosoft SQL Server 2008 537\u003c\/p\u003e \u003cp\u003eConditional execution 537\u003c\/p\u003e \u003cp\u003eRepeated execution 539\u003c\/p\u003e \u003cp\u003eCursors 540\u003c\/p\u003e \u003cp\u003eError handling 544\u003c\/p\u003e \u003cp\u003eStored Procedures 547\u003c\/p\u003e \u003cp\u003eCREATE PROCEDURE syntax 547\u003c\/p\u003e \u003cp\u003eCreating a simple stored procedure 548\u003c\/p\u003e \u003cp\u003eRemoving a stored procedure 554\u003c\/p\u003e \u003cp\u003eUser-Defined Functions 554\u003c\/p\u003e \u003cp\u003eCREATE FUNCTION syntax 554\u003c\/p\u003e \u003cp\u003eCreating a simple function 555\u003c\/p\u003e \u003cp\u003eRemoving a user-defined function 559\u003c\/p\u003e \u003cp\u003eTriggers 559\u003c\/p\u003e \u003cp\u003eCREATE TRIGGER syntax 559\u003c\/p\u003e \u003cp\u003eRemoving a trigger 563\u003c\/p\u003e \u003cp\u003e.NET Stored Procedures and Functions 563\u003c\/p\u003e \u003cp\u003eSummary 565\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 15: SQL and XML 567\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eIntroduction 567\u003c\/p\u003e \u003cp\u003eThe Structure of XML 567\u003c\/p\u003e \u003cp\u003eXML as a data source 573\u003c\/p\u003e \u003cp\u003eEncoding XML 574\u003c\/p\u003e \u003cp\u003ePresenting XML documents 575\u003c\/p\u003e \u003cp\u003eXML and RDBMS 577\u003c\/p\u003e \u003cp\u003eOracle 11 g XML DB 579\u003c\/p\u003e \u003cp\u003eIBM DB 9.5 pureXML 586\u003c\/p\u003e \u003cp\u003eMicrosoft SQL Server 2008 590\u003c\/p\u003e \u003cp\u003eSummary 596\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 16: SQL and Procedural Programming 599\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eSQL Statement Processing Steps 600\u003c\/p\u003e \u003cp\u003eEmbedded and Dynamic SQL 601\u003c\/p\u003e \u003cp\u003eEmbedded SQL 601\u003c\/p\u003e \u003cp\u003eDynamic SQL techniques 606\u003c\/p\u003e \u003cp\u003eThe future of Embedded and Dynamic SQL 614\u003c\/p\u003e \u003cp\u003eSQL\/CLI Standard 614\u003c\/p\u003e \u003cp\u003eOpen Database Connectivity and Object Linking and Embedding, Database 619\u003c\/p\u003e \u003cp\u003eODBC 619\u003c\/p\u003e \u003cp\u003eOLEDB 621\u003c\/p\u003e \u003cp\u003eSQL and Java 621\u003c\/p\u003e \u003cp\u003eJava Database Connectivity (JDBC) 622\u003c\/p\u003e \u003cp\u003eSQLJ 627\u003c\/p\u003e \u003cp\u003eOracle API options 629\u003c\/p\u003e \u003cp\u003eOracle Call Interface 629\u003c\/p\u003e \u003cp\u003eOracle Objects for OLE 631\u003c\/p\u003e \u003cp\u003eOracle Data Provider for .NET 632\u003c\/p\u003e \u003cp\u003eIBM DB2 Call-Level Interface 632\u003c\/p\u003e \u003cp\u003eMicrosoft Data Access Interfaces 633\u003c\/p\u003e \u003cp\u003eActiveX Data Objects 634\u003c\/p\u003e \u003cp\u003eAdo.net 634\u003c\/p\u003e \u003cp\u003eSummary 640\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 17: The Future of SQL 643\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eOLAP and Business Intelligence 644\u003c\/p\u003e \u003cp\u003eOracle 11 g 647\u003c\/p\u003e \u003cp\u003eIBM DB2 9.5 647\u003c\/p\u003e \u003cp\u003eMicrosoft SQL Server 2008 648\u003c\/p\u003e \u003cp\u003eLINQ to SQL 649\u003c\/p\u003e \u003cp\u003eObjects 650\u003c\/p\u003e \u003cp\u003eOOP Paradigm 650\u003c\/p\u003e \u003cp\u003eObject Language Bindings (SQL\/OLB) in SQL:2003 Standard 652\u003c\/p\u003e \u003cp\u003eOracle 11 g support 652\u003c\/p\u003e \u003cp\u003eIBM DB2 9.5 support 653\u003c\/p\u003e \u003cp\u003eMicrosoft SQL Server 2008 654\u003c\/p\u003e \u003cp\u003eAbstract data types 656\u003c\/p\u003e \u003cp\u003eObject-oriented databases 656\u003c\/p\u003e \u003cp\u003eSummary 658\u003c\/p\u003e \u003cp\u003e\u003cb\u003eAppendix A: Accompanying Website 661\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003eAppendix B: The ACME Sample Database 663\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eGeneral Information and Business Rules 663\u003c\/p\u003e \u003cp\u003eNaming Conventions 664\u003c\/p\u003e \u003cp\u003eRelationships between Tables 665\u003c\/p\u003e \u003cp\u003eColumn Constraints and Defaults 665\u003c\/p\u003e \u003cp\u003eIndexes 667\u003c\/p\u003e \u003cp\u003eViews 667\u003c\/p\u003e \u003cp\u003eSQL Scripts to Create ACME Database Objects 667\u003c\/p\u003e \u003cp\u003e\u003cb\u003eAppendix C: Basics of Relational Database Design 679\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eIdentifying Entities and Attributes 680\u003c\/p\u003e \u003cp\u003eNormalization 681\u003c\/p\u003e \u003cp\u003eFirst normal form 682\u003c\/p\u003e \u003cp\u003eSecond normal form 683\u003c\/p\u003e \u003cp\u003eThird normal form 683\u003c\/p\u003e \u003cp\u003eSpecifying Constraints 686\u003c\/p\u003e \u003cp\u003eOLTP versus OLAP Designs 687\u003c\/p\u003e \u003cp\u003eData warehouses and data marts 687\u003c\/p\u003e \u003cp\u003eStar and snowflake schemas 688\u003c\/p\u003e \u003cp\u003ePitfalls of Relational Database Design 688\u003c\/p\u003e \u003cp\u003e\u003cb\u003eAppendix D: Installing RDBMS Software 691\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eInstalling Oracle 11g 691\u003c\/p\u003e \u003cp\u003eInstalling Oracle 11g release 1 (11.1.0.6.0) Enterprise Edition on Linux 692\u003c\/p\u003e \u003cp\u003eInstalling Oracle 11g release 1 (11.1.0.6.0) Personal Edition on Windows 708\u003c\/p\u003e \u003cp\u003eInstalling IBM DB2 9.5 710\u003c\/p\u003e \u003cp\u003eInstalling DB2 9.5 software on Windows 710\u003c\/p\u003e \u003cp\u003eInstalling Microsoft SQL Server 2008 720\u003c\/p\u003e \u003cp\u003ePrerequisites for the Microsoft SQL Server 2008 (CTP, November 2007 release) 720\u003c\/p\u003e \u003cp\u003eInstalling on Windows Vista Enterprise Edition 721\u003c\/p\u003e \u003cp\u003e\u003cb\u003eAppendix E: Accessing RDBMS 731\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eUsing ORACLE 11g Utilities to Access RDBMS 731\u003c\/p\u003e \u003cp\u003eSQL\u003csup\u003e∗\u003c\/sup\u003ePlus 731\u003c\/p\u003e \u003cp\u003eSQL Developer 736\u003c\/p\u003e \u003cp\u003eOracle Enterprise Manager (SQL Worksheet) 740\u003c\/p\u003e \u003cp\u003eUsing IBM DB2 9.5 Utilities to Access the RDBMS 741\u003c\/p\u003e \u003cp\u003eCommand-Line Processor (CLP) 741\u003c\/p\u003e \u003cp\u003eCommand Editor 744\u003c\/p\u003e \u003cp\u003eUsing Microsoft SQL Server 2008 Utilities to Access the RDBMS 745\u003c\/p\u003e \u003cp\u003eUsing SQLCMD 745\u003c\/p\u003e \u003cp\u003eUsing SQL Server Management Studio 747\u003c\/p\u003e \u003cp\u003e\u003cb\u003eAppendix F: Installing the ACME Database 749\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eInstalling the ACME Database on Oracle 11g Using SQL\u003csup\u003e∗\u003c\/sup\u003ePlus 749\u003c\/p\u003e \u003cp\u003eLinux \/ Unix 749\u003c\/p\u003e \u003cp\u003eMicrosoft Windows 750\u003c\/p\u003e \u003cp\u003eInstalling the ACME Database on DB2 9.5 (Windows) Using CLP 751\u003c\/p\u003e \u003cp\u003eInstalling the ACME Database on Microsoft SQL Server 2008\u003c\/p\u003e \u003cp\u003eUsing the SQLCMD Utility 753\u003c\/p\u003e \u003cp\u003e\u003cb\u003eAppendix G: SQL Functions 755\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003eAppendix H: SQL Syntax Reference 795\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eDDL Statements 796\u003c\/p\u003e \u003cp\u003eTables 796\u003c\/p\u003e \u003cp\u003eIndexes 796\u003c\/p\u003e \u003cp\u003eViews 796\u003c\/p\u003e \u003cp\u003eSchemas 797\u003c\/p\u003e \u003cp\u003eStored procedures 797\u003c\/p\u003e \u003cp\u003eUser-defined functions 797\u003c\/p\u003e \u003cp\u003eTriggers 798\u003c\/p\u003e \u003cp\u003edcl Statements 798\u003c\/p\u003e \u003cp\u003eDML Statements 798\u003c\/p\u003e \u003cp\u003eDQL Statements 799\u003c\/p\u003e \u003cp\u003eSingle-table SELECT 799\u003c\/p\u003e \u003cp\u003eMultitable SELECT 799\u003c\/p\u003e \u003cp\u003eTransactional Control Statements 800\u003c\/p\u003e \u003cp\u003ePredicates 800\u003c\/p\u003e \u003cp\u003e\u003cb\u003eAppendix I: SQL-Reserved Keywords 803\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eFuture Keywords 813\u003c\/p\u003e \u003cp\u003eODBC Reserved Keywords 815\u003c\/p\u003e \u003cp\u003e\u003cb\u003eAppendix J: The Other RDBMSs 819\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003eAppendix K: A Brief Introduction to Number Systems, Boolean Algebra, and Set Theory 825\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eThe Number Systems 825\u003c\/p\u003e \u003cp\u003eThe RDBMS connection 826\u003c\/p\u003e \u003cp\u003eConverting numbers 826\u003c\/p\u003e \u003cp\u003eLogic Elements of Boolean Algebra 828\u003c\/p\u003e \u003cp\u003eNOT (complement or inverter) 828\u003c\/p\u003e \u003cp\u003eAND (Boolean product) 829\u003c\/p\u003e \u003cp\u003eOR (Boolean sum) 829\u003c\/p\u003e \u003cp\u003eXOR (exclusive OR) 829\u003c\/p\u003e \u003cp\u003eNAND (inversed AND) 830\u003c\/p\u003e \u003cp\u003eNOR (inversed OR) 830\u003c\/p\u003e \u003cp\u003eRules of precedence 831\u003c\/p\u003e \u003cp\u003eSet Theory 832\u003c\/p\u003e \u003cp\u003eThe listing of sets 832\u003c\/p\u003e \u003cp\u003eSubsets 833\u003c\/p\u003e \u003cp\u003eSet equality 834\u003c\/p\u003e \u003cp\u003eOperations on sets 834\u003c\/p\u003e \u003cp\u003eIdentities of set algebra 838\u003c\/p\u003e \u003cp\u003eIndex 839\u003c\/p\u003e\u003c\/font\u003e\u003c\/p\u003e\r\n\r\n\u003cp\u003e\u003cfont size=\"3\"\u003eSubject Areas: Computer networking \u0026amp; communications [\u003ca title=\"See our other books on Computer networking \u0026amp; communications\" href=\"https:\/\/freshlyprintedbooks.co.uk\/search?q=%22Computer%20networking%20\u0026amp;%20communications%20%5BUT%5D%22\"\u003eUT\u003c\/a\u003e]\u003c\/font\u003e\u003c\/p\u003e\r\n\r\n\r\n\u003c\/font\u003e","brand":"Wiley","offers":[{"title":"Brand New","offer_id":52509181051160,"sku":"9780470229064","price":47.49,"currency_code":"GBP","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0730\/2037\/5320\/files\/9780470229064.jpg?v=1786496578","url":"https:\/\/freshlyprintedbooks.co.uk\/products\/sql-bible-paperback-softback-9780470229064","provider":"Freshly Printed Books","version":"1.0","type":"link"}