Si të shtoni një bazë të dhënash në aplikacionin tuaj (pa humbur të dhënat më vonë)
Për të shtuar një bazë të dhënash te aplikacioni juaj, zgjidhni një bazë relacionale të menaxhuar (Postgres është zakonisht zgjedhja e parë), mbajeni stringun e lidhjes në një sekret të anës së serverit, krijoni një tabelë për çdo lloj gjëje që ruan aplikacioni dhe bëjeni backend-in tuaj — jo shfletuesin — të lexojë dhe shkruajë te ajo. Nëse ndërtoni me një ndërtues aplikacionesh me AI, zakonisht mund të thoni thjesht "ruaje këtë në një bazë të dhënash" dhe agjenti ngre tabelat dhe kodin; detyra juaj është të përshkruani qartë të dhënat dhe të kontrolloni që ato me të vërtetë ruhen.
Ky udhëzues mbulon kur ju duhet një bazë të dhënash, opsionet kryesore, mënyrën si të përshkruani të dhënat tuaja dhe gabimet që shkaktojnë humbje ose rrjedhje të dhënash.
Kur aplikacioni juaj ka nevojë për një bazë të dhënash
Ju duhet një bazë të dhënash kur aplikacioni juaj duhet të mbajë mend diçka pasi mbyllet faqja, ose të ndajë të dhëna mes njerëzve. Shenja tipike:
- Vizitorët dërgojnë diçka: një formular, një regjistrim, një rezervim, një porosi
- Përdoruesit kanë llogari me përmbajtje të ruajtur të tyre
- Një administrator duhet të shohë ose ndryshojë atë që kanë krijuar të tjerët
- Ju duan raporte ose numërime në kohë
Nuk ju duhet një bazë të dhënash për një faqe statike ku të gjithë shohin të njëjtën përmbajtje, si një portofol ose një faqe e thjeshtë zbarkimi. Nëse nuk jeni të sigurt se çfarë është saktësisht një bazë të dhënash, lexoni fillimisht çfarë është një bazë të dhënash.
Opsionet tuaja
| Opsioni | Çfarë është | E përshtatshme për | Kompromisi |
|---|---|---|---|
| Bazë të dhënash e integruar nga ndërtuesi juaj i aplikacioneve | Një bazë e krijuar dhe e lidhur për projektin tuaj | Shumicën e aplikacioneve të ndërtuara me një ndërtues me AI | E lidhur me hostimin e asaj platforme; eksportimi dhe rezervat varen nga platforma |
| Postgres ose MySQL i menaxhuar | Një bazë relacionale e hostuar që e regjistroni veçmas | Aplikacione që i hostoni vetë, ose që ndahen mes disa shërbimesh | Ju menaxhoni çelësat, limitet e lidhjeve dhe planet |
| Backend-as-a-service | Bazë të dhënash plus autentikim, ruajtje skedarësh dhe API-të në një produkt | Aplikacione me theks te frontend që duan hyrje gati | Më shumë koncepte specifike të shitësit për t'i mësuar |
| Bazë dokumentesh (NoSQL) | Ruan dokumente fleksibël të ngjashme me JSON | Të dhëna shumë të parregullta | Lidhjet dhe raportimi janë më të vështira |
| Një fletëllogaritëse si bazë të dhënash | Google Sheets ose e ngjashme përmes një API | Mjete të vogla të brendshme, prototipe | E ngadaltë, pa kufizime të vërteta, prishet me ndryshime njëkohore |
Për shumicën e aplikacioneve web të vogla dhe të mesme, një bazë relacionale si Postgres është zgjedhja e duhur. Është e mirë me lidhjet (një klient ka shumë porosi), e mban të dhënat konsistente dhe ju lejon t'i bëni pyetje më vonë me SQL. Shihni çfarë është Postgres për një përshkrim të thjeshtë.
Përshkruani të dhënat para se të ndërtoni
Gjëja më e dobishme që mund të bëni është të shkruani gjërat që ruan aplikacioni juaj dhe si lidhen ato. Nuk ju duhet xhargon e bazave të dhënave. Për një aplikacion rezervimesh:
- Klientët: emri, email, telefoni
- Shërbimet: emri, kohëzgjatja, çmimi
- Rezervimet: cili klient, cili shërbim, koha e fillimit, statusi (në pritje, e konfirmuar, e anuluar)
Kjo janë tre tabela. "Cili klient" dhe "cili shërbim" bëhen lidhje (foreign keys) mes tyre. Ta bëni këtë drejt që në fillim ka më shumë rëndësi se çdo zgjedhje teknologjike, sepse ndryshimi i formës së të dhënave që tashmë kanë rreshta reale është më i vështirë se ndryshimi i një faqeje.
Disa rregulla të përgjithshme:
- Një tabelë për çdo lloj gjëje. Mos i paketoni porositë në një kolonë teksti te klienti.
- Jepni çdo rreshti një ID dhe një kohë krijimi. Do t'ju duhen të dyja më vonë.
- Përdorni tipet e duhura. Datat si data, paratë si cent të plotë ose tip dhjetor, jo si tekst.
- Shënoni fushat e detyrueshme si të detyrueshme. Lëreni bazën e të dhënave të refuzojë të dhënat e këqija, jo vetëm formularin.
Shembuj kërkesash
Filloni me një funksionalitet në të njëjtën kohë, në vend që të hidhni një skemë të tërë:
Shto një bazë të dhënash te ky aplikacion. Krijo një tabelë rezervimesh me emrin e klientit, email, shërbimin, kohën e fillimit dhe statusin (në pritje, e konfirmuar, e anuluar; parazgjedhja pritje). Ruaj dërgimet nga formulari i rezervimit, shfaq një mesazh suksesi dhe shto një faqe administratori që liston rezervimet nga më e reja te më e vjetra.
Pastaj zgjeroje:
Shto një tabelë shërbimesh (emri, kohëzgjatja në minuta, çmimi në cent). Zëvendëso fushën e lirë të shërbimit te rezervimet me një lidhje me shërbimet, dhe migro rezervimet ekzistuese pa i fshirë.
Dhe forcoje:
Sigurohu që të gjitha leximet dhe shkrimet në bazë të dhënash ndodhin në server. Shfletuesi nuk duhet kurrë të marrë stringun e lidhjes me bazën. Valido email-in dhe kohën e fillimit në server përpara se të futesh të dhënat.
Hap pas hapi
- Listoni të dhënat tuaja sipas shembullit më sipër: gjërat, fushat, lidhjet mes tyre.
- Krijoni bazën e të dhënave. Te një ndërtues me AI, kërkojeni në chat. Gjetiu, krijoni një instancë Postgres të menaxhuar dhe kopjoni stringun e lidhjes.
- Ruajeni stringun e lidhjes si sekret (një variabël mjedisi në server), kurrë në kod. Shihni variablat e mjedisit dhe sekretet.
- Krijoni tabelat. Përdorni migrime — skripta të versionuara që ndryshojnë skemën — që ndryshimet të jenë të përsëritshme dhe të kthyeshme.
- Ndërtoni rrugët e serverit që krijojnë, lexojnë, përditësojnë dhe fshijnë rreshta (CRUD). Shfletuesi i thërret këto rrugë; kurrë nuk flet drejtpërdrejt me bazën.
- Lidhni UI-në me ato rrugë: formularë që ruajnë, lista që ngarkohen, gjendje boshe kur nuk ka ende asgjë.
- Testoni qëndrueshmërinë. Dërgoni diçka, rifreskoni faqen, hapeni në një shfletues tjetër. Nëse të dhënat nuk janë aty, nuk u ruajtën në bazë.
- Kontrolloni aksesin. Hyni si përdorues i dytë dhe konfirmoni që nuk mund të shihni ose ndryshoni të dhënat e përdoruesit të parë.
- Publikoni, pastaj testoni përsëri në URL-në e drejtpërdrejtë, sepse aplikacioni i publikuar mund të përdorë një lidhje tjetër nga pamja paraprake.
Gabimet më të shpeshta
- Ruajtja në shfletues dhe besimi se është ruajtur. localStorage duket se funksionon deri kur dikush hap aplikacionin në një pajisje tjetër. Testoni gjithmonë në një shfletues të dytë.
- Stringu i lidhjes në kodin e frontend-it. Kushdo mund ta lexojë kodin e frontend-it. Kjo i jep atij të gjithë bazën tuaj.
- Pa kontroll aksesi. "Shfaq porositë e mia" duhet të filtrojë sipas përdoruesit të kyçur në server, jo në UI. Ky është vrima më e zakonshme e sigurisë te aplikacionet e ndërtuara me AI; lista e sigurisë e mbulon.
- Ndryshime destruktive të skemës. Kërkesa për "riemërto tabelën" ose "ndrysho strukturën" mund ta fshijë dhe ta rikrijojë. Kur ekzistojnë të dhëna reale, thoni "migro rreshtat ekzistues, mos fshi asgjë".
- Ruajtja e skedarëve në bazë të dhënash. Imazhet dhe PDF-të i përkasin ruajtjes së skedarëve, me vetëm URL-në ose çelësin e tyre në një tabelë. Shihni si të shtoni ngarkimin e skedarëve.
- Pa rezerva. Dijeni si platforma juaj bën rezerva dhe si i rikthen të dhënat përpara se të keni klientë.
Listë kontrolli
- Çdo lloj gjëje ka tabelën e vet me një ID dhe kohë krijimi
- Fushat e detyrueshme dhe tipet zbatohen nga baza e të dhënave
- Stringu i lidhjes jeton vetëm te sekretet e anës së serverit
- Të gjitha leximet dhe shkrimet kalojnë nga rrugët e serverit
- Çdo përdorues mund të lexojë dhe ndryshojë vetëm rreshtat e vet
- Të dhënat mbijetojnë rifreskimin dhe shfaqen në një shfletues tjetër
- Ndryshimet e skemës përdorin migrime dhe ruajnë rreshtat ekzistues
- Dini si funksionojnë rezervat dhe rikthimi
- Aplikacioni në publikim është testuar pasi u publikua
Shtimi i një baze të dhënash në Mythex
Në Mythex, çdo projekt mund të marrë një bazë të dhënash Postgres të dedikuar, si në planin Free ashtu edhe në Pro. Zakonisht nuk klikoni një buton të veçantë "lidh": kërkoni në chat ("ruaj emrat e listës së pritjes në një bazë të dhënash") ose shkruani /database, dhe detajet e lidhjes injektohen në hapësirën e punës dhe në aplikacionin tuaj të publikuar. Cilësimet e projektit tregojnë nëse një bazë është aktive.
Baza fle pas 5 minutash joaktiviteti dhe zgjohet në kërkesën tjetër. Përdorimi i publikuar faturohet për kohën që ka qenë me të vërtetë e zgjuar, nga e njëjta bilancë kredish që përdorni për ndërtimin. Nëse shtoni një bazë pasi keni publikuar tashmë, publikoni përsëri që aplikacioni i drejtpërdrejtë ta marrë.
Shihni Database dhe recetën Ndërto një aplikacion CRUD në dokumentacion. Për anën e hyrjes së të dhënave për përdorues, lexoni si të shtoni hyrjen në aplikacionin tuaj.
Pyetje
A më duhet një bazë të dhënash për aplikacionin tim?
Ju duhet menjëherë kur aplikacioni juaj duhet të mbajë mend diçka pasi mbyllet faqja, ose të ndajë të dhëna mes përdoruesve: regjistrime, porosi, rezervime, postime ose cilësime. Një faqe statike që i shfaq të njëjtin përmbajtje të gjithëve nuk ka nevojë për të.
Cilën bazë të dhënash duhet të përdor për një aplikacion të vogël web?
Një bazë të dhënash relacionale si Postgres është zgjedhje e sigurt për shumicën e aplikacioneve të vogla web. Trajton mirë përdoruesit, porositë, lidhjet mes tyre dhe raportimin, mbështetet gjerësisht, dhe në shkallë të vogël rrallë e tejkaloni.
A mund të ruaj të dhëna në shfletues në vend të një baze të dhënash?
Ruajtja në shfletues si localStorage jeton vetëm në një pajisje, në një shfletues, dhe përdoruesi mund ta fshijë kur të dojë. Është në rregull për preferenca si zgjedhja e temës, por jo për diçka që ju ose përdoruesit e tjerë duhet ta shihni më vonë.
A përfshin Mythex një bazë të dhënash?
Po. Një projekt në Mythex mund të marrë bazën e vet të dedikuar Postgres në planet Free dhe Pro. E kërkoni në chat ose përdorni komandën /database, dhe detajet e lidhjes injektohen automatikisht. Përdorimi paguhet nga e njëjta bilancë kredish si ndërtimi.