| Version 12 (modified by , 13 days ago) ( diff ) |
|---|
Релационен модел
ЕР Дијаграм
Дополнителен Опис
- Предложениот модел претставува систем за посредување помеѓу клиенти и музички изведувачи, каде што корисниците можат да креираат барања за настани, а изведувачите да одговорат со понуди. Основниот тек на системот е организиран преку следната логика: Request → Offer → Booking → Payment → Review
- Табелите
Request, Offer и Bookingго претставуваат основниот процес на резервација.Requestги содржи сите информации за настанот (датум, време, буџет, локација, тип на настан).Offerпретставува одговор од изведувач на конкретен request и содржи предложена цена, траење и дополнителни трошоци.Bookingсе креира само кога една понуда е прифатена.
- Важно е што Booking содржи само offer_id како foreign key, наместо директно да ги содржи request_id, client_id и bookable_id. Ова е направено со цел да се избегне редундантност, бидејќи сите овие информации можат индиректно да се добијат преку Offer.
- Ентитетот
Bookableе воведен како апстракција за сите типови изведувачи.ArtistProfileсодржи податоци за индивидуален изведувачBandProfileсодржи податоци за бендBandMemberовозможува поврзување помеѓу бенд и поединечни артисти
- Цените се моделирани преку табелата
PricingRule, која дефинира основна цена, дополнителни трошоци и услови (тип на настан, траење...)- Дополнително, табелата
PriceHistoryсе користи за чување на сите промени на цените со текот на времето.
- Дополнително, табелата
- Табелата
AvailabilitySlotслужи за дефинирање на достапноста на изведувачите.- Секој запис претставува временски интервал (start_datetime – end_datetime) во кој изведувачот е достапен или недостапен.
- Локацијата и местото на одржување се моделирани како независни ентитети:
Location– град, регион, државаVenue– конкретна локација (сала, клуб ...)VenueType– тип на место (indoor, outdoor…)
- Табелата
Requestги референцира овие ентитети преку foreign keys (location_id,venue_id,venue_type_id), со што се избегнува дуплирање на податоци и се овозможува повторна употреба на истите.
- Табелата
Messageовозможува комуникација помеѓу корисниците (клиент и изведувач), при што пораките можат да бидат поврзани со конкретенRequestилиBooking.
Paymentги чува сите информации за плаќања поврзани со booking.BookingStatusHistoryги чува сите промени на статусот на резервацијата.
- Табелата
Reviewе поврзана директно со Booking, што значи дека рецензија може да постои само за завршена резервација.
Attachments (2)
- RelationalModel.svg (498.0 KB ) - added by 13 days ago.
- logo.jpg (2.6 MB ) - added by 13 days ago.
Note:
See TracWiki
for help on using the wiki.
