Database design 查找表的系统对象建模

Database design 查找表的系统对象建模,database-design,tags,schema,lookup-tables,data-modeling,Database Design,Tags,Schema,Lookup Tables,Data Modeling,我正在创建对象查找表,但不确定究竟要调用什么对象。这是一个社交网络。我知道照片、视频、状态等都是对象,但帐户设置、邮件文件夹、邮件附件、错误消息等又如何呢?像“标签”之类的东西是指一个对象本身,还是仅当我们将它与照片标签、视频标签、人物标签等结合起来时 我们是使用system对所有对象1到1进行建模,还是使用父对象和子对象进行查找?如果您引用的是数据库架构,您应该这样想 如果两个错误在语义上相同(即“foo”==“foo”),则可以将其转换为查找表。如果两个名称在语义上不相同,即使它们具有相同的

我正在创建对象查找表,但不确定究竟要调用什么对象。这是一个社交网络。我知道照片、视频、状态等都是对象,但帐户设置、邮件文件夹、邮件附件、错误消息等又如何呢?像“标签”之类的东西是指一个对象本身,还是仅当我们将它与照片标签、视频标签、人物标签等结合起来时


我们是使用system对所有对象1到1进行建模,还是使用父对象和子对象进行查找?

如果您引用的是数据库架构,您应该这样想

如果两个错误在语义上相同(即“foo”==“foo”),则可以将其转换为查找表。如果两个名称在语义上不相同,即使它们具有相同的值(即“john”==“john”,但人员不同),也不应该使用查找表

对于标记之类的东西,您可能希望使用查找表,但如果用户将输入它们,则最好将它们作为字符串保留在数据库中。查找表最适合用于大型对象(以减少存储)或不经常更改的值。这是有例外的,但这是一个很好的经验法则

这有意义吗


Erick

查找表仅用于存储系统拥有的对象列表,而不是对象的实际用户内容。这些都存储在各自独立的表中,如用户照片、用户视频等。但它们都需要链接到父对象表,以便我可以提取用户对象的分析。因此,对象查找表将只有对象id和对象。但我不确定对象的深度应该有多深,因为照片是一个对象,但照片标签可以是一个对象,照片评论可以是一个对象,照片推荐可以是一个对象。或者我们的模型是评论、照片、推荐是分开的吗?还有,如果我们不使用查找表,并且数据必须是站点的固定列表项,我们如何存储变化很大的数据?我认为所有受限制的用户输入都应该是基于查找的,无论它是否改变?