English
Summary
Conclusions
Exposed combines typed Kotlin with the relational model. The quality of a program is determined by keys, explicit transactions, tested queries, and materialization of results. A repository with short JDBC transactions prepares the ground for working with a database in a graphical application.
Self-check questions
- How does a Table description differ from a data row?
- Why must the order of a query be specified explicitly?
- When is leftJoin needed instead of innerJoin?
- How does an exception affect a transaction?
- Why does suspend not make JDBC non-blocking?
- Which tests reveal a foreign key violation?