※ 後端面試考古題(四)

更新於 發佈於 閱讀時間約 1 分鐘

※ 什麼是資料庫正規化?為什麼需要正規化?

  • 什麼是資料庫正規化?

資料庫正規化是一種設計關聯式資料庫的方法,目的是建立良好結構的關聯表,主要目的有二:

  1. 去除重複性:建立沒有重複的關聯表。因為重複資料不只浪費資料庫的儲存空間,而且會產生資料維護上的問題。
  2. 去除不一致的相依性:資料相依是指關聯表中的屬性之間擁有關係。如果關聯表擁有不一致的資料相依,這些屬性就會在新增、刪除或更新資料時,造成異常情況。

※ 資料庫正規化有幾個常見的正規化級別,通常表示為第一正規化(1NF)、第二正規化(2NF)、第三正規化(3NF)等,直到更高級的正規化級別。

Database Normalization

Database Normalization

  • 正規化的形式:就是一些組織關聯表屬性的規則。
  1. 第一階正規化形式(First Normal Form: 1NF):在關聯表刪除多重值和複合屬性,讓關聯表只擁有單元值屬性。
  2. 第二階正規化形式(Second Normal Form: 2NF):滿足 1NF 且關聯表沒有「部分相依」。
  3. 第三階正規化形式(Third Normal Form: 3NF):滿足 2NF,而且關聯表沒有「遞移相依」。
  • 為什麼需要正規化?
  1. 減少資料重複性:通過將重複的數據存儲在單獨的表中,節省存儲空間並提高數據的一致性。
  2. 提高資料的一致性:正規化可以避免資料更新異常,例如插入、更新和刪除操作可能會導致資料不一致的情況。
  3. 更容易維護和管理:正規化後的資料庫結構更清晰,關聯表之間的關係更容易理解和管理,從而使系統更容易擴展和維護。
  4. 提高查詢效率:通常情況下,正規化的資料庫結構可以更有效地進行查詢和加速查詢速度。




