ISO/IEC 13249-1:2002
(Main)Information technology — Database languages — SQL multimedia and application packages — Part 1: Framework
Information technology — Database languages — SQL multimedia and application packages — Part 1: Framework
ISO/IEC 13249 defines a number of packages of generic data types common to various kinds of data used in multimedia and application areas, to enable that data to be stored and manipulated in an SQL database. The package in each subject area is defined as a part of ISO/IEC 13249. ISO/IEC 13249-1:2002 defines those concepts, notations and conventions that are common to two or more other parts of ISO/IEC 13249. In particular it describes the way ISO/IEC 9075 is used in other parts to define the user-defined types and their behaviour appropriate to each subject area.
Technologies de l'information — Langages de bases de données — Multimédia SQL et paquetages d'application — Partie 1: Cadre général
General Information
Relations
Standards Content (Sample)
INTERNATIONAL ISO/IEC
STANDARD 13249-1
Second edition
2002-12-01
Information technology — Database
languages — SQL multimedia and
application packages —
Part 1:
Framework
Technologies de l'information — Langages de bases de données —
Multimédia SQL et paquetages d'application —
Partie 1: Cadre général
Reference number
ISO/IEC 13249-1:2002(E)
©
ISO/IEC 2002
---------------------- Page: 1 ----------------------
ISO/IEC 13249-1:2002(E)
PDF disclaimer
This PDF file may contain embedded typefaces. In accordance with Adobe's licensing policy, this file may be printed or viewed but
shall not be edited unless the typefaces which are embedded are licensed to and installed on the computer performing the editing. In
downloading this file, parties accept therein the responsibility of not infringing Adobe's licensing policy. The ISO Central Secretariat
accepts no liability in this area.
Adobe is a trademark of Adobe Systems Incorporated.
Details of the software products used to create this PDF file can be found in the General Info relative to the file; the PDF-creation
parameters were optimized for printing. Every care has been taken to ensure that the file is suitable for use by ISO member bodies. In
the unlikely event that a problem relating to it is found, please inform the Central Secretariat at the address given below.
© ISO/IEC 2002
All rights reserved. Unless otherwise specified, no part of this publication may be reproduced or utilized in any form or by any means,
electronic or mechanical, including photocopying and microfilm, without permission in writing from either ISO at the address below or
ISO's member body in the country of the requester.
ISO copyright office
Case postale 56 • CH-1211 Geneva 20
Tel. + 41 22 749 01 11
Fax + 41 22 749 09 47
E-mail copyright@iso.org
Web www.iso.org
Published in Switzerland
ii © ISO/IEC 2002 — All rights reserved
---------------------- Page: 2 ----------------------
ISO/IEC 13249-1:2002(E)
Contents Page
Foreword .i v
Introduction. v
1 SCOPE.1
2 NORMATIVE REFERENCES.3
3 TERMS AND DEFINITIONS.5
3.1 DEFINITIONS TAKEN FROM ISO/IEC 9075 .5
3.2 DEFINITIONS PROVIDED IN THIS PART OF ISO/IEC 13249.6
3.3 DEFINITIONS PROVIDED IN OTHER PARTS OF ISO/IEC 13249 .6
4 CONCEPTS .7
4.1 CONCEPTS TAKEN FROM ISO/IEC 9075.7
4.2 REQUIREMENTS FOR GENERIC KINDS OF DATA .8
4.3 USE OF ISO/IEC 9075.8
4.3.1 User-defined types and routines.8
4.3.2 Information schema and definition schema.9
4.4 IMPLEMENTATION OF ISO/IEC 13249 .9
4.5 USE OF ISO/IEC 13249.9
5 PARTS OF ISO/IEC 13249.11
5.1 PART 1: FRAMEWORK (SQL/MM FRAMEWORK) .11
5.2 PART 2: FULL-TEXT (SQL/MM FULL-TEXT).11
5.3 PART 3: SPATIAL (SQL/MM SPATIAL).11
5.4 PART 5: STILL IMAGE (SQL/MM STILL IMAGE).11
5.5 PART 6: DATA MINING (SQL/MM DATA MINING) .11
6 NOTATIONS AND CONVENTIONS USED IN OTHER PARTS .13
6.1 NOTATION.13
6.2 CONVENTIONS .13
6.2.1 Clause structure.13
6.2.2 Organization of specifications.13
6.2.3 Data type, attribute and SQL-invoked routine identifiers.13
6.2.4 Parameter identifiers.13
6.2.5 Meta-variables .14
6.2.6 Symbols .14
6.2.7 Exceptions .14
6.2.8 Status codes .14
7 IMPLEMENTATION REQUIREMENTS.15
7.1 SCHEMAS .15
7.2 USAGE PRIVILEGES ON USER-DEFINED TYPES.15
7.3 UNDER PRIVILEGES ON USER-DEFINED TYPES.15
7.4 EXECUTE PRIVILEGES ON ROUTINES.15
8 CONFORMANCE .17
8.1 IMPLEMENTATIONS .17
8.2 RELATIONSHIP TO OTHER INTERNATIONAL STANDARDS .17
8.3 CLAIM OF CONFORMANCE .17
8.4 EXTENSIONS AND OPTIONS .18
ANNEX A (INFORMATIVE).19
© ISO/IEC 2002 — All rights reserved iii
---------------------- Page: 3 ----------------------
ISO/IEC 13249-1:2002(E)
Foreword
ISO (the International Organization for Standardization) and IEC (the International Electrotechnical
Commission) form the specialized system for worldwide standardization. National bodies that are members of
ISO or IEC participate in the development of International Standards through technical committees
established by the respective organization to deal with particular fields of technical activity. ISO and IEC
technical committees collaborate in fields of mutual interest. Other international organizations, governmental
and non-governmental, in liaison with ISO and IEC, also take part in the work. In the field of information
technology, ISO and IEC have established a joint technical committee, ISO/IEC JTC 1.
International Standards are drafted in accordance with the rules given in the ISO/IEC Directives, Part 3.
The main task of the joint technical committee is to prepare International Standards. Draft International
Standards adopted by the joint technical committee are circulated to national bodies for voting. Publication as
an International Standard requires approval by at least 75 % of the national bodies casting a vote.
Attention is drawn to the possibility that some of the elements of this part of ISO/IEC 13249 may be the
subject of patent rights. ISO and IEC shall not be held responsible for identifying any or all such patent rights.
ISO/IEC 13249-1 was prepared by Joint Technical Committee ISO/IEC JTC 1, Information technology,
Subcommittee SC 32, Data management and interchange.
This second edition cancels and replaces the first edition (ISO/IEC 13249-1:2000), which has been technically
revised.
ISO/IEC 13249 consists of the following parts, under the general title Information technology — Database
languages — SQL multimedia and application packages:
Part 1: Framework
Part 2: Full-Text
Part 3: Spatial
Part 5: Still Image
Part 6: Data mining
Parts other than this part specify requirements, and all are dependent on various parts of ISO/IEC 9075 and
also on this part of ISO/IEC 13249.
Annex A of this part of ISO/IEC 13249 is for information only.
iv © ISO/IEC 2002 — All rights reserved
---------------------- Page: 4 ----------------------
ISO/IEC 13249-1:2002(E)
Introduction
The organization of this part of ISO/IEC 13249 is as follows:
1) Clause 1, "Scope", specifies the scope of this part of ISO/IEC 13249.
2) Clause 2, "Normative references", identifies additional standards that, through reference in ISO/IEC 13249,
constitute provisions of this part of ISO/IEC 13249, and hence to all parts of ISO/IEC 13249.
3) Clause 3, "Terms and definitions", specifies terms and definitions used in ISO/IEC 13249.
4) Clause 4, "Concepts", describes the concepts used in ISO/IEC 13249.
5) Clause 5, "Parts of ISO/IEC 13249", summarises the content of each of the parts of ISO/IEC 13249.
6) Clause 6, "Notation and conventions used in other parts", defines the notation and conventions used in other
parts of ISO/IEC 13249.
7) Clause 7, "Implementation requirements", describes the requirements relating to the implementation of
ISO/IEC 13249.
8) Clause 8, "Conformance", specifies the conformance requirements for all or some of the parts of ISO/IEC
13249.
9) Annex A, "ISO/IEC JTC1 formal procedure" is an informative Annex. It describes the formal procedures for
maintenance and interpretation of ISO/IEC 13249.
© ISO/IEC 2002 — All rights reserved v
---------------------- Page: 5 ----------------------
INTERNATIONAL STANDARD ISO/IEC 13249-1:2002(E)
Information technology — Database languages — SQL
multimedia and application packages —
Part 1:
Framework
1 Scope
ISO/IEC 13249 defines a number of packages of generic data types common to various kinds of data used in
multimedia and application areas, to enable that data to be stored and manipulated in an SQL database. The
package in each subject area is defined as a part of ISO/IEC 13249. Clause 1, "Scope", of that part defines its
subject area.
This part of ISO/IEC 13249 defines those concepts, notations and conventions that are common to two or more
other parts of ISO/IEC 13249. In particular it describes the way ISO/IEC 9075 is used in other parts to define the
user-defined types and their behaviour appropriate to each subject area.
© ISO/IEC 2002 — All rights reserved 1
---------------------- Page: 6 ----------------------
ISO/IEC 13249-1:2002(E)
Blank Page
2 © ISO/IEC 2002 — All rights reserved
---------------------- Page: 7 ----------------------
ISO/IEC 13249-1:2002(E)
2 Normative references
The following normative documents contain provisions which, through reference in this text, constitute
provisions of this part of ISO/IEC 13249. For dated references, subsequent amendments to, or revisions of,
any of these publications do not apply. However, parties to agreements based on this part of ISO/IEC 13249
are encouraged to investigate the possibility of applying the most recent editions of the normative documents
indicated below. For undated references, the latest edition of the normative document referred to applies.
Members of ISO and IEC maintain registers of currently valid International Standards.
ISO/IEC 9075-1:1999, Information technology — Database languages — SQL — Part 1: Framework
(SQL/Framework)
ISO/IEC 9075-2:1999, Information technology — Database languages — SQL — Part 2: Foundation
(SQL/Foundation)
ISO/IEC 9075-4:1999, Information technology — Database languages — SQL — Part 4: Persistent Stored
Modules (SQL/PSM)
1)
ISO/IEC 9075-11:— , Information technology — Database languages — SQL — Part 11: Information and
definition schemas (SQL/schemata)
1) To be published.
© ISO/IEC 2002 — All rights reserved 3
---------------------- Page: 8 ----------------------
ISO/IEC 13249-1:2002(E)
Blank Page
4 © ISO/IEC 2002 — All rights reserved
---------------------- Page: 9 ----------------------
ISO/IEC 13249-1:2002(E)
3 Terms and definitions
3.1 Definitions taken from ISO/IEC 9075
The following terms defined in ISO/IEC 9075 are used either in this part of ISO/IEC 13249 or in other parts of
ISO/IEC 13249.
a) assignment
b) attribute
c) cardinality
d) compilation unit
e) constructor function
f) data type
g) declared type
h) definition schema
i) descriptor
j) external routine
k) identifier
l) implementation-defined
m) implementation-dependent
n) information schema
o) instance (of a value)
p) mutator function
q) null value
r) observer function
s) row
t) sequence
u) signature (of an SQL-invoked routine)
v) SQL-environment
w) SQL-implementation
x) SQL-invoked method
y) SQL-invoked routine
© ISO/IEC 2002 — All rights reserved 5
---------------------- Page: 10 ----------------------
ISO/IEC 13249-1:2002(E)
z) SQL routine
aa) subtype
bb) supertype
cc) table
dd) type-preserving function
ee) user-defined type
ff) white space
3.2 Definitions provided in this part of ISO/IEC 13249
For the purposes of this part of ISO/IEC 13249, the following definitions apply.
3.2.1
generic data type
a generic data type is a kind of data not already defined in ISO/IEC 9075 that is used in a wider context than a
single enterprise and for which there are advantages in standardizing the way it is represented
3.2.2
meta-variable
a meta-variable is a variable which is used to define implementation-dependent or implementation-defined
constants
3.2.3
method
SQL-invoked method.
3.3 Definitions provided in other parts of ISO/IEC 13249
The terms and associated definitions relating to the subject areas of ISO/IEC 13249 are provided by the part of
ISO/IEC 13249 that defines the user-defined types for that subject area.
6 © ISO/IEC 2002 — All rights reserved
---------------------- Page: 11 ----------------------
ISO/IEC 13249-1:2002(E)
4 Concepts
4.1 Concepts taken from ISO/IEC 9075
The following concepts defined in ISO/IEC 9075 are used either in this part of ISO/IEC 13249 or in other parts of
ISO/IEC 13249.
a) array
b) base table
c) character set
d) column
e) completion condition
f) distinct type
g) exception condition
h) False
i) field
j) host language
k) ordering function
l) predefined data type
m) privilege
n) source type
o) SQL-data
p) SQL-invoked method
q) SQL-statement
r) structured type
s) transform function
t) True
u) Unknown
v) user-defined cast
w) view
© ISO/IEC 2002 — All rights reserved 7
---------------------- Page: 12 ----------------------
ISO/IEC 13249-1:2002(E)
4.2 Requirements for generic kinds of data
ISO/IEC 9075 defines the Database Language SQL, which is a language used to define and manipulate SQL-data.
For the purposes of this part of ISO/IEC 13249, the SQL-data in an SQL-environment is referred to as an SQL
database.
Using the data definition facilities of ISO/IEC 9075, an enterprise may develop an SQL database based on the
kinds of data chosen for some specific purpose determined by the particular requirements of the enterprise.
Many kinds of data are used in a wider context than that of an individual enterprise, in which case there are
benefits in being able to use a generic specification for the definition and manipulation of these kinds of data.
These benefits include the enabling of the following:
(a) shared understanding of this data;
(b) exchange of this data;
(c) provision of common manipulation facilities to process this data.
Recognition of these benefits has resulted in the development of international standards and of publicly available
specifications for generic data types in the subject areas referred to in Clause 1,"Scope".
Many enterprises have requirements to use such generic data types combined with their own enterprise-specific
data types in an SQL database. These requirements include the manipulation of component elements of a generic
data type, enabling both the construction and recording of user-defined types within an SQL database, and the use
of these components in selection and retrieval of data from an SQL database. ISO/IEC 13249 addresses these
requirements.
4.3 Use of ISO/IEC 9075
4.3.1 User-defined types and routines
ISO/IEC 9075 includes facilities for defining user-defined types. A user-defined type can be either a distinct type or
a structured type. A distinct type is based on some predefined data type. A structured type has attributes specified
as either SQL data types or other user-defined types. A structured type may be defined as a subtype of another
structured type, with inheritance of its attributes. A column of an SQL table can be defined as a user-defined type.
A user-defined type can only be manipulated by associated routines.
An attribute has automatically an associated observer and mutator function to retrieve and change its value.
Further routines may be defined in which the body of the routine, being the component that determines behaviour
on invocation of the routine, is specified either by SQL statements or by reference to an external routine prepared
in some other programming language.
Each part of ISO/IEC 13249 defines a number of user-defined types and associated routines, defined according to
ISO/IEC 9075. The types and routines of each part are intended for use with data for a specific subject area. Each
part constitutes a package that aims to satisfy the requirements for including generic data types for that subject
area in an SQL database. It does not define how data from multiple subject areas may be combined.
Each user-defined type is fully defined using the SQL syntax of ISO/IEC 9075.
For each routine there is a specification of its signature, which includes its name and all parameters with their type.
A routine body is specified either by SQL statements or by reference to a definition, which is given either in some
formal language or as descriptive text.
The definition of a user-defined type in a part of ISO/IEC 13249 can include user-defined cast functions to convert
between a value of the user-defined type and another data type.
8 © ISO/IEC 2002 — All rights reserved
---------------------- Page: 13 ----------------------
ISO/IEC 13249-1:2002(E)
The definition of a user-defined type in a part of ISO/IEC 13249 can include an ordering function to specify the
order of two values of the user-defined type.
4.3.2 Information schema and definition schema
ISO/IEC 9075 defines the Information Schema and the Definition Schema for making descriptors of persistent
database objects available to any application.
The Information Schema includes the descriptors of a number of schema objects including the Information Schema
itself, mostly view definitions, that together allow every descriptor in that catalog to be accessed, but not changed,
as though it was SQL-data. These views are defined in terms of the base tables of the Definition Schema. The only
purpose of the Definition Schema is to provide a data model to support the Information Schema and to assist
understanding.
Parts of ISO/IEC 13249 may define Information Schema views and corresponding Definitional Schema base tables
to provide information about the facilities and data in the subject area applications. Applications can obtain
information about facilities and data supported by these application packages by querying the application
package's Information Schema views.
4.4 Implementation of ISO/IEC 13249
Conformance to any one other part of ISO/IEC 13249 may be claimed by an implementation, in which case it is
required to provide its users with the capability of using the user-defined types according to the specifications of
that part of ISO/IEC 13249.
An implementor of a part of ISO/IEC 13249 has the freedom to provide a routine in any way that has the same
effect as the specification of its body in that part. In particular, a specification of a routine body using SQL does not
have to be implemented exactly as given, but may be implemented by another set of SQL statements or by an
external routine having the same effect.
4.5 Use of ISO/IEC 13249
The requirements described in Subclause 4.2, "Requirements for generic kinds of data", involve data for user-
defined types being recorded and manipulated with other enterprise data in an SQL database. Data can be in an
SQL database only when a column of a table is defined as an appropriate type to record it. The user-defined types
defined in subsequent parts of ISO/IEC 13249 can be used for this purpose in at least three different ways:
a) as the basis of a column in a table;
b) as the basis of an attribute of a user-defined type;
c) as the basis of a new derived subtype.
In the first way, a column's type is specified as one of the user-defined types of a part of ISO/IEC 13249. This use
of a user-defined type of ISO/IEC 13249 requires the USAGE privilege for the user-defined type (see Subclause
7.2, "USAGE privileges on user-defined types"). The routines defined by ISO/IEC 13249 are used to manipulate
values of the user-defined type. Invocation of these routines requires the EXECUTE privilege for the routines (see
Subclause 7.4, "EXECUTE privileges on routines").
In the second way, a new user-defined type is defined with an attribute that is one of the user-defined types of
ISO/IEC 13249. The new user-defined type may have additional attributes to satisfy specific enterprise
requirements. This use of a user-defined type of ISO/IEC 13249 requires the USAGE privilege for the user-defined
type (see Subclause 7.2, "USAGE privileges on user-defined types"). The new user-defined type can then be used
as a column's type, as in the first way. New routines may be created for the new user-defined type. If these new
routines incorporate routines defined by ISO/IEC 13249 to manipulate values of the attribute that is one of the user-
defined types of ISO/IEC 13249, then the EXECUTE privilege is required for the incorporated routines in order to
create the new routine (see Subclause 7.4, "EXECUTE privileges on routines").
© ISO/IEC 2002 — All rights reserved 9
---------------------- Page: 14 ----------------------
ISO/IEC 13249-1:2002(E)
In the third way, a new user-defined type is defined as a subtype of one of the user-defined types of a part of
ISO/IEC 13249. The new user-defined type may have additional attributes to satisfy specific enterprise
requirements. This use of a user-defined type of ISO/IEC 13249 requires the UNDER privilege for the user-defined
type (see Subclause 7.3, "UNDER privileges on user-defined types"). The new user-defined type can then be used
as a column's type, as in the first way. The routines defined by ISO/IEC 13249 can be used to manipulate the new
user-defined type (though further routines may be needed). Invocation of these routines requires the EXECUTE
privilege for the routines (see Subclause 7.4, "EXECUTE privileges on routines").
Whichever way is considered most appropriate for a specific enterprise context, any user-defined type can be used
only in an SQL environment.
An SQL-agent consists of one or more compilation units that interact with an SQL-environment. An SQL-agent can
interact only via predefined data types for which ISO/IEC 9075 defines a mapping for the host language or
programming language used to create the SQL-agent.
The definition of a user-defined type in a part of ISO/IEC 13249 can include transform functions to convert between
a value of the user-defined type and predefined types.
10 © ISO/IEC 2002 — All rights reserved
---------------------- Page: 15 ----------------------
ISO/IEC 13249-1:2002(E)
5 Parts of ISO/IEC 13249
The parts of ISO/IEC 13249 currently under development are as follows.
5.1 Part 1: Framework (SQL/MM Framework)
This part of ISO/IEC 13249 provides a specification of both the definitional mechanisms and the conventions used
in all other parts.
5.2 Part 2: Full-Text (SQL/MM Full-Text)
Part 2 of ISO/IEC 13249 specifies user-defined types for full-text data and for a number of text search patterns. It
also defines routines for searching full-text data according to a given search pattern. In addition, it defines routines
for casting character strings to and from these user-defined types.
5.3 Part 3: Spatial (SQL/MM Spatial)
Part 3 of ISO/IEC 13249 specifies user-defined types for spatial data, specifically points, curves, surfaces and
collections of these. It also defines routines for manipulating, searching and ordering spatial data. In addition, it
defines transform functions for converting the user-defined types to and from character and binary representations.
5.4 Part 5: Still Image (SQL/MM Still Image)
Part 5 of ISO/IEC 13249 specifies user-defined types for image data and for image search mechanisms. It also
defines routines for manipulating and for searching image data using different mechanisms. In addition, it defines
transform functions for converting the user-defined types to and from binary representations.
5.5 Part 6: Data mining (SQL/MM Data mining)
Part 6 of ISO/IEC 13249 specifies user-defined types for major data mining techniques. It also defines routines for
generation and manipulation of values of these user-defined types. The specifications thus make provision for
analyzing data and capturing the results of the analysis. In addition, it defines import and export functions to
convert user-defined types to and from character representations.
© ISO/IEC 2002 — All rights reserved 11
---------------------- Page: 16 ----------------------
ISO/IEC 13249-1:2002(E)
Blank Page
12 © ISO/IEC 2002 — All rights reserved
---------------------- Page: 17 ----------------------
ISO/IEC 13249-1:2002(E)
6 Notations and conventions used in other parts
6.1 Notation
The notation used in the specification of user-defined types and associated routines is, wherever possible, the
database language SQL as defined in ISO/IEC 9075.
6.2 Conventions
6.2.1 Clause structure
Within each part, the specification of user-defined types having a common purpose is contained within a single
clause of that part of ISO/IEC 13249. For each user-defined type there is a subclause, which contains further
subclauses giving the definition of the type and each of its associated routines.
6.2.2 Organization of specifications
A subclause that defines a user-defined type or routine has the following unnumbered sections.
1) Purpose: This section shall contain a brief description of the purpose of the user-defined type or routine.
2) Definition: This section shall contain the ISO/IEC 9075 syntax used to define the type or routine. In order to
distinguish SQL syntax from other text in ISO/IEC 13249, SQL syntax is specified in a non-proportional type
font. s, as defined in ISO/IEC 9075, are in uppercase. Parameter and variable identifiers are in
lower case or mixed case. Data type, attribute and SQL-invoked routine identi
...
Questions, Comments and Discussion
Ask us and Technical Secretary will try to provide an answer. You can facilitate discussion about the standard in here.