如果 table 想要满足 1NF,列值可以包含空格吗?

Can a column value contain spaces if a table wants to satisfy 1NF?

我目前正在学习数据库设计并且遇到了数据库规范化及其规范化阶段。

我知道为了使 table 满足 1NF,所有列值都必须是原子的。但是,假设我们有一个学生 table 是这样的:

id | first_name | last_name | country_of_origin

对于一个条目,我可以有一个具有以下属性的学生:

1 | John | Doe | Japan

列都是单个单词,因此值被认为是原子的。但是,包含空格的单词呢,比如:

1 | John | Doe | United States of America

“美利坚合众国”是一个被认为是原子术语的术语吗?我的意思是,从技术上讲,您可以将其缩短为 USA,但是像巴布亚新几内亚这样的国家,在构建该词时必须使用空格吗?我得到像“Japan, Brazil, Canada”这样的逗号分隔字符串在这种情况下不被认为是原子的。

那么,在数据库设计中哪些被认为是原子值,哪些不是?

在你的情况下 Country_of_origin 大概是指一个国家。美利坚合众国是一个国家的名称。所以数据字段包含单个项目,因此在这个词的意义上是原子的。如果不参考底层主题,您不能总是弄清楚给定字段的原子性。