Dokumentacja bazy danych - kamz8/kayak-map GitHub Wiki

Dokumentacja Bazy Danych

Tabela trails

Przechowuje informacje o szlakach.

Kolumna Typ Opis
id BIGINT Klucz g艂贸wny
river_name STRING Nazwa rzeki
trail_name STRING Nazwa szlaku
description TEXT Opis szlaku
start_lat DECIMAL Szeroko艣膰 geograficzna pocz膮tku
start_lng DECIMAL D艂ugo艣膰 geograficzna pocz膮tku
end_lat DECIMAL Szeroko艣膰 geograficzna ko艅ca
end_lng DECIMAL D艂ugo艣膰 geograficzna ko艅ca
trail_length INTEGER D艂ugo艣膰 szlaku w metrach
author STRING Imi臋 i nazwisko autora
created_at TIMESTAMP Data utworzenia
updated_at TIMESTAMP Data ostatniej aktualizacji

Tabela river_tracks

Przechowuje punkty trasy rzeki w formacie JSON.

Kolumna Typ Opis
id BIGINT Klucz g艂贸wny
trail_id BIGINT Klucz obcy do tabeli trails
track_points JSON Punkty trasy w formacie JSON
created_at TIMESTAMP Data utworzenia
updated_at TIMESTAMP Data ostatniej aktualizacji

Tabela sections

Przechowuje informacje o obszarach zwi膮zanych z rzek膮.

Kolumna Typ Opis
id BIGINT Klucz g艂贸wny
trail_id BIGINT Klucz obcy do tabeli trails
name STRING Nazwa sekcji
description TEXT Opis sekcji
polygon_coordinates JSON Wsp贸艂rz臋dne wielok膮ta w formacie JSON
created_at TIMESTAMP Data utworzenia
updated_at TIMESTAMP Data ostatniej aktualizacji

Tabela points

Przechowuje informacje o punktach zwi膮zanych z rzek膮.

Kolumna Typ Opis
id BIGINT Klucz g艂贸wny
trail_id BIGINT Klucz obcy do tabeli trails
point_type_id BIGINT Klucz obcy do tabeli point_types
name STRING Nazwa punktu
description TEXT Opis punktu
lat DECIMAL Szeroko艣膰 geograficzna punktu
lng DECIMAL D艂ugo艣膰 geograficzna punktu
created_at TIMESTAMP Data utworzenia
updated_at TIMESTAMP Data ostatniej aktualizacji

Tabela images

Globalna tabela przechowuj膮ca zdj臋cia.

Kolumna Typ Opis
id BIGINT Klucz g艂贸wny
path STRING 艢cie偶ka do pliku zdj臋cia
created_at TIMESTAMP Data utworzenia
updated_at TIMESTAMP Data ostatniej aktualizacji

Tabela imageables

Po艣rednia tabela dla relacji wiele do wielu mi臋dzy images a innymi tabelami.

Kolumna Typ Opis
id BIGINT Klucz g艂贸wny
image_id BIGINT Klucz obcy do tabeli images
imageable_id BIGINT Klucz obcy do powi膮zanego obiektu
imageable_type STRING Typ powi膮zanego obiektu
is_main BOOLEAN Czy jest g艂贸wnym zdj臋ciem
order INTEGER Kolejno艣膰 wy艣wietlania
created_at TIMESTAMP Data utworzenia
updated_at TIMESTAMP Data ostatniej aktualizacji

Tabela links

Przechowuje linki z metadanymi zwi膮zane z sekcjami.

Kolumna Typ Opis
id BIGINT Klucz g艂贸wny
section_id BIGINT Klucz obcy do tabeli sections
url STRING URL linku
meta_data STRING Metadane linku
created_at TIMESTAMP Data utworzenia
updated_at TIMESTAMP Data ostatniej aktualizacji

Tabela point_types

Przechowuje typy punkt贸w.

Kolumna Typ Opis
id BIGINT Klucz g艂贸wny
type STRING Typ punktu
created_at TIMESTAMP Data utworzenia
updated_at TIMESTAMP Data ostatniej aktualizacji

Relacje mi臋dzy tabelami

  • trails ma wiele river_tracks.
  • trails ma wiele sections.
  • trails ma wiele points.
  • sections ma wiele links.
  • sections i trails maj膮 wiele images przez tabel臋 imageables.
  • points maj膮 typy zdefiniowane w point_types.
  • images mog膮 by膰 powi膮zane z wieloma r贸偶nymi tabelami poprzez tabel臋 po艣redni膮 imageables.

Przyk艂ad JSON dla polygon_coordinates i track_points

polygon_coordinates

[
    {"lat": 51.5074, "lng": -0.1278},
    {"lat": 51.5075, "lng": -0.1277},
    {"lat": 51.5076, "lng": -0.1276},
    {"lat": 51.5077, "lng": -0.1275}
]