Rokasgrāmatas

Kas ir datubāze? Ceļvedis cilvēkiem, kas veido lietotnes

Datubāze ir sakārtota informācijas krātuve, kurā lietotne saglabā un no kuras nolasa datus — tās lietotājus, pasūtījumus, rezervācijas, ziņas. Atšķirībā no informācijas, kas glabājas tikai pārlūkprogrammas cilnē, datubāzē esošie dati pēc lapas pārlādēšanas vai restartēšanas joprojām ir tur, un visi, kas lieto lietotni, redz vienus un tos pašus ierakstus. Lielākā daļa datubāžu dati organizē tabulās, līdzīgi kā lapās izklājlapā, bet ar stingriem noteikumiem, kas uztur datus konsekventus.

Kāpēc tas ir svarīgi, veidojot ar AI

Visbiežākais pārsteigums cilvēkiem, kas veido ar AI, ir lietotne, kas izskatās pabeigta, bet aizmirst visu. Jūs pievienojat klientu, pārlādējat lapu, un viņš ir pazudis. Tas parasti nozīmē, ka lietotne glabāja datus pārlūkprogrammas atmiņā, nevis datubāzē.

Datubāze ir arī vieta, kur dzīvo daudzi jūsu svarīgākie lēmumi, neatkarīgi no tā, vai to apzināties:

  • Ko jūs ierakstāt. Ja neglabājat rezervācijas statusu, nevarat parādīt, kuras rezervācijas tika atceltas.
  • Kā lietas savienojas. Vai viens klients var būt ar daudzām rezervācijām, vai viena rezervācija — ar vairākiem pakalpojumiem — nosaka visu lietotni.
  • Kas ko var redzēt. Lielākā daļa privātuma kļūdu ir par to, kurus ierakstus lietotājs var lasīt.

Jums pašam nav jāprojektē datubāze. Taču pamatu izpratne ļauj skaidri aprakstīt savus datus un agri pamanīt problēmas.

Ikdienas salīdzinājums

Iedomājieties labi sakārtotu dokumentu skapi mazā birojā.

Katrā atvilktnē ir viena veida lietas: viena atvilktne klientiem, cita tikšanās laikiem, trešā rēķiniem. Katrā atvilktnē katra mape seko vienam un tam pašam formātam ar vienādiem aizpildītiem laukiem. Katrai mapei ir unikāls atsauces numurs, un, ja rēķins pieder klientam, rēķina mapē ir norādīts šī klienta numurs, nevis nokopēts viss viņa dosjē.

Tas ir relāciju datubāze. Atvilktnes ir tabulas, mapes ir rindas, lauki ir kolonnas, atsauces numuri ir primārās atslēgas, bet piezīmes, kas norāda uz citu mapi, ir ārējās atslēgas. Labs biroja vadītājs arī ievēro noteikumus — nav tikšanās bez datuma, nav diviem klientiem ar vienu numuru —, tāpat kā to dara datubāze.

Praktisks piemērs: frizētavas rezervāciju lietotne

Pieņemsim, ka lūdzat AI izveidot rezervāciju vietni frizētavai. Saprātīga datubāze būtu ar četrām tabulām.

services

idnameduration_minutesprice
1Griezums4540.00
2Krāsošana9095.00

staff

idnameemail
1Sārasara@example.com
2Omārsomar@example.com

customers

idnameemailphone
101Lena Parklena@example.com555-0100

bookings

idcustomer_idservice_idstaff_idstarts_atstatus
5001101122026-10-03 14:00confirmed

Apskatiet tabulu bookings. Tajā Lenas vārds un tālruņa numurs netiek kopēts katrā rezervācijā; tur ir customer_id = 101. Ja Lena nomaina tālruņa numuru, tas mainās vienā vietā, un katra rezervācija rāda jauno. Tā ir relāciju datubāzes galvenā ideja: katru faktu glabāt vienu reizi un uz to atsaukties.

Tā pati struktūra atbild uz noderīgiem jautājumiem:

  • „Kuri laiki ir brīvi Omāram piektdienā?” — paskatieties Omāra rezervācijas šajā dienā.
  • „Cik nopelnīja krāsošanas vizītes šajā mēnesī?” — savienojiet rezervācijas ar pakalpojumiem un saskaitiet cenas.
  • „Kuri klienti nav rezervējuši 90 dienas?” — salīdziniet klientus ar viņu pēdējo rezervāciju.

