14.06.2013 Views

Databases and Systems

Databases and Systems

Databases and Systems

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Managing the Object Class Hierarchy<br />

113<br />

The NS has many classes of data, <strong>and</strong> some of these classes form a natural hierarchy.<br />

Consider, for example, molecules with a role in the NS. The smallest such molecules<br />

are the neurotransmitters, odor molecules <strong>and</strong> "second messengers" such as cyclic<br />

Adenosine Monophosphate. The neuromodulators such as the enkephalins<br />

(composed of a small number of amino-acids) <strong>and</strong> neurohormones (e.g., endorphins)<br />

are somewhat larger. At the macromolecular end, we have various protein molecules<br />

such as enzymes, ion channels <strong>and</strong> receptor molecules, along with their<br />

corresponding nucleotide sequence/s. All of these are sub-classes of the class<br />

"molecule", <strong>and</strong> the nature of information to be recorded against each subclass<br />

varies. Thus, simple structural formulas (as vector graphics) are useful for smaller<br />

molecules, while the larger protein molecules need to have secondary or tertiary<br />

structures recorded when available. For enzymes, one would like to know about the<br />

reactions they catalyze.<br />

Similarly, for anatomical structures, one can descend from gross anatomical<br />

structures (e.g., the cerebellum), to sub-structures (such as nuclei), to individual<br />

layers of cells <strong>and</strong> the neuronal cell types within a layer.<br />

However, there are some practical problems in directly porting the object-oriented<br />

inheritance paradigm to design of a schema for NS objects.<br />

While the number of classes is large, many of them will have only a modest<br />

number of actual object instances. (For example, even though different<br />

information needs to be recorded on a neurotransmitter versus a neuromodulator,<br />

the currently known neurotransmitters plus neuromodulators number less than a<br />

hundred.) It may seem like overkill to create separate tables as part of a complex<br />

hierarchy for such few instances, because the added design effort is not<br />

sufficiently amortized in terms of the volume of the data that is better managed.<br />

In the context of NS data, we are using the phrase "class" more loosely than,<br />

say, Java programmers do. In programming parlance, a class refers to a<br />

particular data structure as well as the permissible operations (member<br />

functions, methods) that can be defined for that class. However, for most NS<br />

"classes", one cannot really think of any applicable operations other than simple<br />

input <strong>and</strong> output.<br />

Simplifying Class Management through EAV Design<br />

When the number of instances of a class is expected to be numerous enough in a<br />

production schema, the st<strong>and</strong>ard Object Dictionary approach (with class-specific<br />

tables holding object descriptions, as mentioned earlier) is adequate. When it is not,<br />

we must consider alternative design approaches.<br />

One approach that is popular for modeling highly heterogeneous data is the<br />

Entity-Attribute-Value (EAV) approach. (Some authors substitute "Object" for<br />

Entity.) Attribute-Value pairs as a means of describing an object were pioneered in

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!