@classmethod
def define(cls, colnames, constraint_names=[], comment=None, annotations={}):
    """Build a key definition."""
    if not isinstance(colnames, list):
        raise TypeError('Colnames should be a list.')
    return {'unique_columns': list(colnames), 'names': constraint_names,
        'comment': comment, 'annotations': annotations}
