Changes between Version 3 and Version 4 of ddlScript-with-help-of-AI.sql
- Timestamp:
- 12/30/25 12:24:58 (16 hours ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
ddlScript-with-help-of-AI.sql
v3 v4 1 1 {{{#!sql 2 -- Delete tables if they exist 2 -- Delete tables if they exist (in reverse dependency order) 3 3 DROP TABLE IF EXISTS category; 4 4 DROP TABLE IF EXISTS store; … … 71 71 product_code VARCHAR(8) REFERENCES product(code) 72 72 ON DELETE CASCADE, 73 image VARCHAR NOT NULL DEFAULT 'Image NOT found!' 73 image VARCHAR NOT NULL DEFAULT 'Image NOT found!', 74 PRIMARY KEY(product_code, image) 74 75 ); 75 76 … … 79 80 product_code VARCHAR(8) REFERENCES product(code) 80 81 ON DELETE CASCADE, 81 color VARCHAR(50) 82 color VARCHAR(50), 83 PRIMARY KEY(product_code, color) 82 84 ); 83 85 … … 86 88 -- Create PERSONAL table 87 89 CREATE TABLE personal ( 88 ssn VARCHAR(13) PRIMARY KEY, -- Format 13 digits : 0101001451001, 1209995423736,...90 id CHAR(7) PRIMARY KEY, -- Format 13 digits : 0101001451001, 1209995423736,... 89 91 first_name VARCHAR(20) NOT NULL, 90 92 last_name VARCHAR(20) NOT NULL, … … 96 98 -- Create PERMISSIONS table 97 99 CREATE TABLE permissions ( 98 personal_ SSN VARCHAR(13) PRIMARY KEY REFERENCES personal(ssn)100 personal_ID CHAR(7) REFERENCES personal(id) 99 101 ON DELETE CASCADE, 100 102 type VARCHAR(100) UNIQUE NOT NULL, 101 authorisation VARCHAR(50) NOT NULL 103 authorisation VARCHAR(50) NOT NULL, 104 PRIMARY KEY(personal_ID, type) 102 105 ); 103 106 … … 105 108 -- Create BOSS table 106 109 CREATE TABLE boss ( 107 boss_ SSN VARCHAR(13) PRIMARY KEY REFERENCES personal(ssn)110 boss_ID CHAR(7) PRIMARY KEY REFERENCES personal(id) 108 111 ON DELETE CASCADE 109 112 ); … … 112 115 -- Create EMPLOYEES table 113 116 CREATE TABLE employees ( 114 employee_ SSN VARCHAR(13) PRIMARY KEY REFERENCES personal(ssn)117 employee_ID CHAR(7) PRIMARY KEY REFERENCES personal(id) 115 118 ON DELETE CASCADE, 116 119 date_of_hire DATE NOT NULL … … 153 156 ); 154 157 155 -- Should there be also a table for refund???156 158 157 159 -- Table 12 … … 205 207 request_num VARCHAR(14) REFERENCES request(request_num) 206 208 ON DELETE CASCADE, 207 personal_ SSN VARCHAR(13) NOT NULL REFERENCES personal(ssn)208 ON DELETE CASCADE, 209 PRIMARY KEY(request_num, personal_ SSN)209 personal_ID CHAR(7) NOT NULL REFERENCES personal(id) 210 ON DELETE CASCADE, 211 PRIMARY KEY(request_num, personal_ID) 210 212 ); 211 213 … … 243 245 -- Create MAKES_CHANGE table 244 246 CREATE TABLE makes_change ( 245 personal_ SSN VARCHAR(13) REFERENCES personal(ssn)247 personal_ID CHAR(7) REFERENCES personal(id) 246 248 ON DELETE CASCADE, 247 249 change_date_time TIMESTAMP, 248 250 product_code VARCHAR(8), 249 PRIMARY KEY(personal_ SSN, change_date_time, product_code),251 PRIMARY KEY(personal_ID, change_date_time, product_code), 250 252 FOREIGN KEY (change_date_time, product_code) REFERENCES "change"(date_and_time, product_code) 251 253 ON DELETE CASCADE … … 255 257 -- Create WORKS_IN_STORE table 256 258 CREATE TABLE works_in_store ( 257 personal_ SSN VARCHAR(13) REFERENCES personal(ssn)259 personal_ID VARCHAR(5) REFERENCES personal(id) 258 260 ON DELETE CASCADE, 259 261 store_ID VARCHAR(3) REFERENCES store(store_ID) 260 262 ON DELETE CASCADE, 261 PRIMARY KEY(personal_ SSN, store_ID)263 PRIMARY KEY(personal_ID, store_ID) 262 264 ); 263 265 … … 265 267 -- Create WORKED table 266 268 CREATE TABLE worked ( 267 personal_ SSN VARCHAR(13) REFERENCES personal(ssn)269 personal_ID CHAR(7) REFERENCES personal(id) 268 270 ON DELETE CASCADE, 269 271 report_date TIMESTAMP, … … 273 275 total_hours NUMERIC NOT NULL, 274 276 week VARCHAR(23) NOT NULL, -- Format : 15.12.2025 - 21.12.2025 275 PRIMARY KEY (personal_ SSN, report_date, store_ID),277 PRIMARY KEY (personal_ID, report_date, store_ID), 276 278 FOREIGN KEY (report_date, store_ID) REFERENCES report(date, store_ID) 277 279 ON DELETE CASCADE … … 302 304 -- Create APPROVES table 303 305 CREATE TABLE approves ( 304 boss_ SSN VARCHAR(13) REFERENCES boss(boss_SSN)306 boss_ID CHAR(7) REFERENCES boss(boss_ID) 305 307 ON DELETE CASCADE, 306 308 report_date TIMESTAMP, 307 309 store_ID VARCHAR(3), 308 310 owner_signature VARCHAR NOT NULL, 309 PRIMARY KEY (boss_ SSN, report_date, store_ID),311 PRIMARY KEY (boss_ID, report_date, store_ID), 310 312 FOREIGN KEY (report_date, store_ID) REFERENCES report(date, store_ID) 311 313 ON DELETE CASCADE … … 338 340 ); 339 341 340 341 342 }}}
