Opi SQL:n perusteet sekä edistyneet tekniikat, PostgreSQL:n käyttö ja ymmärrä ero relaatio- ja dokumenttitietokantojen välillä. Tutustu myös moderneihin ORM-kirjastoihin kuten Prismaan. Kattavia käytännönläheisiä esimerkkejä ja selkeitä selityksiä opiskelijoille, opettajille ja kehittäjille.
Kattava opas SQL-tietokantoihin
SQL (Structured Query Language) on standardoitu ohjelmointikieli, joka on suunniteltu relaatiotietokantojen hallintaan ja käsittelyyn. SQL:llä voit:
Käytä SELECT-lauseita etsiäksesi ja suodattaaksesi tietoja tietokannoista.
INSERT, UPDATE ja DELETE komennoilla lisäät, päivität ja poistat tietoja.
CREATE TABLE ja ALTER TABLE komennoilla luot ja muokkaat tietokantarakenteita.
JOIN-operaatioilla yhdistät useita tauluja komplekseihin kyselyihin.
SQL-kyselyt ovat tietokannan sydän. Niillä haet, suodatat ja järjestelet tietoja tehokkaasti.
Peruskysely tietojen hakemiseen:
Suodata tuloksia ehtojen perusteella:
Yhdistä useita tauluja:
Ryhmittele ja laske:
SQL:llä voit paitsi hakea tietoja, myös lisätä, muokata ja poistaa niitä turvallisesti.
PostgreSQL on tehokas, avoimen lähdekoodin relaatiotietokantajärjestelmä, joka noudattaa SQL-standardia mutta tarjoaa lukuisia laajennuksia ja parannuksia.
SQL-standardi määrittelee peruskyselykielen:
Kaikki suuret tietokantajärjestelmät (MySQL, PostgreSQL, SQL Server, Oracle) noudattavat SQL-standardia, mutta lisäävät omia laajennuksiaan.
PostgreSQL lisää standardin päälle:
PostgreSQL tukee paremmin JSON-dataa, window functions ja monimutkaisia kyselyitä kuin MySQL.
SELECT u.name, u.email, p.title
FROM users u
JOIN posts p ON u.id = p.user_id
WHERE u.age > 25;
db.users.aggregate([
{ $match: { age: { $gt: 25 } } },
{ $lookup: {
from: "posts",
localField: "_id",
foreignField: "userId",
as: "posts"
} }
]);
Ominaisuus | SQL | MongoDB |
---|---|---|
Lukutoiminnot | Optimoitu kompleksisille kyselyille | Nopea yksinkertaisissa hauissa |
Kirjoitustoiminnot | ACID-rajoitteet hidastavat | Nopeampi, vähemmän tarkistuksia |
JOIN-operaatiot | Optimoitu, nopea | Lookup-operaatiot hitaampia |
Indeksointi | Kypsä teknologia | Joustava, mutta monimutkaista |
Skaaalautuvuus | Master-slave, rajoitettu | Automaattinen sharding |
SQL-tietokantojen suurin turvallisuusriski:
MongoDB:n turvallisuushaasteet:
ORM (Object-Relational Mapping) on tapa yhdistää ohjelmointikielten objektit tietokantakyselyihin. Prisma on moderni TypeScript/JavaScript ORM, joka kääntää koodisi SQL-komennoiksi automaattisesti.
Ongelmat: SQL-virheet huomataan vasta runtime-aikana, ei type-safety tai IntelliSense-tukea.
Etu: Compile-time tarkistus, automaattinen IntelliSense, type-safety.
Kirjoita Prisma schemassa datamalli
Prisma generoi TypeScript-tyypit ja clientin
Runtime: Prisma kääntää metodikutsut optimoiduiksi SQL-kyselyiksi
Prisma tukee: PostgreSQL, MySQL, SQLite, SQL Server, MongoDB
-- Hae kaikki käyttäjät jotka ovat yli 18-vuotiaita
SELECT name, email, age
FROM users
WHERE age > 18
ORDER BY name;
-- Hae käyttäjät ja heidän tilauksensa
SELECT u.name, u.email, o.order_date, o.total
FROM users u
JOIN orders o ON u.id = o.user_id
WHERE o.order_date > '2024-01-01';
-- Laske tilausten määrä ja kokonaissumma asiakkaittain
SELECT u.name,
COUNT(o.id) as order_count,
SUM(o.total) as total_spent
FROM users u
LEFT JOIN orders o ON u.id = o.user_id
GROUP BY u.id, u.name
HAVING COUNT(o.id) > 0;
Ilmainen opetusresurssi SQL:n, PostgreSQL:n ja tietokantojen oppimiseen. Suunniteltu opiskelijoille ja opettajille.
Kaikki esimerkit ja oppimateriaali on tarkoitettu opetuskäyttöön. Sisältö on avointa ja vapaasti käytettävissä.
(Tämä sivusto voi sisältää virheitä - tarkista aina tiedot virallisista lähteistä)