數據庫范式5nf_第五范式(5NF)| 數據庫管理系統

數據庫范式5nf

Fifth normal form (5NF) is also known as project-join normal form (PJ/NF). It is designed to minimize redundancy in relational databases by separating semantically connected relationships in multiple formats to store multi-valued facts.

第五范式(5NF)也稱為投影聯合范式(PJ / NF) 。 它旨在通過以多種格式分隔語義連接的關系來存儲多值事實,以最大程度地減少關系數據庫中的冗余。

A relation R is in 5NF if and only if every non-trivial join dependency in R is implied by the candidate keys of R. A relation break up into two relations must contain lossless join Property, which makes certain that no invalid or extra tuples of attributes are created when relations are again joined together through a natural join.

關系R5NF當且僅當每一個不平凡的連接依賴于RR的候選鍵暗示。 分解為兩個關系的關系必須包含無損連接屬性,這可以確保在通過自然連接將關系再次連接在一起時,不會創建任何無效或多余的元組。

Properties:

特性:

A relation R with attributes, its values and tuples is in 5NF if and only if the following conditions are satisfied,

當且僅當滿足以下條件時,帶有屬性,其值和元組的關系R的值為5NF

  1. The relation R should be already in 4NF.

    關系R應該已經在4NF中 。

  2. The relation R cannot be additionally non loss decomposed (join dependency).

    關系R不能另外進行非損耗分解(聯接依賴)。

If the relation or table can further decompose to remove redundancy and anomaly, and when the process of rejoining followed the decomposed tables through the means of candidate keys, we should not be losing the original data or any new record set should not arise. Understandably, joining two or more decomposed table should not lose records or create new records.

如果關系或表可以進一步分解以消除冗余和異常,并且當重新連接的過程通過候選鍵的方式遵循分解后的表時,我們不應丟失原始數據,也不應出現任何新的記錄集。 可以理解,聯接兩個或多個分解表不應丟失記錄或創建新記錄。

Join dependency

連接依賴

A table or relation can be recreated or re-designed by joining multiple tables and each table of this contain a subset of the attributes and values of the table, then the table is in Join Dependency. It is a generalization of Multivalued Dependency.

可以通過聯接多個表來重新創建或重新設計一個表或關系,并且該表或關系的每個表都包含該表的屬性和值的子集,然后該表處于聯接依賴關系中。 它是多值依賴關系的概括。

If the join of R1 and R2 over S is equal to relation R then we can say that a join dependency exists, where R1 and R2 are the decomposition R1 (P, Q, S) and R2 (Q, T) of a given relation R (P, Q, S, T). As a possibility, R1 and R2 are a lossless decomposition of R.

如果R1R2S上的連接等于關系R,那么我們可以說存在連接依賴關系,其中R1R2是給定關系的分解R1(P,Q,S)R2(Q,T) R(P,Q,S,T) 作為一種可能性,R1R2R的無損分解。

Over a relation R a Join Dependency ? {R1, R2, ..., Rn} is said to hold if R1, R2, ..., Rn is lossless-join decomposition. The *(P, Q, S, T), (S, T) will be a Join Dependency of R if the join of join's attribute is equal to the relation R. Here, *(R1, R2, R3) is used to specify that relation R1, R2, R3 and so on is a Join Dependency of R.

在關系R上 如果R1,R2,...,Rn是無損連接分解則稱連接依賴項?{R1,R2,...,Rn}成立。 如果聯接屬性的聯接等于關系R ,則*(P,Q,S,T),(S,T)將是R的聯接依賴關系。 此處, *(R1,R2,R3)用于指定關系R1,R2,R3等是R的連接依賴關系。

Join Dependency can be associated to 5NF, wherein a relation is in 5NF, only if it is already in 4NF and it cannot be decomposed further.

Join Dependency可以與5NF相關聯,其中關系只有在5NF中且不能進一步分解的情況下才在5NF中

Contrarily,?in the case of functional dependencies, there is no sound and complete axiomatization for join dependencies, however, axiomatization exists for more expressive dependency languages such as full typed dependencies.

相反,在功能依賴關系的情況下,對于聯接依賴關系沒有完善的公理化方法,但是,對于更具表現力的依賴關系語言(例如全類型依賴關系)存在公理化方法。

On the other hand, the implication of join dependencies is decidable.

另一方面,聯接依賴的含義是可以確定的。

Example:

例:

Consider a table which contains a record of Subject, Professor and Semester in three columns.

考慮一個表,該表在三列中包含SubjectProfessorSemester的記錄。

The primary key is the combination of all three columns. Also take an account that the table is in 4NF, as long as there are no multivalued dependencies (2-part join dependencies) in the table: no column (which by itself is not a candidate key or a super key) is a determinant for the other two columns.

主鍵是所有三列的組合。 還應考慮到該表位于4NF中,只要該表中沒有多值依賴項(兩部分聯接依賴項):沒有列(其本身不是候選鍵或超級鍵)是其他兩列。