全端網頁開發專業知識分享
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
※ 簡短說明Git 和 Git Flow 是什麼?如何應用? Git 是什麼? Git是一個分散式版本控制軟體,能夠紀錄檔案的狀態變化,以及協調多個開發者之間的工作。它允許團隊成員協作編輯和管理項目的代碼庫,並且能夠追蹤文件的歷史變更、恢復到以前的版本、合併不同版本的代碼,以及解決代碼衝突等。
※ ORM 是什麼?ORM 的優缺點是什麼? ORM 是什麼? ORM 專用於關聯式資料庫 (relational database)一種叫「物件映射 (object mapping)」 的技術,主要是用程式語言裡的「物件」來包裝資料庫的 SQL (structured query langua
※ 什麼是 RESTful API? 這種運用 HTTP 來表達語義的路由設計風格稱為 RESTful API,它描述了如何實現 Web API 的架構。所謂的 API 是應用程式介面 (application programming interface),網址也是一種應用程式的「介面」,故稱為
※ 什麼是快取 (Cache)[kash]?快取 (Cache) 的機制為何? 什麼是快取 (Cache)? 快取(Cache)是一種將資料存儲在特定位置以便快速檢索的技術。目的是為了彌補 Database 在業務邏輯複雜且數據量龐大時的不足,基本原理是將可重複使用的資料,也就是最常或最近使用的
※ Git(四) 空的資料夾無法被加入 Git 進行版本控制,但這個資料夾如果又是很重要的資料夾,你會怎麼處理? 當空的目錄無法被加入 Git 進行版本控制時,有以下的做法可以解決: 在那個空目錄裡隨便放一個檔案就行了。 在這個資料夾中添加一個名為 .gitkeep 的空檔案,讓 Git 能
※ Git(三) 什麼是 staging area? 在 Git 中,staging area是暫存區的意思,也被稱為索引(index)。透過一個git add 指令把檔案從工作目錄移至暫存區。再透過一個git commit 指令把暫存區的內容移至儲存庫。 當多人協作時你要開發個功能,但不
※ 簡短說明Git 和 Git Flow 是什麼?如何應用? Git 是什麼? Git是一個分散式版本控制軟體,能夠紀錄檔案的狀態變化,以及協調多個開發者之間的工作。它允許團隊成員協作編輯和管理項目的代碼庫,並且能夠追蹤文件的歷史變更、恢復到以前的版本、合併不同版本的代碼,以及解決代碼衝突等。
※ ORM 是什麼?ORM 的優缺點是什麼? ORM 是什麼? ORM 專用於關聯式資料庫 (relational database)一種叫「物件映射 (object mapping)」 的技術,主要是用程式語言裡的「物件」來包裝資料庫的 SQL (structured query langua
※ 什麼是 RESTful API? 這種運用 HTTP 來表達語義的路由設計風格稱為 RESTful API,它描述了如何實現 Web API 的架構。所謂的 API 是應用程式介面 (application programming interface),網址也是一種應用程式的「介面」,故稱為
※ 什麼是快取 (Cache)[kash]?快取 (Cache) 的機制為何? 什麼是快取 (Cache)? 快取(Cache)是一種將資料存儲在特定位置以便快速檢索的技術。目的是為了彌補 Database 在業務邏輯複雜且數據量龐大時的不足,基本原理是將可重複使用的資料,也就是最常或最近使用的
※ Git(四) 空的資料夾無法被加入 Git 進行版本控制,但這個資料夾如果又是很重要的資料夾,你會怎麼處理? 當空的目錄無法被加入 Git 進行版本控制時,有以下的做法可以解決: 在那個空目錄裡隨便放一個檔案就行了。 在這個資料夾中添加一個名為 .gitkeep 的空檔案,讓 Git 能
※ Git(三) 什麼是 staging area? 在 Git 中,staging area是暫存區的意思,也被稱為索引(index)。透過一個git add 指令把檔案從工作目錄移至暫存區。再透過一個git commit 指令把暫存區的內容移至儲存庫。 當多人協作時你要開發個功能,但不
你可能也想看
Google News 追蹤
Thumbnail
隨著理財資訊的普及,越來越多台灣人不再將資產侷限於台股,而是將視野拓展到國際市場。特別是美國市場,其豐富的理財選擇,讓不少人開始思考將資金配置於海外市場的可能性。 然而,要參與美國市場並不只是盲目跟隨標的這麼簡單,而是需要策略和方式,尤其對新手而言,除了選股以外還會遇到語言、開戶流程、Ap
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
這篇文章介紹了機關檔案分類表的編製方法,以及在文書處理過程中需要注意的事項。同時也提到了檔案管理人員的工作內容和相關法令。文章總結了檔案管理的重要性和相關程序。
Thumbnail
這篇文章主要是介紹了SQL查詢效能調校的方法,針對索引最佳化做了整理和分享,並提供了一些注意事項和建議。
Thumbnail
這邊統整了過往喜特先生發布過的「資料驗證」系列文! 資料驗證是個「驗證資料是否符合某條件的機制」,我們通常會用它來避免別人輸入無效的值,減少錯誤的發生。你可以按照順序慢慢學習,把資料驗證這功能一次搞懂!
Thumbnail
軟體系統的發展歷程大多相似,首重解決基本需求、提供操作介面,進而提升安全性、擴充功能、優化操作。
Thumbnail
參考用各國藥典數據庫 (非官方/ 非最新)
Thumbnail
每日自動檢查資料庫運作所產生的訊息,若發現有錯誤,自動寄出警告信給擔當人員
Thumbnail
在現代資訊爆炸的時代,我們每天都會產生大量的檔案。無論是工作、學習還是生活,檔案都扮演著重要的角色。然而,隨著檔案數量的不斷增加,我們也面臨著一個新的挑戰:如何有效地管理檔案。檔案命名是檔案管理的第一步。一個好的檔案命名規則可以幫助我們快速找到所需的檔案,提高工作效率。
Thumbnail
資料整理是職場上的重要技能,也是一大挑戰! 透過專案管理的手法建立一套有效的資料管理系統,進而提升工作效率並獲得成功。
Thumbnail
資料的統合 在程式設計中,其他人通常關心是否注意到執行的細節。作為程式設計師,主要應該關心的是程式的表現,但往往忽略了很多細節,這些細節可以決定程式的好壞。程式的好壞很大程度上取決於資料的統合,也就是資料是否被正規化。 不同類型的資料在系統中呈現一致 正規化可能對一些人來說聽起來很抽象,有些人
Thumbnail
隨著理財資訊的普及,越來越多台灣人不再將資產侷限於台股,而是將視野拓展到國際市場。特別是美國市場,其豐富的理財選擇,讓不少人開始思考將資金配置於海外市場的可能性。 然而,要參與美國市場並不只是盲目跟隨標的這麼簡單,而是需要策略和方式,尤其對新手而言,除了選股以外還會遇到語言、開戶流程、Ap
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
這篇文章介紹了機關檔案分類表的編製方法,以及在文書處理過程中需要注意的事項。同時也提到了檔案管理人員的工作內容和相關法令。文章總結了檔案管理的重要性和相關程序。
Thumbnail
這篇文章主要是介紹了SQL查詢效能調校的方法,針對索引最佳化做了整理和分享,並提供了一些注意事項和建議。
Thumbnail
這邊統整了過往喜特先生發布過的「資料驗證」系列文! 資料驗證是個「驗證資料是否符合某條件的機制」,我們通常會用它來避免別人輸入無效的值,減少錯誤的發生。你可以按照順序慢慢學習,把資料驗證這功能一次搞懂!
Thumbnail
軟體系統的發展歷程大多相似,首重解決基本需求、提供操作介面,進而提升安全性、擴充功能、優化操作。
Thumbnail
參考用各國藥典數據庫 (非官方/ 非最新)
Thumbnail
每日自動檢查資料庫運作所產生的訊息,若發現有錯誤,自動寄出警告信給擔當人員
Thumbnail
在現代資訊爆炸的時代,我們每天都會產生大量的檔案。無論是工作、學習還是生活,檔案都扮演著重要的角色。然而,隨著檔案數量的不斷增加,我們也面臨著一個新的挑戰:如何有效地管理檔案。檔案命名是檔案管理的第一步。一個好的檔案命名規則可以幫助我們快速找到所需的檔案,提高工作效率。
Thumbnail
資料整理是職場上的重要技能,也是一大挑戰! 透過專案管理的手法建立一套有效的資料管理系統,進而提升工作效率並獲得成功。
Thumbnail
資料的統合 在程式設計中,其他人通常關心是否注意到執行的細節。作為程式設計師,主要應該關心的是程式的表現,但往往忽略了很多細節,這些細節可以決定程式的好壞。程式的好壞很大程度上取決於資料的統合,也就是資料是否被正規化。 不同類型的資料在系統中呈現一致 正規化可能對一些人來說聽起來很抽象,有些人