<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      MySQL數據庫干貨_23——數據庫范式

      數據庫范式

      數據庫范式簡介

      什么是范式(NF = NormalForm)

      • 范式是符合某一種設計要求的總結

      在數據庫中表的設計,必須保證其合理性

      • 數據庫表的設計關系整個系統的架構,關系到后續的開發效率和運行效率

      如何設計合理的數據庫表

      • 結構合理
      • 冗余數據少
      • 盡量避免插入刪除修改異常
      • 遵循一定的規則,在關系型數據庫中這種規則就稱為范式

      關系型數據庫有六種常見范式:

      • 第一范式(1NF)
      • 第二范式(2NF)
      • 第三范式(3NF)
      • 巴斯-科德范式(BCNF)
      • 第四范式(4NF)
      • 第五范式(5NF)

      各個范式是依次嵌套包含的:

      在第一范式的基礎上進一步滿足更多規范要求的稱為第二范式(2NF),其余范式以此類推。

      范式越高,設計質量越高,在現實設計中也越難實現

      一般數據庫設計,達到第三范式就足夠了

      數據庫范式中的概念

      元組:可以理解為一張表中的每條記錄,也就是每一行數據。

      屬性:可以看作是“表的一列”。

      • 主屬性:

        在一個關系中,如一個屬性是構成某一個候選關鍵字的屬性集中的一個屬性,則稱它為主屬性。

        例如:在關系——學生(學號,姓名,年齡,性別,班級)中,主屬性是“學號”,那么其他的“姓名”、“年齡”、“性別”、“班級”就都可以稱為非主屬性。

      • 非主屬性:

      不包含在候選碼中的屬性稱為非主屬性,相對于主屬性來定義的。

      第一范式(1NF)

      • 最基本的范式,是其他范式的基礎

      • 數據庫表每列都是不可分割的基本數據項,同一列中不能有多個值,

        確保每列保持原子性

      根據第一范式設計表

      第一范式存在的問題

      1. 數據冗余

      2. 插入數據異常

      3. 修改數據復雜

      4. 刪除異常

      第二范式(2NF)

      第二范式在第一范式的基礎之上更進一層。第二范式需要確保數據庫表中的每一列都和主鍵相關,而不能只與主鍵的某一部分相關(主要針對聯合主鍵而言)。也就是說在一個數據庫表中,一個表中只能保存一種數據,不可以把多種數據保存在同一張數據庫表中。

      根據第二范式設計表

      第二范式存在問題

      1. 插入異常

      2. 刪除異常

      第三范式(3NF)

      • 必須滿足第二范式
      • 確保數據表中的每一列數據都和主鍵直接相關,而不能間接相關

      根據第三范式設計表

      符合3NF要求的數據庫設計,基本上解決了數據冗余過大,插入異常,修改異常,刪除異常的問題。

      數據庫設計范式總結

      數據庫設計范式優點

      • 結構合理
      • 冗余較小
      • 盡量避免插入刪除修改異常

      數據庫設計范式缺點

      • 性能降低,多表查詢比單表查詢速度慢

      在實際設計中,要整體遵循范式理論

      如果在某些特定的情況下還死死遵循范式也是不可取的,

      因為可能降低數據庫的效率,此時可以適當增加冗余而提高性能

      • 第一范式(1NF):字段不能再分

      • 第二范式(2NF):不存在部分依賴

      • 第三范式(3NF):不存在間接依賴

      使用范式可以減少冗余,但是會降低性能

      特定表的的設計可以違反第三范式,增加冗余提高性能

      數據庫表關系

      表關系簡介

      設計關系數據庫的一個重要部分是將數據元素劃分為相關的表,我們可以根據數據本身的關聯性,將不同表之間的數據聚合在一起。

      注意:

      無論在表與表之間建立了什么樣的關系,決定數據之間是否有關系的不是表,而是數據本身。

      表與表的關系類型

      表與表之存在三種關系(relation),即一對一,一對多,多對多關系。

      • 一對一(one-to-one):一種對象與另一種對象是一一對應關系,比如一個學生只能在一個班級里。
      • 一對多(one-to-many): 一種對象可以屬于另一種對象的多個實例,比如一個班級里有很多學生。
      • 多對多(many-to-many):兩種對象彼此都是"一對多"關系,比如一個歌單里包含多首歌,同時一首歌可以屬于多個歌單。

      一對多關系

      一種對象可以屬于另一種對象的多個實例。

      一對多關系是建立在兩張表之間的關系。一個表中的一條數據可以對應另一個表中的多條數據。

      可以添加外鍵約束保證數據的參照完整性,外鍵永遠在多方。外鍵允許重復,允許含有空值。

      注意:

      如果添加的外鍵約束,那么刪除數據時,一定是先刪除有外鍵一方的數據。

      一對一關系

      一種對象與另一種對象是一一對應關系。

      一對一關系是建立在一對多的基礎之上,一個表中的一條數據只能對應另一個表中的一條數據。

      可以添加外鍵約束保證數據的參照完整性,外鍵可以在任何一方,需要讓外鍵具備唯 一約束。

      注意:

      如果添加的外鍵約束,那么刪除數據時,一定是先刪除有外鍵一方的數據。

      多對多關系

      兩種對象彼此都是"一對多"關系

      需要建立一個中間表,中間表里建立兩個列,然后需要用這兩個列作為這個表的聯合主鍵,然后每個列在作為外鍵參照各自的表的主鍵。

      注意:

      存數據:先兩側,再中間表。

      刪數據:先中間表(即有外鍵的表),再兩側。

      posted @ 2023-11-12 07:59  Gjq-  閱讀(60)  評論(0)    收藏  舉報  來源
      主站蜘蛛池模板: 无码国模国产在线观看免费| 任我爽精品视频在线播放| 亚洲日韩中文字幕在线播放| 色五月丁香五月综合五月4438| 在线国产精品中文字幕| 久久99精品久久久久久青青| 国语做受对白XXXXX在线| 亚洲国产日韩a在线播放| 99e久热只有精品8在线直播| 久久国产精品99久久蜜臀| 51妺嘿嘿午夜福利| 久久精品国产一区二区三| 中国china露脸自拍性hd| 狠狠综合久久av一区二| 南木林县| 最新国产精品中文字幕| 久久亚洲精品11p| 蜜芽久久人人超碰爱香蕉| 欧美做受视频播放| 岛国大片在线免费播放| 欧美videosdesexo吹潮| 农民人伦一区二区三区| 国产精品日韩专区第一页| 亚洲高清成人av在线| 亚洲国产超清无码专区| 国产在线98福利播放视频| 韩国无码AV片在线观看网站| 国产老熟女国语免费视频| 精品国产成人a在线观看 | 日韩在线观看精品亚洲| 亚洲一区久久蜜臀av| 他掀开裙子把舌头伸进去添视频| 久久99国产精品久久99小说| 色先锋av影音先锋在线 | 亚洲人妻一区二区精品| 国产69精品久久久久乱码免费| 兴仁县| 国产91精品一区二区麻豆| 国产亚洲色视频在线| 亚洲人成网网址在线看| 日韩福利片午夜免费观着|