Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/60.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 链接表和子字符串索引的命名约定_Mysql_Indexing_Substring_Naming - Fatal编程技术网

Mysql 链接表和子字符串索引的命名约定

Mysql 链接表和子字符串索引的命名约定,mysql,indexing,substring,naming,Mysql,Indexing,Substring,Naming,我有一个名为my_contacts的数据库,由以下项目组成:f_姓名、l_姓名、位置、兴趣、寻求、性别、身份等。这是一个学校项目,我正在学习mysql。我创建了一些表格来拆分项目,比如由m和f组成的性别表;因为这将是一种多对一的关系,而我分离出来的其他关系是寻求、兴趣、地位(已婚、离婚等)、兴趣和寻求(朋友、新工作等) 我非常清楚我的pk都需要是什么(我在ea表中创建了一个pk,其中包含id_性别、id_状态、id_查找等命名约定) 我不清楚的是如何命名我的链接表(如果我理解正确,链接表将保存它

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

我非常清楚我的pk都需要是什么(我在ea表中创建了一个pk,其中包含id_性别、id_状态、id_查找等命名约定)

我不清楚的是如何命名我的链接表(如果我理解正确,链接表将保存它们链接的两个表中的外键,是否有命名约定或建议?我想到了“联系人链接性别”、“联系人链接状态”等

还有关于使用mysqls“创建新的eer模型”的好教程吗,我正在使用Murach最新的mysql书籍,虽然这是一本好书,但他们往往会给刚刚学习的人留下很多东西,教书给我们看,但他非常简短,切中要害,我不是一个程序员,从来都不想成为,但这是该学位的最后一门课程之一

哦,还有一件事,当我获取诸如兴趣或查找之类的字段并使用子字符串索引将它们拆分时,我的一些字段(兴趣\u 1,兴趣\u 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 TABLE
INSERT INTO
SELECT FROM
是这里的基础

在这一点上,对您来说可能有点过于激烈,但您可以通过示例学习适当的规范化技术。您可以尝试并找到一些


更好的方法可能是发布您的架构,并获得您特定设计的反馈。

请避免使用文本墙。段落!偶尔呼吸一下。必须编辑文本墙太难阅读。我稍后将发布架构,不,我不是将字段放在一起,而是将它们分开,即:在“朋友,摩托车”变成了兴趣1“朋友”兴趣2“摩托车"。我完全理解创建表、插入、选择自、位置、订购方式等。我想你误解了我的帖子。如果你没有将它们放在一起,那么你不清楚为什么需要
子字符串\u INDEX
。在插入数据库之前,应该在应用程序中完成这类操作。这是一个教学练习,我们不是c创建数据库,只是学习如何操作数据。为了把东西放在一起,我将使用CONCAT comd,我将像“city,st”这样的东西拆分成2列,当前的练习是将它们拆分,创建一个包含所有城市的表,然后创建一个链接表(练习都是关于fk/pk的)除此之外,我不能告诉你为什么他们会这样做,如果我们得到一份工作,也许会教我们修改现有的数据库。我的?关于子字符串索引与为什么我在某些列中被复制有关,我看不到发布原始的My_联系人代码会有帮助,因为整个代码都是给我们的,这有帮助吗?我将离开我将把这个问题分为几个独立的问题,显然一篇文章中的问题太多了