Príručky

Čo je databáza? Sprievodca pre ľudí, ktorí tvoria aplikácie

Databáza je organizované úložisko informácií, do ktorého aplikácia ukladá údaje a z ktorého ich číta — jej používatelia, objednávky, rezervácie, správy. Na rozdiel od informácií uložených len v karte prehliadača zostávajú údaje v databáze po obnovení stránky alebo reštarte a všetci, kto aplikáciu používajú, vidia rovnaké záznamy. Väčšina databáz organizuje údaje do tabuliek, podobne ako hárky v tabuľkovom procesore, ale s prísnymi pravidlami, ktoré údaje udržiavajú konzistentné.

Prečo na tom záleží pri tvorbe s AI

Najčastejšie prekvapenie pri tvorbe s AI je aplikácia, ktorá vyzerá hotovo, no zabudne všetko. Pridáte zákazníka, obnovíte stránku a je preč. To zvyčajne znamená, že aplikácia držala údaje v pamäti prehliadača, nie v databáze.

Databáza je zároveň miesto, kde žije mnoho dôležitých rozhodnutí, aj keď si to neuvedomujete:

  • Čo zaznamenávate. Ak neukladáte stav rezervácie, nemôžete ukázať, ktoré rezervácie boli zrušené.
  • Ako sa veci prepájajú. To, či jeden zákazník môže mať veľa rezervácií, alebo jedna rezervácia veľa služieb, tvorí celú aplikáciu.
  • Kto čo vidí. Väčšina chýb v súkromí súvisí s tým, ktoré záznamy môže používateľ čítať.

Nemusíte databázu navrhovať sami. Pochopenie základov vám však umožní jasne opísať svoje údaje a včas odhaliť problémy.

Každodenné prirovnanie

Predstavte si dobre zorganizovanú kartotéku v malej kancelárii.

Každá zásuvka obsahuje jeden druh vecí: jedna pre klientov, jedna pre termíny, jedna pre faktúry. V každej zásuvke má každá zložka rovnaký formát s rovnako vyplnenými poľami. Každá zložka má jedinečné referenčné číslo a keď faktúra patrí klientovi, zložka faktúry uvádza číslo tohto klienta namiesto kopírovania celého jeho spisu.

Toto je relačná databáza. Zásuvky sú tabuľky, zložky sú riadky, polia sú stĺpce, referenčné čísla sú primárne kľúče a poznámky odkazujúce na inú zložku sú cudzie kľúče. Dobrý kancelársky manažér navyše presadzuje pravidlá — žiadny termín bez dátumu, žiadni dvaja klienti s rovnakým číslom — rovnako ako databáza.

Praktický príklad: rezervačná aplikácia pre kaderníctvo

Povedzme, že požiadate AI, aby vytvorila rezervačný web pre kaderníctvo. Rozumná databáza by mala štyri tabuľky.

services

idnameduration_minutesprice
1Strihanie4540.00
2Farbenie9095.00

staff

idnameemail
1Sarasara@example.com
2Omaromar@example.com

customers

idnameemailphone
101Lena Parklena@example.com555-0100

bookings

idcustomer_idservice_idstaff_idstarts_atstatus
5001101122026-10-03 14:00confirmed

Pozrite sa na tabuľku bookings. Nekopíruje meno a telefónne číslo Leny do každej rezervácie; ukladá customer_id = 101. Ak Lena zmení telefónne číslo, zmení sa na jednom mieste a každá rezervácia zobrazí nové. To je hlavná myšlienka relačnej databázy: uložiť každý údaj raz a odkazovať naň.

Rovnaká štruktúra odpovie na užitočné otázky:

  • „Ktoré termíny sú v piatok voľné pre Omara?“ — pozrieť Omarove rezervácie v ten deň.
  • „Koľko zarobili farbenia tento mesiac?“ — spojiť rezervácie so službami a sčítať ceny.
  • „Ktorí zákazníci neboli 90 dní na rezervácii?“ — porovnať zákazníkov s ich poslednou rezerváciou.

