Tietokantojen termit Flashcards

(52 cards)

1
Q

Vierasavain (FOREIGN KEY)

A

Sarake, joka viittaa toisen taulun pääavaimeen. Tämän avulla voidaan liittää taulu toiseen tauluun. Esimerkiksi Pelaaja-taulussa on joukkue_id, mikä viittaa Joukkue-taulun id:seen

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Pääavain (PRIMARY KEY)

A

Pääavain on yksi tai useampi sarake, jonka arvot yksilöivät jokaisen rivin taulussa. Se ei saa sisältää tyhjiä arvoja eikä sallia duplikaatteja. Esimerkiksi henkilötunnus voi toimia pääavaimena Henkilö-taulussa.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

WHERE

A

Suodattaa ennen ryhmittelyä, suodattaa rivien perusteella, ei voi käyttää aggregaatteja (SUM() tai AVG()), sijainti ennen GROUP BY komentoa. Esimerkki, huomioi vain ne rivit, joissa arvosana > 0

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

HAVING

A

Suodattaa ryhmittelyn jälkeen, suodattaa ryhmien perusteella, voi käyttää aggregaatteja, sijainti GROUP BY komennon jälkeen.

Esimerkki, huomioi vain ne kurssit, joiden keskiarvo on yli 3

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

WHERE ja HAVING ero

A

WHERE suodattaa yksittäisiä rivejä ennen ryhmiä, HAVING taas päinvastoin eli ryhmiteltyjä tuloksia

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Aggregaatti

A

Eri funktioita, kuten COUNT(), SUM(), AVG() jne. Ns. yhdistää useita rivejä yhdeksi arvoksi

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

CRUD

A

Create, Read, Update, delete. Tietokannassa olisi INSERT, SELECT, UPDATE, DELETE

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

NO ACTION

A

Aiheuttaa virheen, jos tehdään muutoksia. Oletus.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

CASCADE

A

“Vyörytys”, jos poistetaan opiskelija, poistetaan myös hänen muut tiedot tauluista

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

SET NULL

A

Asetetaan vierasavaimen paikalle NULL

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

SET DEFAULT

A

Asetetaan jokin oletusarvo, vaikka 0

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

NULL

A

Ei arvoa ollenkaan, “” on tyhjä merkki ja 0 on nolla

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

DDL

A

Data Definition Language, osa SQL-kieltä, jolla määritellään tauluja

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

LIITOS (JOIN)

A

Liitoksen tarkoitus on liittää yksi tai useampi taulu, jotta voidaan saada tiettyjä haluttuja arvoja

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Alias

A

Nimetään tietty kyselyn osalle, jotta ei synny virheitä. Esimerkiksi aloitusvuosi + 5 nimetään valmistusvuodeksi tai AVG(vuosi) nimetään keskiarvoksi, toimii komennolla AS

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

LEFT JOIN

A

Jos halutaan kaikki arvot. Esimerkiksi opiskelijoita, joilla ei ole yhtään suorituksia tai asiakkaita, ketkä eivät ole tehneet tilauksia

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

GROUP BY

A

Määrittelee ryhmittelyn. Tällöin saadaan jokaisesta yksi rivi per ryhmä lopputulokseen, vaikka kuinka monta tilausta kukin asiakas on tehnyt

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

Deklaratiivinen kieli

A

Määritellään pelkkä lopputulos

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

Imperatiivinen kieli

A

Määritellään vaiheet, ei lopputulosta

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

Relaatiotietokanta

A

Relaatiotietokanta on tietokanta, jossa tiedot tallennetaan taulukoihin (relaatioihin), ja joissa taulut on yhdistetty avainten avulla. Sitä käytetään relaatiomallin mukaisesti, ja kyselyt tehdään yleensä SQL-kielellä. Tietokannan teoreettinen malli.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

ER-malli

A

Entity-Relationship malli, suhteiden mallikuvaus

22
Q

Entiteetti

A

Yksittäinen olio, esimerkiksi asiakas

23
Q

Attribuutti

A

Esimerkiksi asiakas-oliolla on osoite, henkilötunnus, nimi. Pallon muotoinen

24
Q

Avainattribuutti

A

Uniikki tunniste, vaikka asiakkaan henkilötunnus. Attribuuttipallo, jonka nimi on alleviivattu

