Changes between Version 30 and Version 31 of AdvancedApplicationDevelopment


Ignore:
Timestamp:
09/30/25 10:27:43 (2 weeks ago)
Author:
223270
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • AdvancedApplicationDevelopment

    v30 v31  
    349349}}}
    350350
    351 3. Комплетна резервација за пакет во трансакција
     3513. Комплетна резервација на пакет
    352352{{{
    353353CREATE OR REPLACE PROCEDURE create_package_reservation(
     
    356356    p_discount_amount NUMERIC DEFAULT 0
    357357)
    358 LANGUAGE plpgsql
    359 AS $$
     358LANGUAGE plpgsql AS $$
    360359DECLARE
    361360    package_price NUMERIC(12,2);
     
    378377}}}
    379378
    380 4. Композитна метрика за дестинација: просечна оцена, процент на ефтини активности, број на резервации. Се користи за рангирање на дестинации.
     3794. Рангирање на дестинации
    381380{{{
    382381CREATE OR REPLACE FUNCTION destination_score(p_dest INT)
     
    423422
    424423=== Релациска алгебра
    425 1. Најпопуларни дестинации по просечна оцена и број на резервации
     4241. Топ 5 дестинации по score
     425{{{
     426SELECT id_destination
     427FROM destination
     428ORDER BY destination_score(id_destination) DESC
     429LIMIT 5;
     430}}}
     431
     432{{{
     433πid_destination​(τscore↓​(γid_destination;score←destination_score(id_destination)​(destination)))LIMIT5​
     434}}}
     435
     436γ → агрегирање и пресметка на score
     437
     438τ → сортирање по score
     439
     440π → селекција на ID
     441
     442LIMIT 5 → топ 5
     443
     4442. Најпопуларни дестинации по просечна оцена и број на резервации
    426445{{{
    427446SELECT d.location_name, AVG(r.quality) AS avg_rating, COUNT(res.id_reservation) AS total_res