= ''Верзија 1'' == ''Дијаграм'' [[Image(ERModel_v01.jpg)]] == ''Податочни побарувања'' ''**Ентитети**'' ''1. NARACKA '' - ентитет кој чува податоци за нарачки - Примарен клуч: naracka_id, вештачки нумерички идентификатор за секоја инстанца од NARACKA ''2. HRANA '' - ентитет кој чува податоците за храната која ја нудат продажните места - Примарен клуч: id_stavka, вештачки идентификатор за секоја инстанца од HRANA Атрибути: - ime_hra - тип varchar (задолжителен) ''3. CENA'' - слаб ентитет кој зависи од ентитет HRANA и служи за дефинирање на цената на храната во даден временски период. - Примарен клуч: (broj_cena, id_stavka) Атрибути: - iznos - тип integer (задолжителен) - vazi_od - тип timestamp (задолжителен) - vazi_do - тип timestamp (опционален) ''4. NAMIRNICA'' - ентитет кој чува податоци за намирниците од кои се прави храната - Примарен клуч: id_namirnica, вештачки идентификатор за секоја инстанца од NAMIRNICA Атрибути: - dali_alergent: тип boolean (задолжителен) - ime_nam: тип varchar (задолжителен) ''5. PRODAZHNOMESTO '' - ентитет кој чува податоци за продажните места кои нудат храна преку апликацијата - Примарен клуч: id_mesto, вештачки идентификатор за секоја инстанца од PRODAZHNOMESTO Атрибути: - ime - тип varchar (задолжителен) - lokacija - композитен атрибут составен од ulica и број - ulica - tip varchar (задолжителен) - broj - tip integer (задолжителен) ''6. FRANSHIZA '' - ентитет кој чува податоци за франшизите кои ја користат апликацијата за преку свооите продажни места нудат храна - Примарен клуч: franzhiza_id, вештачки идентификатор за секоја инстанца од FRANSHIZA Атрибути: - ime: тип varchar (задолжителен) ''7. PAKET '' - ентитет кој чува податоци за разни пакети кои ги нудат продажните места - Примарен клуч: paket_id, вештачки идентификатор за секоја инстанца од PAKET ''8. KORISNIK '' - ентитет кој чува податоци за корисници - Кандидат клучеви: username, korisnik_id. Секој корисник ќе има различен username, односно во системот нема да може да има двајца корисници со ист username. Иако овој кандидат клуч уникатно ќе ги идентификува ентитетите, сепак не е добра пракса да се земе текстуален податок за примарен клуч од перформансни причини. - Примарен клуч: korisnik_id, вештачки идентификатор за секоја инстанца од KORISNIK Атрибути: - ime - тип varchar (опционален) - datum_kreiranje - тип timestamp (задолжителен) ''9. POTROSUVAC '' - изведен ентитет од KORISNIK, кој чува податоци за кориниците кои нарачуваат храна преку апликацијата - Примарен клуч: korisnik_id, наследен од KORISNIK Атрибути: - brojnaracki - тип integer (задолжителен) ''10. DOSTAVUVAC '' - изведен ентитет од KORISNIK, кој чува податоци за корисници кои се доставувачи на храната - Примарен клуч: korisnik_id, наследен од KORISNIK Атрибути: - brojdostavi - тип integer (задолжителен) ''11. ADMIN '' - изведен ентитет од KORISNIK, кој чува податоци за корисници кои ќе ги додаваат продажните места и ќе ги одобруваат доставувачите. - Примарен клуч: korisnik_id, наследен од KORISNIK ''12. VRABOTENPD '' - изведен ентитет од KORISNIK, кој чува податоци за корисници кои работат во продажните места кои нудат храна преку апликацијата - Примарен клуч: korisnik_id, наследен од KORISNIK ''13. NAPLATA '' - слаб ентитет кој зависи од POTROSUVAC и DOSTAVUVAC, и чува податоците за наплатата која треба да направи доставувачот, а треба да ја плати потрошувачот - Примарен клуч: (korisnik_id(POTROSUVAC), korisnik_id(DOSTAVUVAC), naplata_br), naplata_br вештачки парцијален клуч Атрибути: - iznos - integer ''14. KATEGORIJA '' - ентитет кој чува податоци за категориите во кои може да припаѓа храната и намирниците - Примарен клуч: id_kategorija, вештачки идентификатор за секоја инстанца од KATEGORIJA Атрибути: - ime_kat: тип varchar(задолжителен) ''15. VOZILO '' - ентитет кој чува податоци за возилата кои ги користат доставувачите - Примарен клуч: vozilo_id, вештачки идентификатор за секоја инстанца од VOZILO Атрибути: - tip_vozilo: тип varchar (задолжителен) ''16. ZALIHA '' - слаб ентитет кој зависи од HRANA и притоа чува податоци за количеството на одредена храна во продажните места - Примарен клуч: (id_stavka, broj_zaliha), broj_zaliga е вештачки парцијален клуч Атрибути: - kolicina - тип integer (задолжителен) ''17. NACINPLAKJANJE '' - ентитет кој чува податоци за начинот преку кој потрошувачот ќе ја плати нарачката - Примарен клуч: nplakjanje_id, вештачки идентификатор за секоја инстанца од NACINPLAKJANJE Атрибути: - opis_plakjanje - тип varchar (задолжителен) ''18. LOKACIJA '' - ентитет кој чува податоци за локацијата на потрошувачот - Примарен клуч: lokacija_id, вештачки идентификатор за секоја инстанца од LOKACIJA Атрибути: - adresa - тип varchar (задолжителен) - број - тип integer (задолжителен) ''19. KUPON '' - ентитет кој чува податоци за купоните кои потрошувачите ги добиваат од направените нарачки - Примарен клуч: kupon_id, вештачки идентификатор за секоја инстанца од KUPON Атрибути: - iznos_kupon - тип integer (задолжителен) ''20. STATUS '' - ентитет кој чува податоци за статусот на нарачката - Примарен клуч: status_id, вештачки идентификатор за секоја инстанца од STATUS Атрибути: - vid_status - тип varchar (задолжителен) ''**Релации**'' - '' dobiva '' - 1:N релација помеѓу KUPON и POTROSUVAC што означува дека купон може да биде во релација со еден потрошувач, додека еден потрошувач може да биде во релација со повеќе купони. - '' se_koristi '' - 1:1 релација помеѓу KUPON и NACINPLAKJANJE што означува дека еден купон може да се користи како еден начин на плаќање и дека еден начин на плаќање може да користи најмногу еден купон. == ''Историјат'' '''[attachment:ERModel_v01.jpg 1. Верзија 1]''' - препорака од страна на професорот за додавање на атрибут dali_alergent кај ентитетот Namirnica. Промена на кардиналноста на релацијата помеѓу Naracka и Status (од N:N променета во N:1)