繁体   English   中英

链接表和substring_index的命名约定

[英]Naming conventions of linking tables, and substring_index

我有一个名为my_contacts的数据库,由f_name,l_name,位置,兴趣,寻求,性别,地位等项目组成。这是一个学校项目,正在学习mysql。 我创建了表格来拆分项目,例如由m和f组成的性别表; 因为将会有多对一的关系,而我分离的其他关系是寻求,兴趣,地位(已婚,离婚等),兴趣和寻求(朋友,新工作等)。

我非常清楚我的pk都需要什么(我在ea表中创建了一个pk,其命名约定为id_gender,id_status,id_seeking等。

我不清楚要为链接表命名的方式(如果我正确理解的话,它们将从链接的两个表中保存我的外键,是否有任何命名约定或建议?我想到了“ contacts_link_gender”,“ contacts_link_status”之类的东西等

在某处也有关于如何使用mysqls“创建新的eer模型”的好教程,我正在使用murachs最新的mysql书籍,但是尽管一本好书他们倾向于对刚学的人有所帮助,但该教学向我们展示了但他非常简短,而且很关键,我不是程序员,从不希望成为该学位的最后一门课程。

哦,还有一件事,当我采用诸如兴趣之类的字段或使用substring_index对其进行拆分时,我在某些字段(interest_1,interest_2)中被骗了,我不知道如何解决它,我将包含我的子字符串底部的代码再次感谢! 任何建议都欢迎

SELECT  distinct id, 
        first_name, 
        last_name,
        substring_index(location, ' ', 2) as city,
        substring_index(location, ' ',-1) as state,
        substring_index(interests, ' ', 1) as interest_1,
        substring_index(interests, ' ', -1) as interest_2,
        substring_index(seeking, ' ', 3) as seeking_1,
        substring_index(seeking, ' ', -3) as seeking_2
FROM my_contacts…..

为单独的数据创建单独的字段。 不要仅仅因为将事情堆放在一个字段中。

该示例违反了许多规则,尤其是零,一个或无限 规则 ,尤其是大多数数据库规范化规则 ,因此,如果这是一个好的数据库设计,那么我认为阅读这本书对您的危害更大。

对于学术上的MySQL和一般的SQL方法,您可能需要更多地了解如何组织数据的理论,然后通过学习相关的MySQL语句来学习如何应用数据。 CREATE TABLEINSERT INTOSELECT FROM是这里的基础。

在这一点上, Martin Fowler可能对您来说过于紧张,但是您可以通过示例学习适当的规范化技术。 您可以尝试找到有关该主题的一些参考资料

更好的方法可能是将您的架构发布到代码审查站点上,并获得有关您的特定设计的反馈。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM