4. Persistence dat Flashcards
1
Q
Jaké jsou základní typy databází a klíčové terminologie v persistence dat?
A
- Relační databáze (SQL): Ukládají data ve strukturovaných tabulkách a používají SQL pro manipulaci s daty. Příklady zahrnují MySQL, PostgreSQL, Oracle.
- Nerelační databáze (NoSQL): Zahrnují dokumentové, key-value, wide-column a grafické databáze. Jsou flexibilní ve schématu a vhodné pro velké množství různorodých dat. Příklady zahrnují MongoDB, Redis, Cassandra, Neo4j.
- Indexy: Mechanismy zrychlující vyhledávání dat v databázi.
- DAO (Data Access Object): Designový vzor poskytující abstraktní rozhraní k přístupu k datům, skrývá implementační detaily.
2
Q
Jaké jsou základní principy persistence dat?
A
- Dekompozice: Rozdělení dat do logických bloků (tabulky, dokumenty) usnadňuje jejich správu.
- Konzistence: Zajišťuje, že každá transakce převede systém z jednoho platného stavu do jiného a zachovává integritu dat.
- Trvalost: Uložení dat tak, aby byla dostupná po restartu systému nebo aplikace.
- Izolace: Schopnost provádět transakce nezávisle na ostatních, což zabraňuje nechtěným interakcím mezi transakcemi.
3
Q
Jaké jsou rozdíly mezi SQL a NoSQL databázemi a kdy je vhodné každý typ použít?
A
- SQL Databáze: Mají pevně definované schéma a silnou podporu ACID transakcí. Ideální pro aplikace, kde je důležitá konzistence a integrita dat, jako jsou finanční systémy.
- NoSQL Databáze: Nabízejí flexibilitu ve schématu a jsou vysoce škálovatelné. Vhodné pro Big Data aplikace a real-time web aplikace, kde se očekává velké množství nestrukturovaných dat.
4
Q
Jak vypadají praktické ukázky SQL a NoSQL operací?
A
-
SQL:
- Vytvoření tabulky:
CREATE TABLE users (id INT AUTO_INCREMENT, name VARCHAR(255), email VARCHAR(255), PRIMARY KEY(id));
- Vložení dat:
INSERT INTO users (name, email) VALUES ('Alice', 'alice@example.com');
- Dotaz na data:
SELECT * FROM users WHERE name = 'Alice';
- Vytvoření tabulky:
-
NoSQL (MongoDB):
- Vytvoření dokumentu:
db.users.insertOne({ name: "Alice", email: "alice@example.com" });
- Dotaz na dokument:
db.users.findOne({ name: "Alice" });
- Vytvoření dokumentu:
5
Q
Jaké jsou běžné DAO metody a jak vypadá vytvoření indexů v databázích?
A
-
DAO Metody:
findById
,save
,update
,delete
- metody pro základní manipulaci s daty v databázi. -
Vytvoření Indexu v SQL:
CREATE INDEX idx_name ON users(name);
-
Vytvoření Indexu v MongoDB:
db.users.createIndex({name: 1});