Cons of using user defined types as table definitions
I'm more and more thinking along the lines of introducing a new standard for our developers that all tables must be based on user defined types. E.g. instead of doing the normal create table, you first create a (user defined object) type and then do a create table of type.
There are various good reasons for wanting to do this - 90+% of all the code we write is PL/SQL. A lot of development issues are (very neatly) addressed dealing with object types (aka oo classes) than with %ROWTYPE structs in PL/SQL code.
After all, oo is a proven programming development technology. All the benefits one has in languages like Delphi, Java, C++, C# also applies to using oo in PL/SQL.
What cons do you think there are from a pure RDBMS side in dealing with an o-r table versus a normal table? Not talking about o-r database design specifically (I still favour pure relational designs myself). Simply using oo types (called user defined types or advance data types in Oracle) as the definition of a table. What do you think the cons are? Any practical real world experience out there in this regard?
Thanks.