第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

規(guī)范化:“重復組”是什么意思?

規(guī)范化:“重復組”是什么意思?

四季花海 2019-10-30 11:09:19
我閱讀了不同的教程,并看到了不同的規(guī)范化示例,尤其是第一種標準形式的“重復組”的概念。從他們那里,我已經(jīng)收集到重復的組是“種類”多值屬性(例如here和here)。但是,我們已經(jīng)通過在將ERM(實體關(guān)系模型)映射到RDM(關(guān)系數(shù)據(jù)模型)的過程中包括來自父表的外鍵來為每個多值屬性制作了單獨的表?參考:這里其次,是那些“重復組”本質(zhì)上是水平排列在同一行中,還是相同的值可以一次又一次地出現(xiàn)在同一列中,即屬性的一次又一次的相同值,還是重復組,應該刪除?在此示例中,值English一次又一次地重復。這是重復組嗎?如果我消除它以使另一個具有主題名稱和Module_ID(外鍵)的表SUBJECT,這就是我所得到的。當然可以消除重復的值,但是我不確定這是否正確。這樣對嗎?
查看完整描述

3 回答

?
茅侃侃

TA貢獻1842條經(jīng)驗 獲得超21個贊

術(shù)語“重復組”最初是指基于CODASYL和COBOL的語言中的概念,其中單個字段可能包含重復值數(shù)組。當EFCodd描述他的第一范式時,這就是他所說的重復小組的意思。這個概念在任何現(xiàn)代的關(guān)系型或基于SQL的DBMS中都不存在。


數(shù)據(jù)庫設計人員也非正式地和不精確地使用了“重復組”一詞來表示一組重復的列,這意味著表中包含相似類型值的列的集合。這與1NF的原始含義不同。例如,在名為Families的表中,其列名為Parent1,Parent2,Child1,Child2,Child3,...等,有時將Child N列的集合稱為重復組,并假定違反了1NF,甚至盡管從Codd的意圖來說,它不是重復的小組。


如果每個屬性都是單值的,則后一種所謂的重復組的含義在技術(shù)上并不違反1NF。屬性本身不包含重復值,因此不會因此而違反1NF。但是,這種設計通常被認為是反模式,因為它將表限制為預定的固定數(shù)量的值(一個家庭中最多有N個子級),并且因為它強制對每個列重復進行查詢和其他業(yè)務邏輯。換句話說,它違反了設計的“ DRY ”原則。因為它通常被認為是糟糕的設計,所以它適合數(shù)據(jù)庫設計人員,有時甚至適合老師將這種重復的列稱為“重復組”,并且違反了“第一范式”的精神。


術(shù)語的這種非正式用法有點不幸,因為它可能有點武斷和混亂(何時一組列實際上構(gòu)成重復?),還因為它分散了更基本的問題,即Null問題。所有范式都與不允許存在null的關(guān)系有關(guān)。如果表允許任何列為空,則它不滿足滿足1NF的關(guān)系模式的要求。對于我們的家庭表,如果“子級”列允許為空(代表少于N個孩子的家庭),則“家庭”表不滿足1NF。在規(guī)范化練習中,通常會忘記或忽略空值的可能性,但是避免不必要的可空列是避免重復使用列集的一個很好的理由,


查看完整回答
反對 回復 2019-10-30
  • 3 回答
  • 0 關(guān)注
  • 1268 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號