forgetting about linux. I just build a VMware machine for oracle. a windows XP is running in the VMware machine.
A flash movie show how oracle 10g better.
all code for table building:
<br /> alter session set nls_date_format='DD-MM-YY';<br />
alter session set nls_language='american';<br />
commit;<br />
-- drop bottom layer<br />
--<br />
DROP TABLE CORDERLINE;<br />
DROP TABLE SORDERLINE;<br />
--<br />
-- drop second layer<br />
--<br />
DROP TABLE CORDER;<br />
DROP TABLE SORDER;<br />
DROP TABLE STOCK;<br />
--<br />
-- Drop top layer<br />
--<br />
DROP TABLE SUPPLIER;<br />
DROP TABLE CUSTOMER;<br />
DROP TABLE STAFF;<br />
--<br />
-- Create first layer of tables - no dependencies<br />
--<br />
CREATE TABLE Customer (<br />
Customer_Id NUMBER(7) PRIMARY KEY,<br />
Customer_Name VARCHAR2(25),<br />
Customer_Address VARCHAR2(80)<br />
);<br />
--<br />
CREATE TABLE Supplier (<br />
Supplier_Id NUMBER(7) PRIMARY KEY,<br />
Supplier_Name VARCHAR2(25),<br />
Supplier_Address VARCHAR2(80),<br />
Amount_Owed NUMBER(10,2)<br />
);<br />
--<br />
CREATE TABLE Staff (<br />
Staff_no NUMBER(7) PRIMARY KEY,<br />
Staff_name VARCHAR2(20),<br />
Staff_role VARCHAR2(10),<br />
Reports_to NUMBER (7) REFERENCES Staff(staff_no)<br />
);<br />
--<br />
-- Create second layer of tables - dependent on the first layer<br />
--<br />
CREATE TABLE Stock (<br />
Stock_Code VARCHAR2(5) PRIMARY KEY,<br />
Stock_Description VARCHAR2(20),<br />
Unit_Price NUMBER(10,2),<br />
UnitCostPrice NUMBER(10,2),<br />
Stock_level NUMBER(7),<br />
Reorder_level NUMBER(7),<br />
Supplier_Id NUMBER(7) REFERENCES Supplier<br />
);<br />
--<br />
CREATE TABLE COrder (<br />
corderno NUMBER(7) PRIMARY KEY,<br />
Order_Date DATE,<br />
Customer_Id NUMBER(7) REFERENCES Customer,<br />
StaffPaid NUMBER(7) REFERENCES Staff(staff_no),<br />
StaffIssued NUMBER(7) REFERENCES Staff(staff_no)<br />
);<br />
--<br />
CREATE TABLE SOrder (<br />
SupplierOrderNo NUMBER(7) PRIMARY KEY,<br />
SupplierOrderDate DATE,<br />
DeliveredDate DATE NULL,<br />
Supplier_Id NUMBER(7) REFERENCES Supplier<br />
);<br />
--<br />
-- Create third layer - dependent on the second layer.<br />
--<br />
CREATE TABLE COrderLine (<br />
QuantityRequired NUMBER(8),<br />
Corderno NUMBER(7) REFERENCES Corder,<br />
Stock_Code VARCHAR2(5) REFERENCES Stock,<br />
PRIMARY KEY (COrderno,stock_code)<br />
);<br />
--<br />
CREATE TABLE SOrderline (<br />
StockRequired NUMBER(8),<br />
SupplierOrderNo NUMBER(7) REFERENCES Sorder,<br />
Stock_Code VARCHAR2(5) REFERENCES Stock,<br />
PRIMARY KEY (SupplierOrderNo,Stock_Code)<br />
);<br />
--<br />
INSERT INTO CUSTOMER VALUES (1, 'John Flaherty','23 The Green, Blackhill, Dublin 25.');<br />
INSERT INTO CUSTOMER VALUES (2, 'Gerard Temple','9 Genview Tce, Limerick');<br />
INSERT INTO CUSTOMER VALUES (3, 'John Browne','2 Kevin St., Dublin 8');<br />
INSERT INTO CUSTOMER VALUES (4, 'Aidan Bourke','64 Earlsfort Court, Dublin 8');<br />
INSERT INTO CUSTOMER VALUES (5, 'Mary Martin','33 The Lawn, Greenhills, Dublin 22');<br />
INSERT INTO CUSTOMER VALUES (8, 'Handy Andy','Television land');<br />
INSERT INTO CUSTOMER VALUES (6, 'Mary Poppins','34 Greygates, Mt. Merrion');<br />
--<br />
INSERT INTO staff(STAFF_NO,STAFF_NAME,STAFF_ROLE) VALUES (51, 'Joe Owner','Owner');<br />
INSERT INTO staff VALUES (52, 'Fred Flinstone','Foreman',51);<br />
INSERT INTO staff VALUES (53, 'Robbie Red','Sales',51);<br />
INSERT INTO staff VALUES (54, 'Paul Moran','Foreman',52);<br />
INSERT INTO staff VALUES (55, 'Mick O''Donnell','Sales',53);<br />
--<br />
--<br />
--<br />
INSERT INTO Supplier VALUES (501, 'Buckleys','Quarry town, Quarrysville, D44.',6999.5);<br />
INSERT INTO Supplier VALUES (502, 'Brendan Moore','44 Kevin St., D8',4444);<br />
INSERT INTO Supplier VALUES (503, 'James McGovern','33 Synge St.',4443);<br />
INSERT INTO Supplier VALUES (504, 'Liam Keenan','33 Mount Vernon Ave',8888);<br />
INSERT INTO Supplier VALUES (505, 'Mary O''Brien','Appian Way, D2',33333);<br />
INSERT INTO Supplier VALUES (506, 'Oliver Moore','Georges St., D2',3321);<br />
INSERT INTO Supplier VALUES (507, 'Robert O''Mahony','Fitzwilliam Sq',2222);<br />
INSERT INTO Supplier VALUES (508, 'Patricia O''Brien','21 Liberty Lane, D8',3000);<br />
INSERT INTO Supplier VALUES (509, 'June Browne','33 Liberty Lane',4000);<br />
INSERT INTO Supplier VALUES (510, 'Paul Sloan','44 Liberty Lane',30000);<br />
INSERT INTO Supplier VALUES (511, 'Kevin Kelly','33 Bride St, D8',4444);<br />
--<br />
--<br />
--<br />
INSERT INTO Stock VALUES ('BRK11', 'Brick - red, 30x100',2.5,1.5,750,100,501);<br />
INSERT INTO Stock VALUES ('A101', 'Cavity blocks(100)',200,500,300,100,501);<br />
INSERT INTO Stock VALUES ('A111', 'Red bricks(100)',200,250,294,100,501);<br />
INSERT INTO Stock VALUES ('B101', '2"x4" lengths',9.5,7,40,45,504);<br />
INSERT INTO Stock VALUES ('B111', 'Window Frames 2''x4''',45,38,10,5,508);<br />
INSERT INTO Stock VALUES ('C101', '6" Nails(50)',5.95,5,30,25,510);<br />
INSERT INTO Stock VALUES ('C121', '6" Nails(100)',9.95,8,20,25,510);<br />
INSERT INTO Stock VALUES ('D101', 'Workbench',250,200,138,1,511);<br />
INSERT INTO Stock VALUES ('D131', 'cordless Drill',200,150,30,10,506);<br />
INSERT INTO Stock VALUES ('E101', 'Cavity blocks(500)',1000,500,172,200,501);<br />
INSERT INTO Stock VALUES ('E141', 'Cavity blocks(200)',400,130,300,200,501);<br />
INSERT INTO Stock VALUES ('A642', '4"x4" treated timber',9.5,8,20,5,510);<br />
INSERT INTO Stock VALUES ('J555', 'Box of 6" screws',5,4,100,10,508);<br />
INSERT INTO Stock VALUES ('J501', 'Phillips screwdriver',8,6,38,10,505);<br />
--alter session set nls_date_format='DD-MM-YY';<br />
--alter session set nls_language='american';<br />
--commit<br />
--??<br />
INSERT INTO corder(CORDERNO,ORDER_DATE,CUSTOMER_ID,STAFFPAID) VALUES (168,'16-NOV-06',5,53);<br />
INSERT INTO corder(CORDERNO,ORDER_DATE,CUSTOMER_ID,STAFFPAID) VALUES (165,'16-NOV-06',5,51);<br />
INSERT INTO corder(CORDERNO,ORDER_DATE,CUSTOMER_ID,STAFFPAID) VALUES (180,'16-NOV-06',5,51);<br />
INSERT INTO corder VALUES (101,'02-FEB-05',1,51,51);<br />
INSERT INTO corder VALUES (103,'04-FEB-05',5,53,54);<br />
INSERT INTO corder VALUES (104,'04-FEB-05',5,55,54);<br />
INSERT INTO corder VALUES (105,'06-FEB-05',4,53,54);<br />
INSERT INTO corder VALUES (106,'06-FEB-05',3,55,52);<br />
INSERT INTO corder VALUES (107,'10-FEB-05',5,53,52);<br />
INSERT INTO corder VALUES (108,'12-FEB-05',5,53,51);<br />
INSERT INTO corder VALUES (109,'12-FEB-05',5,53,52);<br />
INSERT INTO corder VALUES (110,'18-FEB-05',1,55,51);<br />
INSERT INTO corder(CORDERNO,ORDER_DATE,CUSTOMER_ID,STAFFPAID) VALUES (111,'22-FEB-05',1,51);<br />
INSERT INTO corder VALUES (102,'02-FEB-05',2,53,54);<br />
INSERT INTO corder VALUES (196,'05-OCT-06',8,51,52);<br />
INSERT INTO corder(CORDERNO,ORDER_DATE,CUSTOMER_ID,STAFFPAID) VALUES (161,'16-NOV-06',5,51);<br />
INSERT INTO corder(CORDERNO,ORDER_DATE,CUSTOMER_ID,STAFFPAID) VALUES (163,'16-NOV-06',5,51);<br />
INSERT INTO corder(CORDERNO,ORDER_DATE,CUSTOMER_ID,STAFFPAID) VALUES (200,'29-NOV-06',5,51);<br />
INSERT INTO corder(CORDERNO,ORDER_DATE,CUSTOMER_ID,STAFFPAID) VALUES (201,'29-NOV-06',5,51);<br />
INSERT INTO corder(CORDERNO,ORDER_DATE,CUSTOMER_ID,STAFFPAID) VALUES (120,'15-NOV-06',5,51);<br />
INSERT INTO corder(CORDERNO,ORDER_DATE,CUSTOMER_ID,STAFFPAID) VALUES (121,'15-NOV-06',5,51);<br />
INSERT INTO corder(CORDERNO,ORDER_DATE,CUSTOMER_ID,STAFFPAID) VALUES (122,'15-NOV-06',5,53);<br />
INSERT INTO corder(CORDERNO,ORDER_DATE,CUSTOMER_ID,STAFFPAID) VALUES (123,'15-NOV-06',5,53);<br />
INSERT INTO corder(CORDERNO,ORDER_DATE,CUSTOMER_ID,STAFFPAID) VALUES (124,'15-NOV-06',5,51);<br />
INSERT INTO corder (CORDERNO,ORDER_DATE,CUSTOMER_ID,STAFFPAID)VALUES (142,'15-NOV-06',5,51);<br />
INSERT INTO corder (CORDERNO,ORDER_DATE,CUSTOMER_ID,STAFFPAID)VALUES (162,'16-NOV-06',5,51);<br />
INSERT INTO corder VALUES (170,'22-MAR-07',5,51,53);<br />
INSERT INTO corder VALUES (171,'22-MAR-07',5,51,53);<br />
--<br />
--<br />
--<br />
INSERT INTO Sorder VALUES (701, '02-SEP-05','20-SEP-05',501);<br />
INSERT INTO Sorder VALUES (702, '01-JAN-01','02-JAN-01',501);<br />
INSERT INTO Sorder VALUES (707, '02-MAR-03','03-MAR-03',504);<br />
INSERT INTO Sorder VALUES (703, '05-APR-03','04-MAY-04',505);<br />
INSERT INTO Sorder VALUES (704, '03-APR-04','04-APR-04',501);<br />
INSERT INTO Sorder VALUES (705, '02-FEB-04','03-FEB-04',503);<br />
INSERT INTO Sorder VALUES (706, '03-MAR-04','03-APR-04',505);<br />
INSERT INTO Sorder VALUES (501, '03-SEP-05','',505);<br />
INSERT INTO Sorder VALUES (708, '03-SEP-05','',505);<br />
--<br />
--<br />
--<br />
INSERT INTO Corderline VALUES (1, 168,'D101');<br />
INSERT INTO Corderline VALUES (5, 103,'E141');<br />
INSERT INTO Corderline VALUES (4, 103,'D101');<br />
INSERT INTO Corderline VALUES (5, 101,'J501');<br />
INSERT INTO Corderline VALUES (5, 101,'J555');<br />
INSERT INTO Corderline VALUES (1, 165,'D101');<br />
INSERT INTO Corderline VALUES (1, 180,'D101');<br />
INSERT INTO Corderline VALUES (200, 101,'BRK11');<br />
INSERT INTO Corderline VALUES (20, 101,'A101');<br />
INSERT INTO Corderline VALUES (20, 106,'A111');<br />
INSERT INTO Corderline VALUES (47, 103,'B111');<br />
INSERT INTO Corderline VALUES (1, 103,'C101');<br />
INSERT INTO Corderline VALUES (3, 103,'C121');<br />
INSERT INTO Corderline VALUES (1, 105,'D101');<br />
INSERT INTO Corderline VALUES (2, 107,'D131');<br />
INSERT INTO Corderline VALUES (2, 103,'E101');<br />
INSERT INTO Corderline VALUES (5, 108,'E101');<br />
INSERT INTO Corderline VALUES (2, 102,'E141');<br />
INSERT INTO Corderline VALUES (4, 196,'A642');<br />
INSERT INTO Corderline VALUES (1, 196,'J555');<br />
INSERT INTO Corderline VALUES (1, 196,'J501');<br />
INSERT INTO Corderline VALUES (1, 101,'D101');<br />
INSERT INTO Corderline VALUES (1, 102,'D101');<br />
INSERT INTO Corderline VALUES (6, 102,'A111');<br />
iNSERT INTO Corderline VALUES (2, 102,'J501');<br />
INSERT INTO Corderline VALUES (1, 161,'D101');<br />
INSERT INTO Corderline VALUES (1, 163,'D101');<br />
INSERT INTO Corderline VALUES (1, 200,'D101');<br />
INSERT INTO Corderline VALUES (1, 201,'D101');<br />
INSERT INTO Corderline VALUES (2, 142,'D101');<br />
INSERT INTO Corderline VALUES (1, 162,'D101');<br />
--<br />
--<br />
--<br />
INSERT INTO sorderline VALUES (200, 701,'A101');<br />
INSERT INTO sorderline VALUES (200, 701,'A111');<br />
INSERT INTO sorderline VALUES (30, 702,'B101');<br />
INSERT INTO sorderline VALUES (4, 703,'C101');<br />
INSERT INTO sorderline VALUES (5, 703,'C121');<br />
INSERT INTO sorderline VALUES (300, 704,'B111');<br />
INSERT INTO sorderline VALUES (30, 705,'B101');<br />
INSERT INTO sorderline VALUES (2, 706,'D101');<br />
--<br />
--<br />
--Setup for practice test<br />
--<br />
--<br />
DROP TABLE PSALE;<br />
DROP TABLE PSTOCK;<br />
DROP TABLE PSTAFF;<br />
--<br />
--<br />
CREATE TABLE PStock (<br />
Stock_code CHAR(6) NOT NULL,<br />
Stock_name VARCHAR2(20) NULL,<br />
QuantityInStock INTEGER NULL,<br />
price NUMBER(5,2) NULL,<br />
PRIMARY KEY (Stock_code)<br />
);<br />
--<br />
--<br />
CREATE TABLE PStaff (<br />
Staff_no NUMBER(5) NOT NULL,<br />
Staff_name VARCHAR2(25) NULL,<br />
PRIMARY KEY (Staff_no)<br />
);<br />
--<br />
--<br />
CREATE TABLE PSale (<br />
Stock_code CHAR(6) NOT NULL,<br />
Staff_no NUMBER(5) NOT NULL,<br />
SaleDate TIMESTAMP NOT NULL,<br />
quantity INTEGER NULL,<br />
PRIMARY KEY (Stock_code, Staff_no, SaleDate),<br />
FOREIGN KEY (Staff_no)<br />
REFERENCES PStaff,<br />
FOREIGN KEY (Stock_code)<br />
REFERENCES PStock<br />
);<br />
--<br />
INSERT INTO PSTAFF VALUES (1, 'Damian');<br />
INSERT INTO PSTAFF VALUES (2, 'Bing');<br />
INSERT INTO PSTAFF VALUES (3, 'Fred');<br />
INSERT INTO PSTAFF VALUES (4, 'Deirdre');<br />
INSERT INTO PSTAFF VALUES (5, 'Richard');<br />
INSERT INTO PSTAFF VALUES (6, 'Patricia');<br />
INSERT INTO PSTAFF VALUES (7, 'June');<br />
INSERT INTO PSTAFF VALUES (8, 'Mark');<br />
--<br />
INSERT INTO PSTOCK VALUES ('A11111','Notepad',20,2.95);<br />
INSERT INTO PSTOCK VALUES ('A11112','Blue biro',40,.55);<br />
INSERT INTO PSTOCK VALUES ('A11113','Red biro',40,.55);<br />
INSERT INTO PSTOCK VALUES ('A11114','Ring binder',10,2.60);<br />
INSERT INTO PSTOCK VALUES ('A11115','Eraser',40,.30);<br />
INSERT INTO PSTOCK VALUES ('S22321','Snack bar',24,.80);<br />
INSERT INTO PSTOCK VALUES ('S22322','Cheese+onion crisps',24,.70);<br />
INSERT INTO PSTOCK VALUES ('S22323','Chicken sandwich',24,2.95);<br />
INSERT INTO PSTOCK VALUES ('S22324','Mineral drink',12,2.20);<br />
INSERT INTO PSTOCK VALUES ('S22325','Newspaper',12,1);<br />
--<br />
INSERT INTO PSALE VALUES ('A11111',1,SYSDATE-8,1);<br />
INSERT INTO PSALE VALUES ('A11111',1,SYSDATE-7,1);<br />
INSERT INTO PSALE VALUES ('A11111',1,SYSDATE-6,3);<br />
INSERT INTO PSALE VALUES ('S22321',1,SYSDATE-5,2);<br />
INSERT INTO PSALE VALUES ('S22325',1,SYSDATE-4,1);<br />
INSERT INTO PSALE VALUES ('A11111',3,SYSDATE-3,1);<br />
INSERT INTO PSALE VALUES ('A11114',3,SYSDATE-2,1);<br />
INSERT INTO PSALE VALUES ('S22322',3,SYSDATE-1,1);<br />
INSERT INTO PSALE VALUES ('S22324',3,SYSDATE-9,1);<br />
INSERT INTO PSALE VALUES ('S22323',3,SYSDATE-10,2);<br />
INSERT INTO PSALE VALUES ('A11112',5,SYSDATE-11,1);<br />
INSERT INTO PSALE VALUES ('A11111',5,SYSDATE-12,1);<br />
--<br />
--<br />
--<br />
--<br />
drop table s_student;<br />
drop table s_stage;<br />
drop table programme;<br />
--<br />
create table programme<br />
(<br />
prog_code varchar2(5) not null,<br />
prog_name varchar2(34),<br />
course_chairperson varchar2(25),<br />
total_s_students number(4,0) default 0,<br />
primary key (prog_code)<br />
);<br />
--<br />
insert into programme values ('DT228','Degree in Computer Science','SarahJane Delany',200);<br />
insert into programme values ('DT211','Degree in Computing','Ken O''Brien',100);<br />
insert into programme values ('DT249','Degree in Information Technology','Ciaran O''Leary',100);<br />
--<br />
create table s_stage<br />
(<br />
stage_code number (4,0) not null,<br />
prog_code varchar2(5),<br />
stage_mentor varchar2(25),<br />
remaining_places number(4,0),<br />
primary key (prog_code,stage_code),<br />
foreign key (prog_code) references programme<br />
);<br />
--<br />
--<br />
insert into s_stage values (1,'DT228','Art Sloan',10);<br />
insert into s_stage values (2,'DT228','Ciaran O''Leary',10);<br />
insert into s_stage values (3,'DT228','Richard Lawlor',10);<br />
insert into s_stage values (4,'DT228','Dr. Fred Mtenzi',10);<br />
insert into s_stage values (1,'DT211','Denis Manley',6);<br />
insert into s_stage values (2,'DT211','Hugh McAtamney',7);<br />
insert into s_stage values (3,'DT211','Patricia O''Byrne',3);<br />
insert into s_stage values (4,'DT211','John Gilligan',6);<br />
insert into s_stage values (1,'DT249','Art Sloan',10);<br />
insert into s_stage values (2,'DT249','Mark Foley',10);<br />
insert into s_stage values (3,'DT249','Shane Mulligan',10);<br />
insert into s_stage values (4,'DT249','Mark Deegan',10);<br />
--<br />
create table s_student<br />
(<br />
s_studentNo varchar2(9) not null,<br />
prog_code varchar2(5) not null,<br />
stage_code number(4,0) not null,<br />
studentname varchar2(40),<br />
studentAddress varchar2(60),<br />
primary key (s_studentNo),<br />
foreign key (prog_code,stage_code) references s_stage(prog_code,stage_code)<br />
);<br />
insert into s_student<br />
values ('c88221133','DT228',1,'Joe Bloggs','9 Waintree View, Glasnevin');<br />
insert into s_student<br />
values ('c88221141','DT228',1,'Joe O''Reilly','8 Terenure Rd, Terenure');<br />
insert into s_student<br />
values ('c88221165','DT228',2,'Paul Bloggs','9 Waintree View, Glasnevin');<br />
insert into s_student<br />
values ('c88221122','DT228',1,'Kevin Healy','153 Camden St., Dublin 8');<br />
insert into s_student<br />
values ('c88224433','DT228',2,'Peter Cahill','Tallaght Drive, Tallaght');<br />
insert into s_student<br />
values ('c88223333','DT228',2,'Antoine Lafoux','Main St., Dundrum');<br />
insert into s_student<br />
values ('c88222133','DT228',4,'Ann-Marie Mee','Churchtown Rd., Churchtown');<br />
insert into s_student<br />
values ('c88226633','DT228',3,'Pauline Quinn','Dartry Rd, Dartry');<br />
insert into s_student<br />
values ('c88286433','DT228',3,'Jerrad Markham','9 Glasnevin Rd, Glasnevin');<br />
insert into s_student<br />
values ('c88221364','DT228',4,'Lewis Begg','19 Waintree Drive, Glasnevin');<br />
insert into s_student<br />
values ('c88211933','DT228',4,'Bing Wu','Fassaugh Rd, Cabra');<br />
insert into s_student<br />
values ('c88865433','DT211',1,'Raj Sunderraman','Main Rd, Blanchardstown');<br />
insert into s_student<br />
values ('c88221198','DT211',2,'Colin Ritchie','Doyles Corner, Phibsborough');<br />
insert into s_student<br />
values ('c88221186','DT211',3,'Dieter Bruegge','554 Main St, Ranelagh');<br />
insert into s_student<br />
values ('c88221144','DT211',4,'Carol Britton','15 The Green, Rathmines');<br />
insert into s_student<br />
values ('c88228144','DT249',3,'Arthur Malks','9 the Green, Rathmines');<br />
insert into s_student<br />
values ('c88225533','DT249',1,'Alan Dillon','54 Ratra Rd, Templeogue');<br />
insert into s_student<br />
values ('c88222233','DT249',2,'Conor McCarthy','21 Henry St, Dublin 1');<br />
insert into s_student<br />
values ('c88228833','DT249',4,'Cindy Liu','12 Beaumont Rd, Dalkey');<br />
insert into s_student<br />
values ('c88221233','DT211',3,'June Barrett','8 Firtree Drive, Templeogue');<br />
insert into s_student<br />
values ('c88221633','DT211',3,'Kuda Dubewashe','14 Main St, Glasnevin');
