Mysql 数据一致性和使用会话而不是外键和关系
我有一个包含15个表的数据库,这些表通过不同的关系相互连接 主表是登录表: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
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
是一个“关系”或“连接”,无论您是否使用外键,甚至索引。