第2章 關系數據庫


1、關系數據庫概述

1.1 關系數據庫的產生歷史

2、關系數據模型

2.1 組成要素

關系數據結構;關系操作集合;關系完整性約束

2.2 關系數據結構

2.2.1 表(Table)

2.2.2 關系(Relation)

2.2.3 關系的三種類型

2.2.4 列

  • 表名必須唯一
  • 字段名必須唯一
  • 不同表中可以出現相同的字段名

2.2.5 屬性

2.2.6 行

2.2.7 分量

2.2.8 碼或鍵(key)

2.2.9 超碼或超鍵

2.2.10 候選碼或候選鍵

單個屬性的碼一定是候選碼

2.2.11 主屬性或非主屬性

2.2.12 主碼或主鍵

2.2.13 全碼或全鍵

2.2.14 外碼或外鍵

2.2.15 參照關系與被參照關系

主碼:也叫做主關系或被參照關系

外碼:也叫做從關系或參照關系

2.2.16 域

2.2.17 概要

在關系的一個碼或鍵中,不能從中移去任何一個屬性,否則它就不是這個關系的碼或鍵,稱這樣的碼或鍵為該關系的( 候選碼或候選鍵 )。

一個關系的候選碼或候選鍵是這個關系的( 最小 )超碼或超鍵。

在數據庫中,關系中包含在任何一個候選碼中的屬性稱為(主屬性或碼屬性

2.2.18 數據類型

2.2.19 關系模型

2.2.20 關系數據庫

2.2.21 關系數據庫應用

2.2.22 簡答:關系數據庫對關系的限定有哪些具體要求?

在關系中,任意兩行數據是允許重復的.

在關系中,如果設置了候選碼,則任意兩行數據是不允許重復的.

2.3 關系操作

2.3.1 概要

2.3.2 查詢

2.3.3 特點

說明:關系操作是通過關系語言實現的.

2.4 關系數據語言

2.4.1 關系代數語言

2.4.2 結構化查詢語言(SQL)

2.4.3 關系演算語言

  • 元組關系演算
  • 域關系演算

共同特點:具有完備的表達能力,是非過程化的集合操作語言,功能強,能夠獨立使用也可以嵌入高級語言中使用。

2.5 運算符

2.5.1 三大要素

2.6 傳統的集合運算

2.6.1 並\差\交\笛卡爾積

2.6.2 並

2.6.3 差

2.6.4 交

2.6.5 笛卡爾積

2.7 專門的關系運算

2.7.1 選擇

2.7.2 投影

πA(R)中的A指的是屬性序列.

2.7.3 連接

select * from r inner join s where s.b = r.b;

2.7.4 除

2.8 簡答

解析:

  沒有選修B5 =  所有 — 有B5

  學生姓名 =  π姓名(S)

    檢索  =  選擇 σ

2.9 關系的完整性約束

2.9.1 數據庫的數據完整性是指數據庫中數據的正確性相容性一致性

2.9.2 實體完整性約束

2.9.3 參照完整性約束

參照完整性約束只針對於外碼進行約束,不會針對主碼而言。

解析:學生安排了某門專業的課程(如:語、數、外),進行學修。學生想早點拿到學分,就需要報名專業的課程(語、數、外)去考試,或者這一次沒把握,這次不報名。但學生就沒法去報名某門專業的課程(如:語、數、外)之外的課程去拿到相對於的學分。

2.9.4 用戶定義完整性約束User-defined Integrity Constraint

        域完整性約束(針對某一應用環境的完整性約束)、其他

2.9.5 應用情景

  • 執行插入操作

  • 執行刪除操作

  • 執行更新操作(上述兩種情況的綜合)

3、關系數據庫的規范化理論

3.1 關系模式中可能存在的冗余和異常問題

3.1.1 數據冗余

  • 指同一數據被反復存儲的情況

3.1.2 更新異常

  • 數據冗余造成的,多個內容更改使操作錯誤

3.1.3 插入異常

  • 不能正常的執行插入操作

3.1.4 刪除異常

  • 不應該刪除的數據會出現被刪除的情況

3.2 函數依賴與關鍵字

3.2.1 X—>Y

3.2.2 函數依賴

定義:關系中屬性間的對應關系

3.2.2.1 完全函數依賴

可知:完全函數依賴中X為候選碼.

3.2.2.2 部分函數依賴

可知:部分函數依賴中X為超碼.

3.2.2.3 傳遞函數依賴

X決定Y,Y不決定X,Y決定Z,則有X—>Z,稱為Z傳遞依賴於X.

簡答:完全函數依賴,部分函數依賴,傳遞函數依賴

3.2.3 關鍵字

3.3 范式與關系規划化過程

3.3.1 簡答:關系規范化過程

3.3.2 第一范式1NF

第一范式綜合應用

原因:
GRADE完全函數依賴於(SNO,CNO);
CTITLE、INAME、IPLACE都只函數依賴於CNO,即它們與(SNO,CNO)為部分函數依賴.

3.3.3 第二范式2NF

第一范式變為第二范式的過程,找表當中的部分函數依賴,然后拆開,即為第二范式.

第二范式綜合應用

3.3.4 第三范式3NF

第二范式變為第三范式第過程,找表中的傳遞函數依賴,然后拆開,即為第三范式.

第三范式綜合應用

3.3.5 第三范式的改進形式BCNF

3.3.6 概要


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM