wiki:ERModel

Верзија 1

Дијаграм

Податочни побарувања

Ентитети

1. NARACKA - ентитет кој чува податоци за нарачки

  • Примарен клуч: naracka_id, вештачки нумерички идентификатор за секоја инстанца од NARACKA

Атрибути:

  • status - тип varchar (задолжителен)

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 - ентитет кој чува податоците за наплатата која треба да направи доставувачот, а треба да ја плати потрошувачот

  • Примарен клуч: , naplata_id, вештачки идентификатор за секоја инстанца од NAPLATA

Атрибути:

  • iznos - integer
  • nacin_pl: тип varchar(задолжителен)

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. LOKACIJA - ентитет кој чува податоци за локацијата на потрошувачот

  • Примарен клуч: lokacija_id, вештачки идентификатор за секоја инстанца од LOKACIJA

Атрибути:

  • adresa - тип varchar (задолжителен)
  • број - тип integer (задолжителен)

18. KUPON - ентитет кој чува податоци за купоните кои потрошувачите ги добиваат од направените нарачки

  • Примарен клуч: kupon_id, вештачки идентификатор за секоја инстанца од KUPON

Атрибути:

  • iznos_kupon - тип integer (задолжителен)

Релации

  • dobiva - 1:N релација помеѓу POTROSUVAC и KUPON што означува дека купон може да биде во релација со еден потрошувач, додека еден потрошувач може да биде во релација со повеќе купони.
  • se_koristi - 1:1 релација помеѓу KUPON и NAPLATA што означува дека еден купон може да се користи во една нарачка и дека во една наплата можат да се користат повеќе купони.
  • raboti - 1:N релација помеѓу PRODAZHNOMESTO и VRABOTENPD што означува дека еден вработен може да работи на најмногу едно продажно место, додека во едно продажно место можат да работат повеќе вработени.
  • se_naogja - 1:N релација помеѓу LOKACIJA и POTROSUVAC што означува дека еден потрошувач може да се наоѓа на најмногу една локација, додека на една локација можат да се наоѓаат повеќе потрошувачи.
  • plakja - 1:N релација помеѓу POTROSUVAC и NAPLATA што означува дека секоја наплата мора да биде во релација со точно еден потрошувач, додека еден потрошувач може да биде во релација со повеќе наплати.
  • sledi - 1:1 релација помеѓу KUPON и NARACKA што означува дека со една нарачка може да следува еден купон, а еден купон може да следува со една нарачка.
  • e_platena – 1:1 релација помеѓу NAPLATA и NARACKA што значи дека една нарачка може да биде платена од една наплата, додека со една наплата мора да се плати точно една нарачка.
  • pripagja – 1:N релација помеѓу FRANSHIZA и PRODAZHNOMESTO што означува дека една франшиза може да има повеќе продажни места и едно продажно место може да биде продажно место на најмногу една франшиза
  • poracuva – 1:N релација помеѓу POTROSUVAC и NARACKA што означува дека еден потрошувач може да порачува повеќе нарачки, додека една нарачка мора да биде порачана еден потрошувач.
  • sodrzi – N:N релација помеѓу NARACKA и HRANA што означува дека во една нарачка може да се содржат повеќе видови на храна, додека еден вид на храна може да се содржи во повеќе нарачки.
  • naplakja – 1:N релација помеѓу DOSTAVUVAC и NAPLATA што означува секоја наплата мора да биде наплатена од точно еден доставувач, додека еден доставувач може да наплати повеќе наплати.
  • upravuva – 1:N релација помеѓу VOZILO и DOSTAVUVAC што означува дека едно возило може да биде управувано од повеќе доставувачи, додека еден доставувач може да управува најмногу едно возило.
  • ima – N:N релација помеѓу NARACKA и PAKET што означува дека во една нарачка може да има повеќе пакети, а еден пакет може да го има во повеќе нарачки.
  • sprema – 1:N релација помеѓу PRODAZHNOMESTO и NARACKA што означува дека секоја нарачка мора да биде спремана во продажно место, а во едно продажно место може да се спремаат повеќе нарачки.
  • dostavuva – 1:N релација помеѓу DOSTAVUVAC и NARACKA што означува дека една нарачка може да биде доставувана од најмногу еден доставувач, додека еден доставувач може да доставува повеќе нарачки.
  • odobruva – 1:N релација помеѓу ADMIN и DOSTAVUVAC што означува дека еден админ може да одобрува повеќе доставувачи, но секој доставувач мора да биде одобрен од админ.
  • pripagja – N:N релација помеѓу HRANA и KATEGORIJA што означува дека една храна може да припаѓа на повеќе категории и во една категорија може да припаѓаат повеќе видови на храна.
  • dodava – 1:N релација помеѓу ADMIN и PRODAZHNOMESTO што означува дека секое продажно место мора да биде додадено од точно еден админ, додека админ може да додава повеќе продажни места.
  • nudi – N:N релација помеѓу PRODAZHNOMESTO и PAKET што означува дека секој пакет мора да се нуди на барем едно продажно место, додека продажното место може да нуди, но не е задолжително, повеќе пакети.
  • gotvi – 1:N релација помеѓу PRODAZHNOMESTO и HRANA што означува дека едно продажно место може да готви повеќе видови на храна, а една храна може да биде готвена на едно продажно место.
  • podgotvuva – 1:N релација помеѓу VRABOTENPD и PAKET што означува дека секој пакет мора да биде подготвен од точно еден вработен, а еден вработен може да подготвува повеќе пакети.
  • sodrzi – N:N релација помеѓу PAKET и HRANA што означува дека еден пакет може да содржи повеќе видови на храна, а една храна може да биде во повеќе пакети.
  • dodava – 1:N релација помеѓу VRABOTENPD и HRANA што означува дека еден вработен може да додава повеќе видови храна, но не е задолжително, додека секоја храна мора да биде додадена од точно еден вработен.
  • na – 1:N релација помеѓу STATUS и NARACKA што означува дека една нарачка може да влези во релација со најмногу еден статус, а еден статус може да влези во релација со повеќе нарачки.
  • pripagja – N:N релација помеѓу NAMIRNICA и KATEGORIJA што означува дека во една категорија може да припаѓаат повеќе намирници, а една намирница да припаѓа во повеќе категории.
  • e_napravena – N:N релација помеѓу HRANA и NAMIRNICA што означува дека една храна може да биде направена од повеќе намирници, а од една намирница може да се направат повеќе видови храна.
  • cini – 1:N релација помеѓу HRANA и CENA што означува дека една храна може да биде во релација со повеќе цени, но секоја цена мора да биде во релација со точно една храна.
  • e_dodatok – N:N релација помеѓу HRANA и NAMIRNICA што означува дека една храна како додаток да има повеќе намирници, додека една намирница може да биде додаток на повеќе видови на храна.

Историјат

1. Верзија 1 - препорака од страна на професорот за додавање на атрибут dali_alergent кај ентитетот Namirnica. Промена на кардиналноста на релацијата помеѓу Naracka и Status (од N:N променета во N:1)
2. Верзија 2 - По потреба во фаза 4, додадени се два атрибути, datum_naplata и datum_naracka, соодветно на ентитетите NAPLATA и NARACKA
3. Верзија 3 - По потреба во фаза 5 е додаден атрибут password на ентитет KORISNIK

Last modified 17 months ago Last modified on 12/28/22 13:13:07

Attachments (6)

Download all attachments as: .zip

Note: See TracWiki for help on using the wiki.