Bežné pojmy vysvetlené

PojemVýznam
TabuľkaZbierka jedného druhu záznamov, napríklad zákazníkov alebo rezervácií.
Riadok (záznam)Jedna položka v tabuľke — jeden zákazník, jedna rezervácia.
Stĺpec (pole)Jeden údaj, ktorý má každý riadok, napríklad e-mail alebo cena.
Primárny kľúčJedinečné ID každého riadku, zvyčajne číslo alebo náhodný reťazec.
Cudzí kľúčStĺpec, ktorý ukazuje na riadok v inej tabuľke, napríklad customer_id v rezerváciách.
SchémaCelkový návrh: aké tabuľky existujú, ich stĺpce a ako sa prepájajú.
DotazPožiadavka na čítanie alebo zmenu údajov, napríklad „všetky rezervácie na zajtra“.
SQLStructured Query Language, štandardný jazyk na dopytovanie relačných databáz.
MigráciaUložená, opakovateľná zmena schémy, napríklad pridanie stĺpca.
IndexVyhľadávacia štruktúra, ktorá zrýchli hľadanie v stĺpci, ako register v knihe.
CRUDCreate, Read, Update, Delete — štyri základné operácie, ktoré aplikácie robia s údajmi.
ZálohaKópia údajov, ktorú môžete obnoviť, ak sa niečo pokazí.

Typy databáz

TypAko ukladá údajePríkladyVhodné pre
Relačná (SQL)Tabuľky s pevnými stĺpcami a prepojeniamiPostgres, MySQL, SQLiteVäčšinu obchodných aplikácií: rezervácie, obchody, CRM, SaaS
Dokumentová (NoSQL)Flexibilné dokumenty podobné JSONMongoDB, FirestoreÚdaje, ktorých tvar sa veľmi líši od záznamu k záznamu
Kľúč–hodnotaHodnota uložená pod kľúčomRedisCachovanie, krátkodobé údaje ako relácie

Pre takmer všetko, čo zakladateľ alebo malá firma postaví ako prvé, je relačná databáza bezpečnou voľbou.

Kde databáza sedí v aplikácii

Návštevníci s databázou nikdy nekomunikujú priamo. Stránka v ich prehliadači (the frontend) žiada údaje od vášho servera (backendu), zvyčajne cez API. Server skontroluje, kto žiada a či smie, potom dotazuje databázu a pošle späť iba to, čo daný človek smie vidieť.

Tento medzikrok je dôležitý. Ak by prehliadač mohol dotazovať databázu priamo s plným prístupom, ktokoľvek by mohol otvoriť nástroje pre vývojárov a prečítať všetko.

Časté chyby a mylné predstavy

  • Ukladanie údajov len v prehliadači. Úložisko prehliadača (napríklad localStorage) žije na jednom zariadení a v jednom prehliadači. Hodí sa na zapamätanie filtra, nie na objednávky.
  • Všetko do jednej tabuľky. Jediná tabuľka „rezervácie“, do ktorej sa v každom riadku kopíruje meno zákazníka, telefón a cena služby, rýchlo prestane byť zosúladená.
  • Heslá uložené ako čistý text. Heslá by mali byť zahashované, nikdy nie čitateľne uložené. Pozri čo je autentifikácia.
  • Žiadne pravidlá pre údaje. Bez povinných polí a pravidiel jedinečnosti dostanete rezervácie bez dátumu a duplicitných zákazníkov.
  • Zabudnutie na mazanie. Rozhodnite, či zmazanie zákazníka zmaže aj jeho rezervácie, ponechá ich, alebo sa zablokuje.
  • Používanie produkčných údajov na experimenty. Rizikové zmeny najprv vyskúšajte bezpečne a uchovávajte zálohy.
  • Tabuľkový procesor ako databáza navždy. Tabuľky sú skvelé na začiatok, no zle zvládajú veľa súčasných používateľov a oprávnenia. Pozri ako premeniť tabuľku na aplikáciu.