If the presence of any properly structured rule is not there to organize the three attributes of the table, it is important to structure them correctly by handling constraint.

如果沒有適當的結構化規則來組織表的三個屬性,則通過處理約束來正確構造它們很重要。

In the table, Data structure is taught by Madhurima and Sravan in semester 3, Automata by Abhijeet and Sushmita. In this case, the combination of all these fields required to identify valid data.

在表中,Madhurima和Sravan在第3學期講授了數據結構,Abhijeet和Sushmita講授了Automata。 在這種情況下,標識有效數據所需的所有這些字段的組合。

So to make the table into 5NF, we can decompose it into three relations,

因此,要使表格變為5NF,我們可以將其分解為三個關系,

SubjectProfessorSemester
Maths 2Saurav2
Data structureMadhurima3
AutomataAbhijeet5
Data structureSravan3
AutomataSushmita5
Computer networkKaran2
Digital logical designAbhijeet5
學科 教授 學期
數學2 紹拉夫 2
數據結構 馬杜里瑪 3
自動機 阿比耶耶 5
數據結構 斯拉萬 3
自動機 舒米塔 5
計算機網絡 卡蘭 2
數字邏輯設計 阿比耶耶 5
SemesterSubject
2Maths 2
3Data structure
5Automata
2Computer network
5Digital logical design
學期 學科
2 數學2
3 數據結構
5 自動機
2 計算機網絡
5 數字邏輯設計
SubjectProfessor
Maths 2Saurav
Data structureMadhurima
AutomataAbhijeet
Data structureSravan
AutomataSushmita
Computer networkKaran
Digital logical designAbhijeet
學科 教授
數學2 紹拉夫
數據結構 馬杜里瑪
自動機 阿比耶耶
數據結構 斯拉萬
自動機 舒米塔
計算機網絡 卡蘭
數字邏輯設計 阿比耶耶
SemesterProfessor
2Saurav
3Madhurima
5Abhijeet
3Sravan
5Sushmita
2Karan
5Abhijeet
學期 教授
2 紹拉夫
3 馬杜里瑪
5 阿比耶耶
3 斯拉萬
5 舒米塔
2 卡蘭
5 阿比耶耶

翻譯自: https://www.includehelp.com/dbms/fifth-normal-form-5nf-dbms.aspx

數據庫范式5nf

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/540794.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/540794.shtml
英文地址,請注明出處:http://en.pswp.cn/news/540794.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

量子物理 詹班 計算機,(電氣系計算機系詹班)量子物理作業答案

西南交大峨眉校區大學物理西南交大峨眉校區《大學物理》(量子物理基礎)作業6(電氣、計算機、詹班)一 選擇題1. 以一定頻率的單色光照射在某種金屬上,測出其光電流曲線在圖中用實線表示,然后保持光的頻率不變,增大照射光的強度,測出…

MySQL5.6 新特性之GTID【轉】

轉自 MySQL5.6 新特性之GTID - jyzhou - 博客園http://www.cnblogs.com/zhoujinyi/p/4717951.html 背景: MySQL5.6在5.5的基礎上增加了一些改進,本文章先對其中一個一個比較大的改進"GTID"進行說明。 概念: GTID即全局事務ID&#…

python判斷素數程序_Python程序檢查素數

python判斷素數程序什么是質數? (What is a prime number?) A prime number is a natural number that is greater than 1 and cannot be formed by multiplying two smaller natural numbers. 質數是大于1的自然數,不能通過將兩個較小的自然數相乘而形…

計算機高級工程師職稱評定條件,高級工程師職稱評定條件是什么

高級工程師職稱評定條件是什么,高級工程師職稱有什么作用,以下是小編整理的高級工程師職稱評定條件相關內容,供您參考。高級工程師評定條件1、本科畢業及以上,獲得工程師資格5年以上,可以申報高級工程師。2、博士畢業&…

c# datetime._C#| DateTime.Year屬性與示例

c# datetime.DateTime.Month屬性 (DateTime.Month Property) DateTime.Month Property is used to get the year component of this object. Its a GET property of DateTime class. DateTime.Month屬性用于獲取此對象的年份組成部分。 這是DateTime類的GET屬性。 Syntax: 句法…

NO6——KMP

1 int next[N];2 char str1[M],str2[N];3 //str1 長&#xff0c;str2 短4 //len1,len2,對應str1,str2的長5 6 void get_next(int len2)7 {8 int i 0,j -1;9 next[0] -1;10 while(i<len2)11 {12 if(j -1 || str2[i] str2[j])13 {14 …

計算機文化基礎第二章,計算機文化基礎(第二章Windows2000操作系統)

計算機文化基礎(第二章Windows2000操作系統)第二章Windows 2000 操作系統1. 打開“資源管理器”的方法不能是_A右擊“開始”按鈕 B選擇“開始” 、 “程序”菜單 C從“我的電腦”的快捷菜單 D從“控制面板”中選擇2. 在“資源管理器”中選定多個文件的方法不能是_A逐個雙擊要選…

