- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
大家好。每当我开始为任何应用程序开发新数据模型时,我都会遇到同样的问题:
表名复数方便吗?
表存放的地方,比如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/
大家好。每当我开始为任何应用程序开发新数据模型时,我都会遇到同样的问题: 表名复数方便吗? 表存放的地方,比如users;你会叫“Users”还是“User”? 我没有复数化,因为有了这个数据模型,我
我在我的 Rails 6 应用程序中使用葡萄牙语并且想使用复数。 所以我将葡萄牙语规则添加到我的词形变化中。 ( https://gist.github.com/mateusg/924574 ) 单词
我正在尝试使用 weblate 自托管包(MaxOs Docker,对其进行测试)来管理我对 iOS 和 Android 应用程序的翻译。我看到多元化是可能的,但我还没有找到将这些添加到项目中的方法。
我的程序应该是 编写一个程序,根据以下规则接受名词并形成其复数形式: 如果名词以“y”结尾,则删除“y”并添加“ies”。 如果名词以“s”、“c”、“ch”或“sh”结尾,请添加“es”。 在所有其
我们在映射中使用了 minimal_english 词干过滤器。这是为了确保只有单数和复数是可搜索的,而不是相似的词。例如。 Test 和 Tests 应该在输入词条时可搜索 - Test - 但是
我一直在尝试在 Android 中使用复数资源,但没有成功。 这是我的复数资源文件: 1 meter
是否有可能将 NSNumberFormatter 与 stringsdict 中的复数规则一起用于 NSNumber 格式化? 我需要下一个带有格式化数字(分开千位)。如果我使用 NSNumberFo
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the
如何格式化通过属性“count”传递给 ng:pluralize 指令的数字? 考虑以下代码: 输出是: 5000000 things 我如何修改它的输出为: 5,000,000 things
不知道为什么这决定停止工作。 customer_controller.rb redirect_to customers_url, notice: pluralize(@impo
也就是说,对于任何字符串 string,以下是否成立? string.pluralize == string.pluralize.pluralize 最佳答案 pluralize 不是幂等的。我可以通
枚举指南很明确... Do use a singular name for an enumeration, unless its values are bit fields. (来源:http://m
如果我决定为我的所有路线名称使用复数形式,但某些资源仅作为一个东西存在,您是否将其保持为单数(更直观)或尊重使用复数的决定并保持这种方式? 我们正在用 PHP 为我们的客户门户网站设计一个新的 API
这个问题在这里已经有了答案: Singular or plural controller and helper names in Rails (9 个回答) 4年前关闭。 如果我正在生成一个 Cont
我见过的所有 Angular 示例都使用文字“when”参数演示了 ng-pluralize: 是否可以使用范围变量作为 when 属性?例如: 其中 $scope.things 设置为 {'on
是否有此命令的复数形式,以便我可以输入要添加的 child 列表? 有点像: addChildren(myNodeABC, myNodeXYZ, myNode123) 最佳答案 写一个扩展来做到这一点
我正在为非英语用户构建应用程序。现在,我使用英语名词来命名我的模型,但我更喜欢使用荷兰本土名词。由于约定使用表类名称的复数形式,我假设它是 Rails 中的复数方法(我不知道它位于何处)。如何更改 p
我希望在运行 1:1 和 N:N 关系的 child 中设置一个有效条件,就像这个例子 1:1 // Find all projects with a least one task where tas
所以我正在浏览 ngPluralize指令示例正是我所需要的,但我想知道是否有可能将其转换为 ng 工厂服务中的 Javascript 函数。 如果我有一个可以传递字符串的服务并且该服务可以检查字符串
我的 Django 模板中有以下循环: {% for item in state.list %} HTML (CUSTOMERS BY STATE) {% if forl
我是一名优秀的程序员,十分优秀!