Čo žiadať od svojho tvorcu s AI

  • „Ulož to do databázy, nie do prehliadača. Povedz mi, ktoré tabuľky vytvoríš.“
  • „Ukáž mi schému ako jednoduchú tabuľku: každú tabuľku, jej stĺpce a ako sa prepájajú.“
  • „Zákazník môže mať veľa rezervácií; každá rezervácia má práve jednu službu a jedného zamestnanca.“
  • „Nastav e-mail ako povinný a jedinečný pre zákazníkov.“
  • „Zabráň tomu, aby sa dve rezervácie toho istého zamestnanca prekrývali.“
  • „Iba prihlásený majiteľ môže čítať všetky rezervácie; zákazníci vidia len svoje. Vynúť to na serveri.“
  • „Keď zmažem službu, nemaž minulé rezervácie — iba ju označ ako neaktívnu.“

Databázy v Mythexe

Keď vaša aplikácia potrebuje ukladať údaje, Mythex pridá do projektu vyhradenú Postgres databázu — môžete o ňu požiadať v chate („ulož registrácie na čakaciu listinu do databázy“) alebo použiť príkaz /database. Údaje o pripojení sa aplikácii odovzdajú automaticky a agent vytvorí tabuľky. Databáza zaspí po piatich minútach nečinnosti a prebudí sa pri ďalšej požiadavke; pri publikovaných aplikáciách sa účtuje čas, počas ktorého bola hore, z rovnakého kreditu ako tvorba. Je dostupná vo plánoch Free a Pro. Podrobnosti sú v dokumentácii k databázam a šablóny aplikácií obsahujú začiatočné riešenia pracujúce s údajmi.

Otázky

Čo je databáza jednoducho povedané?

Databáza je organizované úložisko informácií, do ktorého aplikácia ukladá údaje a z ktorého ich číta, napríklad používateľov, objednávky alebo rezervácie. Na rozdiel od údajov uložených len v karte prehliadača zostanú v databáze po obnovení stránky, po reštarte aj vtedy, keď aplikáciu otvorí niekto iný z iného zariadenia.

Je tabuľka v tabuľkovom procesore databáza?

Tabuľkový procesor dokáže uchovávať rovnaký druh údajov, no nie je určený pre aplikácie. Skutočná databáza presadzuje pravidlá o tom, čo má každý stĺpec obsahovať, spoľahlivo prepája tabuľky, zvláda zápis od mnohých ľudí naraz a riadi, kto čo smie čítať.

Aký je rozdiel medzi databázami SQL a NoSQL?

Databázy SQL (relačné), ako Postgres a MySQL, ukladajú údaje do tabuliek s definovanými stĺpcami a vzťahmi medzi nimi. Databázy NoSQL, ako MongoDB, ukladajú flexibilnejšie dokumenty. Väčšina obchodných aplikácií — rezervácie, CRM, obchody — dobre zapadá do relačného modelu.

Potrebuje moja aplikácia databázu?

Ak si musí pamätať čokoľvek, čo ľudia zadajú — registrácie, objednávky, správy, nastavenia — a neskôr to zobrazovať alebo ukazovať niekomu inému, tak áno. Čisto informačná webová stránka bez formulárov, ktoré niečo ukladajú, databázu zvyčajne nepotrebuje.

Mythex · Pricing · Vytvorte čokoľvek s AI · Šablóny webov a aplikácií · Mythex v porovnaní · Slovník pojmov tvorby aplikácií s AI · Bezplatné nástroje na tvorbu aplikácií s AI · English

English አማርኛ العربية Български বাংলা Bosanski Català Čeština 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 Soomaali Shqip Srpski Svenska Kiswahili தமிழ் తెలుగు ไทย Tagalog Türkçe Українська اردو Tiếng Việt 简体中文 繁體中文(香港) 繁體中文(台灣)