wiki:RelationalDesign

Релациска шема

Ознаки

  • PK Примарните клучеви се означени со bold и underline
  • FK Надворешните клучеви се означени со *,#,%,&, @
  • Задолжителни атрибути, односно not null со bold

Табели

  • Roles (id, type)
  • Cities (id, name, adress, phonenumber)
  • Vet_Centers (id, name, description, adress, phonenumber, latitude, longitude, workinghours, citiesid*)
    *референца од Cities(id)
    
  • Jobs (id, description, predictedsalery, vetcenters_id*)
    *референца од Vet_centers(id)
    
  • Users(id, name, lastname, email, password number, role_id*, jobs_id@)
    *референца од Roles(id)
    @референца од Jobs(id)
    
  • Blog_Post_For_Consultations (id, date_asked, title, description, users_id* )
    *референца од Users(id)
    
  • Blog_Post_Answers (id, parent_id, reply, blogpostconsid*, date_answers )
    *референца од Blog_Post_For_Consultations(id)
    
  • Pet_Cares (id, title, description, dateending, usersid*, vetcentersid@, start_date )
    *референца од Users(id)
    @референца од Vet_centers(id)
    
  • Type_of_pets(id, description, kind_of_pet)
  • Pets (id, color, description, dateofbirthday, usersid*, typeofpetsid@, petstatusid%, name, petcares&)
    *референца од Users(id)
    @референца од Type_of_pets(id)
    %референца од Pet_status(id)
    &референца од Pet_Cares(id)
    
  • Pet_galery (id, picture, petsid*)
    *референца од Pets(id)
    
  • Reports (id, description, usersid*, petsid@ )
    *референца од Users(id)
    @референца од Pets(id)
    
  • Diagnostics (id, description, usersid*, vetcenterID@)
    *референца од Users(id)
    @референца од VetCenters(id)
    
  • Manufacturers (id, description, city, state)
  • Medecines (id, name, description, dateofbirthday, diagnosticsid*, manufacturersid@ )
    *референца од Diagnostics(id)
    @референца од Manufacturers(id)
    
  • Pet_status (id, type, node)
  • Therapy (id, description, appoitmentdate, diagnosticsid*, petstatus@ )
    *референца од Diagnostics(id)
    @референца од Pet_status(id)
    
  • Breeds (id, name)
  • Products (id, name, description, price, isactive, dateadded, category, available_quantity)
  • Orders (id, quantity, userid*)
    *референца од Users(id)
    
  • Pets_visit_vet_centers (id_pets*, id_vet_centers@)
    *референца од Pets(id)
    @референца од Vet_centers(id)
    
  • Product_are_made_orders (id_products*, id_orders@)
    *референца од Products(id)
    @референца од Orders(id)
    
  • Products_there_are_type_of_pets (id_products*, id_type_of_pets@)
    *референца од Products(id)
    @референца од Type_of_pets(id)
    
  • Therapy_takes_pets(id_therapy*, id_pets@)
    *референца од Therapy(id)
    @референца од Pets(id)
    
  • diagnostics_established_pets(id_diagnostics*, id_pets@)
    *референца од Diagnostics(id)
    @референца од Pets(id)
    

DDL скрипта за бришење на табелите и креирање на табелите

kreiranje.sql

DML скрипта за полнење на табелите со податоци

dodavanje.sql

Релациски дијаграм изваден од DBeaver

Направени измени


Самостојна изработка
Измените се направени по препорака на колегите.

Измени во DDL скриптата за креирање на табели

ALTER TABLE pets 
DROP CONSTRAINT IF EXISTS petcares; 

ALTER TABLE pets 
DROP COLUMN IF EXISTS petcares;



ALTER TABLE pet_cares 
ADD COLUMN pet_id BIGINT;

ALTER TABLE pet_cares 
ADD CONSTRAINT fk_pet_id FOREIGN KEY (pet_id) REFERENCES pets(id) ON DELETE CASCADE; 
ALTER TABLE orders
DROP COLUMN quantity;
 

ALTER TABLE product_are_made_orders
ADD COLUMN quantity int;


Измени во DDL скриптата за полнење на податоци

DELETE FROM project.product_are_made_orders;

INSERT INTO project.product_are_made_orders
(id_products, id_orders, quantity)
VALUES(1, 4, 1),
(2, 5, 1),
(3, 4, 1);

Измени во релациски дијаграм изведен од DBeaver
Релациски дијаграм

Last modified 2 months ago Last modified on 08/30/24 19:58:02

Attachments (12)

Download all attachments as: .zip

Note: See TracWiki for help on using the wiki.