25
Moniarvoinen attribuutti
Ympyrä kahdella viivalla, esimerkiksi asiakkaalla on useampi sähköposti
26
Suhde / Liittymä
Liittymä kuvaa miten entiteetit ovat yhteydessä toisiin. Salmiakkimuotoinen eli vinoneliö. Esimerkiksi, asiakas *tekee* tilaus, tekee on tässä suhde, liittymä
27
Heikko entiteetti
Entiteetin olemassaolo ei ole perusteltua ilman toista entiteettiä. Esimerkiksi tilaukseen kuuluva tuote ei ole olemassa, jos tuotetta ei ole. Neliö, merkataan kahdella viivalla
28
1:1
Yhdellä asiakkaalla on yksi henkilötunnus ja henkilötunnuksella on yksi asiakas Yhden suhde yhteen
29
1:N tai N:1
Asiakas tekee monta tilausta, tilaukset kuuluvat vain yhdelle asiakkaalle Yhden suhde moneen
30
N:M
Monen suhde moneen, projektilla voi olla monta työntekijää ja työntekijällä voi olla monta projektia
31
Assosiatiivinen entiteetti
Liittää kaksi muuta entiteettiä toisiinsa N:M suhteessa Esim. meillä on opiskelija ja kurssi entiteetit. Kurssilla voi olla monta opiskelijaa ja opiskelijalla monta kurssia. Tarvitaan kolmas entiteetti, mikä "assosioi" nämä yhteen, esimerkiksi suoritus.
32
Johdettu attribuutti
Attribuutti, jota ei ole välttämättä olemassa, mutta se voidaan luoda muiden attribuuttien perusteella. Esimerkiksi, tilauksen hinta voidaan muodostaa määrästä ja kpl hinnasta
33
ACID
Atomicity, Consistency, Isolation, Durability
34
EXISTS
EXISTS on looginen ehto. Käytetään alikyselyissä. Esimerkiksi valitaan tuotteet, joita ollaan tilattu
35
NOT EXISTS
Esimerkiksi valitaan tuotteet, joita kukaan ei ole tilannut
36
CTE
CTE (Common Table Expression) on väliaikainen nimetty tulostaulu, joka luodaan WITH-lauseella ja jota voidaan käyttää pääkyselyssä kuin taulua. Sitä käytetään erityisesti monimutkaisten kyselyiden jäsentelyyn ja selkeyttämiseen.
37
ALTER
Vaihtaa nimen haluamaan nimeen tai sarakkeen haluamaan sarakkeeseen
38
Tietokantavedos "dumppi"
Nimitys tietokannan sisältöön tallennettuna tiedostoon. Alustariippumaton, manuaalinen tai automaattinen käsittely, osittainen varmuuskopiointi
39
VACUUM
Komento, pakkaa tietokannan mahdollisimman pieneen tilaan, jolloin ei ole tyhjiä rivejä
40
ORM
Object Relational Mapping, ohjelmointitekniikka, jolla voidaan käsitellä tietokannan rivejä, kuten ne olisivat olioita koodissa. Heikko suorituskyky, monimutkainen, epäyhteensopivuus, voi tukea SQL:ää. Ns. muutetaan Javaksi, taulu on luokka, sarake on field.
41
Skaalautuvuus
Tietomäärän ja käyttäjämäärän kasvaessa, miten hyvin tietokanta skaalautuu
42
Muut tietokannat
InfluxQL, MongoDB, REDIS jne.
43
Yksinkertainen attribuutti
Jakamaton eli ei voida pilkkoa pienempiin osiin. Esimerkiksi ikä on pienin mahdollinen arvo.
44
Koostuva attribuutti
Esimerkiksi osoite, koostuu monesta eri osasta. Vaikka Helsinginkatu 10, 00100, Helsinki. Tässä on kadun nimi, kadun numero, postinumero ja kaupunki
45
Yksiarvoinen attribuutti
Attribuutti, jolla on yksi arvo kerrallaan. Esimerkiksi, ikä
46
Moniarvoinen attribuutti
Attribuutti, jolla on useita arvoja kerrallaan. Esimerkiksi, osoite
47
Tallennettu attribuutti
Attribuutti, mitä ei voi päätellä muiden attribuuttien perusteella. Esimerkiksi, henkilön henkilötunnus
48
Johdettu attribuutti
Attribuutti, mikä voidaan päätellä muiden attribuuttien perusteella. Esimerkiksi, ikä voidaan saada syntymävuoden perusteella
49
Kompleksinen attribuutti
Yhdistelmä koottuja attribuutteja sekä moniarvoisia attribuutteja. Esimerkiksi, henkilöllä on useita asuntoja ja jokaisella asunnolla on useita puhelinnumeroita
50
Osittaisavain
Kun heikko entiteetti on olemassa, se tarvitsee vahvan entiteetin arvon. Esimerkiksi, tilaus on vahva entiteetti ja tilausrivi on heikko entiteetti, yhdistelmä tuote_id ja tilaus_id tekee tilausrivistä aktiivisen, tällöin tuote_id on osittaisavain
51
VIEW
VIEW (näkymä) on SQL-kysely, joka toimii kuin taulu, mutta ei sisällä pysyvää dataa. Se luodaan CREATE VIEW -lauseella, ja sitä voidaan käyttää kuten normaalia taulua SELECT-, JOIN- ja muissa kyselyissä
52
CHECK
CHECK on tietokantarajoite (constraint), joka pakottaa sarakkeen arvon täyttämään ehdon. Se tarkistaa syötetyt arvot rivikohtaisesti, ja estää rivin tallentamisen, jos ehto ei täyty. Esimerkiksi taulussa ikä INTEGER CHECK (ikä >= 18) varmistaa, että syötetty henkilö ei ole alaikäinen.