wiki:konceptualenDizajn

Version 29 (modified by 213209, 10 days ago) ( diff )

--

ER Дијаграм

Ентитети

Ентитет: Корисник (User)

Опис: Претставува корисник кој може да прави резервации.

Примарен клуч: userId (автоматски генериран).

Атрибути:

  • Име (firstName)
  • Презиме (lastName)
  • Е-пошта (email)
  • Лозинка (password)
  • Улога (role)
  • Телефон (phone)
  • Адреса (address)
  • Членство (membershipLevel)
  • Датум на регистрација (registrationDate)

Ентитет: Ресторан (Restaurant)

Опис: Претставува ресторан во системот.

Примарен клуч: restaurantId

Атрибути:

  • Име (name)
  • Тип на кујна (cuisineType)
  • Адреса (address)
  • Телефон (phone)
  • Работно време (operatingHours)
  • Веб страна (website)
  • Социјални медиуми (socialMediaLinks)
  • Рејтинг (rating)

Ентитет: Маса (TableEntity)

Опис: Претставува маса во ресторан.

Примарен клуч: tableId

Атрибути:

  • Капацитет (capacity)
  • Локација (location)
  • Пушачка зона (isSmokingArea)
  • Опис (description)
  • Времетраење на резервација (reservationDurationHours)

Ентитет: Резервација (Reservation)

Опис: Претставува резервација направена од корисник.

Примарен клуч: reservationID

Атрибути:

  • Датум и време на резервација (reservationDateTime)
  • Број на лица (partySize)
  • Посебни барања (specialRequests)
  • Статус (status)
  • Време на влегување(checkInTime)
  • Време на одјавување (checkOutTime)
  • Статус на плаќање (paymentStatus)

Ентитет: Историја на резервации (ReservationHistory)

Опис: Претставува историски запис на претходна резервација.

Примарен клуч: reservationHistoryId

Атрибути:

  • Датум и време на резервација (reservationDateTime)
  • Број на лица (partySize)
  • Посебни барања (specialRequests)
  • Статус (status)
  • Причина за откажување (cancellationReason)
  • Датум на пријавување (checkInDate)

Ентитет: Преднарачан производ (PreorderedItem)

Опис: Претставува производ што е однапред нарачан за резервација.

Примарен клуч: predorederedItemId

Атрибути:

  • Име на производ (name)
  • Количина (quantity)
  • Цена (price)

Ентитет: Мени (Menu)

Опис: Претставува ставка од мени на ресторан.

Примарен клуч: menuID

Атрибути:

  • Име на ставка (itemName)
  • Категорија (category)
  • Цена (price)
  • Опис (description)

Ентитет: Ознака за мени (MenuTag)

Опис: Ознака што ја карактеризира одредена ставка од мени.

Примарен клуч: menuTagId

Атрибути:

  • Име на ознака (tagName)
  • Вредност (tagValue)

Ентитет: Историја на цени (PriceHistory)

Опис: Претставува историја на промени на цените на артиклите од менито.

Примарен клуч: priceHistoryID (автоматски генериран).

Атрибути:

  • Стара цена (oldPrice)
  • Датум на промена (changeDate)

Релации

Релација: прави (makes)

Опис: Релација 1:N помеѓу Корисник и Резервација. Детали: Еден корисник може да направи повеќе резервации. Секоја резервација припаѓа на еден корисник.

Релација: има (offers)

Опис: Релација 1:N помеѓу Ресторан и Мени. Детали: Секој ресторан има свое мени. Ресторан може да има повеќе менија. Едно мени припаѓа на еден ресторан.

Релација: содржи (contains)

Опис: Релација 1:N помеѓу Ресторан и Маса. Детали: Секој ресторан има повеќе маси. Една маса припаѓа на еден ресторан.

Релација: направена_во (which)

Опис: Релација 1:N помеѓу Ресторан и Резервација. Детали: Секоја резервација се прави во еден ресторан.

Релација: резервирана_на (selected)

Опис: Релација 1:N помеѓу Маса и Резервација. Детали: Секоја резервација е направена за одредена маса.

Релација: содржи (pre_ordered)

Опис: Релација 1:N помеѓу Резервација и Преднарачани производи. Детали: Една резервација може да има повеќе преднарачки.

Релација: има_ознаки (has_tag)

Опис: Релација 1:N помеѓу Мени и MenuTag. Детали: Едно мени може да има повеќе ознаки (тагови).

Релација: има_резервација (has_reservation_record)

Опис: Релација 1:N помеѓу Корисник и Историја на резервации. Детали: Еден корисник може да има повеќе записи во историјата на резервации. Секој запис во историјата припаѓа на еден корисник.

Релација: резервирано_на (was_reserved_in)

Опис: Релација 1:N помеѓу Маса и Историја на резервации. Детали: Една маса може да има повеќе записи за резервации во историјата. Секој запис е поврзан со една маса.

Релација: се_одржа_во (took_place_at)

Опис: Релација 1:N помеѓу Ресторан и Историја на резервации. Детали: Секој запис во историјата на резервации припаѓа на еден ресторан.

Релација: има_цена (had_price_change)

Опис: Релација 1:N помеѓу Мени и Историја на цени. Детали: Едно мени може да има повеќе записи за промена на цената. Секој запис во историјата припаѓа на едно мени.

Релација: порачано_од (ordered_from)

Опис: Релација 1:N помеѓу Мени и Преднарачани производи. Детали: Едно мени може да содржи повеќе преднарачки. Секој преднарачан производ е поврзан со едно мени.

Attachments (10)

Download all attachments as: .zip

Note: See TracWiki for help on using the wiki.