gpt4 book ai didi

mysql - 您如何处理描述性数据库表名及其对外键名的影响?

转载 作者:可可西里 更新时间:2023-11-01 07:33:50 25 4
gpt4 key购买 nike

我正在研究一个数据库模式,并试图对表名做出一些决定。我喜欢至少有点描述性的名称,但是当我使用建议的外键命名约定时,结果似乎变得荒谬。考虑这个例子:

假设我有一张 table

session_subject_mark_item_info

它有一个引用的外键

sessionSubjectID

session_subjects 

表格。

现在,当我基于 fk_[referencing_table]__[referenced_table]_[field_name] 创建外键名称时,我最终陷入了这种疯狂:

fk_session_subject_mark_item_info__session_subjects_sessionSubjectID

这种类型的外键名称会不会给我带来麻烦,还是这种情况很常见?

此外,更有经验的数据库设计人员如何处理可读性描述性命名与由此产生的长名称之间的冲突?

如果有任何不同,我正在使用 MySQL 和 MySQL Workbench。

更新

在下面收到了我需要的答案,但我想提一下,经过一些测试,我发现 MySQL 确实对 FK 名称的长度有限制。因此,使用我提到的命名约定和描述性表名,意味着在我的数据库中的两个实例中,我必须缩短名称以避免 MySQL 1059 错误

http://dev.mysql.com/doc/refman/5.1/en/error-messages-server.html#error_er_too_long_ident

最佳答案

你为什么关心 FK 名称是什么?您永远不会在代码中看到它们或使用它们。我们还使用 SQL Server 非常描述性地命名我们的表,并且通常有这样的名称。这对我们来说无关紧要,因为我们从未见过他们。他们只是在那里执行数据。

关于mysql - 您如何处理描述性数据库表名及其对外键名的影响?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2544994/

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