Útmutatók

Mi az az adatbázis? Útmutató alkalmazásokat építőknek

Az adatbázis rendezett információtár, amelybe egy alkalmazás ment, és amelyből olvas — a felhasználóit, rendeléseit, foglalásait, üzeneteit. Ellentétben azzal az információval, amelyet csak a böngészőlapon tartunk, az adatbázisban lévő adat frissítés vagy újraindítás után is megmarad, és mindenki, aki használja az alkalmazást, ugyanazokat a rekordokat látja. Az adatbázisok többsége táblákba rendezi az adatokat, hasonlóan egy táblázat lapjaihoz, de szigorú szabályokkal, amelyek megőrzik az adatok egységességét.

Miért fontos ez, ha MI-val építesz

A leggyakoribb meglepetés azoknál, akik MI-vel építenek, egy olyan alkalmazás, amely késznek látszik, de mindent elfelejt. Hozzáadsz egy ügyfelet, frissíted az oldalt, és eltűnt. Ez általában azt jelenti, hogy az alkalmazás a böngésző memóriájában tartotta az adatokat, nem adatbázisban.

Az adatbázis ad otthont sok olyan fontos döntésednek is, akár tudod, akár nem:

  • Mit rögzítesz. Ha nem tárolod a foglalás állapotát, nem tudod megmutatni, mely foglalásokat mondták le.
  • Hogyan kapcsolódnak a dolgok. Az, hogy egy ügyfélnek több foglalása lehet-e, vagy egy foglalásnak több szolgáltatása, az egész alkalmazást meghatározza.
  • Ki mit láthat. A legtöbb adatvédelmi hiba arról szól, mely rekordokat olvashat egy felhasználó.

Nem kell magadnak megtervezned az adatbázist. De az alapok megértése segít pontosan leírni az adataidat, és korán felismerni a problémákat.

Mindennapi hasonlat

Képzelj el egy rendezett iratszekrényt egy kis irodában.

Minden fiók egyfajta dolgot tart: az egyik az ügyfeleknek, a másik a találkozóknak, a harmadik a számláknak. A fiókon belül minden mappa ugyanazt a formát követi, ugyanazokkal a kitöltött mezőkkel. Minden mappának egyedi hivatkozási száma van, és ha egy számla egy ügyfélhez tartozik, a számlamappa az ügyfél számát jegyzi fel, nem másolja le a teljes aktáját.

Ez egy relációs adatbázis. A fiókok a táblák, a mappák a sorok, a mezők az oszlopok, a hivatkozási számok az elsődleges kulcsok, a másik mappára mutató jegyzetek pedig az idegen kulcsok. Egy jó irodavezető szabályokat is érvényesít — nincs találkozó dátum nélkül, nem lehet két ügyfél azonos számmal —, ahogy egy adatbázis is.

Kidolgozott példa: egy szalon foglalási alkalmazása

Tegyük fel, hogy egy MI-t kérsz, hogy építsen egy foglalási weboldalt egy fodrászszalonnak. Egy észszerű adatbázisnak négy táblája lenne.

services

idnameduration_minutesprice
1Hajvágás4540.00
2Festés9095.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

Nézd meg a bookings táblát. Nem másolja Lena nevét és telefonszámát minden foglalásba; csak a customer_id = 101 értéket tárolja. Ha Lena megváltoztatja a telefonszámát, az egy helyen változik meg, és minden foglalás az újat mutatja. Ez a relációs adatbázis lényege: minden tényt egyszer tárolj, és arra hivatkozz.

Ugyanez a szerkezet hasznos kérdésekre is válaszol:

  • „Mely időpontok szabadok Omarnál pénteken?” — nézd meg Omar aznapi foglalásait.
  • „Mennyit hoztak a festési időpontok ebben a hónapban?” — kösd össze a foglalásokat a szolgáltatásokkal, és add össze az árakat.
  • „Mely ügyfelek nem foglaltak 90 napja?” — hasonlítsd össze az ügyfeleket a legutóbbi foglalásukkal.

Gyakori kifejezések magyarázata

