2.1關係及其相關概念
第2章.資料庫關係模型
- 2.1關係及其相關概念
- 2.2關係模型原理
- 2.3 PostgreSQL資料庫關係操作實踐
2.1關係及其相關概念
1.關係、實體
實體(entity)——是指包含有資料特徵的事物物件在概念模型世界中 的抽象名稱。
例 在企業資訊系統中,人員資訊可以使用“僱員(EMPLOYEE)”實體名稱表示,並用實體模型符號視覺化表示如下。
實體之間的聯絡:
從使用者的需求來進行獲取,在日常生活的環境中,實體間的關係有很多種, 例如一元、二元、多元關係
2. 關係
在關係模型中,使用“關係”來儲存“實體” 和”實體之間的聯絡”中的資料。 關係(relation)——是指具有關係特徵、用於存放實體資料的二 維表。關係也常被稱為關係表。
3. 關係特徵
三、關係的數學定義
關係R只是該笛卡兒積的有意義子集,即關係R的元組數<=笛卡兒積的元組數。
【例 】若一個“學生”實體有(學號,姓名,性別)三個屬性。
我們可以使用D1、D2、D3域來定義它們,並假定它們的域值範圍如下:
- D1={2017010001,2017010002,2017010003}
- D2={劉京,夏岷,周小亮}
- D3={男,女}
在本例中,D1,D2,D3的笛卡兒積為: D1×D2×D3={(2017010001,劉京,男),(2017010001,劉京,女 ),(2017010001,夏岷,男),(2017010001,夏岷,女),… ,(2017010003,周小亮,女)}。共計18個元組。
但是,關係呢?如下圖:
關係表中關係的特徵:【用於判斷一個表是否為關係表】
• 單元格必須是原子的, 只能儲存單個值
• 每個屬性列定義同一資料型別或取值同一域
• 任意兩個元組不能完全相同--不允許有重複的行
• 不同屬性列定義不同列名 --不允許有重複的列
• 列順序可任意交換
• 行順序可任意交換
關係的鍵
在關係中,可以用來唯一標識元組的屬性列,稱為鍵(Key),其它屬性列都為非鍵列。
1.複合鍵
複合鍵(Compound Key)——是指關係中用來唯一標識元組的多列作為 鍵。
2.候選鍵
候選鍵(Candidate Key)——關係中可能有多個列均適合作為鍵,將其 中每個都稱為候選鍵。
3.主鍵
主鍵(Primary key)是關係表中最有代表性的一個候選鍵,每個關係表 中只能定義一個主鍵
主鍵作用:
- 唯一標識關係表的每行(元組)
- 與關聯表的外來鍵建立聯絡,實現關係表之間連線
- 資料庫檔案使用主鍵值來組織關係表的資料儲存
- 資料庫使用主鍵索引快速檢索資料
4.代理鍵
代理鍵——採用系統自動生成的數字序列作為關係表的主鍵。
代理鍵有什麼用途? 由DBMS自動生成的數字序列作為主鍵,可替代複合主鍵,以便獲得更高性 能的資料訪問操作處理
其資料型別為serial,不是char、不是int。