|
| 1 | +DROP TABLE IF EXISTS PC; |
| 2 | +DROP TABLE IF EXISTS Laptop; |
| 3 | +DROP TABLE IF EXISTS Printer; |
| 4 | +DROP TABLE IF EXISTS Product; |
| 5 | + |
| 6 | +-- Create the Product table |
| 7 | +CREATE TABLE Product ( |
| 8 | + maker VARCHAR(50) NOT NULL, |
| 9 | + model INT NOT NULL, |
| 10 | + type VARCHAR(50) NOT NULL, |
| 11 | + PRIMARY KEY (model) |
| 12 | +); |
| 13 | + |
| 14 | +-- Create the PC table |
| 15 | +CREATE TABLE PC ( |
| 16 | + pc_code INT NOT NULL, |
| 17 | + model INT NOT NULL, |
| 18 | + speed INT NOT NULL, |
| 19 | + ram INT NOT NULL, |
| 20 | + hd INT NOT NULL, |
| 21 | + cd VARCHAR(50) NOT NULL, |
| 22 | + price DECIMAL(10, 2) NOT NULL, |
| 23 | + PRIMARY KEY (pc_code), |
| 24 | + FOREIGN KEY (model) REFERENCES Product(model) -- Define the foreign key relationship |
| 25 | +); |
| 26 | + |
| 27 | +-- Create the Laptop table |
| 28 | +CREATE TABLE Laptop ( |
| 29 | + laptop_code INT NOT NULL, |
| 30 | + model INT NOT NULL, |
| 31 | + speed INT NOT NULL, |
| 32 | + ram INT NOT NULL, |
| 33 | + hd INT NOT NULL, |
| 34 | + screen INT NOT NULL, |
| 35 | + price DECIMAL(10, 2) NOT NULL, |
| 36 | + PRIMARY KEY (laptop_code), |
| 37 | + FOREIGN KEY (model) REFERENCES Product(model) -- Define the foreign key relationship |
| 38 | +); |
| 39 | + |
| 40 | +-- Create the Printer table |
| 41 | +CREATE TABLE Printer ( |
| 42 | + printer_code INT NOT NULL, |
| 43 | + model INT NOT NULL, |
| 44 | + color CHAR(1) NOT NULL, |
| 45 | + type VARCHAR(50) NOT NULL, |
| 46 | + price DECIMAL(10, 2) NOT NULL, |
| 47 | + PRIMARY KEY (printer_code), |
| 48 | + FOREIGN KEY (model) REFERENCES Product(model) -- Define the foreign key relationship |
| 49 | +); |
| 50 | + |
| 51 | +INSERT INTO Product (model, maker, type) |
| 52 | +VALUES |
| 53 | + (101, 'Sony', 'Laptop'), |
| 54 | + (102, 'Sony', 'PC'), |
| 55 | + (103, 'HP', 'Printer'), |
| 56 | + (104, 'LG', 'Laptop'), |
| 57 | + (105, 'LG', 'PC'), |
| 58 | + (106, 'Konica Minolta', 'Printer'), |
| 59 | + (107, 'Samsung', 'Laptop'), |
| 60 | + (108, 'IBM', 'PC'), |
| 61 | + (109, 'Sony', 'PC'), |
| 62 | + (110, 'Xerox', 'Printer'); |
| 63 | + |
| 64 | +INSERT INTO PC (pc_code, model, speed, ram, hd, cd, price) |
| 65 | +VALUES |
| 66 | + (201, 102, 2800, 8, 1000, 'DVD', 799.99), |
| 67 | + (202, 105, 3200, 16, 2000, 'Blu-ray', 1299.99), |
| 68 | + (203, 108, 2400, 4, 500, 'None', 549.99), |
| 69 | + (204, 109, 2600, 8, 1000, 'DVD', 699.99), |
| 70 | + (205, 102, 3500, 32, 1500, 'DVD', 1399.99), |
| 71 | + (206, 105, 2900, 8, 1000, 'DVD', 749.99), |
| 72 | + (207, 102, 2700, 4, 500, 'None', 599.99), |
| 73 | + (208, 109, 2800, 8, 1000, 'DVD', 699.99), |
| 74 | + (209, 102, 3300, 16, 2000, 'Blu-ray', 1199.99), |
| 75 | + (210, 105, 2600, 4, 500, 'DVD', 539.99); |
| 76 | + |
| 77 | +INSERT INTO Laptop (laptop_code, model, speed, ram, hd, screen, price) |
| 78 | +VALUES |
| 79 | + (301, 101, 2500, 8, 512, 13, 1299.99), |
| 80 | + (302, 104, 2800, 16, 1000, 15, 1599.99), |
| 81 | + (303, 107, 2400, 4, 256, 14, 799.99), |
| 82 | + (304, 101, 2700, 16, 512, 13, 1399.99), |
| 83 | + (305, 107, 2600, 8, 512, 14, 1199.99), |
| 84 | + (306, 101, 2300, 4, 256, 13, 999.99), |
| 85 | + (307, 107, 2500, 8, 512, 14, 1299.99), |
| 86 | + (308, 101, 2900, 16, 1000, 15, 1699.99), |
| 87 | + (309, 104, 2600, 8, 512, 14, 1299.99), |
| 88 | + (310, 107, 4700, 32, 256, 16, 1999.99); |
| 89 | + |
| 90 | +INSERT INTO Printer (printer_code, model, color, type, price) |
| 91 | +VALUES |
| 92 | + (401, 106, 'C', 'Inkjet', 249.99), |
| 93 | + (402, 103, 'B', 'Laser', 129.99), |
| 94 | + (403, 110, 'C', 'Laser', 299.99), |
| 95 | + (404, 103, 'B', 'Matrix', 139.99), |
| 96 | + (405, 103, 'C', 'Laser', 199.99), |
| 97 | + (406, 106, 'B', 'Inkjet', 119.99), |
| 98 | + (407, 103, 'C', 'Inkjet', 179.99), |
| 99 | + (408, 106, 'B', 'Laser', 109.99), |
| 100 | + (409, 110, 'C', 'Matrix', 279.99), |
| 101 | + (410, 103, 'B', 'Inkjet', 129.99), |
| 102 | + (411, 106, 'C', 'Inkjet', 169.99) |
| 103 | + ; |
0 commit comments