Tietokanta

Järjestelmä, johon sovellus tallentaa tiedot pysyvästi ja josta se hakee ne tarvittaessa.

Database · Koodaus

Tietokanta on paikka, johon sovellus tallentaa tiedot niin, että ne säilyvät, vaikka sivu suljetaan tai palvelin käynnistetään uudelleen. Käyttäjätilit, tilaukset, viestit ja asetukset ovat tietokannassa. Tietokantaa hallitaan tietokannanhallintajärjestelmällä, kuten PostgreSQL:llä, MySQL:llä tai SQLitella, ja sille annetaan käskyjä yleensä SQL-kielellä.

Tietokannat jaetaan karkeasti kahteen ryhmään. Relaatiotietokannassa tiedot ovat tauluissa, joissa on rivejä ja sarakkeita, ja taulut viittaavat toisiinsa: esimerkiksi tilaus kuuluu tietylle asiakkaalle. NoSQL-tietokannat, kuten MongoDB tai Firebasen Firestore, tallentavat tietoa joustavammin dokumentteina. Useimpiin vibekoodausprojekteihin relaatiotietokanta on hyvä oletus.

Vibekoodauksessa tietokanta tulee vastaan heti, kun sovelluksen pitää muistaa jotain. Helppo aloitus on valmis palvelu, kuten Supabase, joka antaa PostgreSQL-tietokannan, kirjautumisen ja rajapinnan samasta paikasta. Pyydä tekoälyä ensin suunnittelemaan taulut ja niiden kentät, ja tarkista suunnitelma ennen kuin koodia kirjoitetaan. Tarkista myös käyttöoikeudet: tietokantaan pitää päästä vain palvelimelta tai rivitason käyttöoikeuksien (Row Level Security) kautta, ja tekoäly jättää ne joskus määrittämättä.

Usein kysyttyä

Mikä on tietokanta?

Tietokanta on järjestelmä, johon sovellus tallentaa tietoja pysyvästi, esimerkiksi käyttäjät, tuotteet ja tilaukset. Sovellus lukee ja muuttaa tietoja kyselyillä, yleensä SQL-kielellä.

Mikä on relaatiotietokanta?

Relaatiotietokannassa tiedot on järjestetty tauluihin, joissa on rivejä ja sarakkeita, ja taulut viittaavat toisiinsa. Esimerkiksi tilaukset-taulun rivi viittaa asiakkaat-taulun riviin. PostgreSQL, MySQL ja SQLite ovat relaatiotietokantoja.

Mikä tietokanta sopii aloittelijalle?

Supabase on helppo aloitus, koska se antaa valmiin PostgreSQL-tietokannan selainkäyttöliittymällä, eikä omaa palvelinta tarvitse pystyttää. Pieniin kokeiluihin riittää myös SQLite, joka on yksi tiedosto projektin kansiossa.

Esimerkkejä

SELECT * FROM tilaukset WHERE asiakas_id = 42; hakee yhden asiakkaan tilaukset

Supabase antaa PostgreSQL-tietokannan, kirjautumisen ja rajapinnan samasta palvelusta

"Suunnittele tietokannan taulut varausjärjestelmälle: asiakkaat, palvelut ja varaukset"

SQLite on yksi tiedosto, ja se sopii pieniin sovelluksiin ja kokeiluihin

Prisma muuntaa tietokannan taulut TypeScript-tyypeiksi

Tietokannan salasana kuuluu .env-tiedostoon, jota ei viedä GitHubiin