The object-relational model

HCL OneDB™ (HCL OneDB) allows you to build object-relational databases. In addition to supporting alphanumeric data such as character strings, integers, date, and decimal, an object-relational database extends the features of a relational model with the following object-oriented capabilities:
Extensibility
You can extend the capability of the database server by defining new data types (and the access methods and functions to support them) and user-defined routines (UDRs) that allow you to store and manage images, audio, video, large text documents, and so forth.

HCL, as well as third-party vendors, packages some data types and access methods into DataBlade® modules or shared class libraries, that you can add on to the database server, if it suits your needs. A DataBlade module enables you to store non-traditional data types such as two-dimensional spatial objects (lines, polygons, ellipses, and circles) and to access them through R-tree indexes. A DataBlade module might also provide new types of access to large text documents, including phrase matching, fuzzy searches, and synonym matching.

You can also extend the database server on your own by using the features of that enable you to add data types and access methods. For more information, see HCL OneDB User-Defined Routines and Data Types Developer's Guide.

You can create UDRs in SPL and the C programming language to encapsulate application logic or to enhance the functionality of the HCL OneDB. For more information, see Create and use SPL routines.

Complex types
You can define new data types that combine one or more existing data types. Complex types enable greater flexibility in organizing data at the level of columns and tables. For example, with complex types, you can define columns that contain collections of values of a single type and columns that contain multiple component types.
Inheritance
You can define objects (types and tables) that acquire the properties of other objects and add new properties that are specific to the object that you define.

HCL OneDB provides object-oriented capabilities beyond those of the relational model but represents all data in the form of tables with rows and columns. Although the object-relational model extends the capabilities of the relational model, you can implement your data model as a traditional relational database if you choose.

Some rules apply about how you choose entities and attributes, but they are important only when you are designing a new database. For more information about object-relational database design, see the HCL OneDB Database Design and Implementation Guide.