账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    互联网开发中不用外键到底是个什么意思?
    55
    0

    都说互联网开发尽量不用外键,那么这里的不用外键到底代表的啥意思呢?
    1.这里有一层意思很明确:
    不用外键约束。比如删除一张表中的数据时,如果要级联删除另一张表中关联的数据,以往是由数据库来级联约束的,现在应该将其移到程序中由程序来保持数据的一致性。

    2.另外一层意思:
    外键的定义就是在一个表中的字段是另外一张表中的主键。如果仅按照"不使用外键"这几个字的字面理解,就是要把外键字段抽取出来放在一张中间表中。简单说就是都当成多对多来处理。
    比如

    用户(userid,username)  
    订单(orderid,totalPrice,userid)

    问题1:这里useid就是一个外键,如果不用外键,是否就要设计成这样?

    用户(userid,username)  
    订单(orderid,totalPrice)
    用户-订单中间表(userid,orderid)

    问题2:如果是这样,假如一张表有多个外键,岂不是要有很多中间表?

    翻遍了百度都是说不要用外键,而不是说不用外键约束,所以让我很疑惑,希望各位大大解惑。谢谢了!

    3
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 顏2。baby 普通会员 1楼

      在互联网开发中,外键是指在多对多的关系中,主键和外键之间的关系。外键是用于唯一标识一个或多个表中的一个或多个记录的字段,而主键是用于唯一标识一个或多个表中的唯一记录的字段。

      在数据库设计中,外键是一种重要的设计思想。使用外键可以确保数据库中的数据的一致性和完整性,避免数据冲突和数据丢失。

      在互联网开发中,我们通常不会直接使用外键,因为互联网开发的场景中,通常需要的是简单的数据关联和交互,而不是复杂的数据库操作。例如,如果我们有一个用户表和一个订单表,我们只需要在用户表中添加一个订单ID字段,然后在订单表中添加一个用户ID字段,就可以实现用户和订单之间的关联,而不需要使用外键。

      但是,如果你需要在复杂的关系中使用外键,你可能需要考虑使用外键来实现数据的一致性和完整性,例如在用户表和订单表之间的关系中,用户表中的用户ID字段可以作为外键,用来唯一标识每个用户的订单。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部