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可以使用联合唯一索引。

  • 相关阅读:
    VS2013编写的C#程序,在xp下会报错说“不是合法的win32程序”。
    能根据串口驱动来 确定com号
    javaweb工程,Servlet里面获取当前WEB跟路径的文件绝对路径地址
    import了sun开头的类,虽然它在代码里压根就没派上用处!但是必须得引用!
    页面关闭时触发的时间
    jquery设置元素的readonly和disabled
    ibatis CDATA
    form的submit与onsubmit的用法与区别
    C#操作AD及Exchange Server总结(一)
    AD如何用C#进行增删改、查询用户与OU
  • 原文地址:https://www.cnblogs.com/112358nizhipeng/p/9948824.html
Copyright © 2011-2022 走看看