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 環境安裝介紹
 
留言
張貼留言