Chris standing in a field with wildflowers and a cabin in the background.

Visiting Libraries to Understand Databases

February 2025

Panorama of the library at the Arlington Career Center

Background - I <3 Databases

Before I was a teacher, I spent the first (almost) ten years of my career as a data engineer. I love databases. I get a thrill out of organizing lots of little data points into a collection that I can derive knowledge from, using a declarative language for high-level problem solving, and then peeling back the layers to understand and optimize execution.

So I was thrilled this year when I got the opportunity to transfer to Arlington Tech and teach a high-level elective course called Dual Enrolled Database Design and Management. I have a small class of motivated students, and I've had a blast this year coming up with exciting projects to motivate their studies.

This project came at a turning point in our studies - from database design to management. We spent the first portion of the class learning SQL and data modeling, and we were transitioning into a unit about query execution. I wanted my students to gain an appreciation for the fact that there are a lot of different ways to structure a database and to execute a query, and that the exact way a database works might look very different based on the its constraints.

Algorithms to Live By

To introduce this topic, my students read two chapters from the fantastic book Algorithms to Live By, about sorting and caching. Both chapters are friendly introductions to problems that are relevant to databases and that can be solved via a wide variety of algorithms that are each optimized for different constraints. And more appropriately, both used analogies about libraries to motivate their discussion. One story in the book was about the student workers at a university library who are responsible for reshelving returned books - each worker had devised their own system to complete this tedious task, and many had noted huge improvements when they changed strategies.

After this reading, we had a conversation in class about similarities between a library and a database - both organize a lot of information, and need to make that information easily accessible. We made and discussed an ER diagram for a library database to think about all of the information that a library contains.

Field Trips

Our school is positioned in a great location to study libraries! We were able to take walking field trips during class to visit three different libraries:

As a bonus, we:

As we visited each of these libraries, we chatted with librarians about the population their library serves, the time/space/budget constraints that they work under, and how they work within those constraints to do the best they can to serve their users. Our takeaway from this phase of our project was that libraries are very diverse. Here are just a few of our observations:

Recommendations

After these tours, my students (in pairs) each chose a single library to focus on. Their goal was to identify connections between the libraries we visited and the computing problems that we studied, and then to use their knowledge of computing to come up with actionable recommendations for their library. We invited the librarians who we met to our classroom for some presentations and a discussion about the students' recommendations.

Here are a few of the recommendations that students came up with (and links to their full reports):

Takeaways

At the end of this project, we went back to the ER diagrams for a library that they had made at the very beginning. We had a great discussion about how straightforward the data model looked when we first thought about it, and then how complex and varied the actual implementation was at each of the libraries we visited.

Students came out of this activity prepared for our unit about query planning, with a strong intuitive understanding that there might be many different ways to organize a dataset and many different strategies to satisfy a single query, that choosing the optimal strategy can make a huge difference for performance, and that doing so depends on a lot of factors.

Thank Yous

As a teacher, my biggest takeaway from this project was that community engagement is incredibly rewarding. I really appreciated all of the librarians who took the time to meet with my class, engage with my students, and passionately share their knowledge and experience with us. I also learned a lot from workshopping this project with the project-based learning coaches at my school, and the many other colleagues I discussed it with. Thank you to everyone who helped!