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.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
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.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
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.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
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';
  • NoSQL (MongoDB):
    • Vytvoření dokumentu: db.users.insertOne({ name: "Alice", email: "alice@example.com" });
    • Dotaz na dokument: db.users.findOne({ name: "Alice" });
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
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});
How well did you know this?
1
Not at all
2
3
4
5
Perfectly