Galveno terminu skaidrojums

TerminsKo nozīmē
TabulaViena veida ierakstu kopa, piemēram, klienti vai rezervācijas.
Rinda (ieraksts)Viens vienums tabulā — viens klients, viena rezervācija.
Kolonna (lauks)Viena informācijas daļa, kas ir katrā rindā, piemēram, e-pasts vai cena.
Primārā atslēgaUnikāls ID katrai rindai, parasti skaitlis vai nejaušs teksts.
Ārējā atslēgaKolonna, kas norāda uz rindu citā tabulā, piemēram, customer_id rezervācijās.
Shēma (schema)Vispārējais dizains: kādas tabulas pastāv, to kolonnas un kā tās saistās.
Vaicājums (query)Pieprasījums nolasīt vai mainīt datus, piemēram, „visas rezervācijas rītdienai”.
SQLStructured Query Language, standarta valoda relāciju datubāzu vaicājumiem.
MigrācijaSaglabāta, atkārtojama shēmas izmaiņa, piemēram, kolonnas pievienošana.
IndekssMeklēšanas struktūra, kas paātrina meklēšanu pēc kolonnas, kā grāmatas rādītājs.
CRUDCreate, Read, Update, Delete — četras pamatdarbības, ko lietotnes veic ar datiem.
DublējumsDatu kopija, ko var atjaunot, ja kaut kas noiet greizi.

Datubāzu veidi

VeidsKā glabā datusPiemēriLabi piemērota
Relāciju (SQL)Tabulas ar fiksētām kolonnām un saiknēm starp tāmPostgres, MySQL, SQLiteLielākajai daļai biznesa lietotņu: rezervācijām, veikaliem, CRM, SaaS
Dokumentu (NoSQL)Elastīgi dokumenti līdzīgi JSONMongoDB, FirestoreDatiem, kuru forma stipri atšķiras no ieraksta uz ierakstu
Atslēga–vērtībaVērtība, kas glabājas zem atslēgasRedisKešatmiņai, īslaicīgiem datiem, piemēram, sesijām

Praktiski visam, ko uzņēmējs vai neliels bizness veido pirmo, relāciju datubāze ir drošā noklusējuma izvēle.

Kur datubāze atrodas jūsu lietotnē

Apmeklētāji nekad tieši nesazinās ar datubāzi. Lapa viņu pārlūkprogrammā (frontend) prasa datus no jūsu servera (backend), parasti caur API. Serveris pārbauda, kas prasa un vai tam ir atļauts, tad vaicā datubāzi un nosūta atpakaļ tikai to, ko šai personai vajadzētu redzēt.

Šis vidējais solis ir svarīgs. Ja pārlūkprogramma varētu vaicāt datubāzi tieši ar pilnām tiesībām, ikviens varētu atvērt izstrādātāja rīkus un nolasīt visu.

Biežākās kļūdas un nepareizi priekšstati

  • Datu glabāšana tikai pārlūkprogrammā. Pārlūkprogrammas krātuve (piemēram, localStorage) dzīvo vienā ierīcē un vienā pārlūkprogrammā. Tā ir labi piemērota atcerētam filtram, bet ne pasūtījumiem.
  • Viss vienā tabulā. Viena tabula „rezervācijas”, kurā katrā rindā nokopēts klienta vārds, tālrunis un pakalpojuma cena, ātri nesakrīt.
  • Paroļu glabāšana kā vienkāršs teksts. Paroles jāsašifrē ar hash, nekad nedrīkst glabāt salasāmas. Skatiet kas ir autentifikācija.
  • Nav noteikumu datiem. Bez obligātiem laukiem un unikalitātes noteikumiem iegūsiet rezervācijas bez datuma un dublētus klientus.
  • Dzēšanas aizmiršana. Izlemiet, vai klienta dzēšana dzēš arī viņa rezervācijas, tās saglabā vai bloķē dzēšanu.
  • Ražošanas datu izmantošana eksperimentiem. Vispirms pārbaudiet riskantas izmaiņas drošā vietā un glabājiet dublējumus.
  • Izklājlapas uzskatīšana par datubāzi uz visiem laikiem. Izklājlapas ir lieliskas sākumam, bet grūti tiek galā ar daudziem vienlaicīgiem lietotājiem un tiesībām. Skatiet kā pārvērst izklājlapu lietotnē.

