gpt4 book ai didi

mysql - 数据模型。 ¿Pluralize or not pluralize the names of the tables?

转载 作者:行者123 更新时间:2023-12-01 00:39:33 26 4
gpt4 key购买 nike

大家好。每当我开始为任何应用程序开发新数据模型时,我都会遇到同样的问题:

表名复数方便吗?

表存放的地方,比如users;你会叫“Users”还是“User”?

我没有复数化,因为有了这个数据模型,我就为 ORM 生成了实体,似乎更正确实例化一个新的“用户”,一个新的“用户”。

我想知道考虑一下

大家好!

最佳答案

我想这完全取决于您实际要将数据库用于什么目的:

I do not pluralize, because with this data model, I then generated entities for ORM and it seems more correct to instantiate a new 'User' that a new 'Users'.

但除了sql之外,你没有提供太多关于你使用哪种语言、哪种框架、哪些工具的信息。

我通常说最好是符合框架或ORM的标准,比如.NET Entity Framework中的表是generated with a singular notation映射到这些表的类名也是单数,而在 Ruby on Rails ActiveRecord 中它们是 generated pluralized在数据库中,但映射类是单一的。

我认为没有更好的方法,但是,如果您的应用程序的数据比应用程序本身更重要(例如,我们最终可能会从该框架或语言迁移到完全不同的东西),或者如果有如果其他人直接在数据库上工作(做报告的人、DBA 的、分析师等),那么我建议您将表格设为复数形式,因为数据库人员 更热衷于以这种方式使用它。

如果您认为在数据库级别复数化是有意义的,users表可能会有多个用户,依此类推。如果您不打算存储多个具有相同结构的记录,为什么要以表格方式存储数据?复数化更有意义。

如果你用X 语言创建一个数组类型的数据,比方说,对于用户来说,你不叫它user你叫它users可能,因为它可能包含多个,即使您最初只在上面存储一个东西。

这就是我为什么将表名复数化是一个好方法的原因,此外,如果复数化打破了惯例,您几乎总是可以在 ORM 中设置映射,这样您就可以设置 User类映射到 users例如表。

更新: here is another good discussion在 StackExchange 的 DBA 上,他们提出了关于联合协会的观点

关于mysql - 数据模型。 ¿Pluralize or not pluralize the names of the tables?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36726241/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com