zoukankan      html  css  js  c++  java
  • 定义外键和建表原则

    定义外键约束
    1,可以直接在create语句中定义外键

            •foreign key 当前表名 (字段名) references 目标表名 (目标表的主键)

    2,创建完语句后,可以直接使用修改语句定义

            •alter table 表名 add foreign key 当前表名 (字段名) references 目标表名 (目标表的主键);

    * 添加外键
    语法:alter table emp add foreign key 当前表名(dno) references 关联的表(did);
            alter table emp add foreign key emp(dno) references dept(did);
    * 数据库的设计
    * 一对多 生活中一个部门下有多个员工,一个员工属于一个部门。
            在多方需要添加一个字段,并且和一放主键的类型必须是相同的。
            把该字段作为外键指向一方的主键。
                    一方部门
                    多方员工
    * 多对多
            学生可以选择多门课程,课程又可以被多名学生选择。
    建表原则:
    * 拆开两个一对多的关系,中间创建一个中间表,至少有两个字段。作为外键指向两个多对多关系表的主键。
    * 一对一(了解)
    * 公司,地址,一个公司对应的是一个地址。 一张表包含公司名称、公司地址。
    * 根据公司的业务需求,会把公司这张表拆开,形成一对一。
    * 建表原则
            * 主键对应

            * 唯一外键对应

    建表原则:
    •第一种是主键对应

            •将两个表的主键进行关联

    •第二种是唯一外键对应

            •在任何一方加一个外键,但是需要设置成唯一(unique),指向另一方的主键

     

     



  • 相关阅读:
    [bzoj1251]序列终结者
    Codeforces #Round 406(Div.2)
    [3.23校内训练赛]
    [APIO2009]
    [APIO2016]
    [bzoj1901]动态区间k大
    [9018/1904]火星商店
    [bzoj3673/3674可持久化并查集加强版]
    [bzoj1297][SCOI2009]迷路
    [bzoj1218][HNOI2003]激光炸弹
  • 原文地址:https://www.cnblogs.com/jiyaoyu/p/13171713.html
Copyright © 2011-2022 走看看