| | 2 | == Дескриптивна документација и аргументација == |
| | 3 | |
| | 4 | === Врска Филм – Жанр (M:N) === |
| | 5 | Врската помеѓу филмовите и жанровите е моделирана како многу-кон-многу (M:N) со помош на посредничката табела MOVIE_GENRE. Овој пристап е избран затоа што еден филм може да припаѓа на повеќе жанрови (на пример акција, драма, научна фантастика), а секој жанр може да содржи повеќе филмови. Со користење на посебна табела се избегнува дуплирање на податоци и се овозможува поголема флексибилност при додавање нови врски. |
| | 6 | |
| | 7 | === Врски Филм – Актер и Филм – Режисер === |
| | 8 | Врските помеѓу филмовите и актерите, како и помеѓу филмовите и режисерите, се моделирани како многу-кон-многу (M:N) преку табелите MOVIE_ACTOR и MOVIE_DIRECTOR. Причината за ова е што еден филм може да има повеќе актери и режисери, а истите актери и режисери можат да учествуваат во повеќе филмови. Овој модел овозможува реалистично претставување на доменот и лесно проширување на податоците. |
| | 9 | |
| | 10 | === Резервации и корисници === |
| | 11 | Врската помеѓу корисниците и резервациите е моделирана преку табелата USER_RESERVATION. Овој пристап овозможува флексибилност во случај еден корисник да има повеќе резервации, а исто така остава можност за проширување на системот (на пример, групни резервации). Со ова се избегнува директно врзување на корисникот во табелата RESERVATION и се добива поголема модуларност. |
| | 12 | |
| | 13 | === Билет, седиште и проекција === |
| | 14 | Табелата TICKET претставува централна точка во моделот и ги поврзува корисникот, резервацијата, седиштето и проекцијата. Секој билет е поврзан со конкретно седиште и конкретна проекција, што овозможува прецизно следење на зафатеноста на седиштата. Овој модел овозможува контрола на капацитетот на кино салата и спречува двојно резервирање на исто седиште. |
| | 15 | |
| | 16 | === Проекција (SCREENING) === |
| | 17 | |
| | 18 | |
| | 19 | |
| | 20 | Табелата SCREENING ги поврзува филмовите со кино салите и временските термини. Секој запис претставува една конкретна проекција на одреден филм во одредена сала и во одредено време. Ова овозможува флексибилно планирање на распоредот и лесно управување со прикажувањето на филмовите. |
| | 21 | |
| | 22 | === Плаќање и метод на плаќање === |
| | 23 | Плаќањата се моделирани преку табелата PAYMENT, која е поврзана со резервациите. Дополнително, постои табела PAYMENT_METHOD која го дефинира начинот на плаќање (картичка, готовина и сл.). Оваа поделба овозможува проширување на системот со нови методи на плаќање без промена на основната структура. |
| | 24 | |
| | 25 | === Производи и купени производи === |
| | 26 | Табелата PRODUCT ги претставува производите (пијалаци, пуканки и сл.), додека PURCHASED_PRODUCT ја моделира врската помеѓу билетите и производите. Ова е M:N врска, бидејќи еден билет може да содржи повеќе производи, а еден производ може да биде купен со повеќе билети. Со ова се овозможува следење на дополнителна продажба во киното. |
| | 27 | |
| | 28 | === Нотификации и промоции === |
| | 29 | Табелата NOTIFICATION се користи за испраќање известувања до корисниците (на пример за потврда на резервација или плаќање). Табелата PROMOTION овозможува дефинирање на попусти и специјални понуди поврзани со одредени проекции. Ова овозможува подобра комуникација со корисниците и маркетинг можности. |
| | 30 | |
| | 31 | === Кино, сали и седишта === |
| | 32 | Киното (CINEMA) е поврзано со град (CITY), а секое кино има повеќе сали (CINEMA_HALL). Секоја сала има седишта (SEAT) со дефиниран тип (SEAT_TYPE). Овој хиерархиски модел овозможува реално претставување на физичката структура на киното и лесно управување со капацитетите. |