Database management

0.0(0)
studied byStudied by 22 people
GameKnowt Play
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
Card Sorting

1/105

Study Analytics
Name
Mastery
Learn
Test
Matching
Spaced

No study sessions yet.

106 Terms

1
New cards

Grad / Degree

Antal kolumner i en tabell / Number of columns in a table

2
New cards

∪ Union

A ∪ B — Sammanslagning av alla unika element från två mängder / Combination of all unique elements from two sets

Minnesknep: Ser öppen eller glad ut 😃 🥣 / Mnemonic: Looks open or happy 😃 🥣

3
New cards

∩ Snitt / Intersection

Alla gemensamma unika element mellan två mängder / All shared unique elements between two sets

Minnesknep: Ser stängd eller sträng ut 🔒 / Mnemonic: Looks closed or strict 🔒

4
New cards

Differens / Difference (“Minus”)

A \ B, A - B — Alla unika element som finns i mängd A men inte mängd B / All unique elements in set A but not set B

5
New cards

SQL DDL (Database Definition Language): operatorer / operators

CREATE, ALTER, DROP, TRUNCATE, COMMENT, RENAME

6
New cards

DML (Database Management Language): operatorer / operators

INSERT, SELECT, UPDATE, DELETE

Observation: Typisk CRUD / Typical CRUD (create, read, update, delete)

7
New cards

Mängdoperatorer / Set operators

∪, ∩, \Union, snitt, differens / Union, intersection, difference

8
New cards

Förvillkor för mängdoperatorer på tabeller — unionskompatibilitet / Preconditions for set operators on tables — union compatibility

  1. Grad A = Grad B / Degree A = Degree B

  2. typeof(A.n) = typeof(B.n) (samma domän / same domain)

9
New cards

DBMS (Database Management System)

Mjukvara för att tillämpa databasteori / Software for implementing database theory

10
New cards

Relationsdivision / Relational division (definition)

Operation på en mängd A med en mängd B så att en delmängd C bildas där C består av element från A som uppfyller ALLA villkor (element) i B / Operation on set A by set B such that subset C consists of elements from A that match ALL the conditions (elements) of B

11
New cards

Relationsdivision / Relational division (implementation)

Mönster / Pattern:

...

WHERE NOT EXISTS

--(...

--WHERE NOT IN

----(...))

12
New cards

Vy / View

Namngiven fråga som skapar en tillfällig tabell som lagras i primärminnet (RAM) / Named query which creates a temporary table stored in primary memory (RAM)

13
New cards

Microsoft Access-underligheter / Microsoft Access quirks

  1. Saknar INTERSECTION- och EXCEPT-operatorer / Lacks INTERSECTION and EXCEPT operators

  2. CREATE VIEW används ej (frågor namnges direkt) / CREATE VIEW is not used (queries are explicitly named)

  3. COUNT DISTINCT stöds ej / COUNT DISTINCT not supported

14
New cards

Relationsalgebra / Relational algebra: SELECT x, y = ?

πx, yR — projektion / projection

Returnerar tabell av kolonner x, y från tabell R / Returns table of columns x, y from table R

Minnesknep: π (stora pi) liknar ett tabellhuvud med kolumner / Mnemonic: π (capital pi) looks like a table header with columns

15
New cards

Relationsalgebra / Relational algebra: FROM x, y = ?

x × y — kartesisk produkt, kryssprodukt / Cartesian product, cross product

Returnerar mängd av alla kombinationer av elementpar / Returns set of all combinations of paired elements

NB: Sker när inga villkor anges / Occurs when no conditions are defined

16
New cards

Relationsalgebra / Relational algebra: WHERE (condition) = ?

σcondition — selektion / selection

Minnesknep: σ (sigma) ser ut som en pekande hand ☛ / Mnemonic: σ (sigma) looks like a pointing hand ☛

17
New cards

Relationsalgebra / Relational algebra: WHERE x condition y = ?

σxθyR — selektion / selection

θ (theta) — condition

x, y — operander (ex. attribut) / operands (e.g. attributes)

R — relation

Unär operation som returnerar tupler / Unary operation that returns tuples

