Changes between Version 5 and Version 6 of ddlScript.sql


Ignore:
Timestamp:
12/24/25 22:30:32 (6 days ago)
Author:
235018
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • ddlScript.sql

    v5 v6  
    3232-- Create PRODUCT table
    3333CREATE TABLE product (
    34     code SERIAL PRIMARY KEY,                      -- In format 3 digits for store, 5 digits for product (Total 8 digits). Ex. 00100155, 01500020,...
     34    code VARCHAR(8) PRIMARY KEY,                      -- In format 3 digits for store, 5 digits for product (Total 8 digits). Ex. 00100155, 01500020,...
    3535    price NUMERIC NOT NULL CHECK (price >= 0),
    3636    availability INTEGER NOT NULL,
     
    4444-- Create IMAGE table
    4545CREATE TABLE image(
    46     product_code VARCHAR PRIMARY KEY REFERENCES product(code)
     46    product_code VARCHAR(8) PRIMARY KEY REFERENCES product(code)
    4747        ON DELETE CASCADE,
    4848    image VARCHAR NOT NULL DEFAULT 'Image NOT found!'
     
    5252-- Create COLOR table
    5353CREATE TABLE color (
    54     product_code VARCHAR PRIMARY NULL REFERENCES product(code)
     54    product_code VARCHAR(8) PRIMARY NULL REFERENCES product(code)
    5555        ON DELETE CASCADE,
    5656    color VARCHAR(50)
     
    6060-- Create STORE table
    6161CREATE TABLE store (
    62     store_ID SERIAL PRIMARY KEY,             -- In the format of 3 digits. Example : 001, 101, 567, 996,...
     62    store_ID VARCHAR(3) PRIMARY KEY,             -- In the format of 3 digits. Example : 001, 101, 567, 996,...
    6363    name VARCHAR(50) UNIQUE NOT NULL,
    6464    date_of_founding DATE NOT NULL,
     
    105105-- Create CLIENT table
    106106CREATE TABLE client (
    107     client_ID SERIAL PRIMARY KEY,                     -- Format, just an order of an integer, starting from 1000. EX : 1005, 1023,  1200, ...
     107    client_ID INTEGER PRIMARY KEY,                     -- Format, just an order of an integer, starting from 1000. EX : 1005, 1023,  1200, ...
    108108    first_name VARCHAR(50) NOT NULL,
    109109    last_name VARCHAR(50) NOT NULL,
     
    123123-- Create ORDER table
    124124CREATE TABLE "order" (
    125     order_num SERIAL PRIMARY KEY,                   -- In the format: 3 digits for store ID, 2 digits for year when order is placed, 5 digits for the number of order for that store in that year
     125    order_num VARCHAR(11) PRIMARY KEY,                   -- In the format: 3 digits for store ID, 3 digits for year when order is placed, 5 digits for the number of order for that store in that year
    126126    client_ID INTEGER REFERENCES client(client_ID)
    127127        ON DELETE CASCADE,
     
    140140        ON DELETE CASCADE,
    141141    overall_profit NUMERIC NOT NULL DEFAULT 0.0 CHECK(overall_profit>=0),
    142     sales_trend VARCHAR NOT NULL,
    143     marketing_growth VARCHAR NOT NULL,
    144     owner_signature VARCHAR(30) NOT NULL,
     142    sales_trend VARCHAR NOT NULL,                                                    -- graph
     143    marketing_growth VARCHAR NOT NULL,                                               -- graph
     144    owner_signature VARCHAR(30) NOT NULL,                                           
    145145    PRIMARY KEY (date, store_ID)
    146146);
     
    161161-- Create REQUEST table
    162162CREATE TABLE request (
    163     request_num SERIAL PRIMARY KEY,                -- Format: 3 digits for store ID, 2 digits for month in which the request is placed, 2 digits for year, 3 digits for request number
     163    request_num VARCHAR(14) PRIMARY KEY,  -- Format: 3 digits for store ID, 2 digits for month in which the request is placed, 3 digits for year, 4 digits for client, 2 digits for request number
    164164    date_and_time TIMESTAMP NOT NULL,
    165     problem VARCHAR(1000) NOT NULL,
    166     notes_of_communication VARCHAR(300),
     165    problem VARCHAR(300) NOT NULL,
     166    notes_of_communication VARCHAR,
    167167    costumer_satisfaction NUMERIC NOT NULL
    168168);
     
    181181-- Create ANSWERS table
    182182CREATE TABLE answers (
    183     request_num VARCHAR(10) REFERENCES request(request_num)
     183    request_num VARCHAR(14) REFERENCES request(request_num)
    184184        ON DELETE CASCADE,
    185185    personal_SSN VARCHAR(13) NOT NULL REFERENCES personal(ssn)
     
    191191-- Create FOR_STORE table
    192192CREATE TABLE for_store (
    193     request_num VARCHAR(10) REFERENCES request(request_num)
     193    request_num VARCHAR(14) REFERENCES request(request_num)
    194194        ON DELETE CASCADE,
    195195    store_ID VARCHAR(3) REFERENCES store(store_ID)
     
    201201-- Create REVIEW table
    202202CREATE TABLE review (
    203     order_num VARCHAR(10) REFERENCES "order"(order_num)
     203    order_num VARCHAR(11) REFERENCES "order"(order_num)
    204204        ON DELETE CASCADE,               -- Should the review be deleted when the order is deleted?
    205205    comment VARCHAR(300),
     
    248248    store_ID VARCHAR(3),     
    249249    wage NUMERIC NOT NULL CHECK (wage>=62),
    250     pay_method VARCHAR(20) DEFAULT 'hourly',
     250    pay_method VARCHAR DEFAULT 'hourly',
    251251    total_hours NUMERIC NOT NULL,
    252     week VARCHAR(24) NOT NULL,
     252    week VARCHAR(23) NOT NULL,                       -- Format : 15.12.2025 - 21.12.2025
    253253    PRIMARY KEY (personal_SSN, report_date, store_ID),
    254254    FOREIGN KEY (report_date, store_ID) REFERENCES report(date, store_ID)
     
    270270-- Create INCLUDES table
    271271CREATE TABLE includes (
    272     order_num VARCHAR(10) REFERENCES "order"(order_num)
     272    order_num VARCHAR(11) REFERENCES "order"(order_num)
    273273        ON DELETE CASCADE,
    274274    product_code VARCHAR(8) REFERENCES product(code)
     
    303303    PRIMARY KEY (report_date, store_ID)
    304304);
     305}}};