Ko prasīt no sava AI veidotāja

  • „Saglabā to datubāzē, nevis pārlūkprogrammā. Pasaki, kurus tabulas izveidosi.”
  • „Parādi shēmu vienkāršā tabulā: katru tabulu, tās kolonnas un to saiknes.”
  • „Klients var būt ar daudzām rezervācijām; katrai rezervācijai ir tieši viens pakalpojums un viens darbinieks.”
  • „Padari e-pastu obligātu un unikālu klientiem.”
  • „Neļauj diviem rezervācijām vienam darbiniekam pārklāties laikā.”
  • „Tikai pieteikies īpašnieks var lasīt visas rezervācijas; klienti var redzēt tikai savas. Ievieso to serverī.”
  • „Kad dzēšu pakalpojumu, nedzēs pagātnes rezervācijas — tā vietā atzīmē pakalpojumu kā neaktīvu.”

Datubāzes Mythex

Kad lietotnei jāsaglabā dati, Mythex projektam pievieno īpašu Postgres datubāzi — to var lūgt tērzēšanā ("saglabā gaidītāju reģistrācijas datubāzē") vai izmantot komandu /database. Savienojuma dati automātiski tiek nodoti jūsu lietotnei, un aģents izveido tabulas. Datubāze pēc piecām dīkstāves minūtēm iemieg un pamostas nākamajā pieprasījumā, un publicētās lietotnes lietojums tiek maksāts par laiku, kad tā bija nomodā, no tā paša kredītu atlikuma, kas tiek izmantots veidošanai. Tā ir pieejama Free un Pro plānos. Datubāzes dokumentācija apraksta detaļas, bet lietotņu veidnes ietver ar datiem darbojošās sākumpunktus.

Jautājumi

Kas ir datubāze vienkāršos vārdos?

Datubāze ir sakārtota informācijas krātuve, kurā lietotne var saglabāt un no kuras var nolasīt datus, piemēram, lietotājus, pasūtījumus vai rezervācijas. Atšķirībā no datiem, kas glabājas tikai pārlūkprogrammas cilnē, datubāzes dati paliek arī pēc lapas pārlādēšanas, restartēšanas vai tad, kad kāds atver lietotni citā ierīcē.

Vai izklājlapa ir datubāze?

Izklājlapā var glabāt tāda paša veida datus, taču tā nav veidota lietotnēm. Īsta datubāze ievēro noteikumus par to, ko satur katra kolonna, uzticami saista tabulas, apkalpo daudzus cilvēkus, kas raksta vienlaikus, un kontrolē, kas ko drīkst lasīt.

Kāda ir atšķirība starp SQL un NoSQL datubāzēm?

SQL (relāciju) datubāzes, piemēram, Postgres un MySQL, glabā datus tabulās ar definētām kolonnām un saiknēm starp tām. NoSQL datubāzes, piemēram, MongoDB, glabā elastīgākus dokumentus. Lielākā daļa biznesa lietotņu — rezervāciju, CRM, veikalu — labi atbilst relāciju modelim.

Vai manai lietotnei vajag datubāzi?

Ja tai jāatceras kaut kas, ko cilvēki ievada — reģistrācijas, pasūtījumus, ziņas, iestatījumus —, un tas jāparāda vēlāk vai kādam citam, tad jā. Tīri informatīva vietne bez formām, kas saglabā datus, parasti nevajag.

Mythex · Pricing · Veidojiet jebko ar AI · Tīmekļa vietņu un lietotņu veidnes · Mythex salīdzinājumā · AI lietotņu veidošanas glosārijs · Bezmaksas rīki lietotņu veidošanai ar 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ų Македонски മലയാളം Монгол मराठी 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 简体中文 繁體中文(香港) 繁體中文(台灣)