Changes between Initial Version and Version 1 of Faza2


Ignore:
Timestamp:
06/11/26 12:29:28 (5 days ago)
Author:
231042
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Faza2

    v1 v1  
     1= Фаза 2: DDL, податоци, погледи =
     2
     3Оваа фаза опфаќа генерирање на DDL за релациониот модел, полнење на базата со реалистични податоци и креирање на погледи (views) за потребите на апликацијата.
     4
     5== Фаза 2А: DDL и ограничувања ==
     6
     7Скриптата за креирање на табелите (DDL) со сите податочни типови, примарни и надворешни клучеви може да се преземе овде:
     8* [attachment:DDL_skripta.sql DDL Скрипта (симни тука)]
     9
     10'''Истакнати ограничувања (Constraints):'''
     11* Додадени се проверки за исправност на форматот на email адресите со користење на регуларни изрази: `CHECK (email ~* '^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}$')`.
     12* Поставени се логички ограничувања на ниво на колони, како што се проверка на возраст кај изведувачите `CHECK (date_of_birth <= CURRENT_DATE)` и проверка на лимитот за попуст `CHECK (percent >= 0 AND percent <= 100)`.
     13* Дефинирани се `DEFAULT` вредности ('Anonymous') за корисничките имиња и презимиња во случај на недостаток на внес.
     14
     15== Фаза 2Б: Податоци и погледи ==
     16
     17'''Податоци:'''
     18Базата е наполнета со реалистични податоци со користење на '''Python скрипта и Faker библиотека'''. Големината на табелите го одразува реалното користење на продукциската апликација. Некои од најголемите табели во системот се:
     19* Табела '''Ticket''': ~8.900.000 редици
     20* Табела '''Reservation''': ~5.000.000 редици
     21
     22'''Погледи (Views):'''
     23Креирани се погледи кои ги спојуваат клучните табели за приказ во апликацијата. SQL кодот за креирање на овие погледи се наоѓа во базата.
     241. '''new_event_ticket_sales_status'''
     25* '''Опис:''' Овој поглед врши агрегација на продадени билети по настан и сектор. Се користи за генерирање извештаи за пополнетост на капацитетот на објектите.
     262. '''new_user_ticket_history'''
     27* '''Опис:''' Погледот ги поврзува корисниците, резервациите, билетите и настаните за да прикаже детална историја на купени билети, цени и статус на настаните. Клучен е за приказ на корисничкиот профил.
     283. '''new_active_events_3_months'''
     29* '''Опис:''' Погледот служи за брзо дофаќање на сите активни настани во наредните 3 месеци и се користи за приказ на претстојните случувања на почетната страна.