SQL 資料庫原理 W1 Note

--------------課程筆記-----------
  • 定義介紹
    • 如果車庫用鋼筋水泥蓋,那資料庫就是用資料建
    • 資料庫是資料存取的規則
  • 目前主流關聯式資料庫供應商(由小到大排列)
    • SQLite
      • FREE!
    • Access
      • 圖像化
      • 非資訊相關皆可操作
      • 易上手
      • 10~20 users
    • MS-SQL
      • 適合中小企
      • 個人使用免費
    • Oracle
      • 價格百萬、市面上最貴
      • 銀行業/航空業
      • 可同時萬人上線
      • 災難防護性佳
    • MySQL
      • 開源
      • 全球第二大
      • 效率高
  • No-SQL 文本資料庫
    • 違反Relational Database規則
    • 檔案單位從T計算
    • 分散式資料庫
    • GOOGLE/FACEBOOK
    • 大數據!?
  • 各家資料庫副檔名
    • SQL Server .mdf
    • Oracle .dbf
    • Access .mdb
    • SQLite .sqlite
  • 資料庫備援方式
    • 冷備援 (Cold site)
      • 完整備份(可能的頻率: 每周)
      • 差異備份(可能的頻率: 每天)
        • 備份與先前一次備份的差異部分
      • 交易紀錄備份(每30mins/60mins)
        • 只備份指令
    • 熱備援 (Hot site)
      • 分主要系統與備份系統
      • 同時運行與寫入,緊急情況時可由主系統切換至備份系統
      • E.g. 某電信有6套系統,並採異地備援
      • 因等於同時設立多套一樣的系統,建置成本高。
  • 資料庫模型
    • 階層式
    • 網路式
    • 物件導向式
    • 關聯式 <目前主流!>
  • 資料庫架構
    • 管理系統/介面 DBMS (管理系統與使用者介面)
    • 引擎 (資料庫與部分的管理系統)
  • SQL Command (各家廠商有80%都相同)
    • 資料定義語言(DFL, data definition language) 
      • Create: 建立資料庫物件
      • Alter: 變更資料庫物件
      • Drop: 刪除資料庫物件
    • 資料操作語言(DML, data manipulation language) 只有這三個可以修改資料
      • Insert Into: 插入資料
      • Update: 修改資料
      • Delete: 刪除資料
    • 資料查詢語言(DQL, data query language)
      • Select: 查詢資料 
    • 資料控制語言(DCL, data control language)
      • Grant: 設定權限
      • Revoke: 取消權限
      • Commit: 確認交易完成
      • Rollback: 交易失敗回復原始狀態
  • 關聯式資料庫組成
    • 實體(Entity) = 籃子/資料表 = Table
    • 屬性(Attribute) = Field
    • 關聯性(Relationship) = 在建立者的心中
      • 資料庫本身不會記錄資料表的關聯性
      • 建立資料庫必須件關聯性文件 E.g. ERD
  • 索引 Index
    • 是一種分類
    • 用空間換時間
    • 預設為可重複/也可改為不可重複
    • 可調整排列順序 (E.g. 查詢最新的前三筆資料?)
    • 例子:書後面的索引?
    • 設索引的技巧
      • 查詢"條件"的起始點欄位
      • 確認是否為有效的索引
      • 關聯線兩端的欄位=>讓資料庫內部可查詢
  • 主索引(主鍵) PK Primary Key
    • 不可重複或空白
    • 通常預設就是索引/可一個或兩個欄位以上組成
    • 在SQL Server每個資料表都要有個PK
    • 若不知用哪一個欄位可另設流水號
    • 資料庫並無強制規定要設PK
  • 參考索引(外來鍵)介紹 FK Foreign Key
    • 跟索引無關,只是名字像。
    • 維持資料的正確性
    • 參考與被參考欄位資料形態要一致
    • 被參考欄位不可重複 (預設為PK或不可重複的INDEX)
    • 若被參考欄位要修改,需先修改FK
  • 資料庫的正規化
    • 資料路設計的準則
    • 通常只用1~3,最少用第一正規化
    • 愈符合正規化,資料愈分散至多資料表-->不好用
    • NoSQL->違反所有正規化 [從Web端/輸入端解決資料問題]
  • 資料表關係 = 資料表間的關聯性
    • 一對一
    • 一對多/多對一 (兩張表)
    • 多對多 (最少須三張表、兩條關聯線)
  • 何謂關聯圖(ERD)與其重要性
    • 資料庫設計的架構圖
    • 若無ER文件,後人無法維護!
    • ER中的資料字典: 描述ER圖內的圖意
    • 星號代表PK
    • 須和ERD同步更新
  • SQL Server Express & DBMS 環境安裝介紹

留言

Popular Posts

[T-SQL] T-SQL 基本介紹_筆記

[SQL] 查詢語法基本介紹 Part 5 (視觀表 View)

[SQL] MS-SQL資料庫卸離與備份還原