1. 程式人生 > 其它 >2.1關係及其相關概念

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。