Vodiči

Što je baza podataka? Vodič za ljude koji grade aplikacije

Baza podataka je organizirana pohrana informacija u koju aplikacija sprema podatke i iz koje ih čita: njezine korisnike, narudžbe, rezervacije, poruke. Za razliku od informacija koje žive samo u kartici preglednika, podaci u bazi ostaju i nakon osvježavanja ili ponovnog pokretanja, a svi koji koriste aplikaciju vide iste zapise. Većina baza podataka organizira podatke u tablice, slično listovima u proračunskoj tablici, ali uz stroga pravila koja podatke održavaju dosljednima.

Zašto je to važno kad gradite uz AI

Najčešće iznenađenje kod ljudi koji grade uz AI jest aplikacija koja izgleda gotovo, ali sve zaboravi. Dodate kupca, osvježite stranicu i on je nestao. To obično znači da je aplikacija podatke držala u memoriji preglednika, a ne u bazi podataka.

Baza podataka je i mjesto na kojem žive mnoge vaše najvažnije odluke, bilo da to shvaćate ili ne:

  • Što bilježite. Ako ne spremate status rezervacije, ne možete prikazati koje su rezervacije otkazane.
  • Kako se stvari povezuju. Može li jedan kupac imati mnogo rezervacija ili jedna rezervacija mnogo usluga, to oblikuje cijelu aplikaciju.
  • Tko što smije vidjeti. Većina grešaka u privatnosti tiče se toga koje zapise korisnik smije čitati.

Ne morate sami dizajnirati bazu podataka. Ali razumijevanje osnova omogućuje vam da jasno opišete svoje podatke i rano uhvatite probleme.

Svakodnevna usporedba

Zamislite dobro organiziran arhivski ormar u malom uredu.

Svaka ladica sadrži jednu vrstu stvari: jednu za klijente, jednu za termine, jednu za račune. Unutar svake ladice svaka mapa slijedi isti format, s istim popunjenim poljima. Svaka mapa ima jedinstveni referentni broj, a kad račun pripada klijentu, mapa računa navodi broj tog klijenta umjesto da kopira cijeli njegov dosje.

To je relacijska baza podataka. Ladice su tablice, mape su retci, polja su stupci, referentni brojevi su primarni ključevi, a bilješke koje upućuju na drugu mapu su strani ključevi. Dobar uredski menadžer provodi i pravila, poput: nema termina bez datuma, nema dva klijenta s istim brojem, baš kao i baza podataka.

Primjer: aplikacija za rezervacije u frizerskom salonu

Recimo da od AI-ja tražite web stranicu za rezervacije u frizerskom salonu. Razumna baza podataka imala bi četiri tablice.

usluge

idnazivtrajanje_minutecijena
1Šišanje4540,00
2Bojanje9095,00

osoblje

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

klijenti

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

rezervacije

idcustomer_idservice_idstaff_idstarts_atstatus
5001101122026-10-03 14:00confirmed

Pogledajte tablicu bookings. Ona ne kopira Leninu ime i broj telefona u svaku rezervaciju, nego sprema customer_id = 101. Ako Lena promijeni broj telefona, promjena se događa na jednom mjestu i svaka rezervacija prikazuje novi broj. To je temeljna ideja relacijske baze: svaku činjenicu spremite jednom i na nju se povežete.

Ista struktura odgovara i na korisna pitanja:

  • „Koji su termini slobodni za Omara u petak?” Pogledajte Omarove rezervacije tog dana.
  • „Koliko su bojanja zaradila ovog mjeseca?” Spojite rezervacije s uslugama i zbrojite cijene.
  • „Koji klijenti nisu rezervirali u posljednjih 90 dana?” Usporedite klijente s njihovom zadnjom rezervacijom.

Ključni pojmovi

PojamZnačenje
TablicaZbirka jedne vrste zapisa, poput klijenata ili rezervacija.
Redak (zapis)Jedna stavka u tablici: jedan klijent, jedna rezervacija.
Stupac (polje)Jedan podatak koji ima svaki redak, poput e-pošte ili cijene.
Primarni ključJedinstveni ID svakog retka, obično broj ili nasumični niz znakova.
Strani ključStupac koji pokazuje na redak u drugoj tablici, poput customer_id u rezervacijama.
ShemaCjelokupni dizajn: koje tablice postoje, njihovi stupci i kako su povezane.
Upit (query)Zahtjev za čitanjem ili promjenom podataka, primjerice „sve rezervacije za sutra”.
SQLStructured Query Language, standardni jezik za upite nad relacijskim bazama.
MigracijaSpremljena, ponovljiva promjena sheme, primjerice dodavanje stupca.
IndeksStruktura za pretraživanje koja ubrzava pretrage po stupcu, poput kazala u knjizi.
CRUDCreate, Read, Update, Delete: četiri osnovne radnje koje aplikacije rade s podacima.
Sigurnosna kopijaKopija podataka koju možete vratiti ako nešto pođe po zlu.

Vrste baza podataka

VrstaKako pohranjuje podatkePrimjeriDobro za
Relacijska (SQL)Tablice s fiksnim stupcima i vezama među njimaPostgres, MySQL, SQLiteVećinu poslovnih aplikacija: rezervacije, trgovine, CRM-ove, SaaS
Dokumentna (NoSQL)Fleksibilni dokumenti nalik JSON-uMongoDB, FirestorePodatke čiji se oblik jako razlikuje od zapisa do zapisa
Ključ-vrijednostVrijednost pohranjena pod ključemRedisPredmemoriju i kratkotrajne podatke, poput sesija

Za gotovo sve što osnivač ili mala tvrtka prvo izgradi, relacijska baza je sigurna zadana opcija.

