Techniques used in a relational database system for defining subclasses of
built-in classes and thereby achieving columns in database tables which
contain polymorphic objects of the built-in classes. The methods for the
subclasses are contained in named packages. A table in the database
system's schema relates the package name to a storage location managed by
the relational database system that contains the compiled code for the
package. When a method from the package is invoked, a dynamic linker uses
the name and the table to locate the compiled code and then executes the
compiled code. Users may define their own subclasses by writing a package
and then compiling the package using a compiler belonging to the database
system. The compiler puts the compiled code in one of the storage
locations and modifies the table so that the package name is related to
the storage location. The compilation and binding techniques may be used
generally to implement plugins in the database system. One use of
subclasses is to make objects that are capable of handling data from
different kinds of data sources that are external to the database system,
including data from files on the system upon which the database system is
running and data from HTTP servers. In a preferred embodiment, these
objects can also handle data stored locally within the database system and
can transfer data between the external source and the local storage.
Another use of subclasses is to make it possible for objects that handle
data that represents the same kind of entities, but use different formats
to read the format information from the data itself.
Techniques utilisées dans un système de base de données relationnelle pour les sous-classes définissantes des classes et des colonnes intégrées de réalisation de ce fait dans les tables de base de données qui contiennent les objets polymorphes des classes intégrées. Les méthodes pour les sous-classes sont contenues en paquets appelés. Une table dans le schéma du système de base de données relie le nom de paquet à un endroit de stockage contrôlé par le système de base de données relationnelle qui contient le code compilé pour le paquet. Quand une méthode du paquet est appelée, un éditeur de liens dynamique emploie le nom et la table pour localiser le code compilé et puis exécute le code compilé. Les utilisateurs peuvent définir leurs propres sous-classes en écrivant un paquet et puis en compilant le paquet en utilisant un compilateur appartenant au système de base de données. Le compilateur met le code compilé dans un des endroits de stockage et modifie la table de sorte que le nom de paquet soit lié à l'endroit de stockage. Les techniques de compilation et d'obligatoire peuvent être employées généralement pour mettre en application des plugins dans le système de base de données. Une utilisation des sous-classes doit faire les objets qui sont capables de manipuler des données de différents genres de points d'émission de données qui sont externes au système de base de données, y compris des données à partir des dossiers sur le système sur lequel le système de base de données fonctionne et donnée des serveurs de HTTP. Dans un mode de réalisation préféré, ces objets peuvent également manipuler des données stockées localement dans le système de base de données et peuvent transférer des données entre la source extérieure et le stockage local. Une autre utilisation des sous-classes doit le rendre possible aux objets qui manipulent les données qui représentent le même genre d'entités, mais formats d'utilisation les différents pour lire l'information de format des données elle-même.