zoukankan      html  css  js  c++  java
  • MySQL数据库----------小知识点

    **********************补2016年5月23日的博客*************************

    MySQL数据库 常用数据类型:

    int                整数型            4个字节

    Varchar           字符串型                          1个字是两个字符

    bit                    bool型                    

    datetime           日期时间型                      长度(字节):8

    decimal             小数型                

    float   double      小数型

          注:

           varchar 规定长度,不管内容长度多少,实际长度小于等于规定长度

            char规定长度,不管内容长度多少实际长度就是规定长度

    建表应该注意的有:

    【1】分类、分层、分步

    【2】在数据库图表中的表之间创建关系:

    一对多关系

    一对多关系是最普通的一种关系。在这种关系中,A 表中的一行可以匹配 B 表中的多行,但是 B 表中的一行只能匹配 A 表中的一行。例如,publishers 和 titles 表之间具有一对多关系:每个出版社出版很多书,但是每本书名只能出自一个出版社。

    只有当一个相关列是一个主键或具有唯一约束时,才能创建一对多关系。

    多对多关系

    多对多关系中,A 表中的一行可以匹配 B 表中的多行,反之亦然。要创建这种关系,需要定义第三个表,称为结合表,它的主键由 A 表和 B 表的外部键组成。例如,authors 和 titles 表具有多对多关系,这是由于这些表都与titleauthors 表具有一对多关系。titleauthors 表的主键是 au_id 列(authors 表的主键)和 title_id 列(titles 表的主键)的组合。

    一对一关系

    一对一关系中,A 表中的一行最多只能匹配于 B 表中的一行,反之亦然。如果相关列都是主键或都具有唯一约束,则可以创建一对一关系。

    这种关系并不常见,因为一般来说,按照这种方式相关的信息都在一个表中。可以利用一对一关系来:

      • 分割具有多列的表。

      • 由于安全原因而隔离表的一部分。

      • 保存临时的数据,并且可以毫不费力地通过删除该表而删除这些数据。

      • 保存只适用于主表的子集的信息。

     

    举例一:

             (1) 一对一:  班级与班长之间的联系:

                                   一个班级只有一个正班长

                                   一个班长只在一个班中任职

             (2) 一对多:班级与学生之间的联系:
                                  一个班级中有若干名学生,
                                 每个学生只在一个班级中学习
            (3) 多对多:课程与学生之间的联系:
                                 一门课程同时有若干个学生选修
                                 一个学生可以同时选修多门课程


    举例二:

                   员工姓名,员工性别,员工年龄,岗位,部门名称,部门主管,部门职责。

                   如果它们都放在一起会产生冗余,粘连。

                  所以要建两个表:

                  员工(员工姓名,员工性别,员工年龄,岗位,部门代号)

                  部门(部门名称,部门主管,部门职责,部门代号)

           

    举例三:

              老师(代号,姓名,性别,年龄)

              课程(代号,名称,课时数)

              课程安排表(老师代号,课程代号,时间段)

     

  • 相关阅读:
    普通网站迁移
    小程序注册流程
    批量抓取微信公众号的文章
    uniapp 开发踩坑记录
    微信扫码支付精简版
    QueryList The received content is empty!
    阿里云视频点播sdk封装 php
    我的大伯
    tp5分页携带原有参数
    爬虫项目:破解极验滑动验证码
  • 原文地址:https://www.cnblogs.com/yuyu1993/p/5523592.html
Copyright © 2011-2022 走看看