從SQL看關聯式資料庫的規範化及工作原理

2022-09-13 05:00:05 字數 2479 閱讀 5483

課程計算機軟體技術及應用基礎

班級 08020904

學號 2009301971

姓名程立

關聯式資料庫是支援關係模型的資料庫系統。關係模型由關係資料結構、關係操作集合和完整性約束三部分組成。關係操作分為關係代數、關係演算、具有關係代數和關係演算雙重特點的語言(sql語言)。

完整性約束提供了豐富的完整性:實體完整性、參照完整性和使用者定義的完整性。

關聯式資料庫看起來簡單,其實不然;要設計出高效·可靠的表,並不是一件容易的事,而這個過程中最為關鍵的部分就是關係的規範化。

對關係進行分解的過程叫關係的規範化,即規範化實際是由於關係中存在異常情況而引出的。把乙個關係分解為多個關係是需要注意一些問題,而其中最為重要的兩點就是函式依賴和參照關係。

函式依賴是指在關係r中,x,y為r的兩個屬性或屬性組,如果對於r的所有關係r都存在:對於x的每乙個具體值,y都有乙個具體值與之對應,則稱屬性y依賴於屬性x。函式依賴是關係屬性之間的一種聯絡。

它說明,如果給定了乙個屬性的值,就可以獲得另乙個屬性的值。值得注意的是,一般情況,函式依賴關係反過來不一定成立。

參照關係即參照完整性,它是指不允許引用資料庫中不存在的外來鍵資料。外來鍵是指乙個表中的某個屬性為另乙個表的主關鍵字。定義外來鍵可實現關係的參照完整性。

但是乙個高效的資料庫並不僅有這些就能夠成型,因為它還必須實現高效的查詢,操縱,定義和控制,而要實現這四個功能,目前使用最為普遍的就是sql。sql是乙個通用功能極強的關聯式資料庫標準語言。

在sql中,只需指定要做什麼而不是怎麼做,不需要告訴sql如何訪問資料庫,只要告訴sql需要資料庫做什麼即可。可以在設計或執行時對資料控制項使用sql語句。正是因為sql的出現,關聯式資料庫的規範化變得簡單且易於實行。

sql是高階的非過程化程式語言,允許使用者在高層資料結構上工作。它不要求使用者指定對資料的存放方法,也不需要使用者了解具體的資料存放方式,所以具有完全不同底層結構的不同資料庫系統,可以使用相同的sql語言作為資料輸入與管理的介面。它以記錄集合作為操作物件,所有sql語句接受集合作為輸入,返回集合作為輸出,這種集合特性允許一條sql語句的輸出作為另一條sql語句的輸入,所以sql語句可以巢狀,這使他具有極大的靈活性和強大的功能,在多數情況下,在其他語言中需要一大段程式實現的功能只需要乙個sql語句就可以達到目的,這也意味著用sql語言可以寫出非常複雜的語句。

sql 面向資料庫執行查詢;sql 可從資料庫取回資料;sql 可在資料庫中插入新的記錄;sql 可更新資料庫中的資料;sql 可從資料庫刪除記錄;sql 可建立新資料庫;sql 可在資料庫中建立新錶;sql 可在資料庫中建立儲存過程;sql 可在資料庫中建立檢視;sql 可以設定表、儲存過程和檢視的許可權。

課後習題:

1. 常見的資料庫系統有四種模型,分別是層次模型﹑網狀模型﹑關係模型﹑物件模型。層析模型,採用樹形結構表示實體型別及實體間相互聯絡,樹的結點是記錄型別,每個非根節點有節制有乙個父節點上一層記錄型別和下一層記錄型別之間是1:

n聯絡,其最大優勢在於處理層次型資料效率比較高,但是對於非層次式資料處理效率比較低;網狀模型用有向圖結構表示實體型別及實體間相互聯絡,有向圖中的結點是記錄型別,箭頭表示從箭尾的記錄型別到箭頭的記錄型別間的聯絡是n:1聯絡;關係模型採用二維**表達實體集,資料結構簡單,容易學習;物件模型,關係模型簡單靈活,能完整地描述現實世界的資料結構,具有豐富的表達能力,但模型相對比較複雜,涉及知識比較多。

2.資料獨立性是資料庫系統的乙個最重要的目標之一,它使資料能獨立於應用程式。可以說資料處理的發展史就是資料獨立性不斷進化的歷史。

在手工管理階段,資料和程式完全交織在一起,沒有獨立性可言,資料結構作任何改動,應用程式也需要做相應的修改;檔案系統出現後,雖然將兩者分離,但實際上應用程式中依然要反映檔案在儲存裝置上的組織方法、訪問方法等物理細節,因而只要資料作了任何修改,程式仍然需要作改動。而資料庫系統的乙個重要目標就是要使程式和資料真正分離,使它們能獨立發展。

資料獨立性包括資料的物理獨立性和資料的邏輯獨立性。

物理獨立性是指使用者的應用程式與儲存在磁碟上的資料庫中資料是相互獨立的。即,資料在磁碟上怎樣儲存由dbms管理,使用者程式不需要了解,應用程式要處理的只是資料的邏輯結構,這樣當資料的物理儲存改變了,應用程式不用改變。

邏輯獨立性是指使用者的應用程式與資料庫的邏輯結構是相互獨立的,即,當資料的邏輯結構改變時,使用者程式也可以不變。

資料與程式的獨立,把資料的定義從程式中分離出去,加上資料的訪問又由dbms負責,從而簡化了應用程式的編制,大大減少了應用程式的維護和修改。

3.關聯式資料庫中對錶的要求如下:a.

表中的列稱為屬性,每一列有乙個名稱即屬性名,表中的屬性名不能相同;b.列的取值範圍稱為域,同列具有相同的域,不同的列可以有相同的域;c.表中任意兩行元素不能相同。

4. db:是指datebase(資料庫)

dbs:是指datebase systerm (資料庫系統)

dbms:是指datebase mangement systerm(資料庫管理系統)

區別:資料庫就是存放資料的倉庫,資料庫管理系統就是用來管理資料庫的,其中資料庫系統是乙個通稱,包括資料庫、資料庫管理系統、資料庫管理人員等的統稱,是最大的範疇。

2 5關聯式資料庫規範化思想 教案

1 課題名稱 2 教學目標 1 通過乙個例項分析,來理解為什麼要進行資料庫規範化 2 學習關係模式規範化的方法 3 了解關係模式規範化的原則。3 教學重點 1 通過例項分析,理解資料規範化的思想和意義 2 理解並掌握資料規範化的方法,理解資料規範化的第一 第二和第三正規化的定義,並能對給出的關係模式...

第7章關聯式資料庫的規範化理論與資料庫的設計

提出的資料庫規範化理論 1.1 不好 的關係模式中存在的問題 可能存在的問題 資料冗餘 更新異常 插入異常 刪除異常 資料依賴 是可以作為關係模式的取值的任何乙個關係所必須滿足的一種約束條件,是通過乙個關係中各個元組的某些屬性值之間的相等與否體現出來的相互關係。資料依賴包括 函式依賴和多值依賴和其他...

6關聯式資料庫SQL語言真題

2011年9月 第 34 36 題基於 學生 選課 課程 資料庫中的如下三個關係 學生基本資訊 s s sname,age 選課資訊 sc s c grade 課程資訊 c c cname,teacher 34 查詢 由李偉老師執教的資料庫課程的平均成績 最高成績和最低成績 將使用關係b a s和s...