Object Oriented Database Oracle PLSQL

SQL> create type addressType as object
  2  (Street   VARCHAR2(50),
  3  City      VARCHAR2(25),
  4  State     CHAR(2),
  5  Zip       NUMBER);
  6  /
SQL>
SQL> create type personType as object
  2  (Name     VARCHAR2(25),
  3   Address  addressType);
  4  /
SQL>
SQL>
SQL> create or replace type personType as object
  2  (Name     VARCHAR2(25),
  3   Address  addressType);
  4  /
SQL>
SQL>
SQL> create table myemp
  2  (cid    NUMBER,
  3   Person         personType);
SQL>
SQL>
SQL> insert into myemp values
  2  (1,personType('SomeName',
  3     addressType('StreetValue','CityValue','ST',11111)));
SQL>
SQL>
SQL> select C.Person.Name,
  2         C.Person.Address.City
  3    from myemp C
  4   where C.Person.Address.City like 'C%';
                                                              
PERSON.NAME                PERSON.ADDRESS.CITY
-------------------------  -------------------------
SomeName                   CityValue
                   
SQL>
SQL>
SQL> drop table myemp;
SQL> drop type personType;
SQL> drop type addressType;
SQL>
SQL>