r語言簡介_R語言簡介

r語言簡介R is a language and environment for statistical computing and graphics that is supported by the R Foundation for Statistical Computing. It is a GNU project which is similar to the S language and environment developed at Bell Laboratories by John C…

linux中echo的使用方法

1.echo命令我們經常使用的選項有兩個&#xff0c;一個是-n&#xff0c;表示輸出之后不換行。另外一個是-e&#xff0c;表示對于轉義字符按對應的方式處理&#xff0c;假設不加-e那么對于轉義字符會按普通字符處理。 2.echo輸出時的轉義字符 \b 表示刪除前面的空格 \n 表示換行 …

如何讓計算機兩個用戶使用不同步,如何實現兩臺或多臺電腦遠程修改文件同步更新?...

說起文件同步工具&#xff0c;現在網上這樣的程序很多&#xff0c;微軟也為用戶提供了一款免費的遠程同步軟件——Windows Live Sync。該程序提供的文件同步功能允許用戶在兩臺或更多電腦上對指定的文件夾中的文件進行同步更新。小知識&#xff1a;文件的同步更新&#xff0c;就…

本地事物的簡介

2019獨角獸企業重金招聘Python工程師標準>>> 此章帶大家回顧下本地事物的一些內容。標題 2 事物: 有一組操作構成的可靠,獨立的工作單元----百度百科 事物的四大特性: A:原子性(Atomicity)事務是數據庫的邏輯工作單位&#xff0c;事務中包括的諸操作要么全做&#x…

dbms數據庫管理系統_DBMS中的數據庫語言

dbms數據庫管理系統DBMS數據庫語言 (DBMS Database languages ) Database languages are the languages that provide the facility to specify the database schema and to express database queries and updates. They are further divided into four categories but all are…

物聯網計算機相關專業嗎,物聯網工程屬于計算機專業嗎

勵志語錄(7qianxun.com)不是,物聯網工程本身就是一個專業,屬于工學范疇。本專業學生要具有較好的數學和物理基礎&#xff0c;掌握物聯網的相關理論和應用設計方法&#xff0c;具有較強的計算機技術和電子信息技術的能力。物聯網工程專業就業前景怎么樣教育裝備網、物聯網是繼計…

第一個錯誤的版本_尋找第一個錯誤的版本

第一個錯誤的版本Problem statement: 問題陳述&#xff1a; Suppose that IncludeHelp turns to be a product company & we have a product manager leading a team to develop a new product. Unfortunately, the latest version of our product fails the quality chec…

js的JSON

把任何JavaScript對象變成JSON&#xff0c;就是把這個對象序列化成一個JSON格式的字符串&#xff0c;這樣才能夠通過網絡傳遞給其他計算機。 如果我們收到一個JSON格式的字符串&#xff0c;只需要把它反序列化成一個JavaScript對象&#xff0c;就可以在JavaScript中直接使用這個…

軟件可用性測試mantis,學生選課系統-軟件可用性測試實驗.doc

學生選課系統-軟件可用性測試實驗實驗報告課程名稱&#xff1a;軟件測試方法和技術學生姓名&#xff1a;學號&#xff1a;院系&#xff1a;計算機 班級&#xff1a;1202 組別&#xff1a;1任課教師&#xff1a;張建東 指導老師&#xff1a;張建東目錄一、實驗目的&#xff1a;實…

Web 通信 之 長連接、長輪詢(long polling)

基于HTTP的長連接,是一種通過長輪詢方式實現"服務器推"的技術,它彌補了HTTP簡單的請求應答模式的不足,極大地增強了程序的實時性和交互性。 一、什么是長連接、長輪詢&#xff1f; 用通俗易懂的話來說&#xff0c;就是客戶端不停的向服務器發送請求以獲取最新的數據信…

scala中捕獲異常_如何在Scala中引發異常?

scala中捕獲異常Scala的例外 (Exceptions in Scala) Exceptions are cases or events that occur in the program at run time and hinder the regular flow of execution of the program. These can be handled in the program itself. 例外是在運行時在程序中發生并阻礙程序…

計算機如何輸入ip地址,電腦如何切換ip地址_怎么讓電腦切換ip地址-win7之家

在每臺電腦中&#xff0c;系統中的ip協議都會有提供一種統一的ip地址&#xff0c;能夠為為互聯網上的每一個網絡和每一臺主機分配一個邏輯地址&#xff0c;從而達到屏蔽物理地址的差異&#xff0c;同時我們也可以對ip地址進行切換&#xff0c;那么電腦如何切換ip地址呢&#xf…

java線程和操作系統線程_操作系統中的線程

java線程和操作系統線程線程數 (Threads) A thread is a unit of CPU utilization, which comprises the following parts that are program counter, register set, stack and a thread ID. Generally, it’s well known that the process is heavy weighted which means they…