iT邦幫忙

0

【資料庫系統】L2 關聯式模型

  • 分享至 

  • xImage
  •  

L2 關聯式模型

2-1 關聯式模型結構

  • 表(tables):一個關聯式資料庫包含了的集合
  • 關聯(relation):為一個表
  • 元組(tuple):表的一個列
  • 屬性(attribute):表的一個行
  • 領域(domain):每個關聯的屬性值 ex:上表中的salary屬性領域
  • 單元性(atomic):一個領域中的元素被認為不可分割的單位
  • Null:表示空值或不存在

2-2 資料庫架構

  • 資料庫架構:資料庫的邏輯設計
  • 資料庫實例:某時間點上資料庫的資料

2-3 鍵

  • 超鍵(surperkey):一到多個屬性組成的集合,用於確定一個元組的唯一性
  • 候選鍵(candidate keys):沒有適當子集的最小超鍵
  • 主鍵(primary key):表示整個關聯的性質
  • 外來鍵(foreign kty)

2-4 架構圖

  • 架構圖(schema diagrams):表示資料庫主鍵與外鍵的相依性

      灰色處表示關聯名稱,白色為屬性
      外來鍵拉出鍵頭,指向黑色底線的主鍵
    

2-5 關聯式資料庫的查詢語言

  • 查詢語言(query language):使用者用從於操作資料庫的語言,使用資料庫系統程序執行的為程序語言(procedural language),給予使用者資訊而不給予具體程序的為非程序語言(nonprocedural language)

2-6 關聯式運算

  • 一種程序語言,利用一組操作與一兩種語言結合,產生新關聯

  • select: σ

      滿足給定謂詞的元組
    
    • EX:選擇"教授"在"物理"部門中的元組
    • 可以通過"∧(and), ∨(or), ¬(not)"連接謂詞
    • EX:編寫薪水90,000美元的物理教師:
    σ(dept_name)=“Physics”∧salary >90,000(instructor)
    
    • 可以做出兩個屬性的比較,EX:找出名稱與其構建名稱相同的所有部門
    σ(dept_name)=building(department)2.13
    
  • project: ∏

      濾掉某些參數,只留下指定的參屬性
    
    • A1,A2為屬性名稱,r為參數

    • 結果會刪除重複行

    • EX:消除教師的dept_nameattribute

    • EX:從物理部門中的所有教師的名稱

  • union: ∪

    • 結合兩個關聯
    • Notation: r ∪ s
    • 忽略相同的屬性
    • 屬性必須兼容
    • EX:查找2017年秋季學期或在2018年春季學期或兩者春季的所有課程
  • set difference: –

    • 一個不在另一個關係的關係元組
    • Notation:r – s
    • r與s間的屬性要相同
    • r與s的值要有差異
    • EX:找到2017年學期秋季教授,但不是在2018年春季學期的所有課程
  • Set Intersection:∩

    • Notation: r ∩ s
    • 忽略相同的屬性
    • EX:查2017年秋季和2018年春季學期教授的所有課程聯集
  • Cartesian product: x

    • 笛卡爾積:將任意兩個關聯做結合
    • EX:instructor X teaches
  • Natural Join:⋈

    • 可以組合select和Cartesian-Product的操作
    • ?(⋈?)?=(??)(?×?)


圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言