sql中表之间的关系有什么优势?

时间:2012-06-17 16:53:35

标签: php mysql sql relation

我制作了三张桌子 表1 =用户。列名称为用户ID(auto_increment)用户名
表2 =爱好即可。列名称为 hobbyid(auto_increment) hobbyname
表3 = users_hobbies 即可。列名称为 FK_userid FK_hobbyid

现在每当我从html表单中注册新用户和他/她的爱好时,我选择了 从表1和表2生成的相应用户标识和hoobyid 使用查询

将它们插入表3

那么,如果我在表1和表3以及表2和表3之间创建它,那么关系的用途是什么? 相应的用户ID和hobbyid 会自动转到表3 而不使用查询吗?

1 个答案:

答案 0 :(得分:10)

不,用户ID和爱好者不会自动进入任何地方。

关系或主要限制的主要方面是强制数据完整性。这意味着你不应该在user_hobbies表中添加一个包含id 2,2的条目,而不是id为2的用户和id为2的业余爱好。

为了保持这种完整性,您还可以指定级联。 (根据数据库系统,我几乎不使用mysql,所以我不确定)。

这意味着,如果用户本人被删除,您可以指定删除id为1的用户的所有users_hobbies。