SQL 2003 Standard Support in Oracle Database 10g. An Oracle White Paper November 2003
|
|
|
- Cathleen McKinney
- 9 years ago
- Views:
Transcription
1 SQL 2003 Standard Support in Oracle Database 10g An Oracle White Paper November 2003
2 SQL 2003 Standard Support in Oracle Database 10g Introduction...3 Object-Relational Features...3 ANSI SQL Standard Multiset Operations for Nested Tables...4 Comparisons of Nested Tables...5 Multisets Operations...7 Business Intelligence Features...11 Examples of OLAP Functions in Oracle Databases...12 Inverse Percentile Family...12 Hypothetical Rank and Distribution Family...14 SQL/XML Features...14 Generating XML from SQL Data Using SQL/XML Functions...15 XMLElement() Function...15 XMLForest() Function...17 XMLConcat() Function...17 XMLAgg() Function...18 Conclusion...19 SQL 2003 Standard Support in Oracle Database 10g Page 2
3 SQL 2003 Standard Support in Oracle Database 10g The latest Oracle Database 10g supports additional SQL 2003 new features as well as several new SQL capabilities beyond the current SQL 2003 standard. INTRODUCTION SQL standards have been the most popular and enduring standards in computing. Although information processing has become increasingly more sophisticated and more complex over the past decades, SQL has continually evolved to meet the growing demands. As the latest version of SQL standards, SQL 2003 is making major improvements in a number of key areas. First, there are additional objectrelational features, which were first introduced in SQL Second, SQL 2003 standard revolutionizes SQL with comprehensive OLAP features. Third, SQL 2003 delivers a brand new Part 14 for XML-Related Specifications (SQL/XML) to integrate popular XML standards into SQL. Finally, there are numerous improvements throughout the SQL 2003 standard to refine existing features. As the first commercial implementation of SQL over 25 years ago, Oracle continues to lead the database industry in implementing SQL standards. In fact, many of the SQL 2003 new features had already been supported since Oracle Database 8/8i (Multisets, OLAP functions, etc.), Oracle Database 9i (additional OLAP functions, Table functions, Nested collection types, Final structured types, etc.) or Oracle Database 9i Release 2 (SQL/XML features). The latest Oracle Database 10g supports additional SQL 2003 new features (advanced Multiset support) as well as several new SQL capabilities beyond the current SQL 2003 standard (e.g., additional statistical functions, regular expressions), making Oracle Database 10g the best implementation of SQL standards. In the next sections, we will describe the following three key categories of SQL 2003 new features supported in Oracle databases. Object-Relational features Business Intelligence features SQL/XML features OBJECT-RELATIONAL FEATURES With increasingly more complex ecommerce and ebusiness applications, application development adopted object-oriented approach to simplify and to manage complexity. Object-oriented programming languages (e.g., Java, C++) SQL 2003 Standard Support in Oracle Database 10g Page 3
4 Oracle has supported comprehensive Object-Relational features since Oracle8/8i Database releases. were also chosen to implement these new applications. Traditional relational constructs fall short of the needs of object-oriented application developers. Addressing the growing demands, SQL 1999 standard introduced extensive object-relational features to simplify the storage and retrieval of complexstructured application objects. Oracle has supported comprehensive Object- Relational features since Oracle8/8i Database releases. SQL 2003 standard makes further improvements in this area with the following new features, Multiset support: Multiset type is a newly defined Collection type for an unordered collection. Since Oracle8, Multiset type has been supported in Oracle databases as Nested Table datatype. Advanced Multiset support: SQL 2003 defines advanced Multiset support with Comparison and Set operators (e.g., UNION, INTERSECTION). Oracle Database 10g provides comprehensive support of these Multiset operators for Nested Tables. Nested Collection Types: SQL 2003 defines two collection types, namely the Array type and the Multiset type. In addition to Nested Table datatype, Oracle supports the Array type as the Varray datatype since Oracle8. Nested collection of Varrays and Nested Tables have been supported in Oracle databases since Oracle9i. Final Structured Types: A User Defined Type (UDT) can be created with either FINAL or NOT FINAL option to indicate whether subtypes can inherit from it. Oracle databases have supported this feature since Oracle9i as part of its comprehensive Type Inheritance support. In the following section, we will describe Multiset Comparison and Set operations in more detail. In depth information about other features can be found in current Oracle database documentation online at ANSI SQL Standard Multiset Operations for Nested Tables New in Oracle Database 10g, a number of Multiset operators are now supported for the Nested Table collection type. Real world applications use collection types to model containment relationships. Comparison and Set operators for collection types provide powerful tools for these applications. Oracle supports two collection datatypes, VARRAYs and Nested Tables. A nested table is an unordered set of data elements, all of the same datatype. No maximum is specified in the definition of the table and the order of the elements is not preserved. Elements of a nested table are actually stored in a separate storage table that contains a column that identifies the parent table row or object to which each element belongs. A nested table has a single column, and the type of that column is a built-in type or an object type. If the column in a nested table is an object type, the table can also be viewed as a multi-column table, with a column for each attribute of the object type. SQL 2003 Standard Support in Oracle Database 10g Page 4
5 Comparisons of Nested Tables Equal and Not Equal Comparisons The equal (=) and not equal (<>) conditions determine whether the input nested tables are identical or not, returning the result as a boolean value. Two nested tables are equal if they have the same named type, have the same cardinality, and their elements are equal. Elements are equal depending on whether they are equal by the elements own equality definitions, except for object types which require a map method. CREATE TYPE person_typ AS OBJECT ( idno NUMBER, name VARCHAR2(30), phone VARCHAR2(20), MAP MEMBER FUNCTION get_idno RETURN NUMBER ); / CREATE TYPE BODY person_typ AS MAP MEMBER FUNCTION get_idno RETURN NUMBER IS BEGIN RETURN idno; END; END; / CREATE TYPE people_typ AS TABLE OF person_typ; / CREATE TABLE students ( graduation DATE, math_majors people_typ, chem_majors people_typ, physics_majors people_typ) NESTED TABLE math_majors STORE AS math_majors_nt NESTED TABLE chem_majors STORE AS chem_majors_nt NESTED TABLE physics_majors STORE AS physics_majors_nt; INSERT INTO students (graduation) VALUES ('01-JUN-03'); UPDATE students SET math_majors = people_typ (person_typ(12, 'Bob Jones', ' '), person_typ(31, 'Sarah Chen', ' '), person_typ(45, 'Chris Woods', ' ')), chem_majors = people_typ (person_typ(51, 'Joe Lane', ' '), person_typ(31, 'Sarah Chen', ' '), person_typ(52, 'Kim Patel', ' ')), physics_majors = people_typ (person_typ(12, 'Bob Jones', ' '), person_typ(45, 'Chris Woods', ' ')) WHERE graduation = '01-JUN-03'; SQL 2003 Standard Support in Oracle Database 10g Page 5
6 SELECT p.name FROM students, TABLE(physics_majors) p WHERE math_majors = physics_majors; no rows selected In this example, the nested tables contain person_typ objects which have an associated map method. In Comparisons The IN condition checks whether a nested table is in a list of nested tables, returning the result as a boolean value. NULL is returned if the nested table is a null nested table. SELECT p.idno, p.name FROM students, TABLE(physics_majors) p WHERE physics_majors IN (math_majors, chem_majors); no rows selected Subset of Multiset Comparison The SUBMULTISET [OF] condition checks whether a nested table is a subset of a another nested table, returning the result as a boolean value. The OF keyword is optional and does not change the functionality of SUBMULTISET. This operator is implemented only for nested tables because this is a multiset function only. SELECT p.idno, p.name FROM students, TABLE(physics_majors) p WHERE physics_majors SUBMULTISET OF math_majors; IDNO NAME Bob Jones 45 Chris Woods Member of a Nested Table Comparison The MEMBER [OF] or NOT MEMBER [OF] condition tests whether an element is a member of a nested table, returning the result as a boolean value. The OF keyword is optional and has no effect on the output. SELECT graduation FROM students WHERE person_typ(12, 'Bob Jones', ' ') MEMBER OF math_majors; GRADUATION JUN-03 SQL 2003 Standard Support in Oracle Database 10g Page 6
7 where person_typ (12, 'Bob Jones', ' ') is an element of the same type as the elements of the nested table math_majors. Empty Comparison The IS [NOT] EMPTY condition checks whether a given nested table is empty or not empty, regardless of whether any of the elements are NULL. If a NULL is given for the nested table, the result is NULL. The result is returned as a boolean value. SELECT p.idno, p.name FROM students, TABLE(physics_majors) p WHERE physics_majors IS NOT EMPTY; IDNO NAME Bob Jones 45 Chris Woods Set Comparison The IS [NOT] A SET condition checks whether a given nested table is composed of unique elements, returning a boolean value. SELECT p.idno, p.name FROM students, TABLE(physics_majors) p WHERE physics_majors IS A SET; IDNO NAME Bob Jones 45 Chris Woods Multisets Operations CARDINALITY The CARDINALITY function returns the number of elements in a varray or nested table. The return type is NUMBER. If the varray or nested table is a null collection, NULL is returned. SELECT CARDINALITY(math_majors) FROM students; CARDINALITY(MATH_MAJORS) COLLECT The COLLECT function is an aggregate function which would create a multiset from a set of elements. The function would take a column of the element type as SQL 2003 Standard Support in Oracle Database 10g Page 7
8 input and create a multiset from rows selected. To get the results of this function you must use it within a CAST function to specify the output type of COLLECT. MULTISET EXCEPT The MULTISET EXCEPT operator inputs two nested tables and returns a nested table whose elements are in the first nested table but not in the second nested table. The input nested tables and the output nested table are all type name equivalent. The ALL or DISTINCT options can be used with the operator. The default is ALL. With the ALL option, for ntab1 MULTISET EXCEPT ALL ntab2, all elements in ntab1 other than those in ntab2 would be part of the result. If a particular element occurs m times in ntab1 and n times in ntab2, the result will have (m - n) occurrences of the element if m is greater than n otherwise 0 occurrences of the element. With the DISTINCT option, any element that is present in ntab1 which is also present in ntab2 would be eliminated, irrespective of the number of occurrences. SELECT math_majors MULTISET EXCEPT physics_majors FROM students WHERE graduation = '01-JUN-03'; MATH_MAJORSMULTISETEXCEPTPHYSICS_MAJORS(IDNO, NAME, PHONE) PEOPLE_TYP(PERSON_TYP(31, 'Sarah Chen', ' ')) MULTISET INTERSECTION The MULTISET INTERSECT operator returns a nested table whose values are common in the two input nested tables. The input nested tables and the output nested table are all type name equivalent. There are two options associated with the operator: ALL or DISTINCT. The default is ALL. With the ALL option, if a particular value occurs m times in ntab1 and n times in ntab2, the result would contain the element MIN(m, n) times. With the DISTINCT option the duplicates from the result would be eliminated, including duplicates of NULL values if they exist. SELECT math_majors MULTISET INTERSECT physics_majors FROM students WHERE graduation = '01-JUN-03'; MATH_MAJORSMULTISETINTERSECTPHYSICS_MAJORS(IDNO, NAME, PHONE) PEOPLE_TYP(PERSON_TYP(12, 'Bob Jones', ' '), PERSON_TYP(45, 'Chris Woods', ' ')) SQL 2003 Standard Support in Oracle Database 10g Page 8
9 MULTISET UNION The MULTISET UNION operator returns a nested table whose values are those of the two input nested tables. The input nested tables and the output nested table are all type name equivalent. There are two options associated with the operator: ALL or DISTINCT. The default is ALL. With the ALL option, all elements that are in ntab1 and ntab2 would be part of the result, including all copies of NULLs. If a particular element occurs m times in ntab1 and n times in ntab2, the result would contain the element (m + n) times. With the DISTINCT option the duplicates from the result are eliminated, including duplicates of NULL values if they exist. SELECT math_majors MULTISET UNION DISTINCT physics_majors FROM students WHERE graduation = '01-JUN-03'; MATH_MAJORSMULTISETUNIONDISTINCTPHYSICS_MAJORS(IDNO, NAME, PHONE) PEOPLE_TYP(PERSON_TYP(12, 'Bob Jones', ' '), PERSON_TYP(31, 'Sarah Chen', ' '), PERSON_TYP(45, 'Chris Woods', ' ')) SELECT math_majors MULTISET UNION ALL physics_majors FROM students WHERE graduation = '01-JUN-03'; MATH_MAJORSMULTISETUNIONALLPHYSICS_MAJORS(IDNO, NAME, PHONE) PEOPLE_TYP(PERSON_TYP(12, 'Bob Jones', ' '), PERSON_TYP(31, 'Sarah Chen', ' '), PERSON_TYP(45, 'Chris Woods', ' '), PERSON_TYP(12, 'Bob Jones', ' '), PERSON_TYP(45, 'Chris Woods', ' ')) POWERMULTISET The POWERMULTISET function generates all non-empty submultisets from a given multiset. The input to the POWERMULTISET function could be any expression which evaluates to a multiset. The limit on the cardinality of the multiset argument is 32. SELECT * FROM TABLE(POWERMULTISET( people_typ ( person_typ(12, 'Bob Jones', ' '), person_typ(31, 'Sarah Chen', ' '), person_typ(45, 'Chris Woods', ' ')))); SQL 2003 Standard Support in Oracle Database 10g Page 9
10 COLUMN_VALUE(IDNO, NAME, PHONE) PEOPLE_TYP(PERSON_TYP(12, 'Bob Jones', ' ')) PEOPLE_TYP(PERSON_TYP(31, 'Sarah Chen', ' ')) PEOPLE_TYP(PERSON_TYP(12, 'Bob Jones', ' '), PERSON_TYP(31, 'Sarah Chen', ' ')) PEOPLE_TYP(PERSON_TYP(45, 'Chris Woods', ' ')) PEOPLE_TYP(PERSON_TYP(12, 'Bob Jones', ' '), PERSON_TYP(45, 'Chris Woods', ' ')) PEOPLE_TYP(PERSON_TYP(31, 'Sarah Chen', ' '), PERSON_TYP(45, 'Chris Woods', ' ')) PEOPLE_TYP(PERSON_TYP(12, 'Bob Jones', ' '), PERSON_TYP(31, 'Sarah Chen', ' '), PERSON_TYP(45, 'Chris Woods', ' ')) 7 rows selected. POWERMULTISET_BY_CARDINALITY The POWERMULTISET_BY_CARDINALITY function returns all non-empty submultisets of a nested table of the specified cardinality. The output would be rows of nested tables. POWERMULTISET_BY_CARDINALITY(x, l) is equivalent to TABLE (POWERMULTISET(x)) p where CARDINALITY(value(p)) = l, where x is a multiset and l is the specified cardinality. The first input parameter to the POWERMULTISET_BY_CARDINALITY could be any expression which evaluates to a nested table. The length parameter should be a positive integer, otherwise an error will be returned. The limit on the cardinality of the nested table argument is 32. SELECT * FROM TABLE(POWERMULTISET_BY_CARDINALITY( people_typ ( person_typ(12, 'Bob Jones', ' '), person_typ(31, 'Sarah Chen', ' '), person_typ(45, 'Chris Woods', ' ')),2)); COLUMN_VALUE(IDNO, NAME, PHONE) PEOPLE_TYP(PERSON_TYP(12, 'Bob Jones', ' '), PERSON_TYP(31, 'Sarah Chen', ' ')) PEOPLE_TYP(PERSON_TYP(12, 'Bob Jones', ' '), PERSON_TYP(45, 'Chris Woods', ' ')) PEOPLE_TYP(PERSON_TYP(31, 'Sarah Chen', ' '), PERSON_TYP(45, 'Chris Woods', ' ')) SET The SET function converts a nested table into a set by eliminating duplicates, and returns a nested table whose elements are DISTINCT from one another. The nested table returned is of the same named type as the input nested table. SQL 2003 Standard Support in Oracle Database 10g Page 10
11 SELECT SET(physics_majors) FROM students WHERE graduation = '01-JUN-03'; SET(PHYSICS_MAJORS)(IDNO, NAME, PHONE) PEOPLE_TYP(PERSON_TYP(12, 'Bob Jones', ' '), PERSON_TYP(45, 'Chris Woods', ' ')) Oracle was one of the collaborators working on defining these SQL 2003 new OLAP features for the past few years, and had provided complete and highly optimized support of these OLAP features since Oracle Database 9i. BUSINESS INTELLIGENCE FEATURES As information proliferated and sizes of databases continued to grow, enterprises were eager to gain precious insights from information. Data warehousing, OLAP, and Data Mining became essential tools for enterprises to extract business intelligence. In the past, OLAP functions were performed outside of databases in a separate OLAP server using non-standard APIs. It became apparent that the bottleneck of OLAP applications was in moving huge amount of data between the database server and the OLAP server. Productivity of OLAP application developers also suffered from non-standard APIs. The simple solution to these problems is to process OLAP functions inside the database server using standard SQL functions. To this end, ANSI SQL committee published in year 2000 an amendment to SQL 1999 standard defining an extensive list of OLAP functions, which are now part of the SQL 2003 new features. Oracle was one of the collaborators working on defining these SQL 2003 new OLAP features for the past few years, and had provided complete and highly optimized support of these OLAP features since Oracle Database 9i. There are additional new features in SQL 2003 defined specifically for data warehousing applications. Below is a list of these new features: OLAP functions: These new features have been implemented since Oracle8i or Oracle9i consisting of Window functions: SQL 2003 defines aggregates computed over a window with ROW_NUMBER function, rank functions (i.e., RANK, DENSE_RANK, PERCENT_RANK, CUME_DIST), and aggregate functions (e.g., inverse distribution, hypothetical set function) NULLS FIRST, NULLS LAST in ORDER BY clause: This clause indicates the position of NULLs in the ordered sequence, either first or last in the sequence. Table functions: A table function is defined as a function that can produce a set of rows as output. Since Oracle9i, table functions have provided the support for pipelined and parallel execution of transformations implemented in PL/SQL, C, or Java. Scenarios as mentioned above can be done without requiring the use of intermediate staging tables, which interrupt the data flow through various steps of transformations. SQL 2003 Standard Support in Oracle Database 10g Page 11
12 Examples of OLAP Functions in Oracle Databases This section describes the key features of the analytic functions introduced in Oracle database with examples. Most of the examples involve data from a sales table, where each row contains detail or aggregated sales data. Complete information of OLAP functions in Oracle databases can be found in Oracle database documentation online at Inverse Percentile Family One very common analytic question is to find the value in a data set that corresponds to a specific percentile. For example, what if we ask what value is the median (50th percentile) of my data? This question is the inverse of the information provided by CUME_DIST function, which answers the question what is the percentile value for each row? Two new Oracle9i functions, PERCENTILE_CONT and PERCENTILE_DISC, compute inverse percentile. These functions require a sort specification and a percentile parameter value between 0 and 1. For instance, if a user needs the median value of income data, he would specify that the data set be sorted on income, and specify a percentile value of 0.5. The functions can be used as either aggregate functions or reporting aggregate functions. When used as aggregate functions, they return a single value per ordered set; and when used as reporting aggregate functions, they repeat the data on each row. PERCENTILE_DISC function returns the actual discrete value which is closest to the specified percentile values while the PERCENTILE_CONT function calculates a continuous percentile value using linear interpolation. The functions use a new WITHIN GROUP clause to specify the data ordering. Example of Inverse Percentile as an aggregate function: Consider the table HOMES which has the following data: Area Address Price Uptown 15 Peak St 456,000 Uptown 27 Primrose Path 349,000 Uptown 44 Shady Lane 341,000 Uptown Highway ,000 Uptown 34 Design Rd 244,000 Uptown 77 Sunset Strip 102,000 Downtown 72 Easy St 509,000 Downtown 29 Wire Way 402,000 Downtown 45 Diamond Lane 203,000 Downtown 76 Blind Alley 201,000 Downtown 15 Tern Pike 199,000 Downtown 444 Kanga Rd 102,000 SQL 2003 Standard Support in Oracle Database 10g Page 12
13 To find the average and median value for each area, we could use the query below: SELECT Homes.Area, AVG(Homes.Price), PERCENTILE_DISC (0.5) WITHIN GROUP (ORDER BY Homes.Price DESC), PERCENTILE_CONT (0.5) WITHIN GROUP (ORDER BY Homes.Price DESC) FROM Homes GROUP BY Area; Area AVG PERCENTILE_DISC PERCENTILE_CONT Uptown 289, , ,500 Downtown 269, , ,000 In the example above, to compute the median price of homes, the data is ordered on home price within each area and the median price is computed using the discrete and interpolation methods. The results above show how PERCENTILE_DISC returns actual values from the table, while PERCENTILE_CONT calculates new interpolated values. Example of Inverse Percentile as a reporting function: The inverse percentile functions can be used as reporting functions. In that usage they will return a value that is repeated on multiple rows, allowing easy calculations. Consider the same HOMES table shown above. To find the median value for each area and display the results as a reporting function, we could use the query below: SELECT Homes.Area, Homes.Price, PERCENTILE_DISC (0.5) WITHIN GROUP (ORDER BY Homes.Price DESC) OVER (PARTITION BY Area), PERCENTILE_CONT (0.5) WITHIN GROUP (ORDER BY Homes.Price DESC) OVER (PARTITION BY Area) FROM Homes; Area Price PERCENTILE_DISC PERCENTILE_CONT Uptown 456, , ,500 Uptown 349, , ,500 Uptown 341, , ,500 Uptown 244, , ,500 Uptown 244, , ,500 Uptown 102, , ,500 Downtown 509, , ,000 Downtown 402, , ,000 Downtown 203, , ,000 Downtown 201, , ,000 Downtown 199, , ,000 Downtown 102, , ,000 SQL 2003 Standard Support in Oracle Database 10g Page 13
14 Hypothetical Rank and Distribution Family In certain analyses, such as financial planning, we may wish to know how a data value would rank if it were added to our data set. For instance, if we hired a worker at a salary of $50,000, where would his salary rank compared to the other salaries at our firm? The hypothetical rank and distribution functions support this form of what-if analysis: they return the rank or percentile value which a row would be assigned if the row was hypothetically inserted into a set of other rows. The hypothetical functions can calculate RANK, DENSE_RANK, PERCENT_RANK and CUME_DIST. Like the inverse percentile functions, the hypothetical rank and distributions functions use a WITHIN GROUP clause containing an ORDER BY specification. Example of Hypothetical Rank function: Here is a query using our real estate data introduced above. It finds the hypothetical ranks and distributions for a house with a price of $400,000. SELECT Area, RANK (400000) WITHIN GROUP (ORDER BY Price DESC), DENSE_RANK (400000) WITHIN GROUP (ORDER BY Price DESC), PERCENT_RANK (400000) WITHIN GROUP (ORDER BY Price DESC), CUME_DIST (400000) WITHIN GROUP (ORDER BY Price DESC) FROM Homes GROUP BY Area; Area RANK DENSE_RANK PERCENT _RANK CUME_ DIST Uptown Downtown Unlike Inverse Percentile functions, Hypothetical functions cannot be used as a reporting function.. Since Oracle Database 9i Release 2, SQL/XML features had been supported as an integral part of the XML DB. SQL/XML FEATURES As the amount of data expressed in XML grows, it becomes necessary to store, manage and search that data in a robust, secure, and scalable environment, i.e. in a database. With SQL/XML you can have all the benefits of a relational database plus all the benefits of XML. New in SQL 2003 standard as Part 14, SQL/XML defines how SQL can be used in conjunction with XML in a database. Part 14 provides detailed definition of a new XML type, the values of an XML type, mappings between SQL constructs and XML constructs, and functions for generating XML from SQL data. Since Oracle Database 9i Release 2, SQL/XML features had been supported as an integral part of the XML DB. XML DB also includes a number of additional SQL extensions to support querying, updating, and transformation of XML data. Oracle is working closely with the SQL standard committee to standardize these extensions. Below is a list of SQL 2003 standard functions for generating XML from SQL data. SQL 2003 Standard Support in Oracle Database 10g Page 14
15 XMLElement takes an element name, an optional collection of attributes for the element, and arguments that make up the element's content and returns an instance of type XMLType. XMLForest converts each of its argument parameters to XML, and then returns an XML fragment that is the concatenation of these converted arguments XMLConcat takes as input a series of XMLType instances, concatenates the series of elements for each row, and returns the concatenated series. XMLConcat is the inverse of XMLSequence. XMLAgg takes a collection of XML fragments and returns an aggregated XML document Oracle Database 9i Release 2 XML DB extensions below provide additional capabilities to generate, query, update, and transform XML data. XMLColAttVal creates an XML fragment and then expands the resulting XML so that each XML fragment has the name "column" with the attribute "name". XMLSequence has two forms: the first form takes as input an XMLType instance and returns a varray of the top-level nodes in the XMLType. The second form takes as input a REFCURSOR instance, with an optional instance of the XMLFormat object, and returns as an XMLSequence type an XML document for each row of the cursor. ExtractValue takes as arguments an XMLType instance and an XPath expression and returns a scalar value of the resultant node. Extract (XML) takes as arguments an XMLType instance and an XPath expression and returns an XMLType instance containing an XML fragment. UpdateXML updates a value of the XML document and then replacing the whole document with the newly updated document. XMLTransform takes as arguments an XMLType instance and an XSL style sheet, which is itself a form of XMLType instance. It applies the style sheet to the instance and returns an XMLType instance. Generating XML from SQL Data Using SQL/XML Functions XMLElement() Function XMLElement() function is based on the emerging SQL XML standard. It takes an element name, an optional collection of attributes for the element, and zero or more arguments that make up the element content and returns an instance of type XMLType SQL 2003 Standard Support in Oracle Database 10g Page 15
16 It is similar to SYS_XMLGEN(), but unlike SYS_XMLGEN(), XMLElement() does not create an XML document with the prolog (the XML version information). It allows multiple arguments and can include attributes in the XML returned. XMLElement() is primarily used to construct XML instances from relational data. It takes an identifier that is partially escaped to give the name of the root XML element to be created. The identifier does not have to be a column name, or column reference, and cannot be an expression. If the identifier specified is NULL, then no element is returned. As part of generating a valid XML element name from a SQL identifier, characters that are disallowed in an XML element name are escaped. With partial escaping the SQL identifiers other than the ":" sign that are not representable in XML, are preceded by an escape character using the # sign followed by the unicode representation of that character in hexadecimal format. This can be used to specify namespace prefixes for the elements being generated. The fully escaped mapping escapes all non-xml characters in the SQL identifier name, including the ":" character. XMLAttributes Clause XMLElement() also takes an optional XMLAttributes() clause, which specifies the attributes of that element. This can be followed by a list of values that make up the children of the newly created element. In the XMLAttributes() clause, the value expressions are evaluated to get the values for the attributes. For a given value expression, if the AS clause is omitted, the fully escaped form of the column name is used as the name of the attribute. If the AS clause is specified, then the partially escaped form of the alias is used as the name of the attribute. If the expression evaluates to NULL, then no attribute is created for that expression. The type of the expression cannot be an object type or collection. The list of values that follow the XMLAttributes() clause are converted to XML format, and are made as children of the top-level element. If the expression evaluates to NULL, then no element is created for that expression. The following example illustrates the use of namespaces to create an XML schema-based document. Assuming that an XML schema " exists and has no target namespace, then the following query creates an XMLType instance conforming to that schema: SELECT XMLELEMENT ( "Employee", X MLATTRIBUTES ( ' AS "xmlns:xsi", ' AS "xsi:nonamespaceschemalocation" ), XMLForest(empno, ename, sal)) AS "result" FROM scott.emp WHERE deptno = 100; SQL 2003 Standard Support in Oracle Database 10g Page 16
17 This creates an XML document that conforms to the Employee.xsd XMLSchema, result: <Employee xmlns:xsi=" xsi:nonamespaceschemalocation=" e.com/employee.xsd"> <EMPNO>1769</EMPNO> <ENAME>John</ENAME> <SAL>200000</SAL> </Employee> XMLForest() Function XMLForest() function produces a forest of XML elements from the given list of arguments. The arguments may be value expressions with optional aliases. The list of value expressions are converted to XML format. For a given expression, if the AS clause is omitted, then the fully escaped form of the column name is used as the name of the enclosing tag of the element. For an object type or collection, the AS clause is mandatory. For other types, the AS clause can be optionally specified. If the AS clause is specified, then the partially escaped form of the alias is used as the name of the enclosing tag. If the expression evaluates to NULL, then no element is created for that expression. The following example generates an Emp element for each employee, with a name attribute and elements with the employee's start date and department as the content. SELECT XMLELEMENT("Emp", XMLATTRIBUTES ( e.fname ' ' e.lname AS "name" ), XMLForest ( e.hire, e.dept AS "department")) AS "result" FROM employees e; This query can produce the following XML result: <Emp name="john Smith"> <HIRE> </HIRE> <department>accounting</department> </Emp> <Emp name="mary Martin"> <HIRE> </HIRE> <department>shipping</department> </Emp> XMLConcat() Function XMLConcat() function concatenates all the arguments passed in to create a XML fragment. XMLConcat() has two forms: The first form takes an XMLSequenceType, which is a VARRAY of XMLType and returns a single XMLType instance that is the concatenation of all of the elements of the varray. This form is useful to collapse lists of XMLTypes into a single instance. SQL 2003 Standard Support in Oracle Database 10g Page 17
18 The second form takes an arbitrary number of XMLType values and concatenates them together. If one of the value is null, then it is ignored in the result. If all the values are NULL, then the result is NULL. This form is used to concatenate arbitrary number of XMLType instances in the same row. XMLAgg() can be used to concatenate XMLType instances across rows. The example below shows XMLConcat() returning the concatenation of XMLTypes from the XMLSequence function: SELECT XMLConcat(XMLSequence( xmltype('<partno>1236</partno>'), xmltype('<partname>widget</partname>'), xmltype('<partprice>29.99</partprice>'))).getclobval() FROM dual; returns a single fragment of the form: <PartNo>1236</PartNo> <PartName>Widget</PartName> <PartPrice>29.99</PartPrice> XMLAgg() Function XMLAgg() is an aggregate function that produces a forest of XML elements from a collection of XML elements. As with XMLConcat(), any arguments that are null are dropped from the result. This function can be used to concatenate XMLType instances across multiple rows. It also allows an optional ORDER BY clause to order the XML values being aggregated. XMLAgg() is an aggregation function and hence produces one aggregated XML result for each group. If there is no group by specified in the query, then it returns a single aggregated XML result for all the rows of the query. The following example produces a Department element containing Employee elements with employee job ID and last name as the contents of the elements. It also orders the employee XML elements in the department by their last name. SELECT XMLELEMENT("Department", XMLAGG( XMLELEMENT("Employee", e.job_id ' ' e.last_name) ORDER BY last_name)) as "Dept_list" FROM employees e WHERE e.department_id = 30; Dept_list <Department> <Employee>PU_CLERK Baida</Employee> <Employee>PU_CLERK Colmenares</Employee> <Employee>PU_CLERK Himuro</Employee> <Employee>PU_CLERK Khoo</Employee> <Employee>PU_MAN Raphaely</Employee> <Employee>PU_CLERK Tobias</Employee> </Department> SQL 2003 Standard Support in Oracle Database 10g Page 18
19 The result is a single row, because XMLAgg() aggregates the rows. You can use the GROUP BY clause to group the returned set of rows into multiple groups: SELECT XMLELEMENT("Department", XMLAttributes(department_id AS deptno), XMLAGG(XMLELEMENT("Employee", e.job_id ' ' e.last_name))) AS "Dept_list" FROM employees e GROUP BY e.department_id; Dept_list <Department deptno="1001"> <Employee>AD_ASST Whalen</Employee> </Department> <Department deptno="2002"> <Employee>MK_MAN Hartstein</Employee> <Employee>MK_REP Fay</Employee> </Department> <Department deptno="3003"> <Employee>PU_MAN Raphaely</Employee> <Employee>PU_CLERK Khoo</Employee> <Employee>PU_CLERK Tobias</Employee> <Employee>PU_CLERK Baida</Employee> <Employee>PU_CLERK Colmenares</Employee> <Employee>PU_CLERK Himuro</Employee> </Department> As the latest version of SQL standards, SQL 2003 has made major improvements in three key areas: Object-Relational, OLAP, and SQL/XML. CONCLUSION As the latest version of SQL standards, SQL 2003 has made major improvements in three key areas. First, there are additional object-relational features, which were first introduced in SQL Second, SQL 2003 standard revolutionizes SQL with comprehensive OLAP features. Third, SQL 2003 delivers a brand new Part 14 for XML-Related Specifications (SQL/XML) to integrate popular XML standards into SQL. Oracle Database 10g provides comprehensive support for these new features. Oracle s Object-Relational Technology tracks closely with SQL standards development. It has grown to maturity over the years to provide a complete object type system, extensive language binding APIs, and a rich set of utilities and tools. This complete object type system is based on the latest ANSI SQL 2003 standard. Oracle has optimized the object type performance in the database server for object-oriented applications. Oracle s language binding APIs in Java, C/C++, and XML provide direct interfaces to database server object type system. These comprehensive APIs support the most recent standards to access database object type system services. The attendant rich set of utilities for object-relational data include import/export, SQL loader, replication, etc. SQL 2003 Standard Support in Oracle Database 10g Page 19
20 With the introduction of analytic functions, Oracle solved many problems of using SQL in business intelligence tasks. The added analytic functions enable faster query performance and greater developer productivity for even more calculations. The value of analytic functions has already been recognized, and major business intelligence tool vendors are using them in their products. The power of the analytic functions, combined with their status as international SQL standards, will make them an important tool for all SQL users. SQL/XML features are crucial to enterprises with structured and semi-structured data, which needs to interoperate with various enterprise (SQL) reporting tools, relational data stores, transactional middleware, and so on. If your organization uses SQL today, Oracle XML DB will give you native XML capability, and SQL/XML implemented in Oracle XML DB will be the standard way to query your XML data. In addition, Oracle Database 10g introduces enormous improvements in manageability, Grid computing infrastructure, Database Web Services, OLAP, Data Mining, and many other areas to meet the needs of global enterprises. Oracle s database technology provides the most comprehensive solution for the development, deployment, and management of enterprise applications. Oracle has been the leader of industrial-strength SQL technology since its birth. Oracle will continue to meet the needs of our partners and customers with the best SQL technology. In short, new SQL 2003 capabilities in Oracle Database 10g provide the most comprehensive functionality for developing versatile, scalable, concurrent, and high performance database applications running in a Grid environment. SQL 2003 Standard Support in Oracle Database 10g Page 20
21 SQL 2003 Standard Support in Oracle Database 10g November 2003 Author: Geoff Lee Contributing Authors: Fred Zemke Oracle Corporation World Headquarters 500 Oracle Parkway Redwood Shores, CA U.S.A. Worldwide Inquiries: Phone: Fax: Oracle Corporation provides the software that powers the internet. Oracle is a registered trademark of Oracle Corporation. Various product and service names referenced herein may be trademarks of Oracle Corporation. All other product and service names mentioned may be trademarks of their respective owners. Copyright 2003 Oracle Corporation All rights reserved.
6. SQL/XML. 6.1 Introduction. 6.1 Introduction. 6.1 Introduction. 6.1 Introduction. XML Databases 6. SQL/XML. Creating XML documents from a database
XML Databases Silke Eckstein Andreas Kupfer Institut für Informationssysteme Technische Universität http://www.ifis.cs.tu-bs.de in XML XML Databases SilkeEckstein Institut fürinformationssysteme TU 2 Creating
XML Databases 6. SQL/XML
XML Databases 6. SQL/XML Silke Eckstein Andreas Kupfer Institut für Informationssysteme Technische Universität Braunschweig http://www.ifis.cs.tu-bs.de 6. SQL/XML 6.1Introduction 6.2 Publishing relational
Generating XML from Relational Tables using ORACLE. by Selim Mimaroglu Supervisor: Betty O NeilO
Generating XML from Relational Tables using ORACLE by Selim Mimaroglu Supervisor: Betty O NeilO 1 INTRODUCTION Database: : A usually large collection of data, organized specially for rapid search and retrieval
Guide to SQL Programming: SQL:1999 and Oracle Rdb V7.1
Guide to SQL Programming: SQL:1999 and Oracle Rdb V7.1 A feature of Oracle Rdb By Ian Smith Oracle Rdb Relational Technology Group Oracle Corporation 1 Oracle Rdb Journal SQL:1999 and Oracle Rdb V7.1 The
Processing XML with SQL on the IBM i MMSA MEETING April 15, 2014. Raymond A. Everhart - RAECO Design, Inc. reverhart@raecodesign.
Processing XML with SQL on the IBM i MMSA MEETING April 15, 2014 Raymond A. Everhart - RAECO Design, Inc. [email protected] Objectives Introduction / Overview Terms / Concepts Create DDL for table
Guide to Performance and Tuning: Query Performance and Sampled Selectivity
Guide to Performance and Tuning: Query Performance and Sampled Selectivity A feature of Oracle Rdb By Claude Proteau Oracle Rdb Relational Technology Group Oracle Corporation 1 Oracle Rdb Journal Sampled
Oracle Database 10g: Introduction to SQL
Oracle University Contact Us: 1.800.529.0165 Oracle Database 10g: Introduction to SQL Duration: 5 Days What you will learn This course offers students an introduction to Oracle Database 10g database technology.
Oracle Database: SQL and PL/SQL Fundamentals
Oracle University Contact Us: +966 12 739 894 Oracle Database: SQL and PL/SQL Fundamentals Duration: 5 Days What you will learn This Oracle Database: SQL and PL/SQL Fundamentals training is designed to
Oracle Database: SQL and PL/SQL Fundamentals
Oracle University Contact Us: 1.800.529.0165 Oracle Database: SQL and PL/SQL Fundamentals Duration: 5 Days What you will learn This course is designed to deliver the fundamentals of SQL and PL/SQL along
Oracle SQL. Course Summary. Duration. Objectives
Oracle SQL Course Summary Identify the major structural components of the Oracle Database 11g Create reports of aggregated data Write SELECT statements that include queries Retrieve row and column data
A Comparison of Database Query Languages: SQL, SPARQL, CQL, DMX
ISSN: 2393-8528 Contents lists available at www.ijicse.in International Journal of Innovative Computer Science & Engineering Volume 3 Issue 2; March-April-2016; Page No. 09-13 A Comparison of Database
Advanced Information Management
Anwendersoftware a Advanced Information Management Chapter 7: XML and Databases Holger Schwarz Universität Stuttgart Sommersemester 2009 Overview Introduction SQL/XML data type XML XML functions mappings
Oracle Database: SQL and PL/SQL Fundamentals NEW
Oracle University Contact Us: + 38516306373 Oracle Database: SQL and PL/SQL Fundamentals NEW Duration: 5 Days What you will learn This Oracle Database: SQL and PL/SQL Fundamentals training delivers the
Implementing XML Schema inside a Relational Database
Implementing XML Schema inside a Relational Database Sandeepan Banerjee Oracle Server Technologies 500 Oracle Pkwy Redwood Shores, CA 94065, USA + 1 650 506 7000 [email protected] ABSTRACT
Comparison of XML Support in IBM DB2 9, Microsoft SQL Server 2005, Oracle 10g
Comparison of XML Support in IBM DB2 9, Microsoft SQL Server 2005, Oracle 10g O. Beza¹, M. Patsala², E. Keramopoulos³ ¹Dpt. Of Information Technology, Alexander Technology Educational Institute (ATEI),
SQL Server. 2012 for developers. murach's TRAINING & REFERENCE. Bryan Syverson. Mike Murach & Associates, Inc. Joel Murach
TRAINING & REFERENCE murach's SQL Server 2012 for developers Bryan Syverson Joel Murach Mike Murach & Associates, Inc. 4340 N. Knoll Ave. Fresno, CA 93722 www.murach.com [email protected] Expanded
An Oracle White Paper October 2013. Oracle Data Integrator 12c New Features Overview
An Oracle White Paper October 2013 Oracle Data Integrator 12c Disclaimer This document is for informational purposes. It is not a commitment to deliver any material, code, or functionality, and should
PHP Oracle Web Development Data Processing, Security, Caching, XML, Web Services and AJAX
PHP Oracle Web Development Data Processing, Security, Caching, XML, Web Services and AJAX Yuli Vasiliev Chapter 8 "XML-Enabled Applications" In this package, you will find: A Biography of the author of
Advanced SQL. Jim Mason. www.ebt-now.com Web solutions for iseries engineer, build, deploy, support, train 508-728-4353. jemason@ebt-now.
Advanced SQL Jim Mason [email protected] www.ebt-now.com Web solutions for iseries engineer, build, deploy, support, train 508-728-4353 What We ll Cover SQL and Database environments Managing Database
Oracle Database 12c: Introduction to SQL Ed 1.1
Oracle University Contact Us: 1.800.529.0165 Oracle Database 12c: Introduction to SQL Ed 1.1 Duration: 5 Days What you will learn This Oracle Database: Introduction to SQL training helps you write subqueries,
An Oracle White Paper October 2013. Oracle XML DB: Choosing the Best XMLType Storage Option for Your Use Case
An Oracle White Paper October 2013 Oracle XML DB: Choosing the Best XMLType Storage Option for Your Use Case Introduction XMLType is an abstract data type that provides different storage and indexing models
Database Design Patterns. Winter 2006-2007 Lecture 24
Database Design Patterns Winter 2006-2007 Lecture 24 Trees and Hierarchies Many schemas need to represent trees or hierarchies of some sort Common way of representing trees: An adjacency list model Each
Displaying Data from Multiple Tables
4 Displaying Data from Multiple Tables Copyright Oracle Corporation, 2001. All rights reserved. Schedule: Timing Topic 55 minutes Lecture 55 minutes Practice 110 minutes Total Objectives After completing
GET DATA FROM MULTIPLE TABLES QUESTIONS
GET DATA FROM MULTIPLE TABLES QUESTIONS http://www.tutorialspoint.com/sql_certificate/get_data_from_multiple_tables_questions.htm Copyright tutorialspoint.com 1.Which of the following is not related to
ETPL Extract, Transform, Predict and Load
ETPL Extract, Transform, Predict and Load An Oracle White Paper March 2006 ETPL Extract, Transform, Predict and Load. Executive summary... 2 Why Extract, transform, predict and load?... 4 Basic requirements
Chapter 5 More SQL: Complex Queries, Triggers, Views, and Schema Modification
Chapter 5 More SQL: Complex Queries, Triggers, Views, and Schema Modification Copyright 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 5 Outline More Complex SQL Retrieval Queries
MOC 20461C: Querying Microsoft SQL Server. Course Overview
MOC 20461C: Querying Microsoft SQL Server Course Overview This course provides students with the knowledge and skills to query Microsoft SQL Server. Students will learn about T-SQL querying, SQL Server
Jet Data Manager 2012 User Guide
Jet Data Manager 2012 User Guide Welcome This documentation provides descriptions of the concepts and features of the Jet Data Manager and how to use with them. With the Jet Data Manager you can transform
Database Programming with PL/SQL: Learning Objectives
Database Programming with PL/SQL: Learning Objectives This course covers PL/SQL, a procedural language extension to SQL. Through an innovative project-based approach, students learn procedural logic constructs
OBJECT ORIENTED EXTENSIONS TO SQL
OBJECT ORIENTED EXTENSIONS TO SQL Thomas B. Gendreau Computer Science Department University Wisconsin La Crosse La Crosse, WI 54601 [email protected] Abstract Object oriented technology is influencing
An Oracle White Paper June 2012. High Performance Connectors for Load and Access of Data from Hadoop to Oracle Database
An Oracle White Paper June 2012 High Performance Connectors for Load and Access of Data from Hadoop to Oracle Database Executive Overview... 1 Introduction... 1 Oracle Loader for Hadoop... 2 Oracle Direct
How To Create A Table In Sql 2.5.2.2 (Ahem)
Database Systems Unit 5 Database Implementation: SQL Data Definition Language Learning Goals In this unit you will learn how to transfer a logical data model into a physical database, how to extend or
Information and Computer Science Department ICS 324 Database Systems Lab#11 SQL-Basic Query
Information and Computer Science Department ICS 324 Database Systems Lab#11 SQL-Basic Query Objectives The objective of this lab is to learn the query language of SQL. Outcomes After completing this Lab,
An Oracle White Paper June 2013. Migrating Applications and Databases with Oracle Database 12c
An Oracle White Paper June 2013 Migrating Applications and Databases with Oracle Database 12c Disclaimer The following is intended to outline our general product direction. It is intended for information
Oracle Warehouse Builder 10g
Oracle Warehouse Builder 10g Architectural White paper February 2004 Table of contents INTRODUCTION... 3 OVERVIEW... 4 THE DESIGN COMPONENT... 4 THE RUNTIME COMPONENT... 5 THE DESIGN ARCHITECTURE... 6
Relational Databases
Relational Databases Jan Chomicki University at Buffalo Jan Chomicki () Relational databases 1 / 18 Relational data model Domain domain: predefined set of atomic values: integers, strings,... every attribute
Introduction to XML Applications
EMC White Paper Introduction to XML Applications Umair Nauman Abstract: This document provides an overview of XML Applications. This is not a comprehensive guide to XML Applications and is intended for
EFFECTIVE STORAGE OF XBRL DOCUMENTS
EFFECTIVE STORAGE OF XBRL DOCUMENTS An Oracle & UBmatrix Whitepaper June 2007 Page 1 Introduction Today s business world requires the ability to report, validate, and analyze business information efficiently,
ORACLE DATABASE 10G ENTERPRISE EDITION
ORACLE DATABASE 10G ENTERPRISE EDITION OVERVIEW Oracle Database 10g Enterprise Edition is ideal for enterprises that ENTERPRISE EDITION For enterprises of any size For databases up to 8 Exabytes in size.
Choosing a Data Model for Your Database
In This Chapter This chapter describes several issues that a database administrator (DBA) must understand to effectively plan for a database. It discusses the following topics: Choosing a data model for
SQL Server An Overview
SQL Server An Overview SQL Server Microsoft SQL Server is designed to work effectively in a number of environments: As a two-tier or multi-tier client/server database system As a desktop database system
History of SQL. Relational Database Languages. Tuple relational calculus ALPHA (Codd, 1970s) QUEL (based on ALPHA) Datalog (rule-based, like PROLOG)
Relational Database Languages Tuple relational calculus ALPHA (Codd, 1970s) QUEL (based on ALPHA) Datalog (rule-based, like PROLOG) Domain relational calculus QBE (used in Access) History of SQL Standards:
MS SQL Performance (Tuning) Best Practices:
MS SQL Performance (Tuning) Best Practices: 1. Don t share the SQL server hardware with other services If other workloads are running on the same server where SQL Server is running, memory and other hardware
An Oracle White Paper June 2012. Creating an Oracle BI Presentation Layer from Imported Oracle OLAP Cubes
An Oracle White Paper June 2012 Creating an Oracle BI Presentation Layer from Imported Oracle OLAP Cubes Introduction Oracle Business Intelligence Enterprise Edition version 11.1.1.5 and later has the
Chapter 9 Joining Data from Multiple Tables. Oracle 10g: SQL
Chapter 9 Joining Data from Multiple Tables Oracle 10g: SQL Objectives Identify a Cartesian join Create an equality join using the WHERE clause Create an equality join using the JOIN keyword Create a non-equality
Introducing Microsoft SQL Server 2012 Getting Started with SQL Server Management Studio
Querying Microsoft SQL Server 2012 Microsoft Course 10774 This 5-day instructor led course provides students with the technical skills required to write basic Transact-SQL queries for Microsoft SQL Server
Querying Microsoft SQL Server
Course 20461C: Querying Microsoft SQL Server Module 1: Introduction to Microsoft SQL Server 2014 This module introduces the SQL Server platform and major tools. It discusses editions, versions, tools used
Course ID#: 1401-801-14-W 35 Hrs. Course Content
Course Content Course Description: This 5-day instructor led course provides students with the technical skills required to write basic Transact- SQL queries for Microsoft SQL Server 2014. This course
Retrieving Data Using the SQL SELECT Statement. Copyright 2006, Oracle. All rights reserved.
Retrieving Data Using the SQL SELECT Statement Objectives After completing this lesson, you should be able to do the following: List the capabilities of SQL SELECT statements Execute a basic SELECT statement
When to consider OLAP?
When to consider OLAP? Author: Prakash Kewalramani Organization: Evaltech, Inc. Evaltech Research Group, Data Warehousing Practice. Date: 03/10/08 Email: [email protected] Abstract: Do you need an OLAP
Querying Microsoft SQL Server 20461C; 5 days
Lincoln Land Community College Capital City Training Center 130 West Mason Springfield, IL 62702 217-782-7436 www.llcc.edu/cctc Querying Microsoft SQL Server 20461C; 5 days Course Description This 5-day
Oracle Database: SQL and PL/SQL Fundamentals NEW
Oracle University Contact Us: 001-855-844-3881 & 001-800-514-06-97 Oracle Database: SQL and PL/SQL Fundamentals NEW Duration: 5 Days What you will learn This Oracle Database: SQL and PL/SQL Fundamentals
Database Systems. Lecture 1: Introduction
Database Systems Lecture 1: Introduction General Information Professor: Leonid Libkin Contact: [email protected] Lectures: Tuesday, 11:10am 1 pm, AT LT4 Website: http://homepages.inf.ed.ac.uk/libkin/teach/dbs09/index.html
Oracle Database 10g: Building GIS Applications Using the Oracle Spatial Network Data Model. An Oracle Technical White Paper May 2005
Oracle Database 10g: Building GIS Applications Using the Oracle Spatial Network Data Model An Oracle Technical White Paper May 2005 Building GIS Applications Using the Oracle Spatial Network Data Model
Oracle Discoverer EUL Command Line for Java Open Platform EUL Creation and Maintenance. An Oracle White Paper August 2003
Oracle Discoverer EUL Command Line for Java Open Platform EUL Creation and Maintenance An Oracle White Paper August 2003 Oracle Discoverer EUL Command Line for Java EXECUTIVE OVERVIEW Oracle Application
Data warehousing with PostgreSQL
Data warehousing with PostgreSQL Gabriele Bartolini http://www.2ndquadrant.it/ European PostgreSQL Day 2009 6 November, ParisTech Telecom, Paris, France Audience
5.5 Copyright 2011 Pearson Education, Inc. publishing as Prentice Hall. Figure 5-2
Class Announcements TIM 50 - Business Information Systems Lecture 15 Database Assignment 2 posted Due Tuesday 5/26 UC Santa Cruz May 19, 2015 Database: Collection of related files containing records on
An Oracle White Paper October 2009. In-Database Map-Reduce
An Oracle White Paper October 2009 In-Database Map-Reduce Introduction... 2 The Theory... 3 Step-by-Step Example... 4 Step 1 Setting up the Environment... 4 Step 2 Creating the Mapper... 6 Step 3 A Simple
Database SQL messages and codes
System i Database SQL messages and codes Version 5 Release 4 System i Database SQL messages and codes Version 5 Release 4 Note Before using this information and the product it supports, read the information
Data Tool Platform SQL Development Tools
Data Tool Platform SQL Development Tools ekapner Contents Setting SQL Development Preferences...5 Execution Plan View Options Preferences...5 General Preferences...5 Label Decorations Preferences...6
An Oracle White Paper June 2014. RESTful Web Services for the Oracle Database Cloud - Multitenant Edition
An Oracle White Paper June 2014 RESTful Web Services for the Oracle Database Cloud - Multitenant Edition 1 Table of Contents Introduction to RESTful Web Services... 3 Architecture of Oracle Database Cloud
Course 20461C: Querying Microsoft SQL Server Duration: 35 hours
Course 20461C: Querying Microsoft SQL Server Duration: 35 hours About this Course This course is the foundation for all SQL Server-related disciplines; namely, Database Administration, Database Development
How to Build Business Intelligence Using Oracle Real User Experience Insight
An Oracle White Paper April 2009 How to Build Business Intelligence Using Oracle Real User Experience Insight Executive Overview... 3 Starting point... 3 How to indentify potential loss of revenue... 4
Introduction to Microsoft Jet SQL
Introduction to Microsoft Jet SQL Microsoft Jet SQL is a relational database language based on the SQL 1989 standard of the American Standards Institute (ANSI). Microsoft Jet SQL contains two kinds of
Achieving Database Interoperability Across Data Access APIs through SQL Up-leveling
Achieving Database Interoperability Across Data Access APIs through SQL Up-leveling SQL up-leveling provides the capability to write a SQL statement that can be executed across multiple databases, regardless
DBMS / Business Intelligence, SQL Server
DBMS / Business Intelligence, SQL Server Orsys, with 30 years of experience, is providing high quality, independant State of the Art seminars and hands-on courses corresponding to the needs of IT professionals.
Handling Exceptions. Copyright 2006, Oracle. All rights reserved. Oracle Database 10g: PL/SQL Fundamentals 8-1
Handling Exceptions Copyright 2006, Oracle. All rights reserved. Oracle Database 10g: PL/SQL Fundamentals 8-1 Objectives After completing this lesson, you should be able to do the following: Define PL/SQL
ICAB4136B Use structured query language to create database structures and manipulate data
ICAB4136B Use structured query language to create database structures and manipulate data Release: 1 ICAB4136B Use structured query language to create database structures and manipulate data Modification
Integrating Ingres in the Information System: An Open Source Approach
Integrating Ingres in the Information System: WHITE PAPER Table of Contents Ingres, a Business Open Source Database that needs Integration... 3 Scenario 1: Data Migration... 4 Scenario 2: e-business Application
Querying Microsoft SQL Server 2012
Course 10774A: Querying Microsoft SQL Server 2012 Length: 5 Days Language(s): English Audience(s): IT Professionals Level: 200 Technology: Microsoft SQL Server 2012 Type: Course Delivery Method: Instructor-led
Databases 2011 The Relational Model and SQL
Databases 2011 Christian S. Jensen Computer Science, Aarhus University What is a Database? Main Entry: da ta base Pronunciation: \ˈdā-tə-ˌbās, ˈda- also ˈdä-\ Function: noun Date: circa 1962 : a usually
Integrating VoltDB with Hadoop
The NewSQL database you ll never outgrow Integrating with Hadoop Hadoop is an open source framework for managing and manipulating massive volumes of data. is an database for handling high velocity data.
Oracle Database Gateways. An Oracle White Paper July 2007
Oracle Database Gateways An Oracle White Paper July 2007 Oracle Database Gateways Introduction... 3 Connecting Disparate systems... 3 SQL Translations... 4 Data Dictionary Translations... 4 Datatype Translations...
Course 10774A: Querying Microsoft SQL Server 2012
Course 10774A: Querying Microsoft SQL Server 2012 About this Course This 5-day instructor led course provides students with the technical skills required to write basic Transact-SQL queries for Microsoft
Netezza SQL Class Outline
Netezza SQL Class Outline CoffingDW education has been customized for every customer for the past 20 years. Our classes can be taught either on site or remotely via the internet. Education Contact: John
Performance rule violations usually result in increased CPU or I/O, time to fix the mistake, and ultimately, a cost to the business unit.
Is your database application experiencing poor response time, scalability problems, and too many deadlocks or poor application performance? One or a combination of zparms, database design and application
Course 10774A: Querying Microsoft SQL Server 2012 Length: 5 Days Published: May 25, 2012 Language(s): English Audience(s): IT Professionals
Course 10774A: Querying Microsoft SQL Server 2012 Length: 5 Days Published: May 25, 2012 Language(s): English Audience(s): IT Professionals Overview About this Course Level: 200 Technology: Microsoft SQL
TIM 50 - Business Information Systems
TIM 50 - Business Information Systems Lecture 15 UC Santa Cruz March 1, 2015 The Database Approach to Data Management Database: Collection of related files containing records on people, places, or things.
Financial Data Access with SQL, Excel & VBA
Computational Finance and Risk Management Financial Data Access with SQL, Excel & VBA Guy Yollin Instructor, Applied Mathematics University of Washington Guy Yollin (Copyright 2012) Data Access with SQL,
CA Repository for z/os r7.2
PRODUCT SHEET CA Repository for z/os CA Repository for z/os r7.2 CA Repository for z/os is a powerful metadata management tool that helps organizations to identify, understand, manage and leverage enterprise-wide
Recognizing PL/SQL Lexical Units. Copyright 2007, Oracle. All rights reserved.
What Will I Learn? In this lesson, you will learn to: List and define the different types of lexical units available in PL/SQL Describe identifiers and identify valid and invalid identifiers in PL/SQL
Information Systems SQL. Nikolaj Popov
Information Systems SQL Nikolaj Popov Research Institute for Symbolic Computation Johannes Kepler University of Linz, Austria [email protected] Outline SQL Table Creation Populating and Modifying
Oracle For Beginners Page : 1
Oracle For Beginners Page : 1 Chapter 22 OBJECT TYPES Introduction to object types Creating object type and object Using object type Creating methods Accessing objects using SQL Object Type Dependencies
Oracle Database 10g Express
Oracle Database 10g Express This tutorial prepares the Oracle Database 10g Express Edition Developer to perform common development and administrative tasks of Oracle Database 10g Express Edition. Objectives
SAP Business Objects Business Intelligence platform Document Version: 4.1 Support Package 7 2015-11-24. Data Federation Administration Tool Guide
SAP Business Objects Business Intelligence platform Document Version: 4.1 Support Package 7 2015-11-24 Data Federation Administration Tool Guide Content 1 What's new in the.... 5 2 Introduction to administration
Displaying Data from Multiple Tables. Copyright 2006, Oracle. All rights reserved.
Displaying Data from Multiple Tables Objectives After completing this lesson, you should be able to do the following: Write SELECT statements to access data from more than one table using equijoins and
Unit 3. Retrieving Data from Multiple Tables
Unit 3. Retrieving Data from Multiple Tables What This Unit Is About How to retrieve columns from more than one table or view. What You Should Be Able to Do Retrieve data from more than one table or view.
Java SE 8 Programming
Oracle University Contact Us: 1.800.529.0165 Java SE 8 Programming Duration: 5 Days What you will learn This Java SE 8 Programming training covers the core language features and Application Programming
Oracle Database 11g: SQL Tuning Workshop
Oracle University Contact Us: + 38516306373 Oracle Database 11g: SQL Tuning Workshop Duration: 3 Days What you will learn This Oracle Database 11g: SQL Tuning Workshop Release 2 training assists database
Introduction to Querying & Reporting with SQL Server
1800 ULEARN (853 276) www.ddls.com.au Introduction to Querying & Reporting with SQL Server Length 5 days Price $4169.00 (inc GST) Overview This five-day instructor led course provides students with the
Unified XML/relational storage March 2005. The IBM approach to unified XML/relational databases
March 2005 The IBM approach to unified XML/relational databases Page 2 Contents 2 What is native XML storage? 3 What options are available today? 3 Shred 5 CLOB 5 BLOB (pseudo native) 6 True native 7 The
IAF Business Intelligence Solutions Make the Most of Your Business Intelligence. White Paper November 2002
IAF Business Intelligence Solutions Make the Most of Your Business Intelligence White Paper INTRODUCTION In recent years, the amount of data in companies has increased dramatically as enterprise resource
Oracle to MySQL Migration
to Migration Stored Procedures, Packages, Triggers, Scripts and Applications White Paper March 2009, Ispirer Systems Ltd. Copyright 1999-2012. Ispirer Systems Ltd. All Rights Reserved. 1 Introduction The
IBM Cognos 8 Business Intelligence Analysis Discover the factors driving business performance
Data Sheet IBM Cognos 8 Business Intelligence Analysis Discover the factors driving business performance Overview Multidimensional analysis is a powerful means of extracting maximum value from your corporate