Minnesknep: σ (sigma) ser ut som en hand som pekar på en rad ☛ / Mnemonic: σ (sigma) looks like a hand pointing at a row ☛

18
New cards

Anatomi av selektion i relationsnotation / Anatomy of selection in relational notation

σxθyR

σ (sigma) — selektionsoperator / selection operator

θ (theta) — villkor / condition

x, y — operander (ex. attribut) / operands (e.g. attributes)

R — relation (tabell / table)

19
New cards

Anatomi av projektion i relationsnotation / Anatomy of projection in relational notation

π (pi) — projektionsoperator / projection operator

A — attributmängd / set of attributes

R — relation (tabell / table)

<p><strong>π</strong> (pi) — projektionsoperator / projection operator</p><p><strong>A</strong> — attributmängd / set of attributes</p><p><strong>R</strong> — relation (tabell / table)</p>
20
New cards

Projektion π / Projection π

Unär operator som tar ut en delmängd av attribut från en relation / Unary operator that returns a subset of attributes of a relation

21
New cards

Relation R

Tabell / Table

22
New cards

Selektion σ / Selection σ

Unär operator som tar ut en delmängd tupler från en relation / Unary operator that returns a subset of tuples of a relation

23
New cards

Rad / Row

Post, tupel / Record, tuple

24
New cards

Kolumn, kolonn / Column

Attribut, fält / Attribute, field

25
New cards

Join ⋈

Sammanslagning av två relationer / The merging of two relations

26
New cards

Join ⋈: typer / types

Theta, equi, naturlig / natural

27
New cards

Theta-join

R1 ⋈θ R2,

θ (theta) är ett godtyckligt villkor / is an arbitrary condition

28
New cards

Equi-join

Theta-join (θ) där θ-villkoret är likhet = / where the θ condition is equality =

29
New cards

Natural join

Automatisk join-operation där attribut med samma namn jämförs / Automatic join operation where attributes with the same name are compared

30
New cards

Tilldelning / Assignment R1 ← R2

Namngivning av relation eller relationsuttryck — R1 är ett alias för R2 / Naming of a relation or relational expression — R1 is an alias for R2

31
New cards

Databasnormalisering / Database normalization

Strukturering av databas för att minska redundans (upprepning) av data och stärka dataintegritet / The structuring of a database to reduce the redundancy (repetition) of data and improve data integrity

32
New cards

1NF (1:a normalformen / 1st normal form)

Tabeller är atomära — innehåller ett värde per fält / Tables are atomic — contain one value per field

33
New cards

2NF (2:a normalformen / 2nd normal form)

1NF + varje kolumn som inte är en del av primärnyckeln är fullt funktionellt beroende av den / 1NF + every column that is not part of the primary key is fully functionally dependent on it

34
New cards

3NF (3:e normalformen / 3rd normal form)

2NF + ickeprimärnyckelkolumner är funktionellt beroende men inte transitivt beroende av primärnyckeln / 2NF + non-primary key columns are functionally dependent but not transitively dependent on the primary key

35
New cards

Funktionellt beroende P→Q / Functional dependency P→Q

En kolumn (eller kombination) P som unikt bestämmer värdet i en annan kolumn (eller kombination) Q / Column (or combination thereof) P that uniquely decides the value of another column (or combination thereof) Q

36
New cards

BCNF (Boyce-Codd Normal Form)

3NF + om P → Q är P supernyckel till Q / 3NF + if P → Q then Q has P as its superkey

37
New cards

Nyckel / Key

Kombination av kolumner som kan unikt identifiera varje rad i en tabell — syftar vanligtvis på primärnyckeln / Combination of columns that can uniquely identify every row in a table — usually refers to the primary key

38
New cards

Kandidatnyckel / Candidate key

En minimal supernyckel — den kan inte reduceras och förbli en nyckel / A minimal superkey — it cannot be reduced further and remain a key

39
New cards

Surrogatnyckel / Surrogate key

Automatiskt genererad nyckel, vanligtvis ett löpnummer / Automatically generated key, usually a serial number

40
New cards

Primärnyckel PN / Primary key PK

Den valda nyckeln för en tabell — får ej innehålla NULL-fält / The chosen key for a table — NULL fields are forbidden

