Object Oriented Database Oracle PLSQL

SQL>
SQL>
SQL> --User-defined types
SQL>
SQL> CREATE TYPE address_typ AS OBJECT
  2   (StreetNo      NUMBER(10),
  3    StreetName    VARCHAR2(100),
  4    AptNo         NUMBER(5),
  5    City          VARCHAR2(100),
  6    State         VARCHAR2(100),
  7    ZipCode       NUMBER(9),
  8    Country       VARCHAR2(100));
  9  /
Type created.
SQL>
SQL>  CREATE TABLE people
  2    (ID        NUMBER(5),
  3     FirstName VARCHAR2(100),
  4     LastName  VARCHAR2(100),
  5     Address   address_typ);
Table created.
SQL>
SQL>
SQL>  INSERT INTO people
  2   VALUES(10,
  3          'John',
  4          'Smith',
  5          address_typ(123,'Happy Lane', NULL,
  6          'Smalltown','Alaska', 12345,'USA') );
1 row created.
SQL>
SQL>
SQL>
SQL> SELECT * FROM people;
                      ID FIRSTNAME
------------------------ ----------------------------------------------------------------------------------------------------
LASTNAME
----------------------------------------------------------------------------------------------------
ADDRESS(STREETNO, STREETNAME, APTNO, CITY, STATE, ZIPCODE, COUNTRY)
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
                   10.00 John
Smith
ADDRESS_TYP(123.00, 'Happy Lane', NULL, 'Smalltown', 'Alaska', 12345.00, 'USA')
SQL>
SQL> drop table people;
Table dropped.
SQL>
SQL>