wiki:DetaliDestinacii

Преглед на детали за дестинација

Актери

Регистриран корисник

Реализација

  1. Избор на дестинација. Корисникот избира дестинација од предложената листа.
    INSERT INTO destination (location_name, location_desc, types_of_places, recommended_season, average_temp, latitude, longitude, country, popularity, important_location_name, important_location_description)
    VALUES
    ('Скопје', 'Главниот град на Северна Македонија', 'Град', 'Пролет/Есен', 15.5, 41.9981, 21.4254, 'Северна Македонија', 5, 'Матка', 'Место за викенд прошетки'),
    ('Охрид', 'Познат по Охридското Езеро и историски споменици', 'Град', 'Лето/Пролет', 20.0, 41.1550, 20.8022, 'Северна Македонија', 4, 'Билјанини извори', 'Туристичка дестинација со природни убавини');
    
  2. Прикажување на детали. Системот ги прикажува следните информации:
  • Име и опис на дестинацијата
  • Држава
  • Тагови
    INSERT INTO tag (tag_name)
    VALUES ('Плажи'), ('Голф'), ('Историја');
    
    INSERT INTO destination_tag (id_destination, id_tag)
    VALUES
    (1, 3),  -- Скопје, Историја
    (2, 1),  -- Охрид, Плажи
    (2, 3);  -- Охрид, Историја
    
  • Релевантни настани
    INSERT INTO event (event_name, event_type, start_date, end_date, details, id_destination)
    VALUES
    ('Фестивал на Охридско Лето', 'Музички фестивал', '2025-07-15', '2025-08-15', 'Голем музички и културен настан на Охридското Езеро', 2),
    ('Скопски Маратон', 'Спортски настан', '2025-05-10', '2025-05-10', 'Годишен маратон во центарот на Скопје', 1);
    
  • Достапни активности
    INSERT INTO activity (activity_name, information, category, amount, id_destination)
    VALUES
    ('Пливање во Охридското Езеро', 'Пливање во најдлабокото езеро на Балканот', 'Водени спортови', 500, 2),
    ('Посета на Скопска тврдина', 'Историска тврдина со панорамски поглед на градот', 'Културни активности', 200, 1);
    
  • Туристички пакети
    INSERT INTO package (package_name, price, start_date, end_date, id_destination)
    VALUES
    ('Летен одмор на Охрид', 1000, '2025-07-01', '2025-07-14', 2),
    ('Историски тури во Скопје', 500, '2025-05-01', '2025-05-07', 1);
    
    INSERT INTO package_activity (id_package, id_activity)
    VALUES
    (1, 1),  -- Летен одмор на Охрид со Пливање
    (2, 2);  -- Историски тури во Скопје со Посета на тврдина
    
  • Рецензии од други корисници
    INSERT INTO review (username, reservation_id, id_destination, quality, comment)
    VALUES
    ('Јован', 1, 2, 5, 'Прекрасно место со многу активности'),
    ('Марија', 2, 1, 4, 'Историски значајно, но многу туристи');
    
  • Актуелни временски услови
  1. Можност за резервација. Корисникот може да направи резервација за пакет или активност.
  2. Соберање на сите детали за една конкретна дестинација во еден ред. Така што, прикажува основни информации за дестинацијата (име, опис, држава), се собираат сите тагови, настани, активности и туристички пакети поврзани со дестинацијата во листа (ARRAY_AGG), за да нема дупликати и вклучени се и актуелни временски услови.
    SELECT d.location_name,
           d.location_desc,
           d.country,
           ARRAY_AGG(DISTINCT t.tag_name) AS tags,
           ARRAY_AGG(DISTINCT e.event_name) AS events,
           ARRAY_AGG(DISTINCT a.activity_name) AS activities,
           ARRAY_AGG(DISTINCT p.package_name) AS packages,
           m.current_temp,
           m.weather_condition
    FROM travel_sage.destination d
    LEFT JOIN travel_sage.destination_tag dt ON d.id_destination = dt.id_destination
    LEFT JOIN travel_sage.tag t ON dt.id_tag = t.id_tag
    LEFT JOIN travel_sage.event e ON d.id_destination = e.id_destination
    LEFT JOIN travel_sage.activity a ON d.id_destination = a.id_destination
    LEFT JOIN travel_sage.package p ON d.id_destination = p.id_destination
    LEFT JOIN travel_sage.meteorological_condition m ON d.id_destination = m.id_destination
    WHERE d.id_destination = 2
    GROUP BY d.id_destination, m.current_temp, m.weather_condition;
    
Last modified 3 weeks ago Last modified on 09/24/25 00:10:13
Note: See TracWiki for help on using the wiki.