您的位置:新葡亰496net > 网络数据库 > SqlServer之数据库三大范式,数据库三大范式

SqlServer之数据库三大范式,数据库三大范式

发布时间:2019-08-17 02:18编辑:网络数据库浏览(129)

    1   概述

    概述

    一般地,在进展数据库设计时,应依照三大条件,也正是我们日常说的三大范式,即首先范式供给保障表中每列的原子性,也便是不行拆分;第二范式供给保障表中每列与主键相关,而无法只与主键的某有个别连锁(首要针对联合主键),主键列与非主键列遵守完全函数正视关系,约等于截然依赖;第三范式确定保障主键列之间一向不传递函数正视关系,也正是驱除传递倚重。

      分析:

      分析:

           一般地,在张开数据库设计时,应依照三大口径,也正是大家常见说的三大范式,即首先范式供给保险表中每列的原子性,也正是不可拆分;第二范式要求保险表中每列与主键相关,而无法只与主键的某有个别连锁(重要针对联合主键),主键列与非主键列遵从完全函数依赖关系,也正是完全依赖;第三范式确定保证主键列之间一贯不传递函数依赖关系,也等于祛除传递正视。

    率先范式

              数据库设计应遵照三大范式分别为:

              数据库设计应依据三大范式分别为:

          本文将依赖三大范式原则,结合具体的实例做简单分析,难度周密:基础。

    事例引进

    先是种表设计

    新葡亰496net 1

    其次种表设计

    新葡亰496net 2

              第一范式:确定保证表中每列的原子性(不可拆分);

              第一范式:确认保障表中每列的原子性(不可拆分);

    2   第一范式

    分析

    首先种表设计不满足第一范式,为何不知足第一范式?因为region列不具备原子性,能拆分成省份、市和具体地址;

              第二范式:确定保障表中每列与主键相关,而不能够只与主键的某部分连锁(首要针对联合主键),主键列与非主键列坚守完全函数信赖关系(完全依据);

              第二范式:确定保障表中每列与主键相关,而无法只与主键的某有个别连锁(首要针对联合主键),主键列与非主键列遵循完全函数重视关系(完全信赖);

     2.1 例子引入

    其次范式

              第三范式:非主键列之间从未传递函数注重关系(化解传递信赖);

              第三范式:非主键列之间向来不传递函数重视关系(化解传递信赖);

         根据如下场景设计出二种数据表,请深入分析三种数据表的客观。

    事例引入

    必要描述:设计二个订单音讯表,订单有各个货色,将订单号码和商品编号作为联合举行主键。

    率先种表设计

    新葡亰496net 3

    其次种表设计

    新葡亰496net 4

       详述:

       详述:

    1 问题:需求描述:数据库系统中需要一个实体表,该表用来存储用户信息,其中“地址”这个属性,要求查询到省份、城市和详细地址。
    2 
    3 具体例子: 
    4 姓名:张红欣;  性别:男; 年龄:26岁; 联系电话:0378-23459876;省份:河南省;城市:开封;  详细地址:朝阳区新华路23号;
    5 姓名:王艳;    性别:女; 年龄:25岁; 联系电话:021-2348768;  省份:贵州省;城市:贵阳市;详细地址:南明区南明区狮峰路6号;
    6 姓名:汪梅;    性别:女; 年龄:21岁; 联系电话:0571-3876450; 省份:浙江省;城市:杭州市;详细地址:滨江区滨康路352号;               
    

    分析

    第一种表设计不满足第二范式 ,订单号码和商品编号作为联合实行主键,由于商品名称,单位,价格这几列只与商品编号有关,与订单号码非亲非故,由此与主键(联合主键)非亲非故,违反范式第二尺度;

    第二种表设计满意第二范式,把第一种设计表进行拆分,把商品音讯分离到另叁个表中,把订单项目表也分别到另三个表中。

             先是范式

             首先范式

    率先种表设计

    其三范式

           需要描述:数据库系统中须求一个实体表,该表用来存款和储蓄用户音信,当中“地址”那脾性子,须求查询到省份、城市和详尽地址。

    SqlServer之数据库三大范式,数据库三大范式。       供给描述:数据库系统中供给多少个实体表,该表用来存款和储蓄用户新闻,个中“地址”这几个本性,要求查询到省份、城市和详细地址。

    新葡亰496net 5

    事例引进

    供给描述:
    1 要求在数据库中存款和储蓄如下信息:
    2 学生编号;学生卡号;用户ID号;操作员品级;操作日期;操作时间;

    首先种表设计

    新葡亰496net 6

    其次种表设计

    新葡亰496net 7

    新葡亰496net 8

           例子:音讯如下:

           例子:音讯如下:

     第三种表设计

    分析

    先是种表设计不知足第三范式,在表中,二个UserID能显明三个UserLevel。这样,UserID依赖于StudentNo和CardNo,而UserLevel又凭仗于UserID,那就招致了传递注重,3NF正是排除这种借助。

    第三种表设计满意第三范式,将首先种表格拆分成成三个表格。

                   姓名:张红欣;性别:男;  年龄:27周岁;年龄:二十六虚岁;   联系电话:0378-23459876;    省份:辽宁省; 城市:安庆; 详细地址:龙井市新华路23号;

                   姓名:张红欣;性别:男;  年龄:26虚岁;年龄:二十六周岁;   联系电话:0378-23459876;    省份:吉林省; 城市:亳州; 详细地址:长白朝鲜族自治县新华路23号;

    新葡亰496net 9

                   姓名:王艳;性别:女;年龄:25;联系电话:021-2348768;省份:西藏省;城市:郑州市;详细地址:南明区南明区狮峰路6号;

                   姓名:王艳;性别:女;年龄:25;联系电话:021-2348768;省份:青海省;城市:呼市;详细地址:南明区南明区狮峰路6号;

     2.2  分析

                   姓名:汪梅;性别:女;年龄:21;联系电话:0571-3876450;省份:江苏省;城市:南京市;详细地址:富阳区滨康路352号;                

                   姓名:汪梅;性别:女;年龄:21;联系电话:0571-3876450;省份:福建省;城市:底特律市;详细地址:桐庐县滨康路352号;                

    首先种表设计不满意第一范式,为何不满足第一范式?因为region列不享有原子性,能拆分成省份、市和具体地址;

    新葡亰496net,               针对以上须求,上面分别布置三种档案的次序表格:

                   针对以上需求,上面分别安排三种档案的次序表格:

    3   第二范式

            第一种表设计:不满意第一范式

            第一种表设计:不满意第一范式

    3.1 例子引进

             tb_userInfo

             tb_userInfo

         遵照如下场景设计出三种数据表,请解析二种数据表的客体。

           新葡亰496net 10

           新葡亰496net 11

    1  需求描述:设计一个订单信息表,订单有多种商品,将订单编号和商品编号作为联合主键。
    

              深入分析:为啥不满意第一范式?因为region列不辜负有原子性,能拆分成省份、市和具体地址。

              分析:为啥不满意第一范式?因为region列不具备原子性,能拆分成省份、市和具体地址。

    首先种表设计

           第两种表设计:满足第一范式

           第二种表设计:满意第一范式

    新葡亰496net 12

             tb_userInfo

             tb_userInfo

    其次种表设计

          新葡亰496net 13

          新葡亰496net 14

    新葡亰496net 15

             其次范式

             第二范式

     3.2 分析

            必要描述:设计三个订单音讯表,订单有多样物品,将订单号码和商品编号作为合办主键。

            须求描述:设计多少个订单新闻表,订单有三种商品,将订单号码和商品编号作为联合进行主键。

     第一种表设计不满意第二范式 ,订单号码和商品编号作为共同主键,由于商品名称,单位,价格这几列只与商品编号有关,与订单号码非亲非故,由此与主键(联合主键)非亲非故,违反范式第二标准;

            第一种表设计:不满意第二范式

            第一种表设计:不满意第二范式

    其次种表设计满意第二范式,把第一种设计表进行拆分,把商品音讯分离到另叁个表中,把订单项目表也分别到另贰个表中。

            新葡亰496net 16

            新葡亰496net 17

    4    第三范式

               剖判:订单号码和商品编号作为一道主键,由于商品名称,单位,价格这几列只与商品编号有关,与订单

               剖判:订单号码和商品编号作为联合实行主键,由于商品名称,单位,价格这几列只与商品编号有关,与订单

    4.1  例子引入

                       编号毫无干系,因此与主键(联合主键)非亲非故,违反范式第二口径。

                       编号无关,因而与主键(联合主键)无关,违反范式第二法规。

    依附如下场景设计出三种数据表,请解析二种数据表的创制。

            第二种表设计:满意第二范式

            第三种表设计:满意第二范式

    1 需要在数据库中存储如下信息:
    2    学生编号;学生卡号;用户ID号;操作员级别;操作日期;操作时间;
    

            新葡亰496net 18

            新葡亰496net 19

    率先种表设计

               深入分析:把第一种设计表进行拆分,把商品消息分离到另八个表中,把订单项目表也分别到另叁个表中。

               分析:把第一种设计表举办拆分,把商品音信分离到另三个表中,把订单项目表也分别到另二个表中。

    新葡亰496net 20

              其三范式

              其三范式

    其次种表设计

           新葡亰496net 21

           新葡亰496net 22

    新葡亰496net 23

              解析:在表中,贰个UserID能分明贰个UserLevel。这样,UserID依赖于StudentNo和CardNo,而UserLevel又依

              深入分析:在表中,一个UserID能明确一个UserLevel。那样,UserID依赖于StudentNo和CardNo,而UserLevel又依

    新葡亰496net 24

                      赖于UserID,那就导致了传递依赖,3NF正是割除这种借助。

                      赖于UserID,那就招致了传递重视,3NF便是去掉这种借助。

    4.2 分析

           将上述表格拆分成如下表格,以知足第三范式:

           将上述表格拆分成如下表格,以满足第三范式:

    第一种表设计不满意第三范式,在表中,四个UserID能明确三个UserLevel。那样,UserID正视于StudentNo和CardNo,而UserLevel又依靠于UserID,那就导致了传递依赖,3NF正是破除这种借助。

          新葡亰496net 25

          新葡亰496net 26

    第三种表设计满足第三范式,将第一种表格拆分成成多个表格。

          新葡亰496net 27

          新葡亰496net 28

    5   参考文献

         

         

    【01】

           注释,以上内容参照他事他说加以考察博客网址:

           注释,以上内容参报考博士硕士客网址:

    【02】          

                   

                   

    6   版权

                    

                    

     

     

     

    • 感激您的翻阅,若有不足之处,招待指教,共同学习、共同进步。
    • 博主网站:
    • 极少一些小说利用读书、参谋、引用、抄袭、复制和粘贴等多种艺术结合而成的,超过50%为原创。
    • 如你喜欢,麻烦推荐一下;如您有新主张,接待建议,邮箱:二零一四177728@qq.com。
    • 能够转发该博客,但无法不有名博客来源。

    本文由新葡亰496net发布于网络数据库,转载请注明出处:SqlServer之数据库三大范式,数据库三大范式

    关键词:

上一篇:强大事件,事件的案由解析以及ring_buffer

下一篇:没有了