The entire database is handled in MySQL. The data is roughly organized in parallel with the main application classes: Manuscript/Calendar metadata, Calendar Entries, and Saints. Each of these tables is normalized, for example elements like color and rank are external to the calendar_entries table with a linking table calendar_color_entries. Several tables hold shared normalized data, for example location is shared by 3 columns from manuscript and one from calendar.
From these tables are several complex views which are the usual way of accessing data. The views partially denormalize the tables into something more closely matching the classes of the app. Of the various views the most useful are calendar_manuscript and calendar_color_entries, which itself is built from the calendar_colors_extended. The calendar_manuscript table combines the relevant metadata from both the manuscript and calendar tables and de-normalizes the various geographic location fields (manuscript.use, calendar.use, manuscript.source, and manuscript.location) and the url.