SQL og databaser Flashcards

(100 cards)

1
Q

Hva er en database?

A

Et dataprogram som lagrer informasjon på en strukturert måte.

Databaser lar deg enkelt finne, endre og søke etter informasjon.

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

Hvorfor er databaser viktige?

A

De er essensielle for at digitale systemer skal fungere effektivt.

Uten databaser ville nettet vært kaotisk.

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

Hva er datamodellering?

A

Planlegging eller blåkopi for databasen.

Det hjelper med å forhindre kaos og sikre logikk.

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

Hva er et ER-diagram?

A

En visuell modell som viser deler av databasen og hvordan de henger sammen.

Det brukes i datamodellering.

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

Hva er tabeller i en database?

A

Separate kategorier for informasjon, lik regneark.

Eksempler kan være tabeller for elever, kurs, og lærere.

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

Hva er kolonner i en tabell?

A

De spesifikke bitene med informasjon om hvert element.

Kolonnene kan inneholde elev_id, fornavn, etternavn osv.

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

Hva er rader i en tabell?

A

Hver rad representerer ett enkelt element med verdier for hver kolonne.

For eksempel, en rad kan representere én elev.

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

Hva er en primærnøkkel (PK)?

A

En kolonne som gjør hver rad unik.

PK garanterer unikhet og rask opphenting av data.

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

Hvorfor er PK viktig?

A

Den sikrer unikhet og kobler tabeller sammen.

Uten PK kan det bli vanskelig å finne spesifikke rader.

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

Hva er en fremmednøkkel (FK)?

A

Primærnøkkelen fra én tabell som legges inn i en annen tabell for å lage koblinger.

FK brukes til å opprette relasjoner mellom tabeller.

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

Hva er en én-til-mange relasjon?

A

En relasjon der én post i en tabell kan ha mange relaterte poster i en annen tabell.

Eksempel: Én lærer kan ha mange elever.

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

Hva er datatyper i en database?

A

Definerer hvilken type informasjon som skal lagres i kolonnene.

Eksempler inkluderer INT, VARCHAR, TEXT, DATE, DATETIME, BOOLEAN.

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

Hva lagrer datatypen INT?

A

Heltall uten desimaler.

Brukes ofte for ID-er og poengsummer.

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

Hva er VARCHAR(n)?

A

En datatype for tekststrenger med varierende lengde.

Tallet n angir maksimal lengde på teksten.

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

Hva brukes TEXT-datatypen til?

A

For lengre tekststykker som beskrivelser eller kommentarer.

TEXT brukes når VARCHAR blir for kort.

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

Hva lagrer BOOLEAN-datatypen?

A

Sanne/usanne verdier (True/False).

Brukes for statusflagg.

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

Hva er et smart tips når man velger datatyper?

A

Velg minste passende type for å spare lagringsplass.

Mindre datatyper kan forbedre ytelsen.

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

Hva er formålet med en konsekvent navnekonvensjon?

A

Å gjøre databasen lettere å lese og forstå.

Det bidrar til en ryddig struktur.

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

Hva er et viktig tips for å tegne databasen?

A

Skisser opp tabellene og relasjonene før du begynner å kode.

Dette hjelper med å visualisere strukturen.

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

Hva er PK Naming?

A

Vær konsekvent med primærnøkkelnavn. Enten bare id som PK eller tabellnavn_id (f.eks. kunde_id, ordre_id)

Tabellnavn_id er ofte tydeligere enn bare id.

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

Hva er FK Naming?

A

Gi fremmednøkler navn som tydelig viser hvilken tabell/PK de refererer til, ofte samme navn som PK-en

Eksempel: kunde_id i ordrer-tabellen sammen med kunde_id i kunder-tabellen.

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

Hvorfor er beskrivende navn viktige?

A

Beskrivende navn reduserer sjansen for feil og gjør samarbeid enklere. Unngå forkortelser med mindre de er svært vanlige

Eksempel: antall_bestilte_varer er bedre enn ant_b_v.

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

Hva er formålet med en god navnestandard?

A

Den fungerer som innebygd dokumentasjon, gjør det lettere å skjønne hva som skjer, og reduserer sjansen for feil

God navnekonvensjon letter også samarbeid.

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

Hva er HeidiSQL?

A

HeidiSQL er et grafisk brukergrensesnitt (GUI) for databaser, som lar deg jobbe med databaser som MySQL og MariaDB

