Matthew - partial functions aren't allowed if a database is a functor \$$F: \mathcal{C} \to \mathbf{Set}\$$, as it is in my puzzles today. The morphisms in \$$\mathbf{Set}\$$ are functions! But there's another category where the morphisms are partial functions. You are considering a modified concept of database, which is a functor from \$$\mathcal{C}\$$ to that other category. I suppose we could call this a **partial database.** It's a useful concept.