Create table COMPANY ( COMPANY_KEY INTEGER NOT NULL, COMPANY_NAME VARCHAR2(50), PARENT_KEY INTEGER); /* colum order is Company_key,Company_name,Parent_key */ insert into company values (100,'Microsoft',NULL); insert into company values (101,'Software',100); insert into company values (102,'Consulting',101); insert into company values (103,'Products',101); insert into company values (104,'Office',103); insert into company values (105,'Visio',104); insert into company values (106,'Visio Europe',105); insert into company values (107,'Back Office',103); insert into company values (108,'SQL Server',107); insert into company values (109,'Analysis Services',108); insert into company values (110,'DTS',108); insert into company values (111,'Report Services',108); insert into company values (112,'Developer Tools',103); insert into company values (113,'Windows',103); insert into company values (114,'Entertainment',103); insert into company values (115,'Games',114); insert into company values (116,'Multimedia',114); insert into company values (117,'Education',101); insert into company values (118,'Online Services',100); insert into company values (119,'WebTV',118); insert into company values (120,'MSN',118); insert into company values (121,'MSN.co.uk',120); insert into company values (122,'Hotmail.com',120); insert into company values (123,'MSNBC',120); insert into company values (124,'MSNBC Online',123); insert into company values (125,'Expedia',120); insert into company values (126,'Expedia.co.uk',125); /* End example data */ Create table COMPANY_STRUCTURE ( PARENT_KEY INTEGER NOT NULL, SUBSIDIARY_KEY INTEGER NOT NULL, SUBSIDIARY_LEVEL INTEGER NOT NULL, SEQUENCE_NUMBER INTEGER NOT NULL, LOWEST_FLAG CHAR(1), HIGHEST_FLAG CHAR(1), PARENT_COMPANY VARCHAR2(50), SUBSIDIARY_COMPANY VARCHAR2(50));