Vodniki

Kaj je baza podatkov? Vodnik za ljudi, ki gradijo aplikacije

Baza podatkov je urejena shramba podatkov, v katero aplikacija shranjuje in iz katere bere — njene uporabnike, naročila, rezervacije, sporočila. Za razliko od podatkov, ki so shranjeni samo v zavihku brskalnika, so podatki v bazi še vedno tam po osvežitvi ali ponovnem zagonu, vsi, ki uporabljajo aplikacijo, pa vidijo iste zapise. Večina baz podatkov organizira podatke v tabele, podobno kot listi v preglednici, vendar s strogimi pravili, ki podatke ohranjajo skladne.

Zakaj je to pomembno, ko gradite z umetno inteligenco

Najpogostejše presenečenje pri gradnji z umetno inteligenco je aplikacija, ki je videti dokončana, a vse pozabi. Dodate stranko, osvežite stran in je ni več. To običajno pomeni, da je aplikacija podatke hranila v spominu brskalnika, ne v bazi podatkov.

Baza podatkov je tudi kraj, kjer živi veliko vaših najpomembnejših odločitev, ne glede na to, ali se tega zavedate:

  • Kaj zabeležite. Če ne shranite stanja rezervacije, ne morete prikazati, katere so bile preklicane.
  • Kako se stvari povezujejo. Ali ima ena stranka lahko več rezervacij ali ena rezervacija več storitev, oblikuje celotno aplikacijo.
  • Kdo lahko kaj vidi. Večina napak glede zasebnosti je povezanih s tem, katere zapise lahko uporabnik bere.

Baze podatkov vam ni treba načrtovati sami. Toda razumevanje osnov vam pomaga jasno opisati podatke in zgodaj odkriti težave.

Vsakdanja primerjava

Predstavljajte si dobro urejen kartotečni predal v majhni pisarni.

Vsak predal hrani eno vrsto stvari: en predal za stranke, en za termine, en za račune. Znotraj vsakega predala ima vsaka mapa enak format, z enako izpolnjenimi polji. Vsaka mapa ima enolično referenčno številko, in ko račun pripada stranki, mapa računa navede njeno številko namesto da bi fotokopirala celotno datoteko stranke.

To je relacijska baza podatkov. Predali so tabele, mape so vrstice, polja so stolpci, referenčne številke so primarni ključi, opombe, ki kažejo na drugo mapo, pa so tuji ključi. Dober pisarniški vodja uveljavlja tudi pravila — brez termina brez datuma, brez dveh strank z isto številko — tako kot baza podatkov.

Delovni primer: aplikacija za rezervacije v frizerskem salonu

Recimo, da prosite umetno inteligenco za spletno mesto za rezervacije v frizerskem salonu. Smiselna baza bi imela štiri tabele.

storitve

idimetrajanje_minutcena
1Striženje4540,00
2Barvanje9095,00

osebje

idimee-pošta
1Sarasara@example.com
2Omaromar@example.com

stranke

idimee-poštatelefon
101Lena Parklena@example.com555-0100

rezervacije

idstranka_idstoritev_idosebje_idzačetekstanje
5001101122026-10-03 14:00potrjeno

Oglejte si tabelo rezervacije. Ne kopira Lenega imena in telefonske številke v vsako rezervacijo; shrani stranka_id = 101. Če Lena spremeni telefonsko številko, se spremeni na enem mestu, vsaka rezervacija pa prikaže novo. To je bistvo relacijske baze podatkov: vsako dejstvo shranite enkrat in se nanj povežete.

Enaka struktura odgovarja na uporabna vprašanja:

  • »Kateri termini so za Omarja prosti v petek?« — poglejte Omarjeve rezervacije tega dne.
  • »Koliko so barvanja prinesla ta mesec?« — povežite rezervacije s storitvami in seštejte cene.
  • »Katere stranke se niso oglasile v 90 dneh?« — primerjajte stranke z njihovo zadnjo rezervacijo.

Ključni pojmi

PojemPomen
TabelaZbirka ene vrste zapisov, na primer stranke ali rezervacije.
Vrstica (zapis)En element v tabeli — ena stranka, ena rezervacija.
Stolpec (polje)En podatek, ki ga ima vsaka vrstica, na primer e-pošta ali cena.
Primarni ključEnolični ID za vsako vrstico, običajno številka ali naključni niz.
Tuji ključStolpec, ki kaže na vrstico v drugi tabeli, na primer stranka_id v rezervacijah.
ShemaCelotna zasnova: katere tabele obstajajo, njihovi stolpci in kako so povezane.
PoizvedbaZahteva za branje ali spreminjanje podatkov, na primer »vse rezervacije za jutri«.
SQLStrukturiran poizvedbeni jezik, standardni jezik za relacijske baze podatkov.
MigracijaShranjena, ponovljiva sprememba sheme, na primer dodajanje stolpca.
IndeksStruktura za iskanje, ki pospeši iskanje po stolpcu, kot kazalo v knjigi.
CRUDUstvari, Beri, Posodobi, Izbriši — štiri osnovna dejanja aplikacij s podatki.
Varnostna kopijaKopija podatkov, ki jo lahko obnovite, če gre kaj narobe.

Vrste baz podatkov

VrstaKako shranjuje podatkePrimeriPrimerno za
Relacijska (SQL)Tabele s fiksnimi stolpci in povezavami med njimiPostgres, MySQL, SQLiteVečino poslovnih aplikacij: rezervacije, trgovine, CRM-je, SaaS
Dokumentna (NoSQL)Prilagodljivi dokumenti, podobni JSON-uMongoDB, FirestorePodatke, katerih oblika se močno razlikuje od zapisa do zapisa
Ključ-vrednostVrednost, shranjena pod ključemRedisPredpomnjenje, kratkotrajni podatki, kot so seje

