Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/10.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_Database_Database Design - Fatal编程技术网

Mysql 数据一致性和使用会话而不是外键和关系

Mysql 数据一致性和使用会话而不是外键和关系,mysql,database,database-design,Mysql,Database,Database Design,我有一个包含15个表的数据库,这些表通过不同的关系相互连接 主表是登录表: login_id user_name user_pass area_id area_id意味着每个区域都有自己的用户和密码,因此我们可以确定每个操作发生在哪个区域 现在,我可以在会话中保存area_id(因为后端语言是PHP)并将其添加到没有关系的每个表中,而不是将所有15个表连接到具有1对多关系且area_id是外键的登录表中 现在,user_info表包含: name address phone mot

我有一个包含15个表的数据库,这些表通过不同的关系相互连接

主表是登录表:

login_id

user_name

user_pass

area_id
area_id意味着每个区域都有自己的用户和密码,因此我们可以确定每个操作发生在哪个区域

现在,我可以在会话中保存area_id(因为后端语言是PHP)并将其添加到没有关系的每个表中,而不是将所有15个表连接到具有1对多关系且area_id是外键的登录表中

现在,user_info表包含:

name

address

phone

mother_name

contact

alternative_contact

area_id
但在这里,该表并没有直接连接到登录表,但它包含一个类似的字段area_id,它的值是从会话中添加的,因此我们现在可以创建一个查询,如下所示:

SELECT something FROM login JOIN user_info WHERE user_info.area_id = login.area_id

这会使数据一致吗?还是应该将登录表与所有其他表连接起来?

在DB理论中,关系是由表表示的数学结构,而不是表之间的连接。FK约束是完整性约束,没有规定如何连接表。是的,我知道,所以我的方面是正确的。
其中user\u info.area\u id=login。area\u id
是一个“关系”或“连接”,无论您是否使用外键,甚至索引。