== ''ER дијаграм'' == [[Image(ERModel2.png, 1200px)]] === ''**Ентитети**'' **User** - ентитет кој чува податоци за секој корисник.Од овој ентитет произлегуваат 3 други ентитети. PRIMARY_KEY:user_id Атрибути: name surname email username password **Client** - ентитет кој произлегува од User и го наследува неговиот примарен клуч. Кандидат клуч:client_number **Shipping_employee** - ентитет кој произлегува од User и го наследува неговиот примарен клуч. Кандидат клуч:shipping_employee_number **Store_employee** - ентитет кој произлегува од User и го наследува неговиот примарен клуч. Кандидат клуч:store_employee_number **Role** - ентитет кој ни кажува каква улога има вработениот. PRIMARY_KEY:id_role Атрибути: role_name role_desc **Online_stores** - ентитет во кој се чува листа на сите продавници. PRIMARY_KEY:store_id Атрибути: name web_address contact phone_number email social_media **Catalogue** - ентитет во кој се чуваат каталози за секоја продавница. PRIMARY_KEY:catalogue_id Атрибути: catalogue_from catalogue_to type **Product_in_store** - ентитет кој ни кажува дали производот е достапен во продавницата. PRIMARY_KEY:product_in_store_id **Product** - ентитет кој чува информации за продуктот. PRIMARY_KEY:product_id Атрибути: name in_store size color **Category** - ентитет кој ни кажува во која категорија се наоѓа продуктот. PRIMARY_KEY:category_id Атрибути: category_name **Price** - слаб ентитет кој чува информации за цената на продуктите. PRIMARY_KEY:price_id Атрибути: price price_from price_to **Shipping** - ентитет кој чува информации за доставата. PRIMARY_KEY:shipping_id Атрибути: location date_from date_to **Shopping_bag** - ентитет кој чува информации за производите за кои клиентот е заинтересиран. PRIMARY_KEY:shopping_id Атрибути: order_date shipping_date modified **Payment** - ентитет кој чува информации за начинот на наплата. PRIMARY_KEY:payment_id Атрибути: info === ''**Релации**'' **АDDS** - 1:N релација, со тотално учество од страна на ентитетот Shopping Bag, поврзана со ентитетот Client. Означува внесување на различни продукти во Shopping Bag од страна на Client. **CARRIES** - 1:N релација, помеѓу Shipping и Shipping_Employee која означува дека точно одреден Shipping_Employee може да изврши повеќе Shipping процеси, а повеќе Shipping процеси можат да се извршени од еден Shipping_Employee. **FROM/TO** - 1:1 релација, помеѓу Shipping и Shopping_Bag. Што означува дека одреден Shipping произлегува од точна Shopping_Bag и од точно одредена Shoppin_Bag следува процесот Shipping. PAYS - 1:1 релација, која ги поврзува Shopping_Bag и Payment. Означува дека за секоја одредена Shopping_Bag се знае точен Payment. **ORDER** - N:N релација, ги поврзува Shopping_Bag и Product_In_Store. Означува дека од повеќето достапни продукти во продавницата можат да се нарачуваат во повеќе Shopping_Bag, а Shopping_Bag може да прима повеќе нарачки од повеќе достапните продукти во продавниците. **WORKS_AS** - N:N релација, помеѓу Store_Employee и Role. Со целосно учество од страна на ентитетот Role кон Store_Employee. Опишува дека секој вработен мора да има одредени улоги како вработен. **WORKS_FOR** - N:1 релација, која се наоѓа помеѓу Store_Employee и Online_Stores. Означува дека во даден Online Store мора да има повеќе вработени, како и повеќе вработени мора да се барем во еден Online Store. **HAS_PRODUCT** - 1:N релација, помеѓу Online_Stores и Product_In_Store. Што значи дека во даден Online_Stores има повеќе достапни продукти, а повеќе продукти може да се достапни во одреден Online_Stores. **HAVE** - 1:N слаба релација, со тотално учество од страна на слабиот ентитет Catalogue кон ентитетот Online_Stores. Опишува дека во Online_Stores мора да имаме повеќе каталози кои ќе ги прикажуваат нашите продукти. Како и повеќе каталози мора да се прикажени во одреден Online_Stores. **EXISTS** - N:N релација, помеѓу слабиот ентитет Catalogue и ентитетот Product_In_Store. Означува дека сите достапни продукти мора да бидат прикажани во сите каталози распределено, како и сите каталози мора да ги прикажат сите достапни продукти. **COSTS** - 1:N слаба релација, со тотално учество од страна на слабиот ентитет Price кон ентитетот Product_In_Store. Означува дека производите мора да имаат цена. И таа цена може да се менува во зависност од тоа дали ќе имаме попуст. **AVAILABLE** - N:1 релација, помеѓу ентитетите Product_In_Store и Product. Означува дали секој еден продукт е достапен во продавниците. **IN** - 1:N релација, помеѓу ентитетите Product и Category. Опишува дека секој продукт си има своја категорија. **ORDER** - N:N релација, помеѓу ентитетите Shopping_Bag и Price. Ја означува цената на секој продукт во кошничката. == ''Историјат'' '''[attachment:ermodel1.0.png Верзија 1]''' '''[attachment:ermodel2.0.png Верзија 2]''' '''[attachment:ermodel2.1.png Верзија 2.1]'''