Det er gratis og populært, spesielt for nybegynnere.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
25
Hvilke opplysninger trenger du for å koble til en lokal database i HeidiSQL?
* Network Type: MySQL (TCP/IP) * Hostname / IP: 127.0.0.1 eller localhost * User: brukernavn (ofte root) * Password: passord for brukeren * Port: 3306 * Database(s): spesifiser eller la stå blank ## Footnote Dette er standardinnstillinger for lokal utvikling.
26
Hva viser database-treet i HeidiSQL?
Det viser en liste over alle databasene på serveren, samt tabeller, views, og prosedyrer ## Footnote Du kan utvide hver database for å se innholdet.
27
Hvordan oppretter du en ny database i HeidiSQL?
Høyreklikk på tilkoblingen og velg Create new -> Database, skriv inn et navn, og velg utf8mb4 som standard tegnsett ## Footnote Utf8mb4 støtter de fleste tegn, inkludert emojis.
28
Hvordan oppretter du en tabell i HeidiSQL?
Velg databasen, høyreklikk og velg Create new -> Table, skriv inn tabellnavn og legg til kolonner ## Footnote Definer kolonnenavn, datatyper, og innstillinger som NOT NULL og PRIMARY KEY.
29
Hva er CRUD i databaser?
CRUD står for: * Create (Opprette) * Read (Lese) * Update (Oppdatere) * Delete (Slette) ## Footnote Disse er grunnleggende operasjoner i databasestyring.
30
Hva er syntaksen for å legge inn data i en tabell med SQL?
INSERT INTO tabellnavn (kolonne1, kolonne2) VALUES (verdi1, verdi2) ## Footnote Husk at tekstverdier må være i enkle anførselstegn.
31
Hvordan henter du data fra en tabell i SQL?
Ved å bruke SELECT kolonne1, kolonne2 FROM tabellnavn ## Footnote Du kan bruke * for å hente alle kolonner, men unngå dette i ferdig kode.
32
Hva er en fordel med å unngå SELECT * i produksjonskode?
* Uklarhet om hvilke data som trengs * Ytelsesproblemer med unødvendig data * Skjørhet ved endringer i tabellstruktur ## Footnote Vær spesifikk med kolonnenavn for bedre lesbarhet og ytelse.
33
Hva gjør WHERE-klausulen i SQL?
Den filtrerer resultatene basert på spesifikke betingelser ## Footnote Dette gjør det mulig å hente ut kun de radene som oppfyller kriteriene.
34
Hva er skjørhet i SQL?
Skjørhet refererer til at endringer i tabellstrukturen kan gjøre eksisterende kode ubrukelig
35
Hva brukes WHERE-klausulen til i SQL?
WHERE-klausulen brukes til å filtrere resultater basert på spesifikke betingelser
36
Hva er syntaksen for en enkel SELECT-setning med WHERE?
SELECT kolonne1, kolonne2 FROM tabellnavn WHERE betingelse
37
Hvilke vanlige operatorer brukes i WHERE-betingelser?
* = * > * < * >= * <= * != (eller <>) * LIKE
38
Hvordan kombineres betingelser i SQL?
Ved å bruke AND og OR for å lage mer komplekse filtre
39
Hva gjør UPDATE-setningen i SQL?
UPDATE-setningen endrer eksisterende data i en tabell
40
Hva er en kritisk del av UPDATE-setningen?
WHERE-klausulen er kritisk for å spesifisere hvilke rader som skal oppdateres
41
Hva brukes DELETE FROM-setningen til?
DELETE FROM brukes til å slette rader fra en tabell
42
Hvorfor er WHERE-klausulen viktig i DELETE-setninger?
Uten WHERE-klausulen slettes alle radene i tabellen
43
Hva er et vanlig problem når man lærer SQL?
Syntaxfeil, som skrivefeil eller manglende tegn
44
Hvilken rekkefølge må SQL-klausuler følge?
* SELECT * FROM * WHERE * GROUP BY * HAVING * ORDER BY
45
Hva betyr NULL i SQL?
NULL betyr 'ukjent' eller 'manglende verdi'
46
Hvordan sammenlignes NULL-verdier i SQL?
Ved å bruke IS NULL eller IS NOT NULL
47
Hvilken feil gjør mange når de bruker WHERE med NULL?
Bruker = NULL i stedet for IS NULL
48
Hvordan kan man unngå vanlige SQL-feil?
Ved å lese feilmeldinger nøye og følge god praksis
49
Hva er primærnøkkel (PK) i en database?
En unik identifikator for hver rad i en tabell
50
Hva er en indeks i en database?
En datastruktur som forbedrer hastigheten på søk
51
Hvordan oppretter man en indeks i SQL?
Ved å bruke CREATE INDEX-setningen
52
Hva er en typisk syntaks for å opprette en indeks?
CREATE INDEX indeks_navn ON tabellnavn (kolonne_navn)
53
Hva er fordelene med å bruke indekser?
Indekser gjør søk i store tabeller mye raskere
54
Hvilke datatyper kan brukes i en tabell?
* INT * VARCHAR * DATE * YEAR
55
Hva er en god praksis når du definerer tabellnavn?
Vær konsekvent med store og små bokstaver
56
Hva er en utfordring i SQL-øving?
Å lage relasjoner mellom tabeller ved hjelp av fremmednøkler
57
Hvordan kan man øve på SQL uten å installere noe?
Ved å bruke online SQL-sandkasser som SQLBolt eller SQLZoo
58
Hva er et superenkelt øvingsprosjekt i SQL?
Å lage en enkel venneliste med tabellen venner
59
Hva er formålet med å lage indekser på kolonner i en database?
For å gjøre søk raskere
60
Hvordan ser en typisk SQL-kommando for å opprette en indeks ut?
CREATE INDEX indeks_navn ON tabellnavn (kolonne_navn)
61
Gi et eksempel på en SQL-kommando for å opprette en indeks.
CREATE INDEX idx_elever_etternavn ON elever (etternavn)
62
Hvilke ulemper kan indekser ha?
* Tar opp ekstra lagringsplass * Kan redusere hastigheten på skriveoperasjoner (INSERT, UPDATE, DELETE)
63
Hva er en primærnøkkel (PK) i en database?
En unik identifikator for hver rad i en tabell
64
Hvorfor er søk på primærnøkler ofte raske?
Fordi primærnøkler vanligvis har en indeks automatisk
65
Hva er balansen som må vurderes når man bruker indekser?
Mellom rask lesing og effektiv skriving
66
Hva er de fire store SQL-kommandoene kjent som CRUD?
* INSERT * SELECT * UPDATE * DELETE
67
Hva bør alltid inkluderes i UPDATE og DELETE-kommandoer?
WHERE-klausul
68
Hva er viktig å huske når man velger datatyper for kolonner?
Bruk VARCHAR for ting som ser ut som tall, men som ikke skal regnes på
69
Hva er en god praksis for navngivning av databaser, tabeller og kolonner?
Følge navnekonvensjoner
70
Hvilke verktøy kan brukes for å koble til en database og bygge tabeller?
HeidiSQL
71
Hva er en fordel med å bruke HeidiSQL?
Brukervennlig grensesnitt for å opprette og redigere databaser
72
Hva bør du gjøre for å forberede deg til prøven?
Gå gjennom notatene og øv i HeidiSQL eller en sandkasse
73
Sann eller usann: Indekser er gratis og krever ingen ekstra lagringsplass.
Usann
74
Fyll inn blank: Primærnøkler får (vanligvis) en ______ automatisk.
indeks
75
Hvilken SQL-kommando brukes for å hente ut data?
SELECT
76
Hva er et viktig aspekt ved datamodellering?
Å ha en god plan (datamodell) før bygging
77
Hva bør du alltid gjøre før du utfører endringer i databasen?
Sjekke at du har riktige WHERE-klausuler
78
Hva er en fremmednøkkel (FK)?
En kolonne som skaper en forbindelse mellom to tabeller
79
Hvorfor er logisk tenkning viktig i databaser?
Det hjelper med å strukturere og organisere data effektivt
80
Hva er en viktig ferdighet du har lært om SQL?
Hvordan unngå vanlige fellene
81
What is a database index?
A database index is a data structure that improves the speed of data retrieval operations on a database table.
82
How does indexing improve performance?
Indexing improves performance by allowing the database to find and access data without scanning the entire table.
83
What are the types of database indexes?
* B-tree Indexes * Hash Indexes * Full-text Indexes * GiST Indexes * Bitmap Indexes
84
What is a B-tree index?
A B-tree index is a balanced tree data structure that maintains sorted data and allows searches, sequential access, insertions, and deletions in logarithmic time.
85
True or False: A hash index is suitable for range queries.
False
86
What is the primary use of full-text indexes?
Full-text indexes are used to improve the performance of queries that search for text within large text fields.
87
Fill in the blank: A _______ index is often used for searching through documents or large text fields.
full-text
88
What is the purpose of a bitmap index?
A bitmap index is used to efficiently query columns with a low cardinality of distinct values.
89
What are the benefits of using database indexes?
* Faster query performance * Reduced disk I/O * Improved efficiency in sorting and filtering
90
What is a trade-off when using indexes?
Indexes require additional storage space and can slow down write operations such as inserts, updates, and deletes.
91
True or False: Indexes can only be created on primary keys.
False
92
What is a unique index?
A unique index ensures that no two rows have the same values in specified columns.
93
Fill in the blank: An index that allows duplicate values is called a _______ index.
non-unique
94
What is the role of a clustered index?
A clustered index determines the physical order of data in a table and can only be created on a table's primary key.
95
What is a non-clustered index?
A non-clustered index is a separate structure from the data table that stores a pointer to the data in the table.
96
Fill in the blank: In a non-clustered index, the index and the data are stored _______.
separately
97
What is the effect of indexing on database maintenance?
Indexing can complicate database maintenance due to the need to update indexes when data changes.
98
How can indexes be created in a database?
Indexes can be created using SQL commands such as CREATE INDEX.
99
True or False: Indexes automatically optimize themselves without any intervention.
False
100
What does it mean to 'drop' an index?
Dropping an index means removing it from the database, which can improve write performance but may slow down read performance.