Za skoraj vse, kar ustanovitelj ali majhno podjetje najprej zgradi, je relacijska baza varna privzeta izbira.

Kje baza podatkov sedi v vaši aplikaciji

Obiskovalci nikoli ne govorijo neposredno z bazo podatkov. Stran v njihovem brskalniku (the frontend) zahteva podatke od vašega strežnika (zaledja), običajno prek API-ja. Strežnik preveri, kdo sprašuje in ali sme, nato poizveduje v bazi podatkov in pošlje nazaj samo tisto, kar ta oseba sme videti.

Ta vmesni korak je pomemben. Če bi brskalnik lahko neposredno poizvedoval v bazi s polnim dostopom, bi lahko kdorkoli z orodji za razvijalce prebral vse.

Pogoste napake in zmote

  • Shranjevanje podatkov samo v brskalniku. Shramba brskalnika (kot localStorage) živi na eni napravi in v enem brskalniku. Primerna je za zapomnjen filter, ne za naročila.
  • Stlačiti vse v eno tabelo. Ena sama tabela »rezervacije« z imenom stranke, telefonom in ceno storitve, kopirano v vsako vrstico, se hitro razsinhronizira.
  • Shranjevanje gesel kot navadnega besedila. Gesla morajo biti zgoščena, nikoli berljivo shranjena. Glejte kaj je avtentikacija.
  • Brez pravil za podatke. Brez obveznih polj in pravil enoličnosti boste dobili rezervacije brez datuma in podvojene stranke.
  • Pozabljeno brisanje. Odločite, ali brisanje stranke izbriše tudi njene rezervacije, jih ohrani ali je prepovedano.
  • Uporaba produkcijskih podatkov za poskuse. Tvegane spremembe najprej preizkusite na varnem mestu in hranite varnostne kopije.
  • Preglednica kot baza za vedno. Preglednice so odlične za začetek, vendar se težko spopadajo z mnogimi hkratnimi uporabniki in dovoljenji. Glejte kako spremeniti preglednico v aplikacijo.

Kaj zahtevati od gradnika z umetno inteligenco

  • »Shrani to v bazo podatkov, ne v brskalnik. Povej mi, katere tabele boš ustvaril.«
  • »Pokaži mi shemo kot preprosto tabelo: vsako tabelo, njene stolpce in kako so povezane.«
  • »Ena stranka lahko ima več rezervacij; vsaka rezervacija ima natanko eno storitev in enega člana osebja.«
  • »Naj bo e-pošta za stranke obvezna in enolična.«
  • »Preprečite, da bi se dve rezervaciji za istega člana osebja prekrivali.«
  • »Samo prijavljeni lastnik lahko bere vse rezervacije; stranke lahko vidijo le svoje. Uveljavi to na strežniku.«
  • »Ko izbrišem storitev, ne briši preteklih rezervacij — storitev raje označi kot neaktivno.«

Baze podatkov v Mythexu

Ko vaša aplikacija potrebuje shranjevanje podatkov, Mythex projektu doda namensko bazo Postgres — to lahko zahtevate v klepetu (»shrani prijave na čakalni seznam v bazo podatkov«) ali uporabite ukaz /database. Podatki za povezavo se samodejno posredujejo vaši aplikaciji, agent pa ustvari tabele. Baza po petih minutah nedejavnosti zaspi in se prebudi ob naslednji zahtevi; pri objavljeni aplikaciji se zaračuna čas, ko je bila budna, iz istega stanja kreditov kot gradnja. Na voljo je v paketih Free in Pro. Dokumentacija za bazo podatkov pokriva podrobnosti, predloge aplikacij pa ponujajo izhodišča, ki temeljijo na podatkih.

Vprašanja

Kaj je baza podatkov na kratko?

Baza podatkov je urejena shramba podatkov, v katero aplikacija shranjuje in iz katere bere, na primer uporabnike, naročila ali rezervacije. Za razliko od podatkov, ki so shranjeni le v zavihku brskalnika, ostanejo v bazi tudi po osvežitvi ali ponovnem zagonu in jih vidijo vsi, ki uporabljajo aplikacijo.

Ali je preglednica baza podatkov?

Preglednica lahko hrani enako vrsto podatkov, vendar ni zgrajena za aplikacije. Prava baza podatkov uveljavlja pravila o tem, kaj vsak stolpec vsebuje, zanesljivo povezuje tabele, obvladuje hkratno pisanje mnogih ljudi in nadzira, kdo lahko kaj bere.

Kakšna je razlika med bazami SQL in NoSQL?

Baze SQL (relacijske), kot sta Postgres in MySQL, shranjujejo podatke v tabele z določenimi stolpci in povezavami med njimi. Baze NoSQL, kot je MongoDB, shranjujejo prilagodljivejše dokumente. Večina poslovnih aplikacij — rezervacij, CRM-jev, trgovin — se dobro prilega relacijskemu modelu.

Ali moja aplikacija potrebuje bazo podatkov?

Če mora zapomniti karkoli, kar ljudje vnesejo — prijave, naročila, sporočila, nastavitve — in to kasneje prikazati ali pokazati nekomu drugemu, potem da. Čisto informativno spletno mesto brez obrazcev, ki bi shranjevali podatke, običajno ne potrebuje baze.

Mythex · Pricing · Zgradite karkoli z AI · Predloge za spletna mesta in aplikacije · Mythex v primerjavi · Slovar pojmov gradnje aplikacij z AI · Brezplačna orodja za gradnjo aplikacij z 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 简体中文 繁體中文(香港) 繁體中文(台灣)