翻譯|使用教程|編輯:吳園園|2020-03-19 09:24:19.450|閱讀 1155 次
概述:在今天的文章中,我們將學習如何在設計時和現有數據庫中識別重復組,以及如何修復它們。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
Navicat Premium是一個可連接多種數據庫的管理工具,它可以讓你以單一程序同時連接到MySQL、Oracle及PostgreSQL數據庫,讓管理不同類型的數據庫更加的方便。
重復組是在整個數據庫表中重復的一系列字段/屬性。大型和小型組織都面臨著一個普遍的問題,這個問題可能會帶來多種后果。例如,在不同區域中存在的同一組信息可能導致數據冗余和數據不一致。而且,所有這些重復數據會占用大量寶貴的磁盤空間,并需要很長時間進行搜索。重復組的問題在小型組織中是可以解決的,但是對于必須管理大量信息的較大組織,重復組可能成為一場噩夢。
在今天的博客中,我們將學習如何在設計時和現有數據庫中識別重復組,以及如何修復它們。由于重復組是一種會影響任何關系數據庫的現象,因此我們將使用Navicat Premium作為我們的數據庫開發工具。
重復組的例子該包含了大量的虛構視頻租賃商店數據庫實體。盡管其表已標準化為“第三范式”(3NF),但出于本教程的目的,我們將認為電影表包含有關每部電影中出現的演員的數據。這是該表中的行的示例:
您會看到每個參與者都在表中添加了額外的一行。更糟糕的是,演員的名字每次出現時都會重復出現。問題在于演員是與電影分離的獨立實體。
固定重復組
嚴格來講,即使重復組沒有違反第一范式(1NF),將數據從非規范化格式(UNF)轉換為1NF的過程也會消除重復組。這是執行此操作的步驟:
由于我們已經確定了重復組,因此我們重新設計表,以便省略重復組字段并為其指定自己的表。
Navicat Premium帶有內置的Data Modeler。它可以幫助您直觀地設計高質量的概念,邏輯和物理數據模型。從那里,您可以從模型生成數據庫結構。Data Modeler也可以反向工作,從現有數據庫執行反向工程。其他功能包括從ODBC數據源導入,生成復雜的SQL / DDL以及將模型打印到文件。
這是顯示現有的films_and_actors表的模型:
為了將演員與電影分開,我們需要添加一個新表來托管演員屬性。我們還應該給它一個ID PK字段,該字段將鏈接到原始表中的相同(新FK)字段。
您還需要重命名表以反映電影表僅包含電影,而演員僅存儲演員信息。
鏈接電影和演員表
如何將表鏈接在一起取決于它們之間的特定關系。在這種情況下,一部電影可能有零個或多個演員,而演員可能出現在一個或多個電影中。這種多對多的關系將需要一個中介表來鏈接電影和演員。它僅包含電影和演員ID。這是Navicat Modeler中完整的模型:
結論
在今天的博客中,我們學習了如何使用Navicat Premium強大的Data Modeler 在設計時和現有數據庫中識別重復組,以及如何修復它們。Navicat Premium添加了100多個增強功能,并包括幾個新功能,可為您提供比以往更多的構建,管理和維護數據庫的方式!
相關內容推薦:
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自: