驗證自己設計的數據庫表是否合理的3大範式

1)三大範式 概念: 在設計數據庫時,需要遵循的一些規範就叫做範式。
	(1)1NF: 每一項都是不可分割的原子數據項
		學號        姓名         系名         系主任          課程名稱       分數
		10010        張無忌       經濟系        張三丰          高等數學      95
		10010        張無忌       經濟系        張三丰          大學英語      95
		10010        張無忌       經濟系        張三丰          計算機基礎    95
		10011        令狐沖       法律系        任我行          法理學        95
		10011        令狐沖       法律系        任我行          大學英語      95	
		10011        令狐沖       法律系        任我行          法律社會學    95
						
		問題:
			1.存在非常嚴重的數據冗餘(重複): 姓名、系名、系主任
			2.數據添加存在問題,添加新開設的系和系主任時.數據不合法
			3.刪除數據也存在問題,張無忌同學畢業了,刪除數據會將系的數據一起刪除
		
	(2)2NF: 在1NF的基礎上,非碼屬性必須完全依賴於候選碼(在1NF基礎上消除非主屬性對主碼的 ‘部分函數依賴’)
		幾個概念: 
			1.函數依賴  A-->B, 如果通過A的屬性(屬性組)的值,可以確定唯一B屬性的值,則稱B依賴於A。 如: 根據學號找到人
				
			2.完全函數依賴: 
				屬性組: 如: (通過學號 + 課程名稱) --> 分數, 則稱(通過學號,課程名稱)是屬性組.
				
				如果A是一個屬性組,則B屬性組的確定需要依賴於A屬性組中的所有的屬性值
				
			3.部分函數依賴:
				如果A是一個屬性組,則B屬性組的確定需要依賴於A屬性組中的某一個的屬性值即可
				例如: (學號, 課程名稱) -->姓名   其實通過學號就能確定姓名
				
			4.傳遞函數依賴:
				A-->B   B --》C
				如果通過A屬性(屬性組)的值,可以確定唯一B屬性的值, 在通過B屬性(屬性組),又可以確定唯一C屬性的值
				
				如:學號--》系名--》系主任
				
			5.碼: 如果在一張表中,一個屬性或屬性組,被其它所有屬性所完全依賴,則稱這個屬性(屬性值)爲該表的碼
					例如: (學號,課程名稱)
					
					主屬性: 碼屬性組中的所有屬性
					非主屬性:出去碼屬性組的屬性
					
	
		-----選課表-----
		學號            課程名稱       分數
		10010           高等數學        95
		10010           大學英語        95
		10010           計算機基礎      95
		10011           法理學          95
		10011           大學英語        95	
		10011           法律社會學      95
		
		
		-----學生表-----
		學號          姓名         系名         系主任          
		10010        張無忌       經濟系        張三丰                   
		10011        令狐沖       法律系        任我行          
         
		 
		依然存在2個問題:
		2.數據添加存在問題,添加新開設的系和系主任時.數據不合法。 如:新開了計算機系 系主任時殷天正。
		3.刪除數據也存在問題,張無忌同學畢業了,刪除數據會將系的數據一起刪除
			
	(3)3NF: 在 2NF的基礎上,任何非主屬性不依賴於其它非主屬性(2NF基礎上消除傳遞依賴項)
		學號--》系名--》系主任, 因此系主任傳遞依賴於學號, 3NF要消除這個
		
		-----選課表-----
		學號            課程名稱       分數
		10010           高等數學        95
		10010           大學英語        95
		10010           計算機基礎      95
		10011           法理學          95
		10011           大學英語        95	
		10011           法律社會學      95
		
		
		-----學生表-----
		學號          姓名         系名                
		10010        張無忌       經濟系                           
		10011        令狐沖       法律系         
		
	    -----系表-----
	     系名         系主任          
	    經濟系        張三丰                   
		法律系        任我行  
	
		因此: 3NF中, 3個問題被解決
	
	(4)巴斯-科德範式
	
	(5)4NF
	
	(6)5NF
	
	

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章