資料三正規化 及 BCNF解釋
大家在資料設計中經常接觸到正規化設計,那到底什麼設計是合乎正規化的,在解釋正規化之前,先來講解下正規化是什麼?
正規化: 字面意思就是規範,在資料庫設計中指資料表各個欄位間的關聯關係。
第一正規化:課本上的解釋是欄位不可拆分的最小單元。
這個很簡單,基本上現在主流的RDMS,你設計出來的資料表想不符合第一正規化都比較難,手動狗頭。簡單舉個例子來說 考試成績 這個資訊設計成 考試成績一個欄位就不滿足第一正規化,設計成考試科目+分數就是符合第一正規化的。不滿足第一正規化會帶來插入異常,你想想語文50分怎麼插入到一個欄位裡?
第二正規化:消除非主屬性對主屬性的部分依賴
如果你的主屬性是一個欄位,那沒什麼說的,肯定是滿足第二正規化的。但是主屬性是多個欄位呢?那就看每一個非主屬性是否完全依賴主屬性組,如果只依賴主屬性組中的部分屬性,該情況就不符合第二正規化。第二正規化:消除非主屬性對主屬性的部分依賴 。
第三正規化:消除非主屬性對主屬性的傳遞依賴。
很好理解,就是非主屬性必須直接依賴主屬性,不能通過一個非主屬性來傳遞一下。
BCNF:消除主屬性之間的部分依賴於傳遞依賴。與非主屬性無關。
相關推薦
資料三正規化 及 BCNF解釋
大家在資料設計中經常接觸到正規化設計,那到底什麼設計是合乎正規化的,在解釋正規化之前,先來講解下正規化是什麼? 正規化: 字面意思就是規範,在資料庫設計中指資料表各個欄位間的關聯關係。 第一正規化:課本上的解釋是欄位不可拆分的最小單元。 這個很簡單,基本上現在主流的RDMS,你設計出
mysql 三正規化及逆正規化
資料庫設計當中三正規化是經常遇到的 ######1.第一正規化 第一正規化(1NF)所謂第一正規化(1NF)是指資料庫表的每一列都是不可分割的基本資料項,同一列中不能有多個值,即實體中的某個屬性不能有多個值或者不能有重複的屬性。如果出現重複的屬性,就可能需要定義一個新的實體,新的實體
資料表設計思想,ER圖及三正規化
資料表設計思想 設計流程 需求分析:根據使用者的需求,分析出需要記錄的資料 需求設計:根據分析出的資料,設計E-R模型圖 詳細設計:將E-R模型圖轉換成資料表 三大正規化:使用資料庫三大正規化的設計思想對資料表進行稽核 E-R
如何求F-閉包、候選碼求解、正規化判斷及BCNF分解
title: 關係資料庫設計(F+閉包、候選碼求解、正規化判斷及BCNF分解) date: 2018-11-12 21:46:32 tags: SQL categories: 資料庫、SQL 這是基於github的個人部落格:Josonlee’s Blog 文章
Mysql資料庫——資料表的優化、外來鍵與三正規化
資料表優化 將商品資訊表進行優化 1.建立商品種類表: create table if not exists goods_cates( id int unsigned primary key auto_increment, name
三十二、cookie資料、JSON及JSON.parse()方法
一、JS中cookie資料 1.cookie:用於儲存web頁面的使用者資訊。 cookie是一些資料,儲存於電腦上的文字檔案中,當web伺服器向瀏覽器傳送web頁面時,在連線關閉後,服務端不會記錄使用者的資訊。 2.作用:解決“如何記錄客戶端的使用者資訊”: &nb
如何解釋關係資料庫的第一第二第三正規化?
轉載:https://www.zhihu.com/question/24696366/answer/29189700 國內絕大多數院校用的王珊的《資料庫系統概論》這本教材,某些方面並沒有給出很詳細很明確的解釋,與實際應用聯絡不那麼緊密,你有這樣的疑問也是挺正常的。我教《資料庫原理》這門課
大資料學習路線及重要名稱解釋
Java(Java se,javaweb) Linux(shell,高併發架構,lucene,solr) Hadoop(Hadoop,HDFS,Mapreduce,yarn,hive,hbase,sqoop,zookeeper,flume) 機器學習(R,mahout) Storm(Storm
資料結構習題及解析三
來源:我是碼農,轉載請保留出處和連結! 本文連結:資料結構習題解析三 一、選擇題 1.二叉樹中第5層上的結點個數最多為______ A. 8 B. 15 C. 16 D. 32 資料結構複習題解析解析:本題考點是二叉樹中各層結點個數的計算方法。 二叉樹中第i層上的結點個數最多為2i-1。
MongoDB學習(三)資料匯入匯出及備份恢復
這幾天想著公司要用MongoDB,自然就要用到資料匯入匯出,就自己學習了一下。 在Mongo學習(二)中就講到了在bin目錄下有一些工具,本篇就是使用這些工具進行資料的匯入匯出及備份恢復。 注意:以下命令均在cmd命令列中輸入,匯出及備份未指
linux驅動由淺入深系列:usb子系統之三(usb系統中的裝置、配置、介面、端點概念及程式碼解釋)
一個usb裝置對應一個或多個配置 一個配置包含一個或多個usb介面 一個usb介面可能存在一種或多種設定 一個設定會使用零個或多個usb端點裝置 裝置就是一個usb物理裝置,一個usb裝置可以只包含一個簡單功能的device,也可以包含一個由hub連線的多個裝置,叫作複合裝
閒話資料庫(二)---第三正規化/BCNF
第三正規化:若關係模式R(U,F)中不存在這樣的碼X,屬性組Y以及非主屬性Z(Z不是Y的子集)使得Y函式依賴於X並且X不函式依賴於Y,Z函式依賴於Y成立,則關係模式R屬於3NF。 相當的繞口,並且不清
三正規化通俗解釋
關係資料庫中的關係必須滿足一定的要求。滿足不同程度要求的為不同正規化。資料庫的設計正規化是資料庫設計所需要滿足的規範。只有理解資料庫的設計正規化,才能設計出高效率、優雅的資料庫,否則可能會設計出錯誤的資料庫. 目前,主要有六種正規化:第一正規化、第二正規化、第三正規化、
【銅】第124篇 一對一視頻錄制(三)及網站註冊 周四
一對一視頻錄制 網站註冊 關鍵詞:一對一視頻錄制,網站註冊一、一對一視頻錄制1.1 參考網址https://www.webrtc-experiment.com/RecordRTC/視頻錄制下載網址:https://github.com/muaz-khan/RecordRTC1.2 網頁錄制本地:ht
RabbitMQ的transaction、confirm、ack三個概念的解釋
調用 rabbitmq tran amqp ror 不同 開啟事務 遇到 2種 在使用RabbitMQ的過程中,肯定會遇到這樣的幾個概念:transaction、confirm、ack。本文介紹一下這幾個概念,以及他們之間的關系。 RabbitMQ是采用的AMQP協議,AM
Java jvm 載入機制及 其中解釋執行和編譯執行的區別
jvm載入機制 https://www.cnblogs.com/Qian123/p/5707562.html https://www.cnblogs.com/lingz/archive/2018/07/31/9394238.html 以前有句話說:“Java是解釋執行的 ” 。現在看
三正規化-簡單理解
文章部分內容擷取自韓順平老師教學資料。 什麼樣的表才是符合3NF (正規化) 表的正規化,是首先符合1NF, 才能滿足2NF , 進一步滿足3NF 1NF: 即表的列的具有原子性,不可再分解,即列的資訊,不能分解, 只有資料庫是關係型資料庫(mysql/oracle
Cesium 生成terrain地形資料----CTB方式及步驟
背景:專案前端使用Cesium,地形服務一直使用外網的,常常因為翻牆訪問的問題,導致地形資料取不到,進而導致地球不能載入,故決定搭建自己的地形服務,徹底解決這個問題。博文包含以下幾個過程: 下載原始地形資料,格式為.tif。 處理地形資料,將零散的地形檔案整合成一個地形檔案。
資料結構基礎及STL實現(複習)
目錄 動態陣列 棧 佇列 優先佇列 動態陣列 srand(time(0)); std::vector<int> qwq; for(int i = 1;i <= 10;++i) qwq.push_back(rand(
OSM資料的獲取及格式轉換
轉自 :http://blog.sina.com.cn/s/blog_72f0b6080102w39z.html 前言:本篇博文將介紹如何對OSM資料進行獲取,以及格式的轉換(轉為shapefile格式)。以供OSM資料獲取失敗、OSM editor操作失敗的朋友參考。由於並不是多麼