KifejezésJelentés
TáblaEgyfajta rekordok gyűjteménye, például ügyfelek vagy foglalások.
Sor (rekord)Egy elem a táblában — egy ügyfél, egy foglalás.
Oszlop (mező)Egy információ, amely minden sornak van, például e-mail vagy ár.
Elsődleges kulcsMinden sor egyedi azonosítója, általában szám vagy véletlen karaktersor.
Idegen kulcsOlyan oszlop, amely egy másik tábla sorára mutat, például a customer_id a foglalásokban.
SémaA teljes tervezet: mely táblák léteznek, azok oszlopai és hogyan kapcsolódnak.
LekérdezésKérés adatok olvasására vagy módosítására, például „a holnapi összes foglalás”.
SQLStructured Query Language, a relációs adatbázisok szabványos lekérdezőnyelve.
MigrációA sémán végzett, mentett és megismételhető módosítás, például egy oszlop hozzáadása.
IndexKeresési szerkezet, amely gyorsabbá teszi a keresést egy oszlopon, mint egy könyv tárgymutatója.
CRUDLétrehozás, olvasás, frissítés, törlés — a négy alapművelet, amelyet az alkalmazások adatokkal végeznek.
Biztonsági mentésAz adatok másolata, amelyet vissza lehet állítani, ha valami elromlik.

Adatbázis-típusok

TípusHogyan tárolja az adatotPéldákJó ehhez
Relációs (SQL)Rögzített oszlopú táblák, köztük kapcsolatokkalPostgres, MySQL, SQLiteA legtöbb üzleti alkalmazás: foglalások, webáruházak, CRM-ek, SaaS
Dokumentum (NoSQL)Rugalmas, JSON-szerű dokumentumokMongoDB, FirestoreOlyan adatok, amelyek alakja rekordonként sokat változik
Kulcs-értékEgy érték egy kulcs alattRedisGyorsítótárazás, rövid életű adatok, mint a munkamenetek

Szinte mindenhez, amit egy alapító vagy egy kisvállalkozás először épít, a relációs adatbázis a biztonságos alapértelmezés.

Hol helyezkedik el az adatbázis az alkalmazásodban

A látogatók soha nem beszélnek közvetlenül az adatbázissal. A böngészőjükben lévő oldal (a frontend) adatot kér a szervertől (a backendtől), általában API-n keresztül. A szerver ellenőrzi, ki kérdez és szabad-e neki, lekérdezi az adatbázist, és csak azt küldi vissza, amit az adott személy láthat.

Ez a közbülső lépés fontos. Ha a böngésző közvetlenül, teljes hozzáféréssel lekérdezhetné az adatbázist, bárki megnyithatná a fejlesztői eszközöket, és mindent elolvashatna.

Gyakori hibák és tévhitek

  • Az adatok csak a böngészőben tartása. A böngésző tárolója (például a localStorage) egy eszközön és egy böngészőben él. Egy megjegyzett szűrőhöz jó, rendelésekhez nem.
  • Minden egy táblába zsúfolása. Egyetlen „foglalások” tábla, amelyben minden sorba bemásolják az ügyfél nevét, telefonját és a szolgáltatás árát, gyorsan szétesik.
  • Jelszavak szöveges tárolása. A jelszavakat hasheléssel kell tárolni, soha nem olvasható formában. Lásd mi a hitelesítés.
  • Nincsenek szabályok az adatokra. Kötelező mezők és egyediségi szabályok nélkül lesznek dátum nélküli foglalásaid és duplikált ügyfeleid.
  • A törlés elfelejtése. Döntsd el, hogy egy ügyfél törlésekor a foglalásai is törlődnek-e, megmaradnak-e, vagy a törlés le van tiltva.
  • Éles adatokkal kísérletezés. Kockázatos változtatásokat előbb biztonságos helyen teszteld, és tarts biztonsági mentést.
  • A táblázat örök adatbázisként kezelése. A táblázatok kezdésnek remekek, de nehezen bírják a sok egyidejű felhasználót és a jogosultságokat. Lásd hogyan alakíts táblázatot alkalmazássá.

