= Верзија 8 == ER дијаграм [[Image(ERModel_v8.jpg)]] == Податочни побарувања === **Ентитети** 1. **User** - ентитет кој претставува унија од повеќе видови корисници * ID_user - нумерички тип (примарен клуч) * username - varchar тип (задолжителен атрибут) * name_user - varchar тип (задолжителен атрибут) * email - varchar тип (задолжителен атрибут) * password - varchar тип (задолжителен атрибут) * user_created_on - timestamp (задолжителен атрибут) * phone_number - varchar тип (опционален атрибут) 2. **Administrator** - ентитет кој преставува администратор на системот * authorized_from- date (задолжителен атрибут) * authorized_till - date (задолжителен атрибут) 3. **Client** - ентитет кој претставува клиент 4. **Delivery man** - ентитет кој претставува доставувач на нарачки * employed_from - date (задолжителен атрибут) 5. **Warehouseman** - ентитет кој претставува магационер * employed_from - date (задолжителен атрибут) 6. **Order** - ентитет кој претставува нарачка на дел што ја прави корисникот * ID_order - нумерички тип (примарен клуч) * order_status - varchar тип (задолжителен атрибут) * order_date - timestamp (задолжителен атрибут) 7. **Delivery** - ентитет кој претставува достава за нарачката * ID_delivery - нумерички тип (примарен клуч) * delivery_status - varchar тип (задолжителен атрибут) * delivery_address - varchar тип (задолжителен атрибут) 8. **Warehouse** - ентитет кој претставува магацин * ID_warehouse - нумерички тип (примарен клуч) * warehouse_location - varchar тип (задолжителен атрибут) 9. **Car** - ентитет кој претставува модел на автомобил * ID_car - нумерички тип (примарен клуч) * car_type - varchar тип (задолжителен атрибут) * in_production_since - нумерички тип (задолжителен атрибут) * in_production_till - нумерички тип (задолжителен атрибут) 10. **Part** - ентитет кој претставува дел за автомобил * ID_part - нумерички тип (примарен клуч) * part_name - varchar тип (задолжителен атрибут) * part_description - varchar тип (опционален атрибут) 11. **Price** - ентитет кој претставува дел од автомобил * ID_price - нумерички тип (примарен клуч) * amount - нумерички тип (задолжителен атрибут) * price_from - date (задолжителен атрибут) * price_to - date (опционален атрибут) 12. **Category** - ентитет кој претставува дел од автомобил * ID_category - нумерички тип (примарен клуч) * category_name - varchar тип (задолжителен атрибут) 13. **Part manufacturer** - ентитет кој претставува производител на делови за автомобил * ID_part_manufacturer - нумерички тип (примарен клуч) * pm_name - varchar тип (задолжителен атрибут) * pm_location - varchar тип (опционален атрибут) 14. **Repair shop** - ентитет кој претставува сервис за автомобили * ID_repair_shop - нумерички тип (примарен клуч) * rs_name - varchar тип (задолжителен атрибут) * rs_location - varchar тип (задолжителен атрибут) * rs_phone_number - varchar тип (задолжителен атрибут) 15. **Car manufacturer** - ентитет кој претставува производител на автомобили * ID_car_manufacturer - нумерички тип (примарен клуч) * cm_name - varchar тип (задолжителен атрибут) * cm_country - varchar тип (опционален атрибут) 16. **Review** - ентитет кој претставува критика која ја пишува клиентот за одреден сервис за автомобили * ID_review - нумерички тип (примарен клуч) * review_rating - нумерички тип (задолжителен атрибут) * review_comment - varchar тип (опционален атрибут) 17. **Car sample** - ентитет кој претставува примерок од автомобил кој го поседува клиентот * VIN - нумерички тип (примарен клуч) * km_driven - нумерички тип (задолжителен атрибут) * displacement - нумерички тип (задолжителен атрибут) * engine_power - нумерички тип (задолжителен атрибут) * fuel_type - varchar тип (задолжителен атрибут) * year_of_production - нумерички тип (задолжителен атрибут) 18. **Service book** - ентитет кој претставува сервисна книшка која корисникот ја води за својот автомобил * ID_service_book - нумерички тип (примарен клуч) * sb_created_on - timestamp (задолжителен атрибут) 19. **Repair** - ентитет кој претставува поправка која некој repair shop ја прави врз некој примерок од кола * ID_repair - нумерички тип (примарен клуч) === **Релации** - ** manages ** - 1:N релација помеѓу Administrator и Users каде што администраторот менаџира со сите корисници на системот \\ - ** writes ** - 1:N релација помеѓу Client и Review каде што ќе се чуваат критики кои клиентите ги пишуваат за сервисите \\ - ** ordered_by ** - 1:N релација помеѓу Client и Order каде што се чуваат нарачките кои ги прави клиентот \\ - ** delivery_for ** - 1:1 релација помеѓу Deliver и Order каде што се чува нарачката за која што се врши доставата \\ - ** delivers ** - 1:N релација помеѓу Delivery man и Delivery каде што се чува кој доставувач е одговорен за доставата и сите достави кои ги доставува тој \\ - ** is_responsible_for ** - 1:N релација помеѓу Warehouseman и Warehouse каде што се чува кој е одговорен за некој магацин \\ - ** review_for ** - 1:N релација помеѓу Repair и Review каде што се чуваат сите критики кои ги пишува некој корисник за одредена поправка која што ја направил во некој од сервисите \\ - ** is_a_sample_of_car ** - 1:N релација помеѓу Car sample и Car каде што се чува одредениот примерок од колата што го поседува клиентот \\ - ** belongs_to ** - 1:N релација помеѓу Car sample и Client каде што се чуваат сите автомобили кои ги поседува клиентот \\ - ** for_car ** - 1:1 релација помеѓу Service book и Car sample каде што за секоја кола се чува неговата сервисна книшка \\ - ** manufactured_by ** - 1:N релација помеѓу Part и Part manufacturer каде што се чува кој го произведува делот \\ - ** costs ** - 1:N релација помеѓу Part и Price каде што ќе се чуваат цените за парчето и која е тековната цена \\ - ** is_produced_by ** - 1:N релација помеѓу Car и Car manufacturer каде што ќе се чува од која фирма е произведена колата \\ - ** is_performed_by ** - 1:N релација помеѓу Repair shop и Repair каде што се чува кои поправки ги прави еден repair shop \\ - ** is_being_performed_on ** - 1:1 релација помеѓу Order и Repair каде што се чува поправката за одредената нарачка доколку е одбрана истата \\ - ** contains_information_for ** - 1:N релација помеѓу Service book и Repair каде што се чува во service book кои поправки се правени врз некој автомобил \\ - ** subcategory ** - 1:N релација на Category само со себе, со цел да има подкатегории на категориите \\ - ** is_from ** - N:N релација помеѓу Part и Category каде што се чуваат категориите во кои спаѓа делот и кои делови спаѓаат во одредена категорија \\ - ** authorized_for ** - N:N релација помеѓу Car manufacturer и Car каде што се чуваат сите овластени сервиси за одредена марка за кола \\ - ** is_appropriate_for ** - N:N релација помеѓу Part и Car каде што се чува за кои коли одговараат деловите и кои делови одговараат за некоја кола \\ - ** is_in_stock_in ** - N:N релација помеѓу Part и Warehouse каде што се чува количина на делот кој се наоѓа во магацинот \\ - ** contains ** - N:N релација помеѓу Order и Part каде што се чуваат деловите кои се наоѓаат во нарачката што ја прави клиентот \\ === **Историјат** - ** Верзија 1: ** Иницијална верзија на моделот. Креирани се ентитетите и релациите меѓу истите - ** Верзија 2: ** Додавање на нов ентитет Delivery со 2 релации помеѓу Delivery и Delivery man и помеѓу Delivery и Order. Ажурирани се ентитетите и релациите меѓу истите и направена е документација за сите ентитети и релации. - ** Верзија 3: ** Додавање на нов ентитет Review со 2 релации помеѓу Review и Client и помеѓу Review и Repair Shop - ** Верзија 4: ** Преместување на quantity_order и quantity_part_sample и ажурирање на релациите - ** Верзија 5: ** Ажурирање на релацијата contains и додавање на ентитет Repair - ** Верзија 6: ** Ажурирање на дијаграмот со додадената contains_information_for релација, ажурирање на описот за ентитетите и релациите, преместување на quantity_order и quantity - ** Верзија 7: ** Преместување на атрибутот телефонски број - ** Верзија 8: ** Преместување на релацијата is_being_performed_on