#3: added unique constraint to controlled vocabularies; added foreign keys (controlled vocabularies) to models