41
New cards

Alternativnyckel / Alternate key

Nyckel som inte är primärnyckel — kan ha NULL-fält (isf. ej kandidatnyckel) / Key that is not the primary key — may contain NULL fields (thus not a candidate key)

42
New cards

Främmande nyckel FN / Foreign key FK

Kombination av kolumner som unikt identifierar varje rad i en annan tabell / Combination of columns that uniquely identify every row in a different table

NB: Behöver inte vara en nyckel i sin egen tabell / Does not need to be a key to its own table

43
New cards

Supernyckel / Superkey

En nyckel som består av en eller flera kolumner / A key that consists of one or more columns

44
New cards

Trivial supernyckel / Superkey

Supernyckeln av kombinationen av alla kolumner i en databastabell — inte alltid giltig pga. NULL-fält / Superkey created from the combination of every column in a database table — not always valid because of NULL fields

45
New cards

Reflexivitet / Reflexivity (Armstrong)

B⊆A ⇒ A→B

Om B är en delmängd av A så är B funktionellt beroende av A / If B is a subset of A then B är functionally dependent on A

46
New cards

Transitivitet / Transitivity (Armstrong)

A→B ∧ B→C ⇒ A→C

Om A är determinant till B och B till C så bestämmer A även C / If A is the determinant of B and B of C, then A also determines C

47
New cards

Additivitet / Composition (Armstrong)

A→B ∧ A→C ⇒ A→BC

Om A är determinant till B och C separat, bestämmer A även kompositen BC / If A is the determinant of B and C separately, then A also determines the composite BC

48
New cards

Dekomponering / Decomposition (Armstrong)

A→BC ⇒ A→B ∧ A→C

Om A är determinant till kompositionen BC så är A även determinant till B och C separat / If A is a determinant of the composition BC, then A is also the determinant of B and C separately

49
New cards

Augmentering / Augmentation (Armstrong)

A→B ⇒ XA→XB

Om A är determinant till B så är kompositionen XA determinant till kompositionen XB / If A is a determinant of B, then the composition XA is a determinant of XB

50
New cards

Armstrongs axiom / Armstrong’s axioms

51
New cards

Determinant av / of A→B

A bestämmer B / A determines B

52
New cards

Partiellt beroende / Partial dependency

Funktionellt beroende där en äkta delmängd C (en delmängd som inte är den fulla mängden) av A bestämmer B / Functional dependency where a true subset C (a subset which is not the full set) determines B

53
New cards

Fullständigt funktionellt beroende / Full functional dependency

Ett funktionellt beroende där determinanten inte kan dekomponeras och uttrycka ett partiellt beroende / Functional dependency where the determinant can not be decomposed to express a partial dependency

54
New cards

Databasnormalisering / Database normalization

Formulering och design av databas så att redundans (upprepning av information) minimeras och dataintegritet stärks — underhåll underlättas; “snygga till”, “formalisera” databasen / The formulation and design of a database such that redundancy (the repetition of information) is minimized and data integrity is strengthened —maintainability is improved; “tidying up”, “formalizing” a database

55
New cards

Transitivt beroende / Transitive dependency

Ett funktionellt beroende som tillåter applicering av transitivitetaxiomet (A→B ∧ B→C ⇒ A→C) / Functional dependency which allows the use of the axiom of transitivity (A→B ∧ B→C ⇒ A→C)

56
New cards

Referensintegritet / Referential integrity

Varje främmande nyckel ska peka på en existerande post / Each foreign key needs to point to a valid record

57
New cards

Entitetsintegritet / Entity integrity

Alla primärnycklar ska vara unika, identifiera varje rad i sin tabell och inte innehålla NULL-fält (m.a.o.: databasen ska vara en databas) / All primary keys must be unique, identify every row in its table and not contain NULL fields (IOW: the database is required to be a database)

58
New cards

Rollback

Återställning av databas till en tidigare version (förhoppningsvis stabilare) / Restoring a database to an earlier version (hopefully more stable)

59
New cards

Transaktion / Transaction

En eller flera CRUD-operationer på en databas som åstadkommer en uppgift / One or more CRUD operations on a database to complete a task

60
New cards

