Changes between Version 3 and Version 4 of ddlScript-with-help-of-AI.sql


Ignore:
Timestamp:
12/30/25 12:24:58 (16 hours ago)
Author:
235018
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • ddlScript-with-help-of-AI.sql

    v3 v4  
    11{{{#!sql
    2 -- Delete tables if they exist
     2-- Delete tables if they exist (in reverse dependency order)
    33DROP TABLE IF EXISTS category;
    44DROP TABLE IF EXISTS store;
     
    7171    product_code VARCHAR(8) REFERENCES product(code)
    7272        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)
    7475);
    7576
     
    7980    product_code VARCHAR(8) REFERENCES product(code)
    8081        ON DELETE CASCADE,
    81     color VARCHAR(50)
     82    color VARCHAR(50),
     83    PRIMARY KEY(product_code, color)
    8284);
    8385
     
    8688-- Create PERSONAL table
    8789CREATE TABLE personal (
    88     ssn VARCHAR(13) PRIMARY KEY,                                     -- Format 13 digits :   0101001451001, 1209995423736,...
     90    id CHAR(7) PRIMARY KEY,                                     -- Format 13 digits :   0101001451001, 1209995423736,...
    8991    first_name VARCHAR(20) NOT NULL,
    9092    last_name VARCHAR(20) NOT NULL,
     
    9698-- Create PERMISSIONS table
    9799CREATE TABLE permissions (
    98     personal_SSN VARCHAR(13) PRIMARY KEY REFERENCES personal(ssn)
     100    personal_ID CHAR(7) REFERENCES personal(id)
    99101        ON DELETE CASCADE,
    100102    type VARCHAR(100) UNIQUE NOT NULL,
    101     authorisation VARCHAR(50) NOT NULL
     103    authorisation VARCHAR(50) NOT NULL,
     104    PRIMARY KEY(personal_ID, type)
    102105);
    103106
     
    105108-- Create BOSS table
    106109CREATE TABLE boss (
    107     boss_SSN VARCHAR(13) PRIMARY KEY REFERENCES personal(ssn)
     110    boss_ID CHAR(7) PRIMARY KEY REFERENCES personal(id)
    108111        ON DELETE CASCADE
    109112);
     
    112115-- Create EMPLOYEES table
    113116CREATE TABLE employees (
    114     employee_SSN VARCHAR(13) PRIMARY KEY REFERENCES personal(ssn)
     117    employee_ID CHAR(7) PRIMARY KEY REFERENCES personal(id)
    115118        ON DELETE CASCADE,
    116119    date_of_hire DATE NOT NULL
     
    153156);
    154157
    155 -- Should there be also a table for refund???
    156158
    157159-- Table 12
     
    205207    request_num VARCHAR(14) REFERENCES request(request_num)
    206208        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)
    210212);
    211213
     
    243245-- Create MAKES_CHANGE table
    244246CREATE TABLE makes_change (
    245     personal_SSN VARCHAR(13) REFERENCES personal(ssn)
     247    personal_ID CHAR(7) REFERENCES personal(id)
    246248        ON DELETE CASCADE,
    247249    change_date_time TIMESTAMP,
    248250    product_code VARCHAR(8),
    249     PRIMARY KEY(personal_SSN, change_date_time, product_code),
     251    PRIMARY KEY(personal_ID, change_date_time, product_code),
    250252    FOREIGN KEY (change_date_time, product_code) REFERENCES "change"(date_and_time, product_code)
    251253        ON DELETE CASCADE
     
    255257-- Create WORKS_IN_STORE table
    256258CREATE TABLE works_in_store (
    257     personal_SSN VARCHAR(13) REFERENCES personal(ssn)
     259    personal_ID VARCHAR(5) REFERENCES personal(id)
    258260        ON DELETE CASCADE,
    259261    store_ID VARCHAR(3) REFERENCES store(store_ID)
    260262        ON DELETE CASCADE,
    261     PRIMARY KEY(personal_SSN, store_ID)
     263    PRIMARY KEY(personal_ID, store_ID)
    262264);
    263265
     
    265267-- Create WORKED table
    266268CREATE TABLE worked (
    267     personal_SSN VARCHAR(13) REFERENCES personal(ssn)
     269    personal_ID CHAR(7) REFERENCES personal(id)
    268270        ON DELETE CASCADE,                   
    269271    report_date TIMESTAMP,
     
    273275    total_hours NUMERIC NOT NULL,
    274276    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),
    276278    FOREIGN KEY (report_date, store_ID) REFERENCES report(date, store_ID)
    277279        ON DELETE CASCADE
     
    302304-- Create APPROVES table
    303305CREATE TABLE approves (
    304     boss_SSN VARCHAR(13) REFERENCES boss(boss_SSN)
     306    boss_ID CHAR(7) REFERENCES boss(boss_ID)
    305307        ON DELETE CASCADE,
    306308    report_date TIMESTAMP,
    307309    store_ID VARCHAR(3),
    308310    owner_signature VARCHAR NOT NULL,
    309     PRIMARY KEY (boss_SSN, report_date, store_ID),
     311    PRIMARY KEY (boss_ID, report_date, store_ID),
    310312    FOREIGN KEY (report_date, store_ID) REFERENCES report(date, store_ID)
    311313        ON DELETE CASCADE
     
    338340);
    339341
    340 
    341342}}}