STUDY GUIDE · GKU 4
Information management: database systems and data modelling study guide (Computer Science)
A database system is two things at once: a machine that stores, finds and protects data, and a way of describing data so that people and programs agree on what it means. This unit covers both. The first half opens the machine: what the query optimizer, executor, access methods, storage manager and transaction processor each do, how a plan's cost is estimated in page reads, how B+-trees and hash indexes find a row, and how locking and the log keep concurrent work correct and survive a crash. The second half is about description: the main data models and when each fits, ER and UML diagrams and their mapping to tables, relational algebra and SQL, normalisation up to BCNF, and the object-oriented model with its mapping to relations. One small library database runs through the SQL and algebra sections; every SQL result shown was produced by running the statement in SQLite, and the algebra and other numbers were recomputed in Python.
Structured by the official ETEC subject standard for this topic: every listed topic and learning outcome, with formulas, figures and worked examples. The full sections are available to members in the app.
SKU 4.1 · Database systems and data modelling
Inside a DBMS: its components and the path of a query
The parser, query optimizer, query executor, access methods, storage manager and transaction processor: what each one does, in what order a query meets them, and how the optimizer compares plans by their estimated page reads.
Storage, the buffer pool and indexes: B+-trees and hashing
How rows sit in pages, how the buffer pool hides most disk reads, why a B+-tree finds one row among fifty million by descending only three or four index levels (one more read fetches the data page), how it stays balanced as keys are inserted, and when a hash index is the better access method.
Transactions, serializability and concurrency control
What ACID promises, the anomalies that appear when transactions interleave, how a precedence graph decides whether a schedule is conflict-serializable, how two-phase locking enforces it, and what each SQL isolation level allows.
Logging and crash recovery
How the write-ahead log lets the transaction processor undo unfinished transactions and redo committed ones after a crash, why the buffer policy decides which of the two is needed, and how a checkpoint limits the work.
Data models compared: hierarchical to NoSQL, and distributed data
The hierarchical, network, relational, object-oriented, object-relational, document, key-value, wide-column and graph models: how each one structures data and expresses relationships, what each is good at, and what changes when data is replicated and partitioned across machines.
ER and UML modelling and the mapping to tables
The constructs of an entity-relationship diagram and their UML equivalents, how to read cardinality and participation, and the rules that turn every construct into tables, keys and foreign keys.
The relational model and relational algebra
Relations, domains, keys and integrity constraints; the operators of relational algebra and the sizes of their results; and how a question in words becomes an algebra expression, including "for every" questions answered by division.
SQL: joins, grouping, subqueries and changes
Declarative querying on the library database: the order in which a query is evaluated, inner and outer joins, GROUP BY and HAVING, correlated and uncorrelated subqueries, NULL and three-valued logic, and the data-changing statements.
Functional dependencies and normalisation to BCNF
Why some tables misbehave on update, how functional dependencies and closures find the candidate keys, the tests for 2NF, 3NF and BCNF, and how to decompose without losing information, including the case where BCNF costs a dependency.
The object-oriented data model and its mapping to relations
Objects with identity, structured and collection attributes, references and inheritance; how an object database is queried by navigation; and the standard ways to map classes, collections and hierarchies onto tables, with what each costs.
MORE COMPUTER SCIENCE GUIDES
- Programming languages study guideGKU 7 · 11 sections
- Algorithms, computability and complexity study guideGKU 1 · 11 sections
- Discrete structures study guideGKU 3 · 9 sections
- Software engineering study guideGKU 8 · 6 sections
- Computer architecture and organization study guideGKU 2 · 12 sections
- Operating systems study guideGKU 6 · 13 sections
- Networking study guideGKU 5 · 10 sections