Static type-checking in object-oriented databases
Val Breazu-Tannen, Peter Buneman, Atsushi Ohori · IEEE Data(base) Engineering Bulletin · 1989
If a precise definition of object-oriented programming languages is elusive, the confusion surrounding objectoriented databases is even greater. Rather than attempt to give a comprehensive definition of the subject we shall concentrate on a few properties of object-oriented databases that we believe to be of central importance. We want to show that these properties can be concisely captured in a language that has a more-or-less conventional type system for the representation of data, and that achieves its “object-orientedness” by exploiting type inference. The advantage of this approach is that programs are statically checked for type correctness without the programmer having to declare types. By doing this we believe we can eliminate a major source of errors in programming on databases – type errors, which proliferate as the complexity of the database increases. In most object-oriented database systems, type errors are not caught until something goes wrong at run-time, often with disastrous consequences.