萬盛學電腦網

您现在的位置: 萬盛學電腦網 >> 程式設計 >  >> 資料庫 >> 資料庫綜合

Oracle 資料庫核心知識總覽:範式、實體關係、設計方法與 SQL 核心語法

Oracle 資料庫作為企業級關聯式資料庫的標竿,其核心理論與實作技能是資料庫管理員 (DBA) 與後端工程師的必修課。本文濃縮正規化範式、實體與屬性、資料庫設計方法論、SQL 核心語法(串聯、多表連接、單行函數、日期函數)與日期格式化元素,構建一份高密度知識速查表。

一、正規化範式階層

範式定義條件解決異常
1NF無重複群、有主鍵原子性
2NF符合 1NF + 無部分相依 (非鍵屬性完全相依於主鍵)插入/刪除/更新異常 (部分)
3NF符合 2NF + 無傳遞相依 (非鍵屬性不相依於其他非鍵屬性)傳遞相依異常
BCNF符合 3NF + 每個決定因素皆為候選鍵多候選鍵重疊導致的異常
4NF符合 BCNF + 無多值相依多值相依異常
5NF重組連接無損失 (投影-連接正規化)連接相依異常
DK/NF僅含定義域約束與鍵約束所有修改異常

二、實體、屬性與關係

  • 實體:可識別的客觀事物 (如「學生」、「課程」)
  • 屬性:實體特性 (如學生的學號、姓名、系別)
  • 關係:實體間聯繫 (一對一、一對多、多對多)

三、資料庫設計四階段與三大方法論

  1. 需求分析 → 資訊分析與定義 → 設計實現 → 物理設計
  2. 基於 3NF:識別全部屬性與相依 → 單一模式 → 投影分解達 3NF
  3. 基於 E-R 圖:構建企業模式 → 轉換為目標 DBMS 概念模式
  4. 基於視圖:各應用建立視圖 → 合併整合為全域概念模式

四、SQL 核心語法速查

1. 串聯與描述表

  • 串聯運算子:|| (如 'Hello' || 'World')
  • 描述表結構:DESCRIBE table_name 或 DESC table_name

2. 多表連接類型

連接類型定義分類
笛卡爾積無關聯條件直接多表查詢內連接
等值連接主外鍵值相等 (最常用)內連接
非等值連接範圍比較如 BETWEEN ... AND內連接
自我連接單表內屬性關聯 (如員工-主管)內連接
外連接保留無對應記錄的一方 (LEFT/RIGHT/FULL)外連接

3. 常用單行函數

分類函數說明
大小寫轉換LOWER/UPPER(str)全字串轉小寫/大寫
INITCAP(str)每個單字首字母大寫
——
字串處理SUBSTR(str, pos, len)擷取子字串 (位置從 1 起算)
LENGTH(str)字串長度
LPAD/RPAD(str, n, pad)左/右填充至長度 n
LTRIM/RTRIM(str, chars)移除左/右側指定字元 (預設空白)
REPLACE(str, old, new)替換所有出現的子字串
CONCAT(s1, s2)串聯兩字串 (等同 ||)
數值處理ROUND(num, dec)四捨五入;dec<0 從整數位處理
TRUNC(num, dec)直接捨去;dec<0 同理
日期函數MONTHS_BETWEEN(d1, d2)兩日期月份差 (可為小數)
ADD_MONTHS(d, n)日期加減 n 月
NEXT_DAY(d, 'DAY')日期之後下一個指定週幾
LAST_DAY(d)該月最後一天
TO_DATE(str, fmt) / TO_CHAR(d, fmt)字串↔日期轉換,fmt 見下表

4. 日期格式化元素速查

元素意義範例
YYYY4 位年份2024
YY / Y年份後 2/1 位24 / 4
MM2 位月份03
MON / MONTH月份縮寫/全寫MAR / MARCH
DD月內第幾天15
DAY / DY星期全寫/縮寫FRIDAY / FRI
HH24 / HH1224/12 小時制14 / 02
MI / SS分 / 秒30 / 59
RM羅馬數字月份III

將上述核心知識內化為肌肉記憶,並配合實際資料庫環境練習,即能在設計、開發、調優與維運各階段遊刃有餘。

copyright © 萬盛學電腦網 all rights reserved