Object Oriented Database Oracle PLSQL

SQL>
SQL> create or replace type address_type
  2    as object
  3    ( city    varchar2(30),
  4      street  varchar2(30),
  5      state   varchar2(2),
  6      zip     number
  7    )
  8  /
Type created.
SQL> create or replace type person_type
  2    as object
  3    ( name             varchar2(30),
  4      dob              date,
  5      home_address     address_type,
  6      work_address     address_type
  7    )
  8  /
Type created.
SQL>
SQL>
SQL> create table people1 of person_type
  2  /
Table created.
SQL>
SQL>
SQL> insert into people1 (name)
  2   values ( 'Hello World!' );
1 row created.
SQL>
SQL> select * from people1;
NAME                 DOB
-------------------- --------------------
HOME_ADDRESS(CITY, STREET, STATE, ZIP)
------------------------------------------------------------------------------------------------------------------------------------------------------
WORK_ADDRESS(CITY, STREET, STATE, ZIP)
------------------------------------------------------------------------------------------------------------------------------------------------------
Hello World!
1 row selected.
SQL>
SQL> drop table people1;
Table dropped.
SQL>
SQL> drop type person_type;
Type dropped.
SQL> drop type address_type;
Type dropped.
SQL> --