wiki:RelationalDesign

Version 1 (modified by 185022, 11 days ago) ( diff )

--

Логички и физички дизајн - Креирање база податоци (со SQL DDL)

Ознаки

  • Со * се означени надворешни клучеви
  • Со ** се означени втори надворешни клучеви
  • Со *** се означени трети надворешни клучеви
  • Примарните клучеви се подвлечени и болдирани

Табели

Ентитети

  • API_USER(user_id, user_first_name, user_last_name, user_email, user_phone_no, user_password_hash)
  • COMPANY(company_id, company_name, company_address)
  • RESTAURANT(rest_id, rest_name, rest_email, rest_location, rest_phone, rest_website)
  • CATEGORY(cat_id, cat_name, cat_description)
  • CONTRACT_STATUS(contract_status_id, contract_status_name)
  • DELIVERY_STATUS(d_status_id, d_status_name)
  • ORDER_STATUS(o_status_id, o_status_name)
  • EMPLOYEE_LOYALTY_STATUS(emp_loyalty_status_id, emp_loyalty_status_name)
  • INGREDIENT(ingr_id, ingr_name)
  • ALLERGEN(allergen_id, allergen_name, allergen_description)
  • LOYALTY_TIER(tier_id, tier_name, tier_minimum_points, tier_maximum_points, tier_discount_percentage, tier_free_delivery_eligibility, tier_priority_support, tier_created_at, tier_update_at)
  • REVIEW(review_id, review_comment, review_created_at, review_rating)
  • COMPANY_EMPLOYEE(user_id*, company_id**)
    • * референцира до API_USER (user_id)
    • ** референцира до COMPANY (company_id)
  • ADMIN(user_id*)
    • * референцира до API_USER (user_id)
  • CUSTOMER(user_id*)
    • * референцира до API_USER (user_id)
  • DRIVER(user_id*)
    • * референцира до API_USER (user_id)
  • CONTRACT(contract_id, company_id*, rest_id**, contract_status_id***, contract_start_date, contract_end_date)
    • * референцира до COMPANY (company_id)
    • ** референцира до RESTAURANT (rest_id)
    • *** референцира до CONTRACT_STATUS (contract_status_id)
  • DELIVERY(delivery_id, delivery_date, delivery_notes, d_status_id*, driver_user_id**)
    • * референцира до DELIVERY_STATUS (d_status_id)
    • ** референцира до DRIVER (user_id)
  • COMPANY_ORDER(comp_order_id, company_id*, delivery_id**)
    • * референцира до COMPANY (company_id)
    • ** референцира до DELIVERY (delivery_id)
  • LUNCH_TIME(lunch_time_id, comp_order_id*, contract_id**, lunch_start, lunch_end, lunch_preorder_offset, lunch_weekday)
    • * референцира до COMPANY_ORDER (comp_order_id)
    • ** референцира до CONTRACT (contract_id)
  • MEAL(meal_id, cat_id*, rest_id**, meal_name, meal_description, meal_price, meal_weight)
    • * референцира до CATEGORY (cat_id)
    • ** референцира до RESTAURANT (rest_id)
  • DRINK(drink_id, rest_id*, drink_name, drink_milliliters, drink_price)
    • * референцира до RESTAURANT (rest_id)
  • CUSTOMER_ORDER(order_id, comp_order_id*, company_employee_user_id**, order_datetime, o_status_id***, order_total)
    • * референцира до COMPANY_ORDER (comp_order_id)
    • ** референцира до COMPANY_EMPLOYEE (user_id)
    • *** референцира до ORDER_STATUS (o_status_id)
  • INVOICE(invoice_id, comp_order_id*)
    • * референцира до COMPANY_ORDER (comp_order_id)
  • EMPLOYEE_LOYALTY(emp_loyalty_id, user_id*, emp_loyalty_curr_points, emp_loyalty_joined_at, emp_loyalty_status_id**, tier_id***)
    • * референцира до COMPANY_EMPLOYEE (user_id)
    • ** референцира до EMPLOYEE_LOYALTY_STATUS (emp_loyalty_status_id)
    • *** референцира до LOYALTY_TIER (tier_id)
  • ORDER_REVIEW(review_id*, order_id**, order_review_food_rating, order_review_res_rating)
    • * референцира до REVIEW (review_id)
    • ** референцира до CUSTOMER_ORDER (order_id)
  • DELIVERY_REVIEW(review_id*, delivery_id**, del_review_courier_rating, del_review_speed_rating)
    • * референцира до REVIEW (review_id)
    • ** референцира до DELIVERY (delivery_id)

Релациски табели

  • MEAL_INGREDIENT(meal_id*, ingr_id**)
    • * референцира до MEAL (meal_id)
    • ** референцира до INGREDIENT (ingr_id)
  • ALLERGEN_INGREDIENT(allergen_id*, ingr_id**)
    • * референцира до ALLERGEN (allergen_id)
    • ** референцира до INGREDIENT (ingr_id)
  • ORDER_MEAL(order_id*, meal_id**, quantity)
    • * референцира до CUSTOMER_ORDER (order_id)
    • ** референцира до MEAL (meal_id)
  • ORDER_DRINK(order_id*, drink_id**, quantity)
    • * референцира до CUSTOMER_ORDER (order_id)
    • ** референцира до DRINK (drink_id)

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

Скрипта за креирање на шема

ddl.sql

ЕР Дијаграм

No image "kbnteam_ERDiagram.jpg" attached to RelationalDesign

Attachments (1)

Download all attachments as: .zip

Note: See TracWiki for help on using the wiki.