CRUD

Create, Read, Update, Delete — grundläggande operationer på data inom IT / Basic data operations in IT

61
New cards

ACID (huvudsakliga transaktionsprinciper / primary transaction principles)

Atomicity, Consistency, Isolation, Durability

62
New cards

Atomicity — transaktionsprinciper / transaction principles

Hela transaktionen lyckas eller inte alls (går inte att “reducera”) / Transactions either succeed completely or fail completely (they are “irreducible”)

63
New cards

Consistency — transaktionsprinciper / transaction principles

Databasintegriteten håller både före och efter transaktionen / Database integrity remains intact both before and after a transaction

64
New cards

Isolation — transaktionsprinciper / transaction principles

Transaktioner är oberoende av varandra — inga interaktioner ska finnas / Transactions are independent of each other — no interactions are allowed

65
New cards

Durability — transaktionsprinciper / transaction principles

Alla uppdateringar är permanenta förändringar till databasen, oavsett förhållanden / All updates reflect permanent changes to the database, regardless of circumstances

66
New cards

Concurrency — transaktionsprinciper / transaction principles

Flera transaktioner ska kunna köras samtidigt (från användarens perspektiv) / Multiple simultaneous transactions need to be supported (from user’s perspective)

67
New cards

Dirty data / dirty read

Oförbunden data och läsning av oförbunden data (“uncommitted”) / Uncommitted data and the reading thereof

68
New cards

Inkonsekvent analys / Inconsistent analysis

En läsningsoperation som inte går att upprepa eftersom datan ändrades under transaktionen / A read operation that is not reproducible due to a change in data during the transaction

69
New cards

Fantomproblem / Phantom read

Post i tabell som inte alltid returneras konsekvent p.g.a. concurrency-problem — ex. om data behöver läsas flera gånger av en transaktion och en annan transaktion gör ändringar i mellantiden / Record from a table that is not always returned due to problems with concurrency — e.g. when data needs to be read multiple times by a transaction and another transaction makes changes to the data in the meantime

70
New cards

Lås / Locks

Mekanism för att begränsa tillgång till data i parallella transaktioner / Mechanism for restricting access to data in parallel transactions

71
New cards

Låstyper / Lock types

Läslås (delat lås), skrivlås (exklusivt lås) / Read lock (shared lock), write lock (exclusive lock)

72
New cards

Läslås (delat lås) / Read lock (shared lock)

Lås som tillåter läsning av data och kan ges ut till flera transaktioner samtidigt / Lock that allows for the reading of data and may be given to multiple transactions simultaneously

73
New cards

Skrivlås (exklusivt lås) / Write lock (exclusive lock)

Lås som tillåter läsning och skrivning av data, men blockerar andra transaktioner från både läsning och skrivning / Lock that permits both read and write operations, but blocks other transactions from doing either

74
New cards

Deadlock

Låskedja som inte kan släppas p.g.a. cykliska beroenden / Lock chain that cannot be released due to cyclical dependencies

75
New cards

Tvåfaslåsning / 2-Phase Locking

Låshanteringsstrategi där en transaktion först samlar lås (tillväxtfas) och sedan släpper lås (krympfas), strikt i den ordningen / Lock management strategy where a transaction will first accumulate locks (growth phase) and then release them (shrinking phase), strictly in that order

76
New cards

Timeout — deadlock

Strategi för att hantera deadlock — efter en viss tid avbryts transaktionen / Strategy to handle deadlocks — transaction is cancelled after a certain amount of time has elapsed

77
New cards

Konservativt tvåfaslås / Conservative 2-phase lock — deadlock

Strategi för att hantera deadlock — alla lås transaktionen behöver måste ges ut samtidigt, men kan orsaka svältning / Strategy to handle deadlocks — every lock needed for a transaction must be provided at the same time, but can cause starvation

78
New cards

Stark, strikt tvåfaslås / Strong Strict 2PL (SS2PL) — deadlock

Strategi för att hantera deadlock — alla lås släpps samtidigt i krympfasen / Strategy to handle deadlocks — all locks are released simultaneously during shrink phase

79
New cards

Wait-for-graf / Wait-for-graph — deadlock

