01dAvoid

Database Management

Mick McQuaid

University of Texas at Austin

28 Apr 2026

What will we avoid learning?

database administration

  • Database administrators are well-paid specialists who manage databases
  • When you attempt to reserve plane tickets and the system says “Please wait …”, it is the database administrator trying to minimize the “Please wait …” time
  • SQL is a declarative language, meaning you describe what you want, not how to do it
  • The database administrator figures out how to do it
  • You need advanced courses to become a database administrator

database security

  • Adversaries try to break into databases all the time
  • One popular family of attacks is SQL injection
  • That means trying to subvert a SQL query by inserting malicious code into it
  • We’re not going to learn about that here

use of ancillary tools like database visualisers

  • Most database management systems, including SQLite, have self-explanatory GUIs
  • We don’t need to learn how to use a GUI to work with databases because it’s really obvious
  • We will use the command line instead, which is often the only way available

pecularities of operating systems like Windows or macOS or Linux

  • You can greatly improve your use of SQLite by learning about the operating system
  • I have a series of webpages (and eventually videos) about this
  • But we will not be doing that here

client-server database systems like PostgreSQL or MySQL

  • Many database classes use a client-server system like PostgreSQL or MySQL
  • These are more complex to set up
  • You will rarely do the set up in the workplace, so I don’t think it’s worth it to learn how to set them up
  • SQLite requires no set up except to install it (and even then, that’s only needed on Windows—on macOS and Linux, it’s already there)

advanced SQL features like window functions or recursive queries

  • There are many advanced SQL features that are not needed for basic database work
  • Most of the SQL queries you will write in this class will be simple
  • We just don’t have time to get into advanced SQL features and only a subset of you will use them

data warehousing

  • Data warehousing is a specialized area of database management
  • It is used to store data for analysis and reporting
  • It stores data in a way that is not optimized for transaction processing
  • You can actually take a separate class in data warehousing in many universities

NoSQL databases

  • Historically, a group of database developers decided they didn’t like SQL
  • They initially created databases that would not use any SQL at all
  • They called these “NoSQL” databases
  • Market pressure forced them to adopt some SQL features and change the name to mean “Not Only SQL” instead of “No SQL”
  • They typically require programming expertise for practical use
  • They can be optimized for specific use cases like document storage or key-value storage
  • And they work best in these special cases

data intensive applications

  • Many contemporary applications are “data intensive” rather than “compute intensive”
  • There’s a great book you can read about this, Kleppmann (2017)
  • But it’s beyond the scope of this class

END

References

Kleppmann, Martin. 2017. Designing Data-Intensive Applications. O’Reilly.

Colophon

This slideshow was produced using quarto

Fonts are Roboto, Roboto Light, and Victor Mono Nerd Font