Object Oriented Database Oracle PLSQL

SQL> -- Use discrete attribute names
SQL>
SQL> CREATE OR REPLACE TYPE address_obj as OBJECT(
  2        street VARCHAR2(20),
  3        city VARCHAR2(20),
  4        state CHAR(2),
  5        zip CHAR(5));
  6  /
Type created.
SQL>
SQL>
SQL> CREATE TABLE emp (empno   NUMBER(3),
  2                    name    VARCHAR2(20),
  3                    address ADDRESS_OBJ);
Table created.
SQL>
SQL>
SQL> INSERT INTO emp VALUES (101, 'Adam', ADDRESS_OBJ('1 A St.','Mobile','AL','36608'));
1 row created.
SQL>
SQL> COLUMN name FORMAT a9
SQL> COLUMN empno FORMAT 999999
SQL> COLUMN address FORMAT a50
SQL>
SQL>
SQL> SELECT empno, name, address FROM emp;
  EMPNO NAME      ADDRESS(STREET, CITY, STATE, ZIP)
------- --------- --------------------------------------------------
    101 Adam      ADDRESS_OBJ('1 A St.', 'Mobile', 'AL', '36608')
SQL>
SQL>
SQL> drop table emp;
Table dropped.
SQL>
SQL>
SQL>