| | 221 | == Анализа и оптимизација на `Future_Events` |
| | 222 | |
| | 223 | Овој поглед служи за динамично генерирање на репертоарот, прикажувајќи ги исклучиво претстојните настани во реално време преку филтрирање на изминатите термини. |
| | 224 | |
| | 225 | {{{ |
| | 226 | |
| | 227 | CREATE VIEW "Future_Events" AS |
| | 228 | SELECT |
| | 229 | e.event_id, |
| | 230 | e.name AS event_name, |
| | 231 | eh.event_happening_id, |
| | 232 | eh.event_time, |
| | 233 | v.venue_id, |
| | 234 | v.name AS venue_name, |
| | 235 | v.address_city AS city |
| | 236 | FROM "Event" e |
| | 237 | JOIN "Event_Happening" eh ON e.event_id = eh.event_id |
| | 238 | JOIN "Venue" v ON eh.venue_id = v.venue_id |
| | 239 | WHERE eh.event_time > CURRENT_TIMESTAMP; |
| | 240 | |
| | 241 | }}} |
| | 242 | |
| | 243 | ==== Оптимизација: |
| | 244 | |
| | 245 | == Анализа и оптимизација на `Available_Tickets` |
| | 246 | |
| | 247 | Овој поглед овозможува моментален увид во инвентарот на достапни седишта и автоматско враќање на рефундираните билети во понуда. |
| | 248 | |
| | 249 | {{{ |
| | 250 | |
| | 251 | CREATE VIEW "Available_Tickets" AS |
| | 252 | SELECT |
| | 253 | t.ticket_id, |
| | 254 | t.ticket_type, |
| | 255 | t.base_price, |
| | 256 | e.event_id, |
| | 257 | e.name AS event_name, |
| | 258 | eh.event_happening_id, |
| | 259 | eh.event_time, |
| | 260 | s.name AS section_name, |
| | 261 | st.seat_number |
| | 262 | FROM "Ticket" t |
| | 263 | JOIN "Event_Happening" eh ON t.event_happening_id = eh.event_happening_id |
| | 264 | JOIN "Event" e ON eh.event_id = e.event_id |
| | 265 | JOIN "Seat" st ON t.seat_id = st.seat_id |
| | 266 | JOIN "Section" s ON st.section_id = s.section_id |
| | 267 | WHERE t.is_available = TRUE; |
| | 268 | |
| | 269 | }}} |
| | 270 | |
| | 271 | ==== Оптимизација: |
| | 272 | |
| | 273 | |