Gdje baza podataka stoji u aplikaciji

Posjetitelji nikad izravno ne razgovaraju s bazom podataka. Stranica u njihovom pregledniku (frontend) traži podatke od vašeg poslužitelja (backenda), obično putem API-ja. Poslužitelj provjerava tko pita i smije li, zatim upituje bazu i šalje natrag samo ono što ta osoba smije vidjeti.

Taj srednji korak je važan. Kad bi preglednik mogao izravno upitati bazu s punim pristupom, svatko bi mogao otvoriti alate za razvojne programere i pročitati sve.

Česte pogreške i zablude

  • Čuvanje podataka samo u pregledniku. Pohrana preglednika (poput localStorage) živi na jednom uređaju i u jednom pregledniku. U redu je za zapamćeni filtar, ali ne i za narudžbe.
  • Sve u jednoj tablici. Jedna tablica „rezervacije” u koju se u svaki redak kopiraju ime klijenta, telefon i cijena usluge brzo se desinkronizira.
  • Spremanje lozinki kao običnog teksta. Lozinke treba heširati, nikad ih ne čuvati čitljive. Pogledajte što je autentifikacija.
  • Nema pravila za podatke. Bez obveznih polja i pravila jedinstvenosti dobit ćete rezervacije bez datuma i duplicirane klijente.
  • Zaboravljeno brisanje. Odlučite hoće li brisanje klijenta obrisati i njegove rezervacije, zadržati ih ili biti zabranjeno.
  • Korištenje produkcijskih podataka za eksperimentiranje. Rizične promjene prvo isprobajte na sigurnom mjestu i čuvajte sigurnosne kopije.
  • Proračunska tablica kao baza zauvijek. Proračunske tablice su odlične za početak, ali teško podnose mnogo istodobnih korisnika i dozvole. Pogledajte kako pretvoriti proračunsku tablicu u aplikaciju.

Što tražiti od AI graditelja

  • „Spremi ovo u bazu podataka, a ne u preglednik. Reci mi koje ćeš tablice izraditi.”
  • „Pokaži mi shemu kao jednostavnu tablicu: svaka tablica, njezini stupci i kako su povezane.”
  • „Klijent može imati mnogo rezervacija, a svaka rezervacija točno jednu uslugu i jednog člana osoblja.”
  • „Neka e-pošta bude obvezna i jedinstvena za klijente.”
  • „Spriječi da se dvije rezervacije istog člana osoblja preklapaju.”
  • „Samo prijavljeni vlasnik smije čitati sve rezervacije, a klijenti vide samo svoje. Provedi to na poslužitelju.”
  • „Kad obrišem uslugu, nemoj brisati prošle rezervacije, nego je označi kao neaktivnu.”

Baze podataka na Mythexu

Kad vaša aplikacija treba spremati podatke, Mythex projektu dodaje namjensku Postgres bazu podataka. Možete to zatražiti u chatu („spremaj prijave za listu čekanja u bazu podataka”) ili koristiti naredbu /database. Podaci za povezivanje automatski se prosljeđuju aplikaciji, a agent izrađuje tablice. Baza se uspava nakon pet minuta mirovanja i probudi se pri sljedećem zahtjevu. Za objavljenu aplikaciju naplaćuje se vrijeme dok je bila budna, iz istog kredit salda kao i izrada. Dostupna je na besplatnom i Pro planu. Detalje pokrivaju dokumentacija o bazama podataka, a predlošci aplikacija donose gotove polazne točke za podatkovno vođene aplikacije.

Pitanja

Što je baza podataka, jednostavno rečeno?

Baza podataka je organizirana pohrana podataka u koju aplikacija može spremati i iz koje može čitati, poput korisnika, narudžbi ili rezervacija. Za razliku od podataka koji žive samo u kartici preglednika, podaci u bazi ostaju nakon osvježavanja, ponovnog pokretanja ili kad netko otvori aplikaciju s drugog uređaja.

Je li proračunska tablica baza podataka?

Proračunska tablica može sadržavati istu vrstu podataka, ali nije namijenjena aplikacijama. Prava baza podataka provodi pravila o tome što koji stupac sadrži, pouzdano povezuje tablice, podnosi mnogo ljudi koji istodobno pišu i kontrolira tko što smije čitati.

Koja je razlika između SQL i NoSQL baza podataka?

SQL (relacijske) baze podataka, poput Postgresa i MySQL-a, pohranjuju podatke u tablice s definiranim stupcima i vezama među njima. NoSQL baze, poput MongoDB-ja, pohranjuju fleksibilnije dokumente. Većina poslovnih aplikacija, poput rezervacija, CRM-ova i trgovina, dobro se uklapa u relacijski model.

Treba li mojoj aplikaciji baza podataka?

Treba ako mora pamtiti nešto što ljudi unesu, poput prijava, narudžbi, poruka ili postavki, i kasnije to prikazati ili prikazati nekome drugome. Čisto informativna web stranica bez obrazaca koji spremaju podatke obično ne treba bazu.

Mythex · Pricing · Izradite bilo što uz AI · Predlošci za web stranice i aplikacije · Mythex u usporedbi · Rječnik izrade aplikacija uz AI · Besplatni alati za izradu aplikacija uz AI · English

English አማርኛ العربية Български বাংলা Bosanski Català Čeština Dansk Deutsch Ελληνικά Español Español (España) Eesti فارسی Suomi Français Français (Canada) ગુજરાતી हिन्दी 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 Slovenščina Soomaali Shqip Srpski Svenska Kiswahili தமிழ் తెలుగు ไทย Tagalog Türkçe Українська اردو Tiếng Việt 简体中文 繁體中文(香港) 繁體中文(台灣)