Vodiči

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

Baza podataka je organizovano skladište informacija u koje aplikacija upisuje i iz kojeg čita — njeni korisnici, narudžbe, rezervacije, poruke. Za razliku od informacija koje su sačuvane samo u kartici preglednika, podaci u bazi ostaju nakon osvježavanja ili ponovnog pokretanja, a svi koji koriste aplikaciju vide iste zapise. Većina baza organizuje podatke u tabele, slično listovima u tabeli, ali uz stroga pravila koja drže podatke dosljednim.

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

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

Baza je i mjesto gdje žive mnoge vaše najvažnije odluke, bez obzira da li to znate:

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

Ne treba vam da sami dizajnirate bazu. Ali razumijevanje osnova omogućava da jasno opišete svoje podatke i rano uočite probleme.

Svakodnevna analogija

Zamislite dobro uređen ormar s dosijeima u maloj kancelariji.

Svaka fioka sadrži jednu vrstu stvari: jedna za klijente, jedna za termine, jedna za fakture. Unutar svake fioke, svaki dosije prati isti format, s istim popunjenim poljima. Svaki dosije ima jedinstveni referentni broj, a kada faktura pripada klijentu, dosije fakture navodi broj tog klijenta umjesto da kopira cijeli njegov fajl.

To je relaciona baza. Fioke su tabele, dosijei su redovi, polja su kolone, referentni brojevi su primarni ključevi, a bilješke koje upućuju na drugi dosije su strani ključevi. Dobar kancelarijski menadžer takođe provodi pravila — nema termina bez datuma, dva klijenta ne smiju imati isti broj — baš kao i baza.

Praktičan primjer: aplikacija za rezervacije u frizerskom salonu

Recimo da od AI-ja tražite sajt za rezervacije za frizerski salon. Razuman raspored baze imao bi četiri tabele.

usluge

idnazivtrajanje_minutacijena
1Šišanje4540.00
2Farbanje9095.00

frizeri

idimeemail
1Sarasara@example.com
2Omaromar@example.com

klijenti

idimeemailtelefon
101Lena Parklena@example.com555-0100

rezervacije

idklijent_idusluga_idfrizer_idpocinje_ustatus
5001101122026-10-03 14:00potvrđeno

Pogledajte tabelu rezervacije. Ona ne kopira Leninu ime i broj telefona u svaku rezervaciju; čuva klijent_id = 101. Ako Lena promijeni broj telefona, promijeni se na jednom mjestu i svaka rezervacija prikazuje novi. To je osnovna ideja relacione baze: čuvajte svaku činjenicu jednom i povezujte se s njom.

Ista struktura odgovara na korisna pitanja:

  • „Koji su termini slobodni kod Omara u petak?” — pogledajte Omarove rezervacije tog dana.
  • „Koliko su farbanja zaradila ovog mjeseca?” — spojite rezervacije s uslugama i saberite cijene.
  • „Koji klijenti nisu zakazali u posljednjih 90 dana?” — uporedite klijente s njihovom posljednjom rezervacijom.

Najvažniji pojmovi

PojamŠta znači
TabelaZbirka jedne vrste zapisa, poput klijenata ili rezervacija.
Red (zapis)Jedna stavka u tabeli — jedan klijent, jedna rezervacija.
Kolona (polje)Jedan dio informacije koji svaki red ima, poput emaila ili cijene.
Primarni ključJedinstveni ID za svaki red, obično broj ili nasumični niz.
Strani ključKolona koja pokazuje na red u drugoj tabeli, poput klijent_id u rezervacijama.
ŠemaUkupan dizajn: koje tabele postoje, njihove kolone i kako su povezane.
Upit (query)Zahtjev za čitanje ili promjenu podataka, poput „sve rezervacije za sutra”.
SQLStructured Query Language, standardni jezik za upite nad relacionim bazama.
MigracijaSačuvana, ponovljiva promjena šeme, poput dodavanja kolone.
IndeksStruktura za pretragu koja ubrzava traženje po koloni, kao indeks u knjizi.
CRUDCreate, Read, Update, Delete — četiri osnovne stvari koje aplikacije rade s podacima.
Sigurnosna kopijaKopija podataka koju možete vratiti ako nešto pođe po zlu.

Vrste baza

VrstaKako čuva podatkePrimjeriDobra za
Relaciona (SQL)Tabele s fiksnim kolonama i vezama među njimaPostgres, MySQL, SQLiteVećinu poslovnih aplikacija: rezervacije, prodavnice, CRM-ove, SaaS
Dokumentna (NoSQL)Fleksibilni dokumenti sličnih JSON-uMongoDB, FirestorePodatke čiji se oblik mnogo razlikuje od zapisa do zapisa
Ključ-vrijednostVrijednost sačuvana pod ključemRedisKeširanje, kratkotrajni podaci poput sesija

Za gotovo sve što osnivač ili mali biznis prvo gradi, relaciona baza je sigurna podrazumijevana opcija.

Gdje baza stoji u vašoj aplikaciji

Posjetioci nikada ne razgovaraju direktno s bazom. Stranica u njihovom pregledniku (frontend) traži podatke od vašeg servera (backend-a), obično preko API-ja. Server provjerava ko pita i da li smije, zatim upituje bazu i šalje natrag samo ono što ta osoba smije vidjeti.

