オラクルは、長い間破棄されてきたリブランディング活動の一環として、データベース内のオブジェクトのサポートを開始しました。Oracle8 は、単なる RDBMS ではなく、ORDBMS として位置付けられました。その後、ラリーはインターネットを発見し、Java をデータベースに入れ、慎重に Oracle8i を RDBMS として再ブランド化しました。
それにもかかわらず、SQL 型は残ります。彼らは良いことです。おっしゃる通り、配列は優れたプログラミング デバイスであり、PL/SQL で非常に役立ちます。そして、継承とポリモーフィズムにより、素敵な API を構築できます。
しかし、あなたの重要なポイントに:
「データベースにそのような方法で保存する理由がわかりません」
まさにそうです。データベース テーブル定義で SQL 型を使用する正当な理由はほとんどありません。理論的には、ドメイン タイプを定義するために使用できますが、構文が難しすぎてうまくいきません。ネストされたテーブルとして列を定義する場合、これは 2 倍になります。これにより、正規化とリレーショナル整合性の強制が難しくなります。
私はいくつかの非常にニッチなケースに出くわしましたが、それらはコア データベース テーブルではありませんでした。むしろ、それらはログ テーブルなどのユーティリティでした。