Changes between Initial Version and Version 1 of DatabaseCreation


Ignore:
Timestamp:
05/26/26 22:07:09 (15 hours ago)
Author:
231203
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • DatabaseCreation

    v1 v1  
     1= Views =
     2
     3== available_spots_view ==
     4
     5{{{
     6SELECT p.parking_id,
     7       p.name AS parking_name,
     8       count(ps.parking_spot_id) AS free_spots
     9FROM parking p
     10JOIN parking_spot ps ON p.parking_id = ps.parking_id
     11WHERE ps.status = 'free'
     12GROUP BY p.parking_id, p.name;
     13}}}
     14
     15Овој view го прикажува бројот на моментално слободни паркинг места за секој паркинг, земајќи ги предвид само местата со статус "free".
     16Ја имплементира бизнис логиката за следење на достапноста на капацитетите и овозможува корисниците и администраторите да имаат увид во слободните места.
     17
     18== parking_revenue_view ==
     19
     20{{{
     21SELECT p.parking_id,
     22       p.name,
     23       sum(ps.total_amount) AS total_revenue
     24FROM parking p
     25JOIN parking_session ps ON p.parking_id = ps.parking_id
     26GROUP BY p.parking_id, p.name;
     27}}}
     28
     29Овој view го пресметува вкупниот приход остварен од секој паркинг преку сите реализирани паркинг сесии.
     30Ја имплементира бизнис логиката за финансиска анализа и мониторинг на приходите генерирани од системот.
     31
     32== parking_working_hours_view ==
     33
     34{{{
     35SELECT p.name AS parking_name,
     36       wh.day_of_week,
     37       wh.open_time,
     38       wh.close_time
     39FROM parking p
     40JOIN working_hour wh ON p.parking_id = wh.parking_id;
     41}}}
     42
     43Овој view ги прикажува работните часови на секој паркинг по денови во неделата.
     44Ја имплементира бизнис логиката за управување со достапноста на паркинзите и проверка кога одреден паркинг е оперативен.
     45
     46== vw_active_parking_sessions ==
     47
     48{{{
     49SELECT DISTINCT ON (u.user_id)
     50       ps.session_id,
     51       u.user_id,
     52       u.first_name,
     53       u.last_name,
     54       v.vehicle_id,
     55       v.license_plate,
     56       p.parking_id,
     57       p.name AS parking_name,
     58       z.zone_id,
     59       z.name AS zone_name,
     60       ps.start_time,
     61       ps.end_time,
     62       ss.name AS session_status,
     63       ps.total_amount
     64FROM parking_session ps
     65JOIN app_user u ON u.user_id = ps.user_id
     66JOIN vehicle v ON v.vehicle_id = ps.vehicle_id
     67JOIN parking p ON p.parking_id = ps.parking_id
     68JOIN parking_location pl ON pl.parking_id = p.parking_id
     69JOIN zone z ON z.zone_id = pl.zone_id
     70JOIN session_status ss ON ss.session_status_id = ps.session_status_id
     71WHERE lower(ss.name) IN ('active','reserved','overdue')
     72ORDER BY u.user_id, ps.start_time DESC;
     73}}}
     74
     75Овој view ги прикажува активните, резервираните и задоцнетите паркинг сесии со информации за корисникот, возилото и паркинг локацијата.
     76Ја имплементира бизнис логиката за следење на тековните паркинг активности и овозможува мониторинг на активните сесии.
     77
     78== vw_parking_prices_by_zone ==
     79
     80{{{
     81SELECT p.parking_id,
     82       p.name AS parking_name,
     83       c.name AS city_name,
     84       z.zone_id,
     85       z.name AS zone_name,
     86       t.tariff_id,
     87       t.duration,
     88       pr.price,
     89       pr.valid_from,
     90       pr.valid_to
     91FROM parking p
     92JOIN city c ON c.city_id = p.city_id
     93JOIN parking_location pl ON pl.parking_id = p.parking_id
     94JOIN zone z ON z.zone_id = pl.zone_id
     95JOIN price_list pr ON pr.parking_id = p.parking_id
     96JOIN tariff t ON t.tariff_id = pr.tariff_id;
     97}}}
     98
     99Овој view ги прикажува цените за паркирање според зона, тарифа и период на важност, заедно со информациите за паркингот и градот.
     100Ја имплементира бизнис логиката за управување со ценовници и овозможува преглед на активните тарифи за различни паркинг локации.
     101
     102== vw_payment_details ==
     103
     104{{{
     105SELECT p.payment_id,
     106       p.user_id,
     107       au.first_name,
     108       au.last_name,
     109       au.email,
     110       p.parking_session_id,
     111       p.amount,
     112       p.payment_date,
     113       p.payment_method_id,
     114       pm.name AS payment_method_name
     115FROM payment p
     116JOIN app_user au ON au.user_id = p.user_id
     117JOIN payment_method pm ON pm.payment_method_id = p.payment_method_id;
     118}}}
     119
     120Овој view прикажува детални информации за сите извршени плаќања, вклучувајќи податоци за корисникот, износот и методот на плаќање.
     121Ја имплементира бизнис логиката за евиденција, следење и анализа на финансиските трансакции во системот.
     122
     123== vw_penalty_details ==
     124
     125{{{
     126SELECT p.penalty_id,
     127       p.user_id,
     128       au.first_name,
     129       au.last_name,
     130       au.email,
     131       p.vehicle_id,
     132       v.license_plate,
     133       v.vehicle_type,
     134       v.brand,
     135       v.model,
     136       p.parking_session_id,
     137       p.parking_spot_id,
     138       p.penalty_type_id,
     139       pt.name AS penalty_type_name,
     140       p.amount,
     141       p.penalty_date,
     142       p.penalty_status_id,
     143       ps.name AS penalty_status_name,
     144       p.description
     145FROM penalty p
     146JOIN app_user au ON au.user_id = p.user_id
     147JOIN vehicle v ON v.vehicle_id = p.vehicle_id
     148JOIN penalty_type pt ON pt.penalty_type_id = p.penalty_type_id
     149JOIN penalty_status ps ON ps.penalty_status_id = p.penalty_status_id;
     150}}}
     151
     152Овој view прикажува детални информации за сите изречени казни, вклучувајќи податоци за корисникот, возилото, типот и статусот на казната.
     153Ја имплементира бизнис логиката за управување со прекршоци, следење на санкции и контрола на казнените постапки во системот.
     154
     155== vw_reservation_details ==
     156
     157{{{
     158SELECT r.reservation_id,
     159       r.user_id,
     160       au.first_name,
     161       au.last_name,
     162       au.email,
     163       r.vehicle_id,
     164       v.license_plate,
     165       v.vehicle_type,
     166       v.brand,
     167       v.model,
     168       r.parking_id,
     169       p.name AS parking_name,
     170       p.address,
     171       r.reservation_type,
     172       r.reservation_status,
     173       r.start_time,
     174       r.end_time,
     175       r.created_at,
     176       r.reservation_code
     177FROM reservation r
     178JOIN app_user au ON au.user_id = r.user_id
     179JOIN vehicle v ON v.vehicle_id = r.vehicle_id
     180JOIN parking p ON p.parking_id = r.parking_id;
     181}}}
     182
     183Овој view прикажува детални информации за сите направени резервации, вклучувајќи податоци за корисникот, возилото и избраниот паркинг.
     184Ја имплементира бизнис логиката за управување со резервации и овозможува следење на резервираните паркинг места и нивниот статус.
     185
     186== vw_user_parking_history ==
     187
     188{{{
     189SELECT u.user_id,
     190       u.first_name,
     191       u.last_name,
     192       u.email,
     193       v.vehicle_id,
     194       v.license_plate,
     195       p.parking_id,
     196       p.name AS parking_name,
     197       ps.session_id,
     198       ps.start_time,
     199       ps.end_time,
     200       ss.name AS session_status,
     201       ps.total_amount,
     202       r.reservation_id,
     203       r.reservation_status
     204FROM app_user u
     205JOIN parking_session ps ON ps.user_id = u.user_id
     206JOIN vehicle v ON v.vehicle_id = ps.vehicle_id
     207JOIN parking p ON p.parking_id = ps.parking_id
     208JOIN session_status ss ON ss.session_status_id = ps.session_status_id
     209LEFT JOIN reservation r ON r.reservation_id = ps.reservation_id;
     210}}}
     211
     212Овој view прикажува целосна историја на паркирање за секој корисник, вклучувајќи информации за сесиите, возилата, паркинзите и поврзаните резервации.
     213Ја имплементира бизнис логиката за историски преглед и анализа на активностите на корисниците во системот.