Yes as long as the field is the primary key as you said it would be. The reason is because if you insert duplicate data those rows will be readonly. If you try to delete one of the rows that are duplicated. it will not work because the server will not know which row to delete.
Yes, it's certainly good design to design a table in such a way as to make it most efficient. "Bad RDBMS Design" is usually centered around inefficiency.
但是,我发现单列设计的大多数情况下都可以从额外的列中获益。例如,州代码通常可以在第二列中输出 Full State 名称。或者黑名单可以有相关的笔记。但是,如果您的设计真的不需要这些信息,那么使用单列完全没有问题。
All my tables have at least four tech fields, serial primary key, creation and modification timestamps, and soft delete boolean. In any blacklist, you will also want to know who did add the entry. So for me, answer is no, a table with only one column would not make sense except when prototyping something.