Průvodci

Co je databáze? Průvodce pro lidi, kteří tvoří aplikace

Databáze je uspořádaná zásobárna informací, do které aplikace ukládá a odkud čte: své uživatele, objednávky, rezervace, zprávy. Na rozdíl od informací uložených jen v záložce prohlížeče zůstávají data v databázi i po obnovení nebo restartu a každý, kdo aplikaci používá, vidí tytéž záznamy. Většina databází organizuje data do tabulek, podobně jako listy v tabulkovém procesoru, ale s přísnými pravidly, která drží data v konzistenci.

Proč na tom záleží, když stavíte s AI

Nejčastějším překvapením u lidí, kteří staví s AI, je aplikace, která vypadá hotově, ale zapomene všechno. Přidáte zákazníka, obnovíte stránku a je pryč. To obvykle znamená, že aplikace držela data v paměti prohlížeče, ne v databázi.

Databáze je také místem, kde žije mnoho vašich nejdůležitějších rozhodnutí, ať si to uvědomujete, nebo ne:

  • Co zaznamenáváte. Pokud neukládáte stav rezervace, nemůžete ukázat, které rezervace byly zrušeny.
  • Jak věci souvisí. Zda jeden zákazník může mít mnoho rezervací, nebo jedna rezervace mnoho služeb, utváří celou aplikaci.
  • Kdo smí co vidět. Většina chyb v soukromí se týká toho, které záznamy uživatel smí číst.

Databázi nemusíte navrhovat sami. Ale znalost základů vám umožní popsat data jasně a včas odhalit problémy.

Každodenní přirovnání

Představte si dobře vedenou kartotéku v malé kanceláři.

Každá zásuvka obsahuje jeden druh věcí: jednu pro klienty, jednu pro schůzky, jednu pro faktury. Uvnitř každé zásuvky má každá složka stejný formát se stejně vyplněnými poli. Každá složka má jedinečné referenční číslo a když faktura patří klientovi, složka faktury uvádí číslo klienta, místo aby kopírovala celý jeho spis.

To je relační databáze. Zásuvky jsou tabulky, složky jsou řádky, pole jsou sloupce, referenční čísla jsou primární klíče a poznámky odkazující na jinou složku jsou cizí klíče. Dobrý kancelářský manažer také vynucuje pravidla, žádná schůzka bez data, žádní dva klienti se stejným číslem, stejně jako to dělá databáze.

Příklad: rezervační aplikace pro kadeřnictví

Řekněme, že požádáte AI o postavení rezervačního webu pro kadeřnictví. Rozumná databáze by měla čtyři tabulky.

services

idnameduration_minutesprice
1Střih4540.00
2Barvení9095.00

staff

idnameemail
1Sárasara@example.com
2Omaromar@example.com

customers

idnameemailphone
101Lena Parkoválena@example.com555-0100

bookings

idcustomer_idservice_idstaff_idstarts_atstatus
5001101122026-10-03 14:00confirmed

Podívejte se na tabulku bookings. Nekopíruje jméno a telefon Leny do každé rezervace, ukládá customer_id = 101. Když Lena změní telefonní číslo, změní se na jednom místě a každá rezervace ukáže nové. To je základní myšlenka relační databáze: každý fakt uložit jednou a odkazovat na něj.

Stejná struktura odpoví na užitečné otázky:

  • „Které termíny jsou volné u Omara v pátek?“ Podívejte se na Omarovy rezervace toho dne.
  • „Kolik vydělala barvení za tento měsíc?“ Spojte rezervace se službami a sečtěte ceny.
  • „Kteří zákazníci nebyli 90 dní v salonu?“ Porovnejte zákazníky s jejich poslední rezervací.

Běžné pojmy vysvětleny

PojemCo znamená
TabulkaKolekce jednoho druhu záznamů, například zákazníků nebo rezervací.
Řádek (záznam)Jedna položka v tabulce, jeden zákazník, jedna rezervace.
Sloupec (pole)Jeden údaj, který má každý řádek, například e-mail nebo cena.
Primární klíčJedinečné ID každého řádku, obvykle číslo nebo náhodný řetězec.
Cizí klíčSloupec, který ukazuje na řádek v jiné tabulce, například customer_id v rezervacích.
SchémaCelkový návrh: které tabulky existují, jejich sloupce a jak jsou propojeny.
DotazPožadavek na čtení nebo změnu dat, například „všechny rezervace na zítřek“.
SQLStructured Query Language, standardní jazyk pro dotazování relačních databází.
MigraceUložená, opakovatelná změna schématu, například přidání sloupce.
IndexVyhledávací struktura, která zrychluje hledání podle sloupce, jako rejstřík v knize.
CRUDCreate, Read, Update, Delete: čtyři základní operace, které aplikace s daty provádějí.
ZálohaKopie dat, kterou lze obnovit, když se něco pokazí.

Druhy databází

DruhJak ukládá dataPříkladyVhodné pro
Relační (SQL)Tabulky s pevnými sloupci a vazbami mezi nimiPostgres, MySQL, SQLiteVětšinu obchodních aplikací: rezervace, obchody, CRM, SaaS
Dokumentová (NoSQL)Pružné dokumenty podobné JSONMongoDB, FirestoreData, jejichž tvar se od záznamu k záznamu hodně liší
Klíč-hodnotaHodnota uložená pod klíčemRedisCachování, krátkodobá data jako relace

Pro téměř všechno, co zakladatel nebo malá firma staví jako první, je relační databáze bezpečnou volbou.

Kde databáze sídlí ve vaší aplikaci

