Zhrnutie na Bezdrôtové technológie, databázy a IoT

Bezdrôtové Technológie, Databázy a IoT: Kompletný Rozbor pre Študentov

Úvod

Databázy v mobilných aplikáciách slúžia na ukladanie, spravovanie a obnovu dát, ktoré aplikácia používa. Tieto dáta môžu byť používateľské nastavenia, záznamy aktivít alebo informácie, ktoré sa synchronizujú medzi zariadeniami. V tomto materiáli sa naučíte rozdiely medzi lokálnymi a cloudovými databázami, výhody a nevýhody, otázky bezpečnosti a príklady použitia.

Definícia: Databáza je organizovaný súbor dát uložený tak, aby bol rýchlo prístupný, upraviteľný a bezpečný.

Hlavné typy databáz v mobilných aplikáciách

1. Lokálne databázy

Lokálne databázy ukladajú dáta priamo v zariadení. Používajú sa, keď aplikácia musí fungovať bez internetu alebo keď chceme rýchle čítanie a zápis.

Definícia: Lokálna databáza je databáza uložená priamo na zariadení používateľa.

Podrobnejšie príklady:

  • SQLite
    • Relačná databáza, dáta sú v tabuľkách, prístup cez SQL dotazy.
    • Vhodná pre štruktúrované dáta a vzťahy medzi nimi.
  • Realm
    • Objektovo orientovaná databáza; pracuje priamo s objektmi v kóde bez potreby SQL.
    • Rýchla a jednoduchá na použitie, často lepšia pri zložitých dátových modeloch.
  • Core Data (iOS)
    • Framework na iOS pre správu objektov a ukladanie dát.
    • Podporuje komplexné vzťahy a dotazy v prostredí aplikácie.

Tabuľka: porovnanie lokálnych databáz

VlastnosťSQLiteRealmCore Data
TypRelačnáObjektovo orientovanáFramework/ORM
Potreba SQLÁnoNieNie (ale má vlastné API)
VýkonDobré+++
Zložitosť použitiaNízka až strednáNízkaStredná až vysoká

2. Cloudové databázy

Cloudové databázy sú uložené na serveroch a aplikácia sa k nim pripája cez internet. Používajú sa, keď potrebujeme synchronizáciu medzi zariadeniami alebo zdieľanie dát medzi používateľmi.

Definícia: Cloudová databáza je databáza hosťovaná na vzdialenom serveri, prístupná cez sieť.

Príklady:

  • Firebase
    • NoSQL databáza s podporou synchronizácie v reálnom čase medzi viacerými zariadeniami.
    • Obsahuje aj autentifikačné služby a hosting pre jednoduché mobilné aplikácie.
  • MySQL, PostgreSQL
    • Tradičné relačné databázy bežiace na serveroch.
    • Klient-server komunikácia cez API umožňuje centralizované ukladanie dát.

Tabuľka: porovnanie cloud vs lokál

KritériumLokálna databázaCloudová databáza
Prístup bez internetuÁnoNie (zvyčajne nie, ale môže mať offline režim)
Synchronizácia medzi zariadeniamiNie (bez dodatočnej infraštruktúry)Áno
Zálohovanie a centralizáciaNieÁno
LatenciaNízkaZávisí od siete

Offline a online prístup

  • Lokálne databázy umožňujú plnú funkčnosť bez internetu.
  • Cloudové databázy často podporujú offline režim: aplikácia ukladá zmeny lokálne a po pripojení sa dáta synchronizujú so serverom.

Praktický príklad:

  1. Používateľ zapíše novú poznámku bez internetu do lokálnej databázy (SQLite alebo Realm).
  2. Po pripojení k internetu aplikácia odošle nové záznamy do cloudového úložiska (napr. Firebase) a synchronizuje zmeny.
💡 Vedeli ste?Fun fact: Firebase umožňuje jednoduchú implementáciu reálnej synchronizácie medzi zariadeniami, čo je výhodné pre aplikácie na spoluprácu v reálnom čase.

Bezpečnosť databáz

Bezpečnosť je pri mobilných aplikáciách kritická, najmä ak aplikácia pracuje s citlivými údajmi.

Definícia: Šifrovanie je proces premeny dát do formy, ktorú nemožno prečítať bez správneho kľúča.

Dôležité opatrenia:

  • Šifrovanie dát
    • Ukladať citlivé informácie zašifrované, či už lokálne alebo na serveri.
  • Autentifikácia a autorizácia
    • Overiť identitu používateľa a obmedziť prístup len pre oprávnené osoby.
  • Bezpečná komunikácia
    • Používať HTTPS/TLS pri komunikácii s cloudom.
  • Zálohovanie a obnova
    • Pravidelné zálohy cloudových dát a mechanizmy obnovy pri strate zariadenia.

Praktické odporúčanie: nikdy neukladajte citlivé údaje (napr. heslá v čistej forme) lokálne bez šifrovania a bez použitia bezpečných úložísk ako Ke

Zaregistruj sa pre celé zhrnutie
KartičkyTest znalostíZhrnutiePodcastMyšlienková mapa
Začni zadarmo

Už máš účet? Prihlásiť sa

Databázy v mobilných aplikáciách

