| Knowledge Base | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Inicio > Databases > IBM-DB2u | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
IBM DB2u V7 Features
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Indice de contenido
DB2 Universal Database Version 7 Family Enhancements
Stored Procedures
Business Intelligence Enhancements
Data Management Enhancements
DB2 Family Compatibility Enhancements
Miscellaneous DB2 Family Specific Enhancements
OLAP Enhancements
Automated Summary Table (ASTs)
OS/390
Utility Improvements
Faster Restart in Data Sharing
Statistics Reporting
Summary
This report is to examine DB2 Universal Database Version 7 and provide an overview of the enhancements for all DB2 platforms, including OS/390, UNIX, Windows, OS/2, and related platforms. The most notable change with Version 7 is that the family is becoming just one word: DB2. DB2 for OS/390 benefits from features that were only known on the other platforms, and UNIX, Windows, OS/2 likewise receive features that were only on the OS/390 platform. A large set of common enhancements has been added across all platforms. By necessity, other enhancements must be platform specific. All members have more features in Version 7, allowing them to achieve the kind of performance and availability on their respective platforms that one would expect from DB2, especially in the area of e-business. The DB2 family has grown very close in the last few years with its foundation deeply rooted in being the most scalable and reliable database in the industry. With DB2 Universal Database Version 7, it has been designed from the ground up for Dot Coms. It is very obvious with this release that IBM is targeting a set of application development tools that customers can use to develop for both DB2 for OS/390 and also DB2 for UNIX, Windows, and OS/2. SQL procedures, for example, have now been rolled out across the DB2 family on OS/390, AS/400, UNIX, Windows, and OS/2. IBM is not only bringing application development tools together, they are driving the SQL language features closer together as well. The XML extender is another prime example, as are identity values, nested stored procedures, externalized savepoints, declared global temporary tables, DCLGEN capability, and validate (RUN). SQL stored procedures can be created and maintained with the Stored Procedure Builder for any DB2 server platform. Some of the many SQL enhancements implemented across the family are searched UPDATE and DELETE allowing self-referencing subqueries and ORDER BY elements not required in the SELECT list. IBM is also continuing to enhance common administration capabilities across the DB2 family, with Control Center available on all platforms and enhancements that include the addition of a Data Warehouse Center; the latter can manage warehouse operations across the DB2 family and beyond. Consistent DB2 and DB2 middleware solutions across mainframe and distributed server platforms provide the opportunity for savings in application development/deployment/maintenance costs for multi-platform environments and for savings in training costs for application developers and DBAs in multi-platform IT organizations. This solution also provides a cohesive, standards-based architectural foundation for multi-platform, network computing data management environments, allowing us to better leverage our existing technology and skills. DB2 UDB Version 7 is the only database that fully integrates e-business, business intelligence and content management. It delivers improved performance, availability, and scalability for data warehouse applications and e-business. It has been enhanced in the areas of access, management, availability, scalability and applications. We will discuss the family enhancements first in a section that breaks the enhancements into the three groups of e-business, business intelligence, and data management. We will then examine features that have been added to each platform; these features were previously available on the other platforms. Lastly we will examine platform specific features.
E-business enhancements
XML support
For web-based businesses, DB2 Version 7 provides more native support for XML via a DB2 extender. It is now possible to combine structured XML information with traditional relational data. You can choose whether to store entire XML documents in DB2 as an XML Character Large Object (XMLCLOB), or you can map the XML content as traditional data in relational tables. The XML Extender adds the ability for powerful searching of rich data types of XML element or attribute values, even for nontraditional XML data types. Incoming XML documents can be decomposed into traditional SQL data types and placed in columns. Traditional SQL data can also be used to compose outgoing XML documents. Mapping methods have been implemented to provide for the transformation between XML documents and relational data. This will allow for decomposing an XML document into one or more pieces for storing in tables. Data in existing relational tables can be used to compose XML documents. By using the XML Extender and its set of defined UDTs, an application can store entire XML documents as column data in an application table. The UDTs also provide for the composition or decomposition of the contents of XML documents from or into an XML collection. These XML collections can be made up of one or more regular DB2 tables. These user-defined functions provide a long list of capabilities. Also Net.Data now has built-in exploitation to generate XML tags rather than manually entering them.
Stored Procedure Builder
Nested Stored Procedures
Stored Procedure COMMIT/ROLLBACK
SQL Procedures Language
IF, CASE and LEAVE LOOP, REPEAT, and WHILE FOR, CALL, and RETURN GET DIAGNOSTICS SIGNAL and RESIGNAL The real difference with the SQL Procedures Language is how it becomes a stored procedure, since all one does is write a "CREATE PROCEDURE...LANGUAGE SQL...name: BEGIN...END name" DDL statement. All the code is in the body of the create statement. Now that DB2 supports the SQL Procedures Language, we can all begin migrating those applications written using Informix SPL, Oracle PL/SQL, Sybase Transact SQL, and Microsoft SQL Server Transact SQL systems to DB2. There are some differences in which SQL Procedures Language features have been delivered on each of the platforms. Figure 1 below shows both the similarities and differences (source: IBM).
Figure 1
Remote Access
Declared Temporary
Tables
The DECLARE GLOBAL TEMPORARY TABLE statement defines a temporary table for the current session, not only for a Unit of Work (UOW). The table description does not appear in the system catalog. It is not persistent and cannot be shared. This statement can be embedded in an application program or issued through the use of dynamic SQL statements. It is an executable statement that can also be dynamically prepared. Each session that defines a declared global temporary table of the same name has its own unique instantiation of the temporary table. When the session terminates, the temporary table is dropped. With declared temporary tables, some of the locking, DB2 catalog updates, and DB2 restart forward and backward log recoveries that are associated with persistent base tables are avoided. No authority is required to issue the DECLARE GLOBAL TEMPORARY TABLE statement, but an authority will be required to use the new user temporary table space where the table will be materialized. Declared Temporary Tables may be useful for applications that need to extract data from various sources and use them in SQL joins, or for data that needs to be used repetitively, or kept separate from other OLTP processes. They could also be used as staging areas for data that comes from various sources so that the data may be manipulated before storing it permanently in regular tables. Two of examples of the syntax for Declared Temporary Tables are shown below. DECLARE GLOBAL TEMPORARY TABLE
SESSION.ACCOUNT
LIKE CLAIMS.ACCOUNT
INSERT INTO SESSION.ACCOUNT
SELECT * FROM CLAIMS.ACCOUNT
NOT LOGGED
DECLARE GLOBAL TEMPORARY TABLE
SESSION.ACCOUNT
AS
(SELECT * FROM CLAIMS.ACCOUNT)
DEFINITION ONLY
NOT LOGGED
There are some differences in the way declared temporary tables have been implemented on DB2 UDB for UNIX, Windows, OS/2 versus DB2 UDB for OS/390. (These differences are temporary and are simply a matter of rollout) The differences are noted in Figure 2 (Source: IBM):
Figure 2
Several enhancements have been made in the processes supporting business intelligence operations. Tools have been introduced to provide us with the ability to perform extensive analytic processing on data from various sources.
Control Center Enhancements
During a recent demonstration of DB2 Version 7, the presenter casually went into the Command Center, ran a query, and then began editing the table in the result window. Using the SHOW SQL feature, this SQL was saved in a script for later processing. This feature, along with several other changes to the Control Center, provides a richer functionality. Many of these features should be evaluated to determine if they change standard DBA procedures and tools within your shop.
DB2 Warehouse Center
and Warehouse Manager These warehouse functions are managed through a new component called the Data Warehouse Center. The Data Warehouse Center is itself incorporated into the Control Center. The Data Warehouse Center includes functions to define data sources, manage data movement and transformation, populate the metadata repository, and create generic schema models including the logical star model for the DB2 OLAP Server. This functionality, which was previously available in Visual Warehouse, has been enhanced to include more transformations and an improved user interface. A set of warehouse transformers is included for data cleansing, generating key columns and period tables, and inverting and pivoting data. A wide selection of statistical transformers performs such functions as: basic statistics, subtotals, rollups, cube calculations, moving averages, regression, correlation analysis and other functions. In all, there are over 100 built-in transformers. You can also build user-defined functions to create your own transformers. There is an important family side benefit with the DB2 Warehouse Manager. It can be used for either OS/390 to OS/390 point-to-point data movement or point to point to any member of the DB2 family. With federated data access provided by DB2 DataJoiner integration, the warehouse center can be used to manage the process of moving data from Oracle to DB2 as well. When this product is purchased with DB2 for OS/390, it not only includes the workstation GUI control center, but also a full set of procedures for managing the warehouse and data natively on the 390. The replication controls with Warehouse Center will also allow for heterogeneous data sourcing into a warehouse on any of the possible target platforms. With DB2 Warehouse Manager for OS/390, the QMF family includes QMF for Windows, QMF for OS/390, and QMF High Performance Option (HPO), for query and management of your 390 warehouse.
Other helpful features Some integration enhancements have been added for building applications with the Microsoft Visual Studio product. A Visual Studio plug-in is available for DB2 management tools and wizards that simply plug into the Visual C/C++ component of the Visual Studio IDE. This will help with the development of client applications, building of stored procedures, and assist with writing SQL. A toolbar is now available to launch DB2 development and administration tools from Visual Studio. DB2 UDB also supports some new features of Windows 2000. Most important is the support of DB2 authentication through the sign-on facilities of Kerberos. There are some additional integrations because the DB2 Control Center can be launched from the Microsoft Management Console. DB2 services and protocol configurations will also be published in the Active Directory so that client applications can easily connect to DB2.
External SAVEPOINTs
SAVEPOINT name ABC (other options) This enables milestones within a unit of recovery and represents the state of the data and schema at a particular point in time. You can use ROLLBACK to restore to a savepoint. This would be useful when you have reached a point during a UNIT-OF-WORK and need to back out without ROLLBACK over the entire UNIT-OF-WORK. There are subtle differences in the way this works on different family members. On the OS/390 platform you can name the individual SAVEPOINTs and then ROLLBACK to whichever point is required, based on the application processing requirements skipping over individual savepoints, while on the other platforms there can be only one active savepoint. This difference of course is just a matter of rollout before savepoints will operate in the same manner.
Identity columns
CREATE TABLE MY_TABLE (ACCOUNT INTEGER NOT NULL GENERATED ALWAYS AS IDENTITY START WITH 100000 INCREMENT BY 100 CACHE 20 Each table can have only one identity column defined to it. Identity columns are ideally suited for the task of generating unique primary key values such as employee number, order number, item number, or account number. The columns must be a data type that is arithmetic and exact, which means that SMALLINT, INTEGER, BIGINT, or DECIMAL with a scale of zero can be used. It is also possible to use a distinct type based on one of these types. Single and double precision floating point data types are not listed since they are considered to be approximate numeric data types, not exact. Identity columns can also be used to alleviate concurrency problems for situations caused by application generated sequence numbers.
Self-referencing Subselect
on UPDATE or DELETE
ODBC/CLI Static Execution
Precompiler Services
DB2 for UNIX, Windows, OS/2 VALIDATE(RUN)
DB2 for OS/390Scrollable cursors
Cursor Declaration DECLARE cur1 INSENSITIVE SCROLL CURSOR FOR ... DECLARE cur2 SENSITIVE STATIC SCROLL CURSOR FOR ... Both sensitive and insensitive scroll cursors will use a fixed, declared temporary table for the result set. While the creation of the temporary table is done automatically by DB2, static cursors require a declared temp database and predefined table spaces. An insensitive scroll cursor is not updateable, and will not show changes done by the user or by other users. Sensitive static cursors will show changes made by the user and other users, except inserts. Naturally, inserts are not done via cursors. The other keyword to explain is STATIC. Sensitive static cursors use a declared temporary table. In contrast, a sensitive dynamic cursor would directly access the base table. Sensitive dynamic cursors are not included in DB2 Version 7, but are under consideration for the future. Static scroll cursors will have their result table kept in sync with the base table as each row is fetched. There will be a fixed number of rows in the result table, and it will be dropped when the cursor is closed.
Fetching With Scrollable
Cursors The next keyword is the position within the result table. Valid values are:
Visibility of updates is a key concern with scrollable cursors. Your own cursor's changes via positioned updates and deletes will be visible to you because the result is updated at the same time as the base table. These changes are not made permanent until commit time. Other people's changes, or changes you make outside of the cursor, will be visible to your cursor only if you specified FETCH SENSITIVE and the changes are committed. It is not possible to see uncommitted changes from another person. With sensitive cursors, it is possible for data changes to the base table to create holes in the result table. A delete hole is created when a corresponding row in the base table is deleted. This row will not appear again in the result table if the row is re-inserted. An update hole is created when the values in the row no longer qualify it as part of the result table based on the predicates in the WHERE clause of the DECLARE CURSOR statement. Users will receive an SQLCODE when they attempt to retrieve the row, but the row can reappear on a subsequent sensitive fetch on the update hole. An interesting consideration arises when updating using the isolation level of cursor stability (CS) with scrollable cursors. When a positioned update or delete (WHERE CURRENT OF) is requested, DB2 will lock the row, reevaluate the predicate, and compare by column value to determine if the update can be allowed. Repeatable Read (RR) and Read Stability (RS) lock every row or every row qualifying as a stage 1 predicate, so their use is not affected. Uncommitted Read (UR) takes no locks, so its use for updates should be discouraged.
Example CREATE TABLE AEROMILES
(FLYDATE DATE,
MILES SMALLINT,
DESCRIPTION CHAR(30))
IN MILESDB.MTS;
DECLARE MILECURS STATIC SENSITIVE SCROLL CURSOR FOR
SELECT FLYDATE, MILES, DESCRIPTION
FROM AEROMILES
ORDER BY FLYDATE ;
OPEN MILECURS;
FETCH LAST MILECURS;
DO I= 1 TO 5;
FETCH PRIOR MILECURS INTO :FLYDATE, :MILES, :DESCRIPTION;
Display logic...
END;
Usage Considerations
For Scrollable Cursors Fetches are still one row at a time. To retrieve a screen's worth of data, a loop is required to get the number of rows required. If data is needed once in a forward direction only, scrollable cursors are not needed. INSENSITIVE or SENSITIVE STATIC SCROLL cursors should be used if you want to work with a fixed answer set without relying on the Optimizer to choose a work file. If only the first few rows of an answer set are needed, consider using FETCH FIRST n ROWS ONLY on the DECLARE CURSOR statement. Ensure you have sufficient table space storage in your TEMP database. If data does not need to be current, use INSENSITIVE on either the DECLARE or the FETCH. As before, isolation level CS should be used in most cases. Remember to commit changes to make them available and use cursors WITH HOLD to retain position.
Unicode Data Storage
and Manipulation
Fetch for Limited Rows The functionality in Version 6 and earlier releases allowed for the OPTIMIZE FOR n ROWS clause, which was meant to provide additional information to the Optimizer about the intent. This clause, while useful, could allow the entire answer set to be retrieved. In contrast, the FETCH FOR n ROWS ONLY stops processing after the specified number of rows. This provides direct control to the application programmer on the size of the result table. For example, an implementation limit on the number of rows displayed for an online screen can now be enforced.
Row Expressions SELECT * FROM TABLE WHERE (col1, col2, col3) IN (SELECT cola, colb, colc from TABLE) This predicate will be true when all three columns on the left equal the three values in any single row returned in the result set from the subquery. This will also allow the use of quantified predicates with row expressions.
UNION Everywhere
Control Center
Utility Support Support is also now included for utility IDs. This is done in the new Tools Settings notebook. It allows for a utility ID template to be created using a variety of variables such as USERID and UTILNAME. You will be able to edit a utility ID to make it more meaningful before execution of the utility.
Dataset Management
DDL Generation
Integrated SQL Assist
Index Advisor The Index Advisor reduces the need to design and define suitable indexes for your data, but certainly does not do away with all index design strategies. It will certainly help in finding the best indexes for a problem query or for a particular set of queries. It will be a real help for testing an index on a workload without having to create the index. This utility will be able to work on a set of dynamic SQL statements (only dynamic SQL will be supported for the initial rollout; static will be delivered later) which have to be processed over a given period of time, and will handle SELECT, INSERT, UPDATE, and DELETE statements. In addition, it will use statistics from the system and user input to be able to evaluate strategies for given workloads. It will also be able to scan the catalog tables holding SQL from bound applications to make determinations and suggestions. This process is performed by creating a modeling database for DB2 for OS/390 on a DB2 for UNIX, Windows, OS/2 workstation using configuration parameters to mimic DB2 for OS/390. One of the ways to use this tool will be through the Control Center.
DB2 for UNIX, Windows, OS/2
Authorities
Rename Tablespace
RENAME TABLESPACE mstabts TO yourts
>8 Character Userids
Log Enhancements
Logs will also be flushed when an online backup completes. This can save time spent for log management during online backups and guarantees that the images on tape at the time the backup completes are all that are required to perform a restore. The active logs have now been increased from 4GB to 32GB to support the ability to handle longer- running transactions.
Data Links Manager
DB2 OLAP Server Starter Kit
OLAP SQL Extensions Like most features within SQL, the best way to learn the new functionality is by example. One of the "all-time favorite" advanced queries has been to produce a top ten list. The coding of this query is difficult for most SQL programmers. Using the syntax with RANK, the query for the top ten salaries would look like: WITH TT AS (
SELECT EMPNO, DEPT, SALARY,
RANK() OVER (ORDER BY SALARY DESC NULLS LAST) AS RSAL
FROM EMP)
SELECT EMPNO, SALARY
FROM TT
WHERE RSAL <=10;
This query is readable and more likely to be understood and coded correctly. A more extensive example of the OLAP function is the sliding windows aggregate function from Version 7 demonstrated below. select c.custid, sum(ti.amount) as sum, count(*) over(order by sum(ti.amount) desc) as cust_count, sum(decimal(sum(ti.amount),31,5)) over( order by sum(ti.amount) desc )*100.00 / sum(sum(ti.amount)) over () as revenue_percent, count(*) over( order by sum(ti.amount) desc )*100.00/ count(*) over() as cust_percent from trans t, transitem ti, acct a, cust c where t.transid = ti.transid and t.acctid = a.acctid and a.custid = c.custid group by c.custid This query would yield the following result, for example:
Automated Summary Tables
DB2 Spatial Extender
DB2 Query Patroller
Enhancements
The Query Patroller product is tightly integrated with the Control Center and has the ability to capture query history, such as who ran what queries, how long they ran, and what tables and columns are being accessed. It is now part of the DB2 Warehouse Manager product.
DB2 Net Search Extender
DB2 Relational Connect
Catalog Migration
Improved Optimization
DB2 also now supports backwards scanning of indexes. This is useful when doing MAX or MIN functions. Prior to this improvement, you might need two indexes (an ASCending index and a DESCending index) for best performance for these functions. With this enhancement, either an ascending or descending index can be used for either MIN or MAX functions.
Online DSNZPARMs
The advantage to changing ZPARMs dynamically is to be able to tailor parameters to the current workload. For example, an approved change to the EDM Pool size can be implemented sooner without a DB2 outage. It may also be desirable to change not only buffer pool size but also EDM pool size and checkpoint frequency for overnight batch processing. The ZPARM member is changed dynamically in its entirety by activating a different ZPARM member. The "SET SYSPARM" command is used from an OS/390 console, a DSN session under TSO, a DB2I panel, a CICS or IMS terminal, or via an application or product using the Instrumentation Facility. The issuer must have SYSADM, SYSCTRL, or SYSOPR authority. The following forms of the SET SYSPARM statement can be used. -SET SYSPARM LOAD (modname) This loads the named parameter
module. -SET SYSPARM RELOAD The last named subsystem parameter module is loaded into storage. -SET SYSPARM STARTUP This loads the initial parameters from DB2 startup.
EDM Pool Considerations Size changes are dynamically allocated in 5 MB chunks. For example, if the current size is 28 MB, and you ask that the size be increased to 30 MB, DB2 will allocate 33 MB. If the current size is 48 MB, and you change the size to 39 MB, DB2 will change the allocation to 38 MB. Also, the EDM pool size cannot be reduced below the size that was specified when DB2 was started.
Change Management Considerations
Many parameter changes are immediate, but some commands will wait for a related event to occur. RLF parameters wait for the Resource Limit Facility to be restarted. The SET LOG or SET ARCHIVE commands can override logging parameters LOGLOAD, DEALLCT, and MAXRTU, or loading a different ZPARM module can change the values. Other parameters such as STATIME and DSSTIME wait for the current interval to expire before the new value is used. Thread parameters IDFORE, IDBACK, BMPTOUT and DLITOUT do not effect currently active threads and take effect on the next create thread request.
Restart and Thread
Cancellation -CANCEL THREAD ... (NOBACKOUT) Basically, this allows us to cancel a thread without a rollback occurring. The objects will be inconsistent, and they will be placed in a recover pending state. It will be necessary to recover the table space and indexes.
online REORG
online LOAD RESUME
Unload Utility
Parallelism The elapsed time for the BUILD2 phase of the REORG has been improved so that the logical partitions of the non-partitioning indexes will be updated using parallel subtasks. This is a badly needed availability improvement, especially for those with large partitioned tablespaces with one or more NPIs. Support for LOAD parallelism is a nice improvement for dealing with short windows in which to load a lot of data. This has been a problem especially when NPIs were involved; this forced us to drop and recreate the NPIs in order to get the loads done. Now, using multiple tasks in a single job to load the partitions in parallel, you can submit a single job with several input files to be loaded in parallel. The performance is much faster and the contention on the NPI is eliminated. The number of parallel load tasks will be determined by the number of CPUs and virtual storage available, and the number of threads available. An example of the new syntax is shown below. LOAD INTO TABLE tab1 PART 1 INDDN infile1
INTO TABLE tab1 PART 2 INDDN infile2
...
Restart Ability
User Defined Utility
ID Support
Usability NOTE: For more information on restart ability and user defined utility ID support and usage, refer back to the section on Control Center enhancements for OS/390.
Interface to Data Warehouse
Center for OS/390
These parameters are stored in a Java class, which can be used later to invoke the utility on the Data Warehouse Center table.
Otherwise known as "Restart Light," a new, small footprint DB2 arrives with Version 7. This new restart should substantially reduce the time and resources required to bring up just enough of a failed subsystem to release the retained locks and nothing more. When a DB2 data sharing member fails, locks can be retained by the failed member. These locks are released during DB2 restart when completed and in-commit transactions have their updates applied to disk, and in-flight and in-abort transactions have their updates removed from disk. Following these updates, the locks can be safely released. At this point, DB2 can be safely stopped and started again on another member of the sysplex group. In DB2 UDB for OS/390 Version 7, it is possible to complete "cross system" restart faster by starting DB2 in Light mode: -START DB2,LIGHT(YES) This causes DB2 to start a smaller footprint to perform just the recovery portion of DB2 restart. Following the recovery of the units of work as described above, the retained locks are freed, and DB2 automatically terminates. DB2 saves a lot of time normally required during restart by not initializing the EDM and RID pools, the LOB (large object) manager, RDS (relational data services) or the RLF (resource limit facility). As DB2 will not remain up, these services are not needed. One of the keys of this function is the reduced memory requirement. The reduced number of services tasks saves on memory. In addition, only virtual buffer pools are used, each with a maximum VPSIZE of 2000. No hiperpools are used. The IRLM is started PC=YES to place the locks in private and save storage. The net result is a quick restart of DB2 that should last only a few seconds. Of course, your applications must do their part by committing work regularly. As before, a long running job with few or no commits can substantially delay restart.
Enhancements will be made to elapsed time reporting and statistics. We will have the ability to keep a history of statistics for better proactive performance analysis capabilities. This will help us better monitor our objects in terms of growth over time along with other information to determine if objects need to change. This will be supported via nine new catalog tables used to keep historical statistics and a new keyword of HISTORY in the RUNSTATS utility. We will also have the ability to delete old statistics from the catalog history tables using a new MODIFY STATISTICS utility.
While there are always improvements in the base DBMS in every release, the major improvements in DB2 Version 7 focus on integrating warehouse, OLAP, and federated database functions into the product. Development tools for the web and for smoother migration from other DBMSs have been improved in the product. The packaging of DB2 has been simplified to include these additional functions. Many single-user products are included to allow individuals to try and buy these products. So, regardless of the platform you choose for DB2, you will find that with Version 7's enhancements, DB2 has become the leader in database solutions for e-business. In this paper we have touched on many of these Version 7 enhancements. For additional details refer to the appropriate "What's New" Documents from IBM at http://www-4.ibm.com/software/data/db2/udb/pdfs/ whatsnew.pdf (DB2 UDB for UNIX, Windows, OS/2) and http://www.ibm.com/software/data/db2/os390/pdf/ whatv7.pdf (DB2 UDB for OS/390). Copyright © 1998-2008 DEISTER, S.A. - Todos los derechos reservados. Modificado: 5-mayo-2011 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||