oracle什么是重复组,规范化:“重复组”是什么意思?
揚帆大魚
英語的價值一次又一次地重復。這是重復組嗎?不。在SUBJECT_MODULE中英語的多次出現不是重復組,甚至不是人們誤認為重復組的兩件事中的任何一個。它們也不是冗余或缺乏規范化的證據。這樣的多個外觀可能與冗余或規范化有關,但是在沒有冗余和各種級別的規范化的情況下,它們始終出現。如果SUBJECT_MODULE是其中“ [SUBJECT_NAME]已由[MODULE_ID]標識的[MODULE_NAME]”的行,并且一個主題可能有多個模塊,則在某處您必須多次提及該主題(也許通過其名稱),并提及不同的模塊(也許通過名稱或ID)。這不會涉及冗余。Student Age SubjectAdam? ? 15? BiologyAdam? ? 15? MathsAlex? ? 14? MathsStuart? 17? Maths在本示例中,問題的第二個“ this ”鏈接中的冗余不是亞當出現在兩行中,也不是亞當出現在15行中。這是因為,如果表中的行是“ [學生] [年齡],并接受[主題]”,則學生(例如Adam)可以出現在多行中,但總是以相同的年齡(例如15)出現。但是,如果表是“ [學生]在[主題]中有一個朋友[年齡]歲”的行,則該表可能已經完全標準化。當然可以消除重復的值,但是我不確定這是否正確。它適用于您的示例數據,但可能不適用于其他示例數據。您還沒有告訴我們。(無論如何,正如我在上面所說的,多次出現可能甚至都不需要規范化。)SUBJECT_MODULE中是否存在任何與歸一化相關的冗余,甚至包括您給出的分解在內的任何有效分解都取決于將其標準化到1NF以上所需的常規信息。即,它的某些列是否是其他函數(函數依賴項),以及它的行是否也是“ ...”和“ ...”(聯接依賴項)所在的行。通過給出可能的分解,您已經說過也是“ ... [Subject_Name] ... [Module_ID] ...”和“ ...... [Module_Name] ... [Module_ID] ...”的行您提供了一些分解數據示例。但是我們只知道它可以如此分解,因為您添加了分解。而且分解加數據仍然不足以讓我們知道是否應該如此分解。我閱讀了不同的教程,并看到了不同的規范化示例,尤其是第一種標準形式的“重復組”的概念。“重復組”是關系前數據庫中的內容,不可能出現在關系表(關系)中。它們就像一組命名的值,類似于記錄的字段,但不完全相同。關系表始終以1NF表示。行的每一列都具有該列類型的單個值。非關系數據庫被“規范化”到表,即擺脫重復組的表1NF(“規范化”的第一感覺)。然后將那些表/關系“規范化”為更高的規范形式(“規范化”的第二種含義)。具有多個相似列或具有多個相似部分的列類型的關系表每個都讓人想起在非關系數據庫中具有重復組。并且,多個列和部分應該在單獨的表中成為多個行,就像重復組的多個成員一樣。但是,這些問題與設計的關系質量有關,而不與重復的組或規范化(無論在哪種意義上)或與關系有關(即在1NF中)有關。請注意,非關系數據庫本身可能具有多個相似字段和/或命名集或字段值的多個相似部分的相似問題。當表的規范化擺脫了重復的組時,就不能消除它們。不管他們如何進入關系設計,將它們刪除都會帶來“更好”的設計。只是因為這些設計問題使人想起重復組,使人們感到困惑,并想象表可能包含重復組。因此,具有多個相似部分(或多個部分)的多個相似列和值被錯誤地稱為“重復組”。
總結
以上是生活随笔為你收集整理的oracle什么是重复组,规范化:“重复组”是什么意思?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: import是引进外部函数吗_vue3已
- 下一篇: 在线判题系统(oj)效果分析图_在线代码