1/105
Name | Mastery | Learn | Test | Matching | Spaced |
---|
No study sessions yet.
Grad / Degree
Antal kolumner i en tabell / Number of columns in a table
∪ 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 😃 🥣
∩ 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 ☹ 🔒
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
SQL DDL (Database Definition Language): operatorer / operators
CREATE, ALTER, DROP, TRUNCATE, COMMENT, RENAME
DML (Database Management Language): operatorer / operators
INSERT, SELECT, UPDATE, DELETE
Observation: Typisk CRUD / Typical CRUD (create, read, update, delete)
Mängdoperatorer / Set operators
∪, ∩, \ — Union, snitt, differens / Union, intersection, difference
Förvillkor för mängdoperatorer på tabeller — unionskompatibilitet / Preconditions for set operators on tables — union compatibility
Grad A = Grad B / Degree A = Degree B
typeof(A.n) = typeof(B.n) (samma domän / same domain)
DBMS (Database Management System)
Mjukvara för att tillämpa databasteori / Software for implementing database theory
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
Relationsdivision / Relational division (implementation)
Mönster / Pattern:
...
WHERE NOT EXISTS
--(...
--WHERE NOT IN
----(...))
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)
Microsoft Access-underligheter / Microsoft Access quirks
Saknar INTERSECTION- och EXCEPT-operatorer / Lacks INTERSECTION and EXCEPT operators
CREATE VIEW används ej (frågor namnges direkt) / CREATE VIEW is not used (queries are explicitly named)
COUNT DISTINCT stöds ej / COUNT DISTINCT not supported
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
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
Relationsalgebra / Relational algebra: WHERE (condition) = ?
σcondition — selektion / selection
Minnesknep: σ (sigma) ser ut som en pekande hand ☛ / Mnemonic: σ (sigma) looks like a pointing hand ☛
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 ☛
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)
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)
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
Relation R
Tabell / Table
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
Rad / Row
Post, tupel / Record, tuple
Kolumn, kolonn / Column
Attribut, fält / Attribute, field
Join ⋈
Sammanslagning av två relationer / The merging of two relations
Join ⋈: typer / types
Theta, equi, naturlig / natural
Theta-join
R1 ⋈θ R2,
θ (theta) är ett godtyckligt villkor / is an arbitrary condition
Equi-join
Theta-join (θ) där θ-villkoret är likhet = / where the θ condition is equality =
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
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
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
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
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
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
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
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
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
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
Surrogatnyckel / Surrogate key
Automatiskt genererad nyckel, vanligtvis ett löpnummer / Automatically generated key, usually a serial number
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
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)
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
Supernyckel / Superkey
En nyckel som består av en eller flera kolumner / A key that consists of one or more columns
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
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
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
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
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
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
Armstrongs axiom / Armstrong’s axioms
Determinant av / of A→B
A bestämmer B / A determines B
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
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
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
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)
Referensintegritet / Referential integrity
Varje främmande nyckel ska peka på en existerande post / Each foreign key needs to point to a valid record
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)
Rollback
Återställning av databas till en tidigare version (förhoppningsvis stabilare) / Restoring a database to an earlier version (hopefully more stable)
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
CRUD
Create, Read, Update, Delete — grundläggande operationer på data inom IT / Basic data operations in IT
ACID (huvudsakliga transaktionsprinciper / primary transaction principles)
Atomicity, Consistency, Isolation, Durability
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”)
Consistency — transaktionsprinciper / transaction principles
Databasintegriteten håller både före och efter transaktionen / Database integrity remains intact both before and after a transaction
Isolation — transaktionsprinciper / transaction principles
Transaktioner är oberoende av varandra — inga interaktioner ska finnas / Transactions are independent of each other — no interactions are allowed
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
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)
Dirty data / dirty read
Oförbunden data och läsning av oförbunden data (“uncommitted”) / Uncommitted data and the reading thereof
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
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
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
Låstyper / Lock types
Läslås (delat lås), skrivlås (exklusivt lås) / Read lock (shared lock), write lock (exclusive lock)
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
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
Deadlock
Låskedja som inte kan släppas p.g.a. cykliska beroenden / Lock chain that cannot be released due to cyclical dependencies
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
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
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
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
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
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
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
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
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
DQL
Data Query Language — Språk för hämtning av data / Language for retrieval of data
DCL
Data Control Language — Språk för att styra tillgång av data bland användare / Language for controlling data access amongst users
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
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
DAC
Discretionary Access Control — SQL: GRANT privileges ON object TO subject [WITH GRANT OPTION]
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
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
Journaling — detaljerad förklaring / detailed explanation
BEFORE IMAGE: Protokollför innan transaktionen om / Record before transaction if UPDATE eller / or DELETE används / are used
AFTER IMAGE: Protokollför efter transaktionen om / Record after transaction if UPDATE eller / or INSERT används / are used
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
Domän / Domain — begränsningar / constraints
Användardefinierad datatyp / User-defined data type
Assertion — begränsningar / constraints
Regel definierad för hela databasen / Rule defined on the entire database
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
Check — begränsningar / constraints
Regel definierad för en enstaka tabell / Rule defined on a singular table
Nivåer — begränsningar / constraints
Domän, generell, företag / Domain, general, enterprise
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
Generell begränsning / General constraint
Begränsningar på databasnivå — assertions och liknande / High-level constraints at the database level — assertions and the like
Företagsbegränsningar / Enterprise constraints
Regler som är unikt definierade för projektet — utförs med triggers / Project-specific rules — enforced with triggers