Changes between Version 12 and Version 13 of RelationalModel


Ignore:
Timestamp:
04/21/26 23:13:48 (11 days ago)
Author:
231170
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • RelationalModel

    v12 v13  
    99== Дополнителен Опис ==
    1010
    11 Текст
     11=== 1. Производи (BRANDS, PRODUCTS, PRODUCT_VARIANTS, PRODUCT_IMAGES) ===
     12* Табелата BRANDS чува единствени имиња на производители или брендови. Се чуваат во посебна табела, бидејќи истиот бренд може да покрива стотици варијанти. Така се избегнува редундантност и се овозможува лесна промена на името на брендот на едно место.
     13* Табелата PRODUCTS претставува логичка или „апстрактна" единица на производот, она што го опишуваме со ime и description, без физички карактеристики. Причината за ваквото разделување е тоа што, на пример, „Маица" е еден производ, но постои во повеќе бои, големини и брендови, а тоа се варијантите.
     14* Табелата PRODUCT_VARIANTS е централна точка за физичкото следење на залихи. Секоја варијанта носи SKU (уникатен идентификатор за набавка и складирање), баркод, цена, тежина, статус и врска до бренд и производ. Бидејќи залихите, движењата и сликите се врзуваат за конкретната варијанта (а не за апстрактниот производ), ова ни дава прецизност: знаеме не само дека имаме „маици" туку и колку „сини маици, XL, Adidas" точно се наоѓаат во кој бин.
     15* Табелата PRODUCT_IMAGES чува слики врзани директно за варијанта, не за производот, бидејќи различните варијанти визуелно изгледаат различно. Полето position овозможува подредување на сликите (прва, втора...).
     16
     17=== Категории (CATEGORIES, PRODUCT_CATEGORIES) ===
     18* Табелата CATEGORIES е самореференцирачка — секоја категорија може да има parent_id кој покажува на друга категорија во истата табела. Ова е класичен „adjacency list" модел за дрвести структури. На пример: Електроника → Телефони → Паметни телефони.
     19* Табелата PRODUCT_CATEGORIES е врска многу-кон-многу помеѓу производите и категориите. Еден производ може да припаѓа на повеќе категории (на пример, „спортска облека" и „маици"), а една категорија може да содржи многу производи. Врската е дефинирана на ниво на производ (не варијанта), бидејќи категоризацијата е логичка, а не физичка карактеристика.
     20
     21=== 3. Атрибути (ATTRIBUTES, ATTRIBUTE_VALUES, VARIANT_ATTRIBUTES) ===
     22* Табелата ATTRIBUTES дефинира тип на атрибут, неговиот тип на податок (data_type, на пример „string", „number") и евентуална единица мерка (unit, на пример „cm", „ml").
     23* Табелата ATTRIBUTE_VALUES чува конкретни вредности за секој атрибут (на пример, за атрибутот „Боја": „Црвена", „Сина", „Зелена").
     24* Табелата VARIANT_ATTRIBUTES ги поврзува варијантите со нивните конкретни вредности на атрибути.