Návštěvníci s databází nikdy nemluví přímo. Stránka v jejich prohlížeči (tzv. frontend) žádá o data váš server (backend), obvykle přes API. Server zkontroluje, kdo se ptá a zda smí, pak se dotáže databáze a pošle zpět jen to, co ten člověk smí vidět.

Tento prostřední krok je důležitý. Kdyby prohlížeč mohl dotazovat databázi přímo s plnými právy, kdokoli by mohl otevřít vývojářské nástroje a přečíst všechno.

Časté chyby a mylné představy

  • Držení dat jen v prohlížeči. Úložiště prohlížeče (například localStorage) žije na jednom zařízení a v jednom prohlížeči. Je v pořádku pro zapamatovaný filtr, ne pro objednávky.
  • Nacpání všeho do jedné tabulky. Jediná tabulka „rezervace“, kde je jméno zákazníka, telefon a cena služby zkopírována do každého řádku, se rychle rozejde.
  • Ukládání hesel jako čistého textu. Hesla se mají hashovat, nikdy nesmí být uložena čitelně. Viz co je autentizace.
  • Žádná pravidla pro data. Bez povinných polí a pravidel jedinečnosti dostanete rezervace bez data a duplicitní zákazníky.
  • Zapomenuté mazání. Rozhodněte, zda smazání zákazníka smaže i jeho rezervace, je ponechá, nebo se zablokuje.
  • Používání produkčních dat k experimentům. Riskantní změny nejdřív zkoušejte na bezpečném místě a držte zálohy.
  • Tabulka jako databáze navždy. Tabulky jsou skvělé na začátek, ale zvládají špatně mnoho současných uživatelů a oprávnění. Viz jak z tabulky udělat aplikaci.

Co žádat po svém nástroji pro tvorbu s AI

  • „Ulož to do databáze, ne do prohlížeče. Řekni mi, které tabulky vytvoříš.“
  • „Ukaž mi schéma jako jednoduchou tabulku: každou tabulku, její sloupce a jak jsou propojené.“
  • „Zákazník může mít mnoho rezervací; každá rezervace má přesně jednu službu a jednoho zaměstnance.“
  • „U zákazníků nastav e-mail jako povinný a jedinečný.“
  • „Zabraň tomu, aby se dvě rezervace stejného zaměstnance překrývaly.“
  • „Všechny rezervace smí číst jen přihlášený majitel; zákazníci vidí jen své vlastní. Vynucuj to na serveru.“
  • „Když smažu službu, nemazej minulé rezervace, jen ji označ jako neaktivní.“

Databáze na Mythexu

Když vaše aplikace potřebuje ukládat data, Mythex přidá do projektu vyhrazenou Postgres databázi. Můžete o ni požádat v chatu („ukládej registrace do čekací listiny do databáze“) nebo použít příkaz /database. Připojovací údaje se aplikaci předají automaticky a agent vytvoří tabulky. Databáze po pěti minutách nečinnosti usne a probudí se při dalším požadavku. U publikované aplikace se účtuje doba, kdy byla vzhůru, z téhož kreditního zůstatku jako stavění. Je dostupná v plánech Free a Pro. Podrobnosti popisuje dokumentace k databázi a šablony aplikací obsahují výchozí body řízené daty.

Otázky

Co je databáze jednoduše řečeno?

Databáze je uspořádaná zásobárna informací, do které aplikace ukládá a odkud čte, například uživatele, objednávky nebo rezervace. Na rozdíl od dat uložených jen v záložce prohlížeče zůstanou v databázi i po obnovení stránky, restartu nebo když se aplikace otevře z jiného zařízení.

Je tabulka ve Excelu databáze?

Tabulka může uchovávat stejný druh dat, ale není pro aplikace stavěná. Skutečná databáze vynucuje pravidla, co který sloupec obsahuje, spolehlivě propojuje tabulky, zvládne zápis od mnoha lidí najednou a řídí, kdo co smí číst.

Jaký je rozdíl mezi SQL a NoSQL databázemi?

SQL (relační) databáze, jako Postgres a MySQL, ukládají data do tabulek s pevně danými sloupci a vztahy mezi nimi. NoSQL databáze, jako MongoDB, ukládají pružnější dokumenty. Většina obchodních aplikací, jako rezervace, CRM nebo obchody, se relačnímu modelu dobře hodí.

Potřebuje moje aplikace databázi?

Pokud si musí pamatovat cokoli, co lidé zadají, jako registrace, objednávky, zprávy nebo nastavení, a ukázat to později nebo jiné osobě, pak ano. Čistě informační web bez formulářů, které něco ukládají, obvykle databázi nepotřebuje.

Mythex · Pricing · Vytvořte cokoli s AI · Šablony webů a aplikací · Mythex v porovnání · Slovník tvorby aplikací s AI · Bezplatné nástroje pro tvorbu aplikací s AI · English

English አማርኛ العربية Български বাংলা Bosanski Català Dansk Deutsch Ελληνικά Español Español (España) Eesti فارسی Suomi Français Français (Canada) ગુજરાતી हिन्दी Hrvatski Magyar Հայերեն Bahasa Indonesia Íslenska Italiano 日本語 ქართული Қазақ тілі ಕನ್ನಡ 한국어 Lietuvių Latviešu Македонски മലയാളം Монгол मराठी Bahasa Melayu မြန်မာ Norsk bokmål Nederlands ਪੰਜਾਬੀ Polski Português (Brasil) Português (Portugal) Română Русский Slovenčina Slovenščina Soomaali Shqip Srpski Svenska Kiswahili தமிழ் తెలుగు ไทย Tagalog Türkçe Українська اردو Tiếng Việt 简体中文 繁體中文(香港) 繁體中文(台灣)