= ER Model = == ЕР Дијаграм == '''Верзија 3 на ЕР моделот после корекција од тикет #3''' [[Image(ERD_VERSION_4.jpg)]] // == Податочни побарувања == '''Ентититети''' // 1. PRODUCT_CATEGORY - Ентитет за категорија на продукт a. id serial секвенца (примарен клуч) b. category_name varchar // 2. PRODUCT - Ентитет за продукт кој го продава аптеката a. id serial секвенца (примарен клуч) b. sku varchar c. description varchar d. units in stock integer e. unit_price decimal f. image_url varchar g. name varchar h. active boolean i. date_created timestamp j. last_updated timestamp // 3. CUSTOMER - Ентитет за купувач кој направил нарачка во системот a. id serial секвенца (примарен клуч) b. first_name varchar c. last_name varchar d. email varchar unique // 4. ADDRESS - Ентитет за адреса на корисникот a. id serial секвенца (примарен клуч) b. street varchar c. city varchar d. country varchar e. zip_code varchar // 5. ORDER - Ентитет за нарачката која е направена во системот a. id serial секвенца (примарен клуч) b. order_tracking_number varchar c. total_price decimal d. total_quantity int e. date_created timestamp // 6. ORDER_ITEM - Слаб ентитет за нарачан производ кој е дел од нарачката a. o_id bigserial секвенца (дискриминатор клуч) b. image_url varchar c. quantity int d. unit_price decimal // 7. ORDER_STATUS - Слаб ентитет кој произлегува од ентиететот ORDERS заради моделирање на историја на промени на статус на нарачка a. os_id serial секвенца (дискриминатор клуч) b. b. status varchar c. c. date_updated timestamp // ''' Релации ''' // 1. ORDER – ORDER_ITEM (Релација CONTAINS) * Релација која покажува од кои нарачани продукти се состои нарачката. Една нарачка содржи многу нарачани производи. // 2. ORDER_ITEM – PRODUCT (Релација ORDER_ITEM_PRODUCT) * Релација која покажува детални информации за нарачаниот продукт од ORDER. Пример доколку сакаме да откриеме детали за продуктот кој е нарачан освен неговото id тогаш референцираме кон табелата PRODUCT за да ги излистаме неговите преостанати атрибути. // 3. PRODUCT – PRODUCT_CATEGORY (Релација BELONGS_TO) * Релација која покажува кој продукт на која категорија припаѓа. Една категорија може да содржи многу продукти. Еден продукт мора да припаѓа на една категорија. // 4. CUSTOMER – ORDER (Релација MAKES) * Релација која покажува кој купувач која нарачка ја направил. Еден купувач може да направи многу нарачки. Нарачката мора да е направена од еден купувач. // 5. ORDER – ADDRESS (Релација HAS_SHIPPING_ADDRESS) * Нарачката мора да содржи една адреса за испорака // 6. ORDER – ADDRESS (Релација HAS_BILLING_ADDRESS) * Нарачката мора да содржи една адреса поврзана со методот на плаќање 7. ORDER – ORDER-STATUS (Релација HAS_STATUS) * Нарачката може да претрпи промена на статусот на нарачката == Историјат на верзии од ЕР дијаграмот == '''[attachment:ER_VERSION_1.jpg Верзија 1]''' // '''[attachment:ER_VERSION_2.jpg Верзија 2]''' // '''[attachment:ERD_VERSION_3.jpg Верзија 3]''' // '''[attachment:ERD_VERSION_4.jpg Верзија 4]''' //