دسترسی نامحدود
برای کاربرانی که ثبت نام کرده اند
برای ارتباط با ما می توانید از طریق شماره موبایل زیر از طریق تماس و پیامک با ما در ارتباط باشید
در صورت عدم پاسخ گویی از طریق پیامک با پشتیبان در ارتباط باشید
برای کاربرانی که ثبت نام کرده اند
درصورت عدم همخوانی توضیحات با کتاب
از ساعت 7 صبح تا 10 شب
دسته بندی: سیستم های عامل ویرایش: نویسندگان: George Baklarz. Paul C. Zikopoulos سری: ISBN (شابک) : 013185514X ناشر: سال نشر: تعداد صفحات: 1135 زبان: English فرمت فایل : PDF (درصورت درخواست کاربر به PDF، EPUB یا AZW3 تبدیل می شود) حجم فایل: 12 مگابایت
در صورت تبدیل فایل کتاب DB2 9 for Linux, UNIX, and Windows: DBA Guide, Reference, and Exam Prep (6th Edition) به فرمت های PDF، EPUB، AZW3، MOBI و یا DJVU می توانید به پشتیبان اطلاع دهید تا فایل مورد نظر را تبدیل نمایند.
توجه داشته باشید کتاب DB2 9 برای لینوکس، یونیکس و ویندوز: راهنمای DBA، مرجع و آمادگی آزمون (نسخه ششم) نسخه زبان اصلی می باشد و کتاب ترجمه شده به فارسی نمی باشد. وبسایت اینترنشنال لایبرری ارائه دهنده کتاب های زبان اصلی می باشد و هیچ گونه کتاب ترجمه شده یا نوشته شده به فارسی را ارائه نمی دهد.
DB2® 9 بر پایه پایگاه داده سازمانی شماره یک در جهان است تا تحویل اطلاعات را به عنوان یک سرویس ساده کند، توسعه را تسریع کند و کارایی عملیاتی، امنیت و انعطاف پذیری را به طور چشمگیری بهبود بخشد. اکنون، این نسخه جدید پوشش کامل و ابتدایی مدیریت و توسعه DB2 9 را برای پلتفرم های Linux®، UNIX®، و Windows®، و همچنین آماده سازی معتبر برای آخرین آزمون گواهینامه IBM DB2 ارائه می دهد. این راهنمای قطعی مرجع و خودآموز که هم برای DBAها و هم برای توسعه دهندگان نوشته شده است، تمام جنبه های استقرار و مدیریت DB2 9، از جمله طراحی و توسعه پایگاه داده DB2 را پوشش می دهد. مدیریت و پشتیبان گیری روزانه؛ استقرار برنامه های کاربردی تحت شبکه، اینترنت محور و مبتنی بر SOA؛ مهاجرت؛ و خیلی بیشتر. همچنین مجموعه بی نظیری از نکات تخصصی برای بهینه سازی عملکرد، در دسترس بودن و ارزش را خواهید یافت. پوشش شامل موارد زیر است: بهبودهای مهم امنیتی و انعطاف پذیری، از جمله کنترل دسترسی پیشرفته. امنیت ریزدانه و مبتنی بر برچسب؛ و نقش سرپرست امنیتی جدید ویژگیهای پیشرفت pureXML™ که موفقیت را با معماری سرویسمحور آسانتر میکند. بهبودهای عملیاتی که کارایی DBA را افزایش میدهد - از جمله تخصیص حافظه خود تنظیم، مدیریت خودکار ذخیرهسازی، و بهینهسازی ذخیرهسازی ویژگیهای پارتیشن بندی جدولی که مقیاسپذیری را بهبود میبخشد. و قابلیت مدیریت بهبودهای قدرتمند برای توسعه چابکتر و سریعتر، از جمله میز کار توسعه دهنده جدید مبتنی بر Eclipse و دسترسی ساده SQL یا XQuery به همه داده ها صرف نظر از نقش شما در کار با DB2 یا آماده سازی برای صدور گواهینامه، DB2 9 برای لینوکس، یونیکس و ویندوز، ویرایش ششم تنها کتابی است که نمی توانید بدون آن باشید. دانلود نسخه آزمایشی کامل DB2 V9 برای دانلود نسخه آزمایشی کامل DB2 به ibm.com/db2/9/download.html مراجعه کنید، که به شما امکان می دهد ده ها مورد از قدرتمندترین ویژگی های DB2 را برای خود امتحان کنید: همه چیز از پشتیبانی pureXML تا خودکار مدیریت و بهینه سازی مستقیماً از IBM، راهنمای نهایی برای اجرای DB2 9 و آماده شدن برای آخرین آزمون گواهینامه IBM DB2! بهبودهای قدرتمند DB2 9 از مدیریت خودکار گرفته تا فشرده سازی بهبودیافته را پوشش می دهد طیف کامل مسئولیت های DBA از جمله مدیریت سرور، قرار دادن داده ها، مفاهیم XML، تجزیه و تحلیل فعالیت، در دسترس بودن بالا، و امنیت را پوشش می دهد.
DB2® 9 builds on the world's number one enterprise database to simplify the delivery of information as a service, accelerate development, and dramatically improve operational efficiency, security, and resiliency. Now, this new edition offers complete, start-to-finish coverage of DB2 9 administration and development for Linux®, UNIX®, and Windows® platforms, as well as authoritative preparation for the latest IBM DB2 certification exam. Written for both DBAs and developers, this definitive reference and self-study guide covers all aspects of deploying and managing DB2 9, including DB2 database design and development; day-to-day administration and backup; deployment of networked, Internet-centered, and SOA-based applications; migration; and much more. You'll also find an unparalleled collection of expert tips for optimizing performance, availability, and value. Coverage includes: Important security and resiliency enhancements, including advanced access control; fine-grained, label-based security; and the new security administrator role Breakthrough pureXML™ features that make it easier to succeed with service-oriented architecture Operational improvements that enhance DBA efficiency--including self-tuning memory allocation, automated storage management, and storage optimization Table-partitioning features that improve scalability and manageability Powerful improvements for more agile and rapid development, including the new Eclipse-based Developer Workbench and simple SQL or XQuery access to all data Whatever your role in working with DB2 or preparing for certification, DB2 9 for Linux, UNIX, and Windows, Sixth Edition is the one book you can't afford to be without. Download Complete DB2 V9 Trial Version Visit ibm.com/db2/9/download.html to download a complete trial version of DB2, which enables you to try out dozens of the most powerful features of DB2 for yourself: everything from pureXML support to automated administration and optimization. Straight from IBM, the ultimate guide to running DB2 9 and preparing for the latest IBM DB2 certification exam! Covers powerful DB2 9 enhancements ranging from automated management to improved compression Covers the full spectrum of DBA responsibilities, including server management, data placement, XML concepts, activity analysis, high availability, and security Presents expert tips and best practices from the DB2 customer support organization
Cover......Page 1
Contents......Page 12
Chapter 1 Introduction......Page 36
1.1 Anatomy of an XML Document......Page 37
1.2 Differences Between XML and Relational Data......Page 39
1.3 Overview of DB2 pureXML......Page 42
1.4 Benefits of DB2 pureXML over Alternative Storage Options for XML Data......Page 45
1.5 XML Solutions to Relational Data Model Problems......Page 46
1.5.3 When Data Represents Business Objects......Page 47
1.6 Summary......Page 48
2.1 Choosing Between XML Elements and XML Attributes......Page 50
2.2 XML Tags versus Values......Page 54
2.3 Choosing the Right Document Granularity......Page 57
2.4 Using a Hybrid XML/Relational Approach......Page 59
2.5 Summary......Page 60
Chapter 3 Designing and Managing XML Storage Objects......Page 62
3.1 Understanding XML Document Trees......Page 63
3.2 Understanding pureXML Storage......Page 65
3.3.1 Storage Objects for XML Data......Page 68
3.3.2 Defining Columns,Tables, and Table Spaces for XML Data......Page 71
3.3.4 Improved XML Storage Format in DB2 9.7......Page 75
3.4 Using XML Base Table Row Storage (Inlining)......Page 76
3.4.1 Monitoring and Configuring XML Inlining......Page 78
3.4.2 Potential Benefits and Drawbacks of XML Inlining......Page 82
3.5 Compressing XML Data......Page 83
3.6 Examining XML Storage Space Consumption......Page 86
3.7 Reorganizing XML Data and Indexes......Page 88
3.8 Understanding XML Space Management: A Comprehensive Example......Page 89
3.9.1 XML and Range Partitioning......Page 92
3.9.2 XML and Multidimensional Clustering......Page 93
3.10 XML in a Partitioned Database (DPF)......Page 94
3.11 XML Storage in DB2 for z/OS......Page 95
3.11.1 Storage Objects for XML Data......Page 96
3.11.2 Characteristics of XML Table Spaces......Page 98
3.11.4 Naming and Storage Conventions......Page 99
3.12 Utilities for XML Objects in DB2 for z/OS......Page 100
3.12.1 REPORT TABLESPACESET for XML......Page 102
3.12.2 Reorganizing XML Data in DB2 for z/OS......Page 103
3.12.3 CHECK DATA for XML......Page 104
3.13.1 Controlling the Memory Consumption of XML Operations......Page 106
3.13.2 Redirecting XML Parsing to zIIP and zAAP......Page 107
3.14 Summary......Page 108
Chapter 4 Inserting and Retrieving XML Data......Page 110
4.1.1 Simple Insert Statements......Page 111
4.1.2 Reading XML Documents from Files or URLs......Page 114
4.2 Deleting XML Documents......Page 117
4.3 Retrieving XML Documents......Page 118
4.4 Handling Documents with XML Declarations......Page 120
4.5 Copying Full XML Documents......Page 121
4.6 Dealing with XML Special Characters......Page 122
4.7 Understanding XML Whitespace and Document Storage......Page 124
4.7.1 Preserving XML Whitespace......Page 126
4.7.2 Changing the Whitespace Default from “Strip” to “Preserve”......Page 128
4.7.3 Storing XML Documents for Compliance......Page 129
4.8 Summary......Page 130
Chapter 5 Moving XML Data......Page 132
5.1.1 Exporting XML Documents to a Single File......Page 133
5.1.2 Exporting XML Documents as Individual Files......Page 135
5.1.4 Exporting XML Documents to One or Multiple Dedicated Directories......Page 137
5.1.5 Exporting Fragments of XML Documents......Page 139
5.1.6 Exporting XML Data with XML Schema Information......Page 140
5.2 Importing XML Data in DB2 for Linux, UNIX, and Windows......Page 141
5.2.1 IMPORT Command and Input Files......Page 142
5.2.2 Import/Insert Performance Tips......Page 143
5.3 Loading XML Data in DB2 for Linux, UNIX, and Windows......Page 144
5.4 Unloading XML Data in DB2 for z/OS......Page 146
5.5 Loading XML Data in DB2 for z/OS......Page 149
5.7 Splitting Large XML Documents into Smaller Documents......Page 151
5.8 Replicating and Publishing XML Data......Page 153
5.9 Federating XML Data......Page 155
5.10 Managing XML Data with HADR......Page 156
5.11 Handling XML Data in db2look and db2move......Page 157
5.12 Summary......Page 158
Chapter 6 Querying XML Data: Introduction and XPath......Page 160
6.1 An Overview of Querying XML Data......Page 161
6.2.1 Sequences......Page 163
6.2.2 Sequence in, Sequence out......Page 165
6.3 Sample Data for XPath, SQL/XML, and XQuery......Page 166
6.4 Introduction to XPath......Page 167
6.4.2 Simple XPath Queries......Page 168
6.5 How to Execute XPath in DB2......Page 172
6.6 Wildcards and Double Slashes......Page 175
6.7 XPath Predicates......Page 177
6.8 Existential Semantics......Page 182
6.9 Logical Expressions with and, or, not()......Page 183
6.10 The Current Context and the Parent Step......Page 186
6.11 Positional Predicates......Page 188
6.12 Union and Construction of Sequences......Page 189
6.13 XPath Functions......Page 190
6.14 General and Value Comparisons......Page 191
6.16 Summary......Page 192
Chapter 7 Querying XML Data with SQL/XML......Page 194
7.1 Overview of SQL/XML......Page 195
7.2 Retrieving XML Documents or Document Fragments with XMLQUERY......Page 196
7.2.1 Referencing XML Columns in SQL/XML Functions......Page 197
7.2.2 Retrieving Element Values Without XML Tags......Page 198
7.2.3 Retrieving Repeating Elements with XMLQUERY......Page 199
7.3.1 Generating Rows and Columns from XML Data......Page 200
7.3.2 Dealing with Missing Elements......Page 202
7.3.3 Avoiding Type Errors......Page 203
7.3.4 Retrieving Repeating Elements with XMLTABLE......Page 204
7.3.5 Numbering XMLTABLE Rows Based on Repeating Elements......Page 208
7.3.6 Retrieving Multiple Repeating Elements at Different Levels......Page 209
7.4 Using XPath Predicates in SQL/XML with XMLEXISTS......Page 212
7.5 Common Mistakes with SQL/XML Predicates......Page 216
7.6 Using Parameter Markers or Host Variables......Page 218
7.7 XML Queries with Dynamically Computed XPath Expressions......Page 220
7.8 Ordering a Query Result Set Based on XML Values......Page 221
7.9 Converting XML Values to Binary SQL Types......Page 222
7.10 Summary......Page 223
Chapter 8 Querying XML Data with XQuery......Page 224
8.1 XQuery Overview......Page 225
8.2.1 Anatomy of a FLWOR Expression......Page 226
8.2.2 Understanding the for and let Clauses......Page 228
8.2.3 Understanding the where and order by Clauses......Page 229
8.2.4 FLWOR Expressions with Multiple for and let Clauses......Page 230
8.3 Comparing FLWOR Expressions, XPath Expressions, and SQL/XML......Page 231
8.3.1 Traversing XML Documents......Page 232
8.3.2 Using XML Predicates......Page 233
8.3.3 Result Set Cardinalities in XQuery and SQL/XML......Page 235
8.3.4 Using FLWOR Expressions in SQL/XML......Page 236
8.4.1 Constructing Elements with Computed Values......Page 237
8.4.2 Constructing XML Data with Predicates and Conditions......Page 239
8.4.3 Constructing Documents with Multiple Levels of Nesting......Page 241
8.4.4 Constructing Documents with XML Aggregation in SQL/XML Queries......Page 242
8.5 Data Types, Cast Expressions, and Type Errors......Page 243
8.6 Arithmetic Expressions......Page 247
8.7 XQuery Functions......Page 249
8.7.1 String Functions......Page 250
8.7.2 Number and Aggregation Functions......Page 253
8.7.3 Sequence Functions......Page 255
8.7.4 Namespace and Node Functions......Page 257
8.7.5 Date and Time Functions......Page 259
8.7.6 Boolean Functions......Page 261
8.8 Embedding SQL in XQuery......Page 262
8.9 Using SQL Functions and User-Defined Functions in XQuery......Page 264
8.10 Summary......Page 265
9.1 Aggregation and Grouping of XML Data......Page 268
9.1.1 Aggregation and Grouping Queries with XMLTABLE......Page 269
9.1.2 Aggregation of Values within and across XML Documents......Page 271
9.1.3 Grouping Queries in SQL/XML versus XQuery......Page 272
9.2 Join Queries with XML Data......Page 274
9.2.1 XQuery Joins between XML Columns......Page 275
9.2.2 SQL/XML Joins between XML Columns......Page 277
9.2.3 Joins between XML and Relational Columns......Page 283
9.2.4 Outer Joins between XML Columns......Page 285
9.3 Case-Insensitive XML Queries......Page 287
9.4.1 Construction of Excessively Large Documents......Page 288
9.4.2 “Between” Predicates on XML Data......Page 289
9.4.3 Large Global Sequences......Page 291
9.4.4 Multilevel Nesting SQL and XQuery......Page 292
9.5 Common Errors and How to Avoid Them......Page 293
9.5.2 SQL16002N......Page 294
9.5.3 SQL16003N......Page 295
9.5.4 SQL16005N......Page 296
9.5.5 SQL16015N......Page 297
9.5.7 SQL16061N......Page 298
9.6 Summary......Page 299
Chapter 10 Producing XML from Relational Data......Page 302
10.1 SQL/XML Publishing Functions......Page 303
10.1.1 Constructing XML Elements from Relational Data......Page 304
10.1.2 NULL Values, Missing Elements, and Empty Elements......Page 309
10.1.3 Constructing XML Attributes from Relational Data......Page 310
10.1.4 Constructing XML Documents from Multiple Relational Rows......Page 312
10.1.5 Constructing XML Documents from Multiple Relational Tables......Page 316
10.1.7 Conditional Element Construction......Page 319
10.1.8 Leading Zeros in Constructed Elements and Attributes......Page 320
10.1.9 Default Tagging of Relational Data with XMLROW and XMLGROUP......Page 321
10.1.10 GUI-Based Definition of SQL/XML Publishing Queries......Page 324
10.2 Using XQuery Constructors with Relational Input......Page 325
10.3 XML Declarations for Constructed XML Data......Page 327
10.4 Inserting Constructed XML Data into XML Columns......Page 329
10.5 Summary......Page 330
11.1 Advantages and Disadvantages of Shredding......Page 332
11.2 Shredding with the XMLTABLE Function......Page 336
11.2.1 Hybrid XML Storage......Page 338
11.2.2 Relational Views over XML Data......Page 340
11.3.1 Annotating an XML Schema......Page 341
11.3.3 Registering an Annotated Schema......Page 346
11.3.4 Decomposing One XML Document at a Time......Page 347
11.3.5 Decomposing XML Documents in Bulk......Page 350
11.4 Summary......Page 353
Chapter 12 Updating and Transforming XML Documents......Page 356
12.1 Replacing a Full XML Document......Page 357
12.2 Modifying Documents with XQuery Updates......Page 359
12.3.1 Replacing an Element Value......Page 361
12.3.2 Replacing an Attribute Value......Page 362
12.3.4 Replacing Multiple Values in a Document......Page 363
12.3.5 Replacing an Existing Value with a Computed Value......Page 364
12.4 Replacing XML Nodes in a Document......Page 366
12.5 Deleting XML Nodes from a Document......Page 368
12.6 Renaming Elements or Atttributes in a Document......Page 369
12.7.1 Defining the Position of Inserted Elements......Page 370
12.7.2 Defining the Position of Inserted Attributes......Page 371
12.7.3 Insert Examples......Page 372
12.8 Handling Repeating and Missing Nodes......Page 375
12.9.1 Snapshot Semantics and Confiict Situations......Page 378
12.9.2 Converting Elements to Attributes and Vice Versa......Page 380
12.10 Modifying XML Documents in Queries......Page 381
12.11 Modifying XML Documents in Insert Operations......Page 384
12.12 Modifying XML Documents in Update Cursors......Page 385
12.13 XML Updates in DB2 for z/OS......Page 386
12.14 Transforming XML Documents with XSLT......Page 387
12.14.1 The XSLTRANSFORM Function......Page 388
12.14.2 XML to HTML Transformation......Page 391
12.15 Summary......Page 393
Chapter 13 Defining and Using XML Indexes......Page 396
13.1 Defining XML Indexes......Page 397
13.1.1 Unique XML Indexes......Page 399
13.1.2 Lean XML Indexes......Page 400
13.1.3 Using the DB2 Control Center to Create XML Indexes......Page 401
13.2.1 VARCHAR(n)......Page 402
13.2.2 VARCHAR HASHED......Page 403
13.2.5 Choosing a Suitable Index Data Type......Page 404
13.2.6 Rejecting Invalid Values......Page 406
13.3.1 Understanding Index Eligibility......Page 408
13.3.2 Data Types in XML Indexes and Query Predicates......Page 409
13.3.3 Text Nodes in XML Indexes and Query Predicates......Page 410
13.3.4 Wildcards in XML Indexes and Query Predicates......Page 411
13.3.5 Using Indexes for Structural Predicates......Page 412
13.4 XML Indexes and Join Predicates......Page 414
13.5 XML Indexes on Non-Leaf Elements......Page 418
13.6.2 Parent Steps......Page 420
13.6.3 The let and return Clauses......Page 421
13.7.1 XML Index Keys......Page 422
13.7.2 Logical and Physical XML Indexes......Page 424
13.8 XML Index Statistics......Page 425
13.9 Summary......Page 428
Chapter 14 XML Performance and Monitoring......Page 430
14.1.1 The Explain Tables in DB2 for Linux, UNIX, and Windows......Page 431
14.1.2 Using db2exfmt to Obtain Access Plans......Page 432
14.1.3 Using Visual Explain to Display Access Plans......Page 435
14.1.4 Access Plan Operators......Page 436
14.1.5 Understanding and Analyzing XML Query Execution Plans......Page 438
14.2.1 The Explain Tables in DB2 for z/OS......Page 444
14.2.2 Obtaining Access Plan Information in SPUFI......Page 445
14.2.3 Using Visual Explain to Display Access Plans......Page 446
14.2.4 Access Plan Operators......Page 448
14.2.5 Understanding and Analyzing XML Query Execution Plans......Page 449
14.3.1 Statistics Collection for XML Data in DB2 for z/OS......Page 452
14.3.2 Statistics Collection for XML Data in DB2 for Linux, UNIX, and Windows......Page 453
14.3.3 Examining XML Statistics with db2cat......Page 454
14.4.1 Using the Snapshot Monitor in DB2 for Linux, UNIX, and Windows......Page 459
14.4.2 Monitoring Database Utilities......Page 462
14.5.1 XML Document Design......Page 463
14.5.2 XML Storage......Page 464
14.5.3 XML Queries......Page 465
14.5.4 XML Indexes......Page 467
14.5.5 XML Updates......Page 468
14.5.7 XML Applications......Page 469
14.6 Summary......Page 470
15.1 Introduction to XML Namespaces......Page 472
15.1.1 Namespace Declarations in XML Documents......Page 474
15.1.2 Default Namespaces......Page 477
15.2 Exploring Namespaces in XML Documents......Page 479
15.3 Querying XML Data with Namespaces......Page 482
15.3.1 Declaring Namespaces in XML Queries......Page 483
15.3.2 Using Namespace Declarations in SQL/XML Queries......Page 486
15.3.3 Using Namespaces in the XMLTABLE Function......Page 487
15.3.4 Dealing with Multiple Namespaces per Document......Page 489
15.4 Creating Indexes for XML Data with Namespaces......Page 491
15.5.1 SQL/XML Publishing Functions and Namespaces......Page 495
15.5.2 XQuery Constructors and Namespaces......Page 497
15.6 Updating XML Data with Namespaces......Page 498
15.6.1 Updating Values in Documents with Namespaces......Page 499
15.6.2 Renaming Nodes in Documents with Namespace Prefixes......Page 500
15.6.3 Renaming Nodes in Documents with Default Namespaces......Page 502
15.6.4 Inserting and Replacing Nodes in Documents with Namespaces......Page 503
15.7 Summary......Page 504
Chapter 16 Managing XML Schemas......Page 506
16.1 Introduction to XML Schemas and Their Usage......Page 507
16.1.1 Valid Versus Well-Formed XML Documents......Page 508
16.1.3 Custom Versus Industry Standard XML Schemas......Page 509
16.2 Anatomy of an XML Schema......Page 511
16.3 An XML Schema with Include and Import......Page 514
16.4 Registering XML Schemas......Page 518
16.4.1 Registering XML Schemas in the DB2 Command Line Processor......Page 519
16.4.2 Registering XML Schemas from Applications via Stored Procedures......Page 521
16.4.3 Registering XML Schemas from Java Applications via JDBC......Page 523
16.4.4 Two XML Schemas Sharing a Common Schema Document......Page 524
16.4.5 Error Situations and How to Resolve Them......Page 525
16.5 Removing XML Schemas from the Schema Repository......Page 527
16.6 XML Schema Evolution......Page 528
16.6.2 Generic Schema Evolution with Document Validation......Page 529
16.6.3 Compatible Schema Evolution with the UPDATE XMLSCHEMA Command......Page 530
16.7 Granting and Revoking XML Schema Usage Privileges......Page 534
16.8 Document Type Definitions (DTDs) and External Entities......Page 536
16.9 Browsing the XML Schema Repository (XSR)......Page 537
16.9.1 Tables and Views of the XML Schema Repository......Page 538
16.9.2 Queries against the XML Schema Repository......Page 543
16.10 XML Schema Considerations in DB2 for z/OS......Page 545
16.11 Summary......Page 547
Chapter 17 Validating XML Documents against XML Schemas......Page 548
17.1 Document Validation Upon Insert......Page 549
17.2 Document Validation Upon Update......Page 553
17.3 Validation without Rejecting Invalid Documents......Page 554
17.4 Enforcing Validation with Check Constraints......Page 555
17.5 Automatic Validation with Triggers......Page 558
17.6 Diagnosing Validation and Parsing Errors......Page 560
17.7.1 Validation against a Single XML Schema......Page 565
17.7.2 Validation against Multiple XML Schemas......Page 566
17.7.4 Overriding XML Schema References......Page 567
17.8 Checking Whether an Existing Document Has Been Validated......Page 569
17.9 Validating Existing Documents in a Table......Page 570
17.10 Finding the XML Schema for a Validated Document......Page 573
17.12 Considerations for Validation in DB2 for z/OS......Page 575
17.12.1 Document Validation Upon Insert......Page 576
17.12.2 Document Validation Upon Update......Page 577
17.12.4 Summary of Platform Similarities and Differences......Page 578
17.13 Summary......Page 579
Chapter 18 Using XML in Stored Procedures, UDFs, and Triggers......Page 582
18.1.1 Basic XML Manipulation in Stored Procedures......Page 583
18.1.2 A Stored Procedure to Store XML in a Hybrid Manner......Page 585
18.1.3 Loops and Cursors......Page 588
18.1.4 A Stored Procedure to Update a Selected XML Element or Attribute......Page 589
18.1.5 Three Tips for Testing Stored Procedures......Page 590
18.2 Manipulating XML in User-Defined Functions......Page 591
18.2.2 A UDF to Extract the Values of a Repeating Element......Page 592
18.2.3 A UDF to Shred XML Data to a Relational Table......Page 593
18.2.4 A UDF to Modify an XML Document......Page 594
18.3 Manipulating XML Data with Triggers......Page 596
18.3.1 Insert Triggers on Tables with XML Columns......Page 597
18.3.2 Delete Triggers on Tables with XML Columns......Page 598
18.4 Summary......Page 599
Chapter 19 Performing Full-Text Search......Page 602
19.1 Overview of Text Search in DB2......Page 603
19.2 Sample Table and Data......Page 605
19.3 Enabling a Database for the DB2 Net Search Extender......Page 606
19.4.1 Creating Basic Text Indexes......Page 607
19.4.2 Creating Text Indexes with Specific Storage Paths......Page 608
19.4.3 Creating Text Indexes with a Periodic Update Schedule......Page 609
19.4.4 Creating Text Indexes for Specific Parts of Each Document......Page 611
19.4.5 Creating Text Indexes with Advanced Options......Page 613
19.4.6 Updating and Reorganizing Text Indexes......Page 614
19.4.7 Altering Text Indexes......Page 615
19.5.1 Full-Text Search in SQL and XQuery......Page 616
19.5.2 Full-Text Search with Boolean Operators......Page 618
19.5.3 Full-Text Search with Custom Document Models......Page 620
19.5.4 Advanced Search with Proximity, Fuzzy, and Stemming Options......Page 621
19.5.5 Finding the Correct Match within an XML Document......Page 622
19.5.7 Text Search in the Presence of Namespaces......Page 623
19.6.1 Enabling a Database for DB2 Text Search......Page 625
19.6.2 Creating and Maintaining Full-Text Indexes for DB2 Text Search......Page 626
19.6.3 Writing DB2 Text Search Queries for XML Data......Page 627
19.6.4 Full-Text Search with XPath Expressions......Page 628
19.7 Summary of Text Search Administration Commands......Page 629
19.9 Summary......Page 631
Chapter 20 Understanding XML Data Encoding......Page 632
20.1.1 Internally Encoded XML Data......Page 634
20.1.2 Externally Encoded XML Data......Page 635
20.3 Using Non-Unicode Databases for XML......Page 636
20.4.1 Example 1: Chinese Characters in a Non-Unicode Code Page ISO-8859-1......Page 637
20.4.2 Example 2: Fetching Data from a Non-Unicode Code Database into a Character Type Application Variable......Page 638
20.4.3 Example 3: Encoding Issues with XMLTABLE and XMLCAST......Page 639
20.4.5 Example 5: Data Expansion and Shrinkage Due to Code Page Conversion......Page 640
20.6 Summary......Page 641
Chapter 21 Developing XML Applications with DB2......Page 644
21.1.1 Avoid XML Parsing in the Application Layer......Page 645
21.1.3 Rapid Prototyping......Page 647
21.2 Using Parameter Markers or Host Variables......Page 648
21.3.1 XML Support in JDBC 3.0......Page 650
21.3.2 XML Support in JDBC 4.0......Page 654
21.3.3 Comprehensive Example of Manipulating XML Data with JDBC 4.0......Page 656
21.3.4 Creating XML Documents from Application Data......Page 662
21.3.6 IBM pureQuery......Page 664
21.4 .NET Applications......Page 666
21.4.1 Querying XML Data in .NET Applications......Page 667
21.4.2 Manipulating XML Data in .NET Applications......Page 668
21.4.3 Inserting XML Data from .NET Applications......Page 670
21.5 CLI Applications......Page 671
21.6 Embedded SQL Applications......Page 674
21.6.1 COBOL Applications with Embedded SQL......Page 675
21.6.2 PL/1 Applications with Embedded SQL......Page 678
21.6.3 C Applications with Embedded SQL......Page 680
21.7 PHP Applications......Page 682
21.8 Perl Applications......Page 685
21.9 XML Application Development Tools......Page 686
21.9.1 IBM Data Studio Developer......Page 687
21.9.3 Altova XML Tools......Page 691
21.9.4......Page 693
21.10 Summary......Page 694
22.1.1 Catalog Information for XML Columns......Page 696
22.1.2 The XML Strings and Paths Tables......Page 697
22.1.3 The Internal XML Regions and Path Indexes......Page 698
22.1.4 Catalog Information for User-Defined XML Indexes......Page 699
22.2.1 Catalog Information for XML Storage Objects......Page 702
22.2.2 Catalog Information for XML Indexes......Page 706
22.2.3 Catalog Information for XML Schemas......Page 707
22.3 Summary......Page 708
23.1 Designing XML Data and Applications......Page 710
23.2 Designing and Managing Storage Objects for XML......Page 712
23.3 Inserting and Retrieving XML Data......Page 715
23.4 Moving XML Data......Page 716
23.5 Querying XML......Page 717
23.6 Producing XML from Relational Data......Page 721
23.7 Converting XML to Relational Data......Page 722
23.8 Updating and Transforming XML Documents......Page 723
23.9 Defining and Using XML Indexes......Page 724
23.10 XML Performance and Monitoring......Page 727
23.11 Managing XML Data with Namespaces......Page 728
23.12 XML Schemas and Validation......Page 729
23.13 Performing Full-Text Search......Page 731
23.14 XML Application Development......Page 732
23.15 Answers......Page 735
A.1.1 Exploring XML Documents in the DB2 Control Center......Page 738
A.1.2 Exploring XML Documents in the CLP......Page 739
A.1.3 Exploring XML Documents in SPUFI......Page 740
A.2 Tips for Running XML Operations in the CLP......Page 741
B.1 XML Sample Database on DB2 for Linux, UNIX, and Windows......Page 744
B.3 Table customer—Column info......Page 745
B.4 Table product—Column description......Page 747
B.5 Table purchaseorder—Column porder......Page 748
C.1 General Resources for All Chapters......Page 752
C.2 Chapter-Specific Resources......Page 753
C.3 Resources on the Integration of DB2 pureXML with Other Products......Page 761
A......Page 762
B......Page 763
C......Page 764
D......Page 766
E......Page 769
F......Page 771
I......Page 772
L......Page 774
N......Page 775
O......Page 776
P......Page 777
Q......Page 778
R......Page 779
S......Page 781
T......Page 784
V......Page 785
W......Page 786
X......Page 787
Y–Z......Page 791