草庐IT

Relational

全部标签

sql - 在单个查询中从他们的 ID 获取相关数据的最佳方法是什么?

我有一个表,其中每一行都有一些字段,这些字段具有与其他表中的一些其他数据相关的ID。假设它叫做people,每个人都有一个city、state和country的ID.所以会有另外三个表,cities、states和countries,每个表都有一个ID和一个名称。当我选择一个人时,获取城市、州和国家的姓名的最简单方法是什么在单个查询中?注意:我知道这可以通过联接实现,但是由于有更多相关表,嵌套联接使查询难以阅读,我想知道是否有更简洁的方法。此人也应该可以将这些字段留空。 最佳答案 假设下表:createtablePeople(IDi

mysql - GraphDatabase (Neo4J) vs Relational database (MySql) - 查询特定表的特定列

当查询要在特定表和特定列中搜索特定数据时,关系数据库(如MySql)是否比图数据库(如Neo4j)表现更好?例如,如果查询是:“搜索在巴黎发生的所有事件”。为简单起见,我们假设MySql有一个Event表,该表在“City”上有一个索引来优化这种查询。Neo4j怎么样?有人可能会认为图形数据库必须遍历所有图形才能检索相关事件......但是,可以使用Neo4j创建一些索引,因为它的文档很精确。为什么RDMBS对于这种分析/统计请求会比它更快? 最佳答案 正如您已经提到的:您将为此目的创建索引。Neo4j中的默认索引提供程序是luce

sql - 存储(和访问)历史记录的最佳方式是什么 1 :M relationships in a relational database?

假设的例子:我有汽车和车主。每辆汽车在给定时间属于一个(并且只有一个)车主,但所有权可以转让。车主可以在任何时候拥有零辆或多辆汽车。我想要的是将历史关系存储在MySQL数据库中,以便在给定任意时间时,我可以查找当前的汽车分配给车主。即在时间X(X可以是现在或过去的任何时间):谁拥有汽车Y?所有者Z拥有哪些汽车(如果有)?在SQL中创建M:N表(带有时间戳)非常简单,但我想避免相关子查询,因为该表会变大(因此性能会受到影响)。有任何想法吗?我觉得有一种方法可以通过将这样的表与自身连接起来来做到这一点,但我对数据库的经验并不丰富。更新:我想避免在每行中同时使用“start_date”和“e

mysql - 如何检索存储在多行中的 "dynamic"属性作为正常记录?

我有一个建立在关系型MySQL数据库上的系统,允许人们存储“线索”的详细信息。此外,人们可以创建自己的列来存储数据,然后在添加新帐户时可以在其下添加数据。表结构如下所示:LEADS-id,email,user_idATTRIBUTES-id,attr_name,user_idATTR_VALUES-lead_id,attr_id,value,user_id显然,在这些表中,“user_id”指的是“用户”表,其中仅包含可以登录系统的人员。我正在编写一个函数来输出潜在客户详细信息,目前只是将基本的潜在客户详细信息作为查询提取,然后提取与该潜在客户关联的每个属性值(加入属性表以获取名称),

mysql - 删除 MySQL 中关系位置的记录?

我正在尝试清理存储在MySQL表中的记录。如果某行包含%X%,我需要删除该行及其紧下方的行,无论内容如何。例如。(抱歉,如果该表侮辱了任何人的智慧):|1|leavealone|2|Contains%X%-Delete|3|Thisrowshouldalsobedeleted|4|leavealone|5|Contains%X%-Delete|6|Thisrowshouldalsobedeleted|7|leavealone有没有办法只使用几个查询来做到这一点?或者我是否必须先执行一个SELECT查询(使用%x%搜索参数)然后遍历这些结果并执行DELETE...WHERE为返回的每个索

mysql - phpMyAdmin - 错误 : relational features are disabled

当我想使用phpMyAdmin4.3.8在设计器模式下创建两个表之间的关系时,它给我一个错误消息:错误:关系功能被禁用!当我用4.1.4尝试时,它工作得很好。我似乎无法找到我应该在哪里更改设置以便能够在设计器模式下创建关系。任何想法?提前致谢! 最佳答案 将您的表/数据库引擎转换为InnoDB使用ALTERTABLEtable_nameENGINE=InnoDB; 关于mysql-phpMyAdmin-错误:relationalfeaturesaredisabled,我们在StackOv

ios - "Core Data is not a relational database."为什么知道这一点很重要?

我知道这对很多人来说可能是常识,所以如果这看起来像一个愚蠢的问题,我们深表歉意。我正在尝试学习iOS编程的核心数据,我反复阅读和听到它说核心数据(CD)不是关系数据库。但很少有人谈到这一点,或者为什么了解学术意义之外的知识很重要。我的意思是至少在功能上,您似乎可以将CD当作大多数事情的数据库来使用-存储和获取数据、运行查询等。从我对它的非常基本的理解来看,我真的看不出它与数据库。我并不是在质疑这种区别很重要这一事实。相信很多聪明人不会在这一点上浪费时间,如果不是理解有用的话。但我希望有人能解释一下——最好是举例说明——CD不是关系数据库如何影响我们使用它的方式?或者,如果我没有被告知C

ios - "Core Data is not a relational database."为什么知道这一点很重要?

我知道这对很多人来说可能是常识,所以如果这看起来像一个愚蠢的问题,我们深表歉意。我正在尝试学习iOS编程的核心数据,我反复阅读和听到它说核心数据(CD)不是关系数据库。但很少有人谈到这一点,或者为什么了解学术意义之外的知识很重要。我的意思是至少在功能上,您似乎可以将CD当作大多数事情的数据库来使用-存储和获取数据、运行查询等。从我对它的非常基本的理解来看,我真的看不出它与数据库。我并不是在质疑这种区别很重要这一事实。相信很多聪明人不会在这一点上浪费时间,如果不是理解有用的话。但我希望有人能解释一下——最好是举例说明——CD不是关系数据库如何影响我们使用它的方式?或者,如果我没有被告知C

sqlite - 如何访问 SQL 脚本中最后插入的行 ID?

我正在使用SQLite,我有一个属性表和一个子属性表。每个子属性都使用fkPropertyId列指向其父属性。现在,为了创建初始数据库,我有一个看起来像这样的脚本:INSERTINTOpropertyVALUES(1,.....);INSERTINTOpropertyVALUES(2,.....);INSERTINTOpropertyVALUES(3,.....);INSERTINTOsubpropertyVALUES(1,.....,3);INSERTINTOsubpropertyVALUES(2,.....,3);INSERTINTOsubpropertyVALUES(3,....

sqlite - 如何访问 SQL 脚本中最后插入的行 ID?

我正在使用SQLite,我有一个属性表和一个子属性表。每个子属性都使用fkPropertyId列指向其父属性。现在,为了创建初始数据库,我有一个看起来像这样的脚本:INSERTINTOpropertyVALUES(1,.....);INSERTINTOpropertyVALUES(2,.....);INSERTINTOpropertyVALUES(3,.....);INSERTINTOsubpropertyVALUES(1,.....,3);INSERTINTOsubpropertyVALUES(2,.....,3);INSERTINTOsubpropertyVALUES(3,....