zoukankan      html  css  js  c++  java
  • MySQL(外键变种)

    day58

    外键的变种
            
            a. 用户表和部门表
            
                用户:        不唯一
                    1 alex     1
                    2 root       1
                    3 egon       2
                    4 laoyao   3
                    
                部门:
                    1 服务
                    2 保安
                    3 公关
                ~~~~~~~一对多    (不同用户可以属于同一个部门)
            b. 用户表和博客表
                用户表:
                    1 alex     
                    2 root        
                    3 egon        
                    4 laoyao    
                博客表:
                                      FK() + 唯一  使用上节的唯一索引方式 (如身份证)
                    1   /yuanchenqi/   4
                    2    /alex3714/      1
                    3    /asdfasdf/       3
                    4    /ffffffff/              2
                 ~~~~~~~~~一对一   一个博客对应于一个用户

    以上形式可以只给部分用户设置密码,而且不会产生多余空格,减少空间占用。

    多对多形式

            c. 用户表(百合网) 相亲记录表
            
                示例1:
                    用户表
                    相亲表
                    
                示例2:
                    用户表
                    主机表
                    用户主机关系表


                 ~~~~~~~~~~~~~~~~~~多对多
        
                    create table userinfo2(
                        id int auto_increment primary key,
                        name char(10),
                        gender char(10),
                        email varchar(64)
                    )engine=innodb default charset=utf8;
     
                    create table host(
                        id int auto_increment primary key,
                        hostname char(64)
                    )engine=innodb default charset=utf8;
     
     
                    create table user2host(
                        id int auto_increment primary key,
                        userid int not null,
                        hostid int not null,
                        unique uq_user_host (userid,hostid),
                        CONSTRAINT fk_u2h_user FOREIGN key (userid) REFERENCES userinfo2(id),
                        CONSTRAINT fk_u2h_host FOREIGN key (hostid) REFERENCES host(id)
                   )engine=innodb default charset=utf8;
      

    id 1号可以管理1,2,3号主机                 

    不用以上这种形式,而是下表形式,再建一个表。


           

    user,和host_id可以使用联合唯一索引。

  • 相关阅读:
    关于List,Set,Map集合的遍历方法
    关于内部类的了解
    for循环打印图形的详细解析(三角形)
    SSH 免密码登录
    foreach 和 for 的区别
    有关Java集合的区别,和常用方法的总结
    hadoop完全分布式的安装
    对于Oracle analyze table的使用总结 . 对于Oracle analyze table的使用总结 .
    Oracle执行计划与统计信息的一些总结
    oracle10g 统计信息查看、收集
  • 原文地址:https://www.cnblogs.com/112358nizhipeng/p/9948824.html
Copyright © 2011-2022 走看看