user:databaze
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
user:databaze [2018/04/01 18:55] – [Struktura databáze GeoGetu] gord | user:databaze [2024/07/14 10:55] (current) – mikrom | ||
---|---|---|---|
Line 9: | Line 9: | ||
* [[user: | * [[user: | ||
- | * některý z pluginů [[user: | + | * Některý z pluginů: |
- | * pokud používáte prohlížeč Mozilla Firefox, tak lze doporučit doplněk [[https:// | + | * [[user: |
- | * použití některé aplikace pro správu | + | * [[user: |
+ | * modul [[user: | ||
+ | * [[user: | ||
+ | * Pokud používáte prohlížeč Mozilla Firefox, tak lze doporučit doplněk [[https:// | ||
+ | * Použití některé aplikace pro správu | ||
+ | * Mezi opravdu jednoduché patří | ||
+ | * [[http:// | ||
+ | * [[https:// | ||
+ | * Pro sofistikovanější práci lze použít např. | ||
+ | * [[http:// | ||
+ | * [[https:// | ||
+ | * [[http:// | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | * Dokonce existuje i nějaký doplněk pro TotalCommander/ | ||
<WRAP round info> | <WRAP round info> | ||
- | Upozornění: | + | Upozornění: |
</ | </ | ||
- | //Pro úplnost je třeba zmínit, že Geoget | + | <WRAP round info> |
+ | Upozornění: | ||
+ | </ | ||
+ | |||
+ | //Pro úplnost je třeba zmínit, že GeoGet | ||
* '' | * '' | ||
* '' | * '' | ||
* '' | * '' | ||
+ | |||
===== Diskuze ===== | ===== Diskuze ===== | ||
Diskuze o se nachází na stránkách [[http:// | Diskuze o se nachází na stránkách [[http:// | ||
===== Struktura databáze GeoGetu ===== | ===== Struktura databáze GeoGetu ===== | ||
- | + | Struktura databáze | |
- | Struktura databáze | + | |
^ Tabulka ^ Sloupec ^ Popis dat | | ^ Tabulka ^ Sloupec ^ Popis dat | | ||
Line 56: | Line 74: | ||
| ::: | '' | | ::: | '' | ||
| ::: | '' | | ::: | '' | ||
- | | ::: | '' | + | | ::: | '' |
| ::: | '' | | ::: | '' | ||
| ::: | '' | | ::: | '' | ||
Line 81: | Line 99: | ||
| '' | | '' | ||
| ::: | '' | | ::: | '' | ||
- | | ::: | '' | + | | ::: | '' |
| ::: | '' | | ::: | '' | ||
| ::: | '' | | ::: | '' | ||
Line 90: | Line 108: | ||
| ::: | '' | | ::: | '' | ||
| ::: | '' | | ::: | '' | ||
- | | '' | + | | '' |
- | | ::: | '' | + | | ::: | '' |
| ::: | '' | | ::: | '' | ||
| '' | | '' | ||
Line 104: | Line 122: | ||
| ::: | '' | | ::: | '' | ||
| ::: | '' | | ::: | '' | ||
- | | ::: | '' | + | | ::: | '' |
| ::: | ::: | **bit 1:** '' | | ::: | ::: | **bit 1:** '' | ||
| ::: | ::: | **bit 2:** '' | | ::: | ::: | **bit 2:** '' | ||
Line 132: | Line 150: | ||
<wrap important> | <wrap important> | ||
+ | |||
+ | <wrap important> | ||
+ | |||
+ | |create_application|aplikace a její verze, která databázi vytvořila| | ||
+ | |create_level|verze databáze, na jaké verzi byla databáze vytvořena. Aktuální verze databáze je dostupná přes funkce databáze, viz. SQL příkaz '' | ||
+ | |create_dt|datum a čas vytvoření databáze v numerickém tvaru| | ||
+ | |create_datetime|datum a čas vytvoření databáze ve tvaru YYYY-MM-DD hh: | ||
+ | |upgrade_application|aplikace a její verze, které databázi aktualizovala| | ||
+ | |upgrade_dt|datum a čas posledního povýšení databáze (číslo)| | ||
+ | |upgrade_datetime|datum a čas posledního povýšení databáze (string)| | ||
+ | |MyFindsTS|datum a čas posledního načítání logů přes API| | ||
+ | |||
+ | |||
===== SQLite APPLICATION_ID ===== | ===== SQLite APPLICATION_ID ===== | ||
Line 156: | Line 187: | ||
^ Prefix ^ Význam | | ^ Prefix ^ Význam | | ||
| GC | keš ze serveru [[http:// | | GC | keš ze serveru [[http:// | ||
- | | OC | keš ze serveru [[http:// | + | | OC | keš ze serveru [[http:// |
| WM | [[http:// | | WM | [[http:// | ||
| GS | objekt ze serveru [[http:// | | GS | objekt ze serveru [[http:// | ||
Line 162: | Line 193: | ||
| MU | Munzee (databáze vytvářená pluginem [[user: | | MU | Munzee (databáze vytvářená pluginem [[user: | ||
| LO | ŘOPík ([[user: | | LO | ŘOPík ([[user: | ||
- | | TA | turistická známka - česko (data získaná exportem ze [[http:// | + | | TA | turistická známka - Česko (data získaná exportem ze [[http:// |
| TV | turistická vizitka (data získaná importem ze serveru http:// | | TV | turistická vizitka (data získaná importem ze serveru http:// | ||
| TN | turistická nálepka (data získaná exportem ze [[http:// | | TN | turistická nálepka (data získaná exportem ze [[http:// | ||
Line 169: | Line 200: | ||
===== Přístup ke komprimovaným sloupcům ===== | ===== Přístup ke komprimovaným sloupcům ===== | ||
- | Databáze obsahuje v některých sloupcích data, která jsou komprimovaná pomocí [[http:// | + | Databáze obsahuje v některých sloupcích data, která jsou komprimovaná pomocí [[http:// |
Protože knihovna je integrovaná do **GeoGetu**, | Protože knihovna je integrovaná do **GeoGetu**, | ||
Line 178: | Line 209: | ||
Problém může nastat při použití jiné aplikace než je **GeoGet**. V tom případě je nutné si nějak poradit sám. Ideální asi je vytvořit si vlastní UDF funkci a tu zaregistrovat (UDF funkce jsou v SQLite asociovány s aplikací, ne s databází). Jednu [[http:// | Problém může nastat při použití jiné aplikace než je **GeoGet**. V tom případě je nutné si nějak poradit sám. Ideální asi je vytvořit si vlastní UDF funkci a tu zaregistrovat (UDF funkce jsou v SQLite asociovány s aplikací, ne s databází). Jednu [[http:// | ||
- | + | ===== Spolupráce | |
- | ===== Spolupráce | + | <wrap tip> |
- | <wrap tip> | + | |
<wrap tip>Při použití SQLite Studia</ | <wrap tip>Při použití SQLite Studia</ | ||
Line 193: | Line 223: | ||
Limit 2GB se dá v [[user: | Limit 2GB se dá v [[user: | ||
+ | ===== Přístup | ||
+ | Protože se předpokládá, | ||
+ | které ukazuje na ten konkrétní dlouhý text. Místo opakujícího se dlouhého textu se tedy opakuje jen číslo. Úspora místa je ale vyvážena trochu komplikovanějším přístupem k hodnotám TAGů. Protože text není uložen přímo u keše, je potřeba " | ||
+ | |||
+ | * **geotagcategory** - seznam kategorií ('' | ||
+ | * **geotagvalue** - seznam hodnot tagů ('' | ||
+ | * **geotag** - přidělená kategorie ('' | ||
+ | |||
+ | Jak bylo zmíněno, hodnoty jsou vždy uloženy jako text. Pokud tedy bude nutné chápat text jako číselnou hodnotu (např. pro porovnávaní nadmořských výšek), bude nutné text převést na číslo. To lze udělat dvěma způsoby: | ||
+ | |||
+ | * k hodnotě přičíst nebo odečíst 0, tím dojde k automatickému převodu | ||
+ | * použitím fráze '' | ||
+ | |||
+ | **SQL s vysvětlivkami** | ||
+ | |||
+ | Nejjednodušší SQL příkaz | ||
+ | |||
+ | <code SQL> | ||
+ | SELECT id, ptrkat, ptrvalue FROM geotag | ||
+ | WHERE id=' | ||
+ | </ | ||
+ | |||
+ | bohužel nedává očekávaný výsledek. Jak bylo řečeno výše, výsledkem bude pouze výpis ukazatelů na texty kategorie a hodnoty tagu, nikoli vlastní texty. Navíc bude výpis obsahovat všechny tagy všech kategorií, které jsou keši přiřazeny. | ||
+ | |||
+ | Abychom se dostali k textům a mohli podle nich případně i vybírat, je potřeba spojit '' | ||
+ | |||
+ | <code SQL> | ||
+ | SELECT gc.id, gtv.value FROM geocache gc | ||
+ | LEFT JOIN geotag gt ON gc.id=gt.id | ||
+ | LEFT JOIN geotagcategory gtc ON gt.ptrkat=gtc.key | ||
+ | LEFT JOIN geotagvalue gtv ON gt.ptrvalue=gtv.key | ||
+ | WHERE gc.id=' | ||
+ | </ | ||
+ | |||
+ | Pokud budeme chtít vybrat všechny " | ||
+ | |||
+ | <code SQL> | ||
+ | SELECT gc.id, gtv.value FROM geocache gc | ||
+ | LEFT JOIN geotag gt ON gc.id=gt.id | ||
+ | LEFT JOIN geotagcategory gtc ON gt.ptrkat=gtc.key | ||
+ | LEFT JOIN geotagvalue gtv ON gt.ptrvalue=gtv.key | ||
+ | WHERE gc.cachestatus=0 | ||
+ | AND gc.dtfound< | ||
+ | -- sem muzeme pridat dalsi pozadovane podminky | ||
+ | -- ... | ||
+ | -- podminky pro tagy: | ||
+ | AND gtc.value=' | ||
+ | AND (gtv.value+0)> | ||
+ | -- serazeni | ||
+ | ORDER BY (gtv.value+0) DESC -- hodnoty jako cislo seradime sestupne | ||
+ | </ | ||
===== Příklady SQL dotazů ===== | ===== Příklady SQL dotazů ===== | ||
Line 228: | Line 309: | ||
); | ); | ||
</ | </ | ||
- | |||
==== Seznam keší, kde má uživatel DNF log ==== | ==== Seznam keší, kde má uživatel DNF log ==== | ||
- | |||
<code sql> | <code sql> | ||
SELECT id FROM geolog WHERE finder=" | SELECT id FROM geolog WHERE finder=" | ||
Line 243: | Line 322: | ||
AND dtfound< | AND dtfound< | ||
</ | </ | ||
- | |||
==== Seznam keší, na kterých má uživatel GeoGetu vícenásobný nález ==== | ==== Seznam keší, na kterých má uživatel GeoGetu vícenásobný nález ==== | ||
Line 334: | Line 412: | ||
==== Kombinace a počty keší, které je třeba odlovit pro Nté vyplnění matrixu ==== | ==== Kombinace a počty keší, které je třeba odlovit pro Nté vyplnění matrixu ==== | ||
- | V ukázkovém SQL je N=3. Výsledek ale není možné zobrazit přímo v Geogetu, protože není vrácen GC kód keše, ale jen kombinace a počet. | + | V ukázkovém SQL je N=3. Výsledek ale není možné zobrazit přímo v GeoGetu, protože není vrácen GC kód keše, ale jen kombinace a počet. |
<code SQL> | <code SQL> | ||
Line 362: | Line 440: | ||
NOT IN (SELECT DISTINCT(difficulty||' | NOT IN (SELECT DISTINCT(difficulty||' | ||
</ | </ | ||
- | |||
==== Seznam okresů, v kterých ještě nemám nalezenou žádnou kešku ==== | ==== Seznam okresů, v kterých ještě nemám nalezenou žádnou kešku ==== |
user/databaze.1522601742.txt.gz · Last modified: 2018/04/01 18:55 by gord