Klíčové pojmy: Databáza je organizovaný súbor dát pre rýchly prístup, Lokálna databáza funguje bez internetu (SQLite, Realm, Core Data), SQLite používa SQL a je relačná, Realm je objektovo orientovaná, pracuje priamo s objektmi, Core Data je iOS framework pre zložité vzťahy objektov, Cloudové databázy (Firebase, MySQL, PostgreSQL) umožňujú synchronizáciu medzi zariadeniami, Implementujte šifrovanie a používejte HTTPS/TLS pri komunikácii, Offline režim: ukladať zmeny lokálne a synchronizovať po pripojení, Nikdy neukladajte heslá v čistej forme; používajte bezpečné úložiská, Pri výbere zvážte potrebu offline práce a synchronizácie

## Úvod Databázy v mobilných aplikáciách slúžia na ukladanie, spravovanie a obnovu dát, ktoré aplikácia používa. Tieto dáta môžu byť používateľské nastavenia, záznamy aktivít alebo informácie, ktoré sa synchronizujú medzi zariadeniami. V tomto materiáli sa naučíte rozdiely medzi lokálnymi a cloudovými databázami, výhody a nevýhody, otázky bezpečnosti a príklady použitia. > Definícia: Databáza je organizovaný súbor dát uložený tak, aby bol rýchlo prístupný, upraviteľný a bezpečný. ## Hlavné typy databáz v mobilných aplikáciách ### 1. Lokálne databázy Lokálne databázy ukladajú dáta priamo v zariadení. Používajú sa, keď aplikácia musí fungovať bez internetu alebo keď chceme rýchle čítanie a zápis. > Definícia: Lokálna databáza je databáza uložená priamo na zariadení používateľa. Podrobnejšie príklady: - **SQLite** - Relačná databáza, dáta sú v tabuľkách, prístup cez SQL dotazy. - Vhodná pre štruktúrované dáta a vzťahy medzi nimi. - **Realm** - Objektovo orientovaná databáza; pracuje priamo s objektmi v kóde bez potreby SQL. - Rýchla a jednoduchá na použitie, často lepšia pri zložitých dátových modeloch. - **Core Data (iOS)** - Framework na iOS pre správu objektov a ukladanie dát. - Podporuje komplexné vzťahy a dotazy v prostredí aplikácie. Tabuľka: porovnanie lokálnych databáz | Vlastnosť | SQLite | Realm | Core Data | |---|---:|---:|---:| | Typ | Relačná | Objektovo orientovaná | Framework/ORM | | Potreba SQL | Áno | Nie | Nie (ale má vlastné API) | | Výkon | Dobré | ++ | + | | Zložitosť použitia | Nízka až stredná | Nízka | Stredná až vysoká | ### 2. Cloudové databázy Cloudové databázy sú uložené na serveroch a aplikácia sa k nim pripája cez internet. Používajú sa, keď potrebujeme synchronizáciu medzi zariadeniami alebo zdieľanie dát medzi používateľmi. > Definícia: Cloudová databáza je databáza hosťovaná na vzdialenom serveri, prístupná cez sieť. Príklady: - **Firebase** - NoSQL databáza s podporou synchronizácie v reálnom čase medzi viacerými zariadeniami. - Obsahuje aj autentifikačné služby a hosting pre jednoduché mobilné aplikácie. - **MySQL, PostgreSQL** - Tradičné relačné databázy bežiace na serveroch. - Klient-server komunikácia cez API umožňuje centralizované ukladanie dát. Tabuľka: porovnanie cloud vs lokál | Kritérium | Lokálna databáza | Cloudová databáza | |---|---:|---:| | Prístup bez internetu | Áno | Nie (zvyčajne nie, ale môže mať offline režim) | | Synchronizácia medzi zariadeniami | Nie (bez dodatočnej infraštruktúry) | Áno | | Zálohovanie a centralizácia | Nie | Áno | | Latencia | Nízka | Závisí od siete | ## Offline a online prístup - **Lokálne databázy** umožňujú plnú funkčnosť bez internetu. - **Cloudové databázy** často podporujú offline režim: aplikácia ukladá zmeny lokálne a po pripojení sa dáta synchronizujú so serverom. Praktický príklad: 1. Používateľ zapíše novú poznámku bez internetu do lokálnej databázy (SQLite alebo Realm). 2. Po pripojení k internetu aplikácia odošle nové záznamy do cloudového úložiska (napr. Firebase) a synchronizuje zmeny. Fun fact: Firebase umožňuje jednoduchú implementáciu reálnej synchronizácie medzi zariadeniami, čo je výhodné pre aplikácie na spoluprácu v reálnom čase. ## Bezpečnosť databáz Bezpečnosť je pri mobilných aplikáciách kritická, najmä ak aplikácia pracuje s citlivými údajmi. > Definícia: Šifrovanie je proces premeny dát do formy, ktorú nemožno prečítať bez správneho kľúča. Dôležité opatrenia: - **Šifrovanie dát** - Ukladať citlivé informácie zašifrované, či už lokálne alebo na serveri. - **Autentifikácia a autorizácia** - Overiť identitu používateľa a obmedziť prístup len pre oprávnené osoby. - **Bezpečná komunikácia** - Používať HTTPS/TLS pri komunikácii s cloudom. - **Zálohovanie a obnova** - Pravidelné zálohy cloudových dát a mechanizmy obnovy pri strate zariadenia. Praktické odporúčanie: nikdy neukladajte citlivé údaje (napr. heslá v čistej forme) lokálne bez šifrovania a bez použitia bezpečných úložísk ako Ke