Databaser Flashcards

1
Q

Vad är en databas?

A

En databas är en samling av relaterade data som är organiserade på ett sätt som gör det lätt att lagra, hämta, och hantera informationen. Det är inte detsamma som filer och dokument.

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

Vad är ett dokumentbaserat system?

A

Ett dokumentbaserat system fungerar bra för att lagra och hämta dokument, men det fungerar dåligt när man behöver korsreferenser mellan olika dokument.

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

Vad är begränsningen med dokumentbaserade system?

A

Det är svårt att utföra komplexa sökningar som att hitta alla filmer regisserade av en viss regissör eller alla filmer från en viss genre utan att ha strukturerade relationer.

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

Hur löser ett databassystem problemen med dokumentbaserade system?

A

Databassystem lagrar data i tabeller med tydliga relationer mellan dem, vilket gör det enkelt att utföra komplexa sökningar och korsreferenser.

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

Vad är en relationsdatabas?

A

En relationsdatabas lagrar data i tabeller, där varje tabell representerar en entitet och relationerna mellan entiteterna hanteras genom kopplingar mellan tabellerna.

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

Vad är DBMS och SQL?

A

DBMS (Database Management System) är programvaran som hanterar databasen. SQL (Structured Query Language) är språket som används för att interagera med DBMS.

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

Vilka är några vanliga typer av RDBMS?

A

Några vanliga RDBMS är:

MySQL
Microsoft SQL (MSSQL)
PostgreSQL
SQLite
Microsoft Access

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

Vilka är några fördelar med relationsdatabaser?

A

Strukturerad lagring av data
Data kan återanvändas och delas mellan olika applikationer
Möjlighet att skapa komplexa relationer mellan data

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

Vad är huvudpunkterna i relationsdatabaser?

A

Data lagras i tabeller.
Relationer mellan tabeller används för att hantera kopplingar mellan olika data.
SQL används för att kommunicera med RDBMS.

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

Hur organiseras data i en relationsdatabas?

A

Data organiseras i tabeller där varje kolumn representerar ett attribut och varje rad representerar en enskild post.

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

Vad är en primärnyckel och en främmande nyckel?

A

Primärnyckel: En unik identifierare för varje rad i en tabell.
Främmande nyckel: En kolumn som länkar till en primärnyckel i en annan tabell, vilket skapar en relation mellan tabellerna.

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

Vilka typer av relationer finns i relationsdatabaser?

A

One-to-One: En användare har en mailadress.
One-to-Many: En användare kan ha flera blogginlägg.
Many-to-Many: Ett blogginlägg kan ha flera taggar, och en tagg kan tillhöra flera blogginlägg.

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

Hur fungerar Many-to-Many relationer i en databas?

A

En Many-to-Many relation innebär att en post i en tabell kan relatera till många poster i en annan tabell, och vice versa.

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

Hur kan relationsdatabaser användas med Python?

A

Python kan användas med SQLite, en enkel databas lagrad i en fil, för att hantera relationsdatabaser direkt från Python-kod.

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

Vad är SQLite?

A

SQLite är ett enkelt och server-löst databassystem som följer SQL-standarden och kan användas interaktivt eller “embedded” i ett Python-program. Det kräver ingen installation på många system som macOS där det är förinstallerat.

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

Vilka tabeller används i SQL-exemplet med Suppliers and Parts?

A

S (Suppliers): Kolumner: SNO, SNAME, STATUS, CITY
SP (Supplier Parts): Kolumner: SNO, PNO, QTY
P (Parts): Kolumner: PNO, PNAME, COLOR, WEIGHT, CITY

17
Q

Hur hämtar du alla röda delar från tabellen P?

A

SELECT * FROM P WHERE COLOR = ‘Red’;
Det returnerar alla delar som är röda.

17
Q

Hur ser grundläggande SQL-syntax ut?

A

SELECT [* | DISTINCT] column1 [,column2]
FROM table1 [,table2]
WHERE “conditions”
GROUP BY “column-list”
HAVING “conditions”
ORDER BY “column-list” [ASC | DESC]

18
Q

Hur hämtar du alla rader från tabellen P?

A

SELECT * FROM P;
Det returnerar alla kolumner och rader från tabellen P.

19
Q

Hur hämtar du alla unika färger från tabellen P?

A

SELECT DISTINCT COLOR FROM P;
Det returnerar alla olika färger i tabellen utan att upprepa någon färg.

20
Q

Hur hämtar du endast färgerna från alla rader i tabellen P?

A

SELECT COLOR FROM P;
Det returnerar endast färgkolumnen från varje rad.

21
Q

Hur hämtar du delar i London som väger 12 gram?

A

SELECT * FROM P WHERE CITY = ‘London’ AND WEIGHT = 12;
Det returnerar alla delar som är i London och väger 12 gram.

22
Q

Hur hämtar du delar i London eller delar som väger 12 eller 14 gram?

A

SELECT PNO FROM P WHERE CITY = ‘London’
UNION
SELECT PNO FROM P WHERE WEIGHT = 12
UNION
SELECT PNO FROM P WHERE WEIGHT = 14;
Det returnerar alla delar som antingen är i London eller väger 12 eller 14 gram.

23
Q

Hur hämtar du delar i London som väger 14 gram?

A

SELECT PNO FROM P WHERE CITY = ‘London’
INTERSECT
SELECT PNO FROM P WHERE WEIGHT = 14;
Det returnerar alla delar som både är i London och väger 14 gram.

24
Q

Hur hämtar du leverantörer som inte levererar någon del?

A

SELECT SNO FROM S
EXCEPT
SELECT SNO FROM SP;
Det returnerar alla leverantörer som inte finns i tabellen SP, vilket innebär att de inte levererar någon del.

25
Q

Hur hämtar du leverantörsnamn och delnummer de levererar med en klassisk join?

A

SELECT S.SNAME, PNO FROM S, SP WHERE S.SNO = SP.SNO;
Det returnerar varje leverantörs namn tillsammans med de delar de levererar.

26
Q

Hur hämtar du leverantörsnamn och delnummer de levererar med en naturlig join?

A

SELECT S.SNAME, PNO FROM S NATURAL JOIN SP;
Det returnerar samma resultat som den klassiska joinen men med en enklare syntax.

27
Q

Hur kan SQL-förfrågningar “embedded” i ett Python-program utföras?

A

Genom att använda SQLite-modulen i Python, t.ex.:

import sqlite3
conn = sqlite3.connect(‘sp.db’)
cursor = conn.cursor()
cursor.execute(‘'’SELECT * FROM P’’’)
all_rows = cursor.fetchall()
print(all_rows)
conn.close()
Detta kör en SQL-fråga i en Python-applikation och returnerar resultatet som en lista av tuples.

28
Q
A