Ovaj srednji korak je važan. Da preglednik može direktno upitati bazu s punim pristupom, svako bi mogao otvoriti alate za developere i pročitati sve.

Česte greške i pogrešna shvatanja

  • Čuvanje podataka samo u pregledniku. Sačuvani podaci u pregledniku (poput localStorage) žive na jednom uređaju i u jednom pregledniku. Dobro su za zapamćen filter, ali ne za narudžbe.
  • Sve u jednu tabelu. Jedna tabela „rezervacije” u koju se u svaki red kopiraju ime klijenta, telefon i cijena usluge brzo se razilazi.
  • Čuvanje lozinki kao običnog teksta. Lozinke treba heširati, nikada ih ne čuvati čitljive. Pogledajte šta je autentifikacija.
  • Bez pravila za podatke. Bez obaveznih polja i pravila jedinstvenosti dobićete rezervacije bez datuma i duple klijente.
  • Zaboravljeno brisanje. Odlučite da li brisanje klijenta briše i njegove rezervacije, zadržava ih ili je zabranjeno.
  • Korištenje produkcijskih podataka za eksperimente. Riskantne promjene prvo testirajte na sigurnom mjestu i čuvajte sigurnosne kopije.
  • Tabela kao baza zauvijek. Tabele su odlične za početak, ali slabo podnose mnogo istovremenih korisnika i dozvole. Pogledajte kako pretvoriti tabelu u aplikaciju.

Šta tražiti od AI graditelja

  • „Sačuvaj ovo u bazi podataka, a ne u pregledniku. Reci mi koje tabele ćeš napraviti.”
  • „Prikaži šemu kao jednostavnu tabelu: svaka tabela, njene kolone i kako su povezane.”
  • „Jedan klijent može imati mnogo rezervacija; svaka rezervacija ima tačno jednu uslugu i jednog frizera.”
  • „Neka e-mail bude obavezan i jedinstven za klijente.”
  • „Spriječi da se dvije rezervacije za istog frizera preklapaju.”
  • „Samo prijavljeni vlasnik smije čitati sve rezervacije; klijenti vide samo svoje. Provjeri to na serveru.”
  • „Kada obrišem uslugu, nemoj brisati prošle rezervacije — umjesto toga označi uslugu kao neaktivnu.”

Baze podataka na Mythex-u

Kada vaša aplikacija treba da sačuva podatke, Mythex projektu dodaje namjensku Postgres bazu — možete to zatražiti u chatu („sačuvaj prijave za listu čekanja u bazu”) ili koristiti naredbu /database. Podaci za konekciju se automatski prosljeđuju vašoj aplikaciji, a agent kreira tabele. Baza spava nakon pet minuta neaktivnosti i budi se pri sljedećem zahtjevu, a za objavljeno korištenje naplaćuje se vrijeme dok je bila budna, iz istog saldo kredita kao i izrada. Dostupna je na planovima Free i Pro. Dokumentacija o bazi pokriva detalje, a šabloni aplikacija nude početne tačke zasnovane na podacima.

Pitanja

Šta je baza podataka jednostavnim riječima?

Baza podataka je organizovano skladište informacija u koje aplikacija upisuje i iz kojeg čita, poput korisnika, narudžbi ili rezervacija. Za razliku od podataka koji su sačuvani samo u kartici preglednika, oni i dalje postoje nakon osvježavanja, ponovnog pokretanja ili kada neko otvori aplikaciju s drugog uređaja.

Da li je tabela u Excelu baza podataka?

Tabela može čuvati istu vrstu podataka, ali nije napravljena za aplikacije. Prava baza podataka primjenjuje pravila o tome šta svaka kolona sadrži, pouzdano povezuje tabele, podnosi mnogo ljudi koji istovremeno upisuju i kontroliše ko šta smije čitati.

Koja je razlika između SQL i NoSQL baza?

SQL (relacione) baze poput Postgres-a i MySQL-a čuvaju podatke u tabelama s definisanim kolonama i vezama među njima. NoSQL baze poput MongoDB-a čuvaju fleksibilnije dokumente. Većini poslovnih aplikacija — rezervacijama, CRM-ovima, prodavnicama — relacioni model odgovara dobro.

Treba li mojoj aplikaciji baza podataka?

Ako treba da pamti bilo šta što ljudi unesu — prijave, narudžbe, poruke, podešavanja — i da to kasnije prikaže ili pokaže nekom drugom, treba. Čisto informativni sajt bez formi koje čuvaju podatke obično ne treba.

Mythex · Pricing · Izradite bilo šta uz AI · Šabloni za web stranice i aplikacije · Mythex u poređenju · Rječnik izrade aplikacija uz AI · Besplatni alati za izradu aplikacija uz AI · English

English አማርኛ العربية Български বাংলা 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 Slovenščina Soomaali Shqip Srpski Svenska Kiswahili தமிழ் తెలుగు ไทย Tagalog Türkçe Українська اردو Tiếng Việt 简体中文 繁體中文(香港) 繁體中文(台灣)