Metod för att hitta cykliska låsberoenden m.h.a. matematiska grafer / Method for detecting cyclical lock dependencies using graph theory

80
New cards

Offer / Victim — deadlock

Den transaktion som stoppas och rullas tillbaka i en deadlock-situation — vanligtvis den som orsakar minst arbete / The transaction that is halted and rolled back to break a deadlock — usually the one that causes the least amount of work

81
New cards

Svältning / Starvation — deadlock

Fenomen där samma transaktion alltid offras för att bryta en deadlock — undvik att använda denna / Phenomenon where the same transaction is always designated to break a deadlock — avoid using this one

82
New cards

Tidsstämpling / Time stamping — deadlock

Strategi för att hantera deadlock — alla transaktioner får en tidsstämpel när de startar, och varje dataelement får två tidsstämplar som även visar vilken transaktion som läste och skrev till den sist / Strategy to handle deadlocks — transactions receive a timestamp on activation, and data elements track when a read or write operation was last performed on them and by which transaction

83
New cards

Regler för tidsstämpling / Time stamp rules

En transaktion låser ute alla äldre transaktioner (tidigare påbörjade) från att skriva till data om den läser datan, och att både läsa och skriva om den skriver till datan — utlåst transaktion startas om / A transaction will lock out all older transactions (earlier started) from writing to data while reading it, and from both reading and writing to it while writing to it — a locked out transaction is restarted

84
New cards

DQL

Data Query Language — Språk för hämtning av data / Language for retrieval of data

85
New cards

DCL

Data Control Language — Språk för att styra tillgång av data bland användare / Language for controlling data access amongst users

86
New cards

DDL

Data Definition Language — Språk för skapande och hantering av databaser på hög nivå / Language for the high-level creation and maintenance of databases

87
New cards

DML

Data Manipulation Language — Språk för att hantera och manipulera data i databaser / Language for the handling and manipulation of data in databases

88
New cards

DAC

Discretionary Access Control — SQL: GRANT privileges ON object TO subject [WITH GRANT OPTION]

89
New cards

Anatomi av DAC / Anatomy of DAC

Privilegier / Privileges: CRUD, FK, ALL, role

Objekt / Object: Table, view, domain (data type), etc.

Subjekt / Subject: User, group, role, public

WITH GRANT OPTION: Ge denna behörighet till andra / Give this access to others

90
New cards

Journaling — definition

Metod för att hantera säkerhetskopior — en logg av transaktionsändringar i databasen / Method for handling backups — a log of transaction changes to the database

91
New cards

Journaling — detaljerad förklaring / detailed explanation

  1. BEFORE IMAGE: Protokollför innan transaktionen om / Record before transaction if UPDATE eller / or DELETE används / are used

  2. AFTER IMAGE: Protokollför efter transaktionen om / Record after transaction if UPDATE eller / or INSERT används / are used

92
New cards

Bild / Image — databas

Kopia av databasen och dess innehåll vid ett givet tillfälle / Copy of database and its contents at a given moment

93
New cards

Domän / Domain — begränsningar / constraints

Användardefinierad datatyp / User-defined data type

94
New cards

Assertion — begränsningar / constraints

Regel definierad för hela databasen / Rule defined on the entire database

95
New cards

Trigger — begränsningar / constraints

Event, condition, action — dynamisk kod som kan specificeras för att reagera på händelser i databasen / dynamic code that can be specified to react to database events

96
New cards

Check — begränsningar / constraints

Regel definierad för en enstaka tabell / Rule defined on a singular table

97
New cards

Nivåer — begränsningar / constraints

Domän, generell, företag / Domain, general, enterprise

98
New cards

Domänbegränsning / Domain constraint

Begränsningar på låg nivå — skapandet av domäner (datatyper) och kontroller (checks) på tabellnivå / Low-level constraints — the creation of domains (data types) and putting checks on tables

99
New cards

Generell begränsning / General constraint

Begränsningar på databasnivå — assertions och liknande / High-level constraints at the database level — assertions and the like

100
New cards

Företagsbegränsningar / Enterprise constraints

Regler som är unikt definierade för projektet — utförs med triggers / Project-specific rules — enforced with triggers