從零開始 · 一次學會一小步

先懂,再練,慢慢走到會。

不需要先有基礎。先選一科,讀白話與圖解,再跟著示範動手。卡住可以直接看答案,明天再試一次。

專業科目 · 申論式

資料庫應用

獨立練習自評通過0 / 12

先走這條主線:12 個學習單元。 首輪約 10.6 小時,含練習訂正;重測與國考手寫另留時間。較長單元可分次,不必趕完。

已獨立作答通過 0 個(依得分點自評)。完整講義與進階題按需要查閱。

先用 3 分鐘看這科的入門圖解

零基礎起點 · 先花 3 分鐘

先看懂一張表,就能開始資料庫

把資料庫想成有規則的資料櫃。每一張表收同一類資料,一列是一筆紀錄,一欄是一種特徵。

Student 學生表 · 3 欄、2 列資料
student_idnamedepartment
S001小明資管
S002小華資工
  1. 01看資料表Student:兩位學生的紀錄
  2. 02挑出符合條件的列WHERE department = '資工'
  3. 03只留下要看的欄SELECT name
SQL 查詢可以先想成:從哪張表找 → 挑哪些人 → 顯示哪些欄。書寫語法的順序是 SELECT、FROM、WHERE。

今天先做到:先能分清列與欄,再學主鍵、SQL;今天不需要會寫程式。

選擇主線單元 · 目前 1 / 12

主線 01 · 建立基礎

把生活資料變成表:列、欄、鍵與空值

這次只要做到:說出一列代表什麼,找出最小識別欄位,判斷空值與重複資料。

SQL、ER 和正規化都從資料的意義開始;先能讀表,才知道規則在保護什麼。

1.先看一列,不急著背英文

資料庫是整理後持續儲存的資料;DBMS 是管理、查詢及保護它的軟體。table 是表,row 是一筆資料,column 是每筆資料都有的欄位;schema 是欄位及規則的設計。

Book
編號 | 書名 | 價格
B1 | 河流 | 200
B2 | 山路 | 150
這裡有 2 列、3 欄;一列代表一種書,不代表一次借閱。
圖表與程式保留原排列,手機可左右滑動。

2.型態限制資料能長什麼樣

文字、數字、日期有不同用途。CHAR(n) 表固定長度文字,VARCHAR(n) 表有長度上限的文字;NUMERIC(p,s) 表總共 p 位數、其中 s 位在小數點後。文字編號可有前導 0,不要因看起來像數字就改成整數。

NUMERIC(5,2) 的非負最大值是 999.99;1000.00 需要 6 位,超出範圍。編號 '0012' 是文字。

3.鍵靠業務規則,不靠目前剛好不同

能唯一識別每一列的欄位集合是超鍵;再拿掉任何欄就不行的超鍵是候選鍵。選一個候選鍵當主鍵 PK。複合鍵含多個欄位。

業務保證書號唯一、書名可能重複。{書號} 是候選鍵,{書號,書名} 只是超鍵。借閱表若同一本可多次借出,只用書號就不夠。

4.NULL 是未知或缺值,不是 0 或空字串

NOT NULL 禁止缺值;PRIMARY KEY 同時要求唯一且非 NULL。UNIQUE 限制重複,NULL 的具體處理依 DBMS 規則;不要擅自把它等同主鍵。CHECK 檢查條件,但標準 SQL 中 UNKNOWN 不會使 CHECK 失敗,必填還要 NOT NULL。

price NUMERIC(5,2) NOT NULL CHECK(price>=0)
-5:不合 CHECK;NULL:不合 NOT NULL;0:合法。
只寫 CHECK(price>=0) 不能保證 price 有值。

5.把錯誤和它違反的規則連在一起

驗證新資料時逐條看型態、必填、唯一及業務條件。不要只寫『錯誤』,要說是哪一欄、哪個規則。

已存 B1/河流/200,再新增 B1/海岸/100:書號重複;新增 B3/NULL/100:若書名必填才違規,不能自行加題目未說的限制。

6.同一份資料可有不同觀看層次

外部層是某類使用者看到的欄位,概念層是整體表與關係,內部層是檔案/頁/索引的儲存方法。資料獨立性指某層改動可不迫使上一層跟著改;不代表任何結構變更都零影響。

把資料從舊磁碟搬到新磁碟且表不變,是內部儲存改動;員工查薪資、民眾只查服務地址,是不同外部檢視。
學會後再延伸 · 講義、影片與國考題

本單元三種練習先做完。特定 DBMS 的 UNIQUE/NULL、文字排序及儲存編碼差異,需要遇到指定產品題再查;先不要猜成通用規則。

主線先建立操作能力;進入應試階段後,再用完整講義與限時手寫補齊考點與表達。