wiki:ERModel

Version 21 (modified by 201057, 2 years ago) ( diff )

--

Верзија 1

Дијаграм

No image "ERModel_v1.jpg" attached to ERModel

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

Ентитети

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 што означува дека еден купон може да се користи како еден начин на плаќање и дека еден начин на плаќање може да користи најмногу еден купон.
  • izbira - 1:N релација помеѓу NACINPLAKJANJE и POTROSUVAC што означува дека еден потрошувач може да избира еден начин на плаќање, додека еден начин на плаќање може да биде избран од повеќе потрошувачи.
  • raboti - 1:N релација помеѓу PRODAZHNOMESTO и VRABOTENPD што означува дека еден вработен може да работи на најмногу едно продажно место, додека во едно продажно место можат да работат повеќе вработени.
  • se_naogja - 1:N релација помеѓу LOKACIJA и POTROSUVAC што означува дека еден потрошувач може да се наоѓа на најмногу една локација, додека на една локација можат да се наоѓаат повеќе потрошувачи.
  • napravena_so - 1:N релација помеѓу NACINPLAKJANJE и NAPLATA што означува дека една наплата може да биде направена со еден начин на плаќање и со еден начин на плаќање можат да бидат направени повеќе наплати.
  • plakja - 1:N слаба релација помеѓу POTROSUVAC и NAPLATA што означува дека слабиот ентитет NAPLATA е поврзан со POTROSUVAC. Означува дека секоја наплата мора да биде во релација со точно еден потрошувач, додека еден потрошувач може да биде во релација со повеќе наплати.
  • 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 што означува дека во една нарачка може да се содржат повеќе видови на храна, додека еден вид на храна може да се содржи во повеќе нарачки.
  • na – 1:N слаба релација помеѓу HRANA и ZALIHA што означува дека слабиот ентитет ZALIHA е поврзан со HRANA. Една храна може, но и не мора да биде во релација со повеќе залихи, но секоја залиха мора да биде во релација со точно една храна.
  • naplakja – 1:N слаба релација помеѓу NAPLATA и DOSTAVUVAC што означува дека слабиот ентитет NAPLATA е поврзан со DOSTAVUVAC . Секоја наплата мора да биде наплатена од точно еден доставувач, додека еден доставувач може да наплати повеќе наплати.
  • upravuva – 1:N релација помеѓу VOZILO и DOSTAVUVAC што означува дека едно возило може да биде управувано од повеќе доставувачи, додека еден доставувач може да управува најмногу едно возило.
  • ima – N:N релација помеѓу NARACKA и PAKET што означува дека во една нарачка може да има повеќе пакети, а еден пакет може да го има во повеќе нарачки.
  • sprema – 1:N релација помеѓу NARACKA и PRODAZHNOMESTO што означува дека секоја нарачка мора да биде спремана во продажно место, а во едно продажно место може да се спремаат повеќе нарачки.
  • dostavuva – 1:N релација помеѓу NARACKA и DOSTAVUVAC што означува дека една нарачка може да биде доставувана од најмногу еден доставувач, додека еден доставувач може да доставува повеќе нарачки.
  • odobruva – 1:N релација помеѓу DOSTAVUVAC и ADMIN што означува дека еден админ може да одобрува повеќе доставувачи, но секој доставувач мора да биде одобрен од админ.
  • pripagja – N:N релација помеѓу HRANA и KATEGORIJA што означува дека една храна може да припаѓа на повеќе категории и во една категорија може да припаѓаат повеќе видови на храна.
  • dodava – 1:N релација помеѓу PRODAZHNOMESTO и ADMIN што означува дека секое продажно место мора да биде додадено од точно еден админ, додека админ може да додава повеќе продажни места.
  • nudi – N:N релација помеѓу PRODAZHNOMESTO и PAKET што означува дека секој пакет мора да се нуди на барем едно продажно место, додека продажното место може да нуди, но не е задолжително, повеќе пакети.
  • gotvi – 1:N релација помеѓу PRODAZHNOMESTO и HRANA што означува дека едно продажно место може да готви повеќе видови на храна, а една храна може да биде готвена на едно продажно место.
  • podgotvuva – 1:N релација помеѓу PAKET и VRABOTENPD што означува дека секој пакет мора да биде подготвен од точно еден вработен, а еден вработен може да подготвува повеќе пакети.
  • sodrzi – N:N релација помеѓу PAKET и HRANA што означува дека еден пакет може да содржи повеќе видови на храна, а една храна може да биде во повеќе пакети.
  • dodava – 1:N релација помеѓу VRABOTENPD и HRANA што означува дека еден вработен може да додава повеќе видови храна, но не е задолжително, додека секоја храна мора да биде додадена од точно еден вработен.
  • na – 1:N релација помеѓу NARACKA и STATUS што означува дека една нарачка може да влези во релација со најмногу еден статус, а еден статус може да влези во релација со повеќе нарачки.
  • 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)

Attachments (6)

Download all attachments as: .zip

Note: See TracWiki for help on using the wiki.