Not sure what benefit we'd get from a foreign key (except I guess that we wouldn't have the pillow name in every row which would save some space at the cost of having to do a lookup).

Good point on the pillow / doc_id constraint, I actually don't even use the pillow name when looking up the doc which is definitely a bug.