Mit kérj az MI-építődtől

  • „Ezt adatbázisban mentsd, ne a böngészőben. Mondd meg, mely táblákat hozod létre.”
  • „Mutasd meg a sémát egyszerű táblázatként: minden tábla, az oszlopai és a kapcsolataik.”
  • „Egy ügyfélnek több foglalása lehet; minden foglalásnak pontosan egy szolgáltatása és egy munkatársa van.”
  • „Az ügyfél e-mailje legyen kötelező és egyedi.”
  • „Akadályozd meg, hogy két foglalás átfedjen ugyanannál a munkatársnál.”
  • „Csak a bejelentkezett tulajdonos láthassa az összes foglalást; az ügyfelek csak a sajátjukat. Ezt a szerveren érvényesítsd.”
  • „Ha törlök egy szolgáltatást, ne töröld a múltbeli foglalásokat — inkább jelöld inaktívnak.”

Adatbázisok a Mythexen

Ha az alkalmazásodnak adatot kell mentenie, a Mythex dedikált Postgres adatbázist ad a projekthez — ezt a csetben kérheted („mentsd a várólistás regisztrációkat adatbázisba”), vagy a /database paranccsal. A kapcsolati adatokat az alkalmazásod automatikusan megkapja, az ügynök pedig létrehozza a táblákat. Az adatbázis öt perc tétlenség után elalszik, és a következő kérésre ébred; a közzétett használatot arra az időre számítják, amíg ébren volt, ugyanabból a kreditegyenlegből, mint az építést. Ingyenes és Pro csomagban is elérhető. A adatbázis-dokumentáció részletezi a tudnivalókat, az alkalmazássablonok pedig adatvezérelt kiindulópontokat adnak.

Kérdések

Egyszerűen, mi az az adatbázis?

Az adatbázis rendezett információtár, amelybe az alkalmazás menti és amelyből olvassa az adatokat, például felhasználókat, rendeléseket vagy foglalásokat. Ellentétben a csak a böngésző lapján tárolt adatokkal, az adatbázisban lévő adatok frissítés, újraindítás után is megmaradnak, és más eszközről megnyitva is ugyanazok.

A táblázat adatbázis?

A táblázat ugyanolyan jellegű adatot tárolhat, de nem alkalmazásokhoz készült. Az igazi adatbázis szabályokat érvényesít arra, mit tartalmaz az egyes oszlop, megbízhatóan köti össze a táblákat, sok ember egyidejű írását kezeli, és szabályozza, ki mit olvashat.

Mi a különbség az SQL és a NoSQL adatbázisok között?

Az SQL (relációs) adatbázisok, mint a Postgres és a MySQL, adatokat tárolnak definiált oszlopokkal rendelkező táblákban, és a táblák között kapcsolatokkal. A NoSQL adatbázisok, mint a MongoDB, rugalmasabb dokumentumokat tárolnak. A legtöbb üzleti alkalmazás — foglalások, CRM-ek, webáruházak — jól illeszkedik a relációs modellbe.

Szükséges adatbázis az alkalmazásomhoz?

Ha bármit meg kell jegyeznie, amit az emberek megadnak — regisztrációkat, rendeléseket, üzeneteket, beállításokat —, és ezt később vagy másnak is meg kell mutatnia, akkor igen. Egy kizárólag tájékoztató weboldal, amelyen nincsenek adatot mentő űrlapok, általában nem igényli.

Mythex · Pricing · Építs bármit AI-val · Weboldal- és alkalmazássablonok · A Mythex összehasonlítva · AI-alapú alkalmazásépítési szószedet · Ingyenes eszközök AI-alapú alkalmazásépítéshez · English

English አማርኛ العربية Български বাংলা Bosanski Català Čeština Dansk Deutsch Ελληνικά Español Español (España) Eesti فارسی Suomi Français Français (Canada) ગુજરાતી हिन्दी Hrvatski Հայերեն 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 简体中文 繁體中文(香港) 繁體中文(台灣)