Subtyping by constraints in object-oriented databasesTaxonomic modeling in C++ based object-oriented databases is efficient