Changes between Initial Version and Version 1 of DatabaseCreation


Ignore:
Timestamp:
04/12/26 20:53:25 (3 weeks ago)
Author:
231133
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • DatabaseCreation

    v1 v1  
     1= DDL =
     2
     3== 1. Вовед ==
     4
     5DDL-от беше генериран од страна на Visual Paradigm, испробан локално и дополнет со constraints. Потоа, направивме pg_dump и го импортиравме на нашата remote база за предметот.
     6
     7== 2. Дел од кодот ==
     8
     9CREATE TABLE user_app (
     10    user_id bigint NOT NULL,
     11    username character varying(20) NOT NULL,
     12    email character varying(50) NOT NULL,
     13    contact_phone character varying(50),
     14    CONSTRAINT chk_email_format CHECK (((email)::text ~~ '%@%.%'::text))
     15);
     16
     17CREATE TABLE order_cart (
     18    user_id bigint NOT NULL,
     19    discount_id integer,
     20    status_id integer NOT NULL,
     21    order_id bigint NOT NULL,
     22    created_at timestamp without time zone NOT NULL,
     23    total_price numeric(12,2) NOT NULL,
     24    CONSTRAINT chk_order_total CHECK ((total_price >= (0)::numeric))
     25);
     26
     27CREATE TABLE attribute (
     28    name text NOT NULL,
     29    attribute_id integer NOT NULL,
     30    data_type character varying(20) NOT NULL,
     31    description text,
     32    is_required boolean NOT NULL
     33);
     34
     35CREATE TABLE payment (
     36    order_id bigint NOT NULL,
     37    method_id integer NOT NULL,
     38    payment_id integer NOT NULL,
     39    amount_paid numeric(12,2),
     40    processed_at timestamp without time zone NOT NULL,
     41    transaction_id character varying(255) NOT NULL,
     42    is_refunded boolean,
     43    CONSTRAINT chk_payment_amount CHECK ((amount_paid >= (0)::numeric))
     44);
     45
     46ALTER TABLE ONLY waitlist_entry
     47    ADD CONSTRAINT fk_waitlist_user FOREIGN KEY (user_id) REFERENCES public.user_app(user_id) ON UPDATE CASCADE ON DELETE CASCADE;
     48
     49ALTER TABLE ONLY ticket
     50    ADD CONSTRAINT fk_ticket_seat FOREIGN KEY (seat_id) REFERENCES public.seat(seat_id) ON UPDATE CASCADE ON DELETE SET NULL;
     51
     52ALTER TABLE ONLY payment_method
     53    ADD CONSTRAINT payment_method_method_name_key UNIQUE (method_name);
     54
     55== 3. Резултат ==
     56Моментално имаме табели со точни типови на атрибути и со сите потребни (за сега) ограничувања.