一直想學oracle但都沒有下定決心。這次借了書,一定要學好oracle。
目前學習 《oracle從入門到精通》 明日科技 的oracle 11g 版本
關係型資料庫的基本理論
資料模型:層次模型、網狀模型、關係模型(最普及)
關係:由行和列交叉組成的二維**,一行為乙個元組,代表乙個實體;一列為乙個屬性
關係的性質:
①屬性值不可分解
②沒有重複的元組,即沒有重複的行
③理論上沒有行序,有時候也可以有行序
④超鍵:在乙個關係中,唯一標示元組的屬性或屬性集
⑤候選鍵:能唯一標示元組,且不含多於屬性的屬性集
⑥主鍵:若有多個候選鍵,選擇其中乙個做主鍵
⑦外來鍵:關係 a 的主鍵 t 放在關係 b 中,則 t 是 b 的外來鍵
e-r模型:關係型資料庫的邏輯模型,通過實體和關係組成的圖形表示。由實體、屬性和聯絡3部分組成。
實體:矩形表示。
屬性:橢圓表示。
聯絡:菱形表示,一對
一、一對多、多對多。
關係型資料庫的設計正規化
關係包括關係模式和關係值。
關係模式:對關係的抽象定義,給出了關係的具體結構;
關係的值:關係的具體內容,反映關係在某一時刻的狀態
每個元組都是符合關係模式的乙個具體值。
規範化:把資料庫組織成在保持儲存資料完整性的同時最小化冗餘資料的結構的過程。規範化必須符合關係模型的正規化規則,防止出現不一致資料和資料丟失。
正規化:包括第一正規化(1nf)、第二正規化(2nf)、第三正規化(3nf)、第四正規化(4nf)、第五正規化(5nf)、第六正規化(6nf)和bcnf正規化等。通常滿足前三個正規化即可。
1、第一正規化(1nf)
①資料組每個屬性只能包含乙個值
②關係中的每個陣列必須包含相同數量的值
③關係中每個陣列一定不能相同
2、第二正規化(2nf)
在第一正規化的基礎上,要求資料庫表中的每乙個實體必須可以被唯一地區分。實體屬性必須完全依賴於主關鍵字,不能只依賴主關鍵字的一部分。
如:(員工編號、崗位)->(決定)(姓名、年齡、學歷、基本工資、績效工資、獎金)
其中(員工編號)->(決定)(姓名、年齡、學歷)
(崗位)->(決定)(基本工資)
應拆為三張表:
員工檔案表(員工編號、姓名、年齡、學歷)
崗位工資表(崗位、基本工資)
員工工資表(員工編號、崗位、績效工資、獎金)
3、第三正規化(3nf)
在第二正規化的基礎上要求關係表中不存在非關鍵字列對任意候選關鍵字列的傳遞函式依賴。即乙個關係表中不包含已在其他表中已包含的非關鍵字資訊。
如:(員工編號)->(決定)(員工姓名、年齡、部門編號、部門經理)
隱含 (員工編號)->(決定)(部門編號)->(決定)(部門經理)
應拆為:
(員工編號、員工姓名、年齡、部門編號)
(部門編號、部門經理)
Oracle入門學習(5)
order by子句 select distinct from table order by order by 子句在整個 select 語句中,始終位於最後 order by 後面可以接列名,列的別名,表示式,列出現在 select 關鍵字後列的序號 order by 後面可以跟多列,表示先按第一...
Oracle 學習的入門心得
oracle的體系太龐大了,對於初學者來說,難免會有些無從下手的感覺,什麼都想學,結果什麼都學不好,所以把學習經驗共享一下,希望讓剛剛入門的人對oracle有乙個總體的認識,少走一些彎路。一 定位 oracle分兩大塊,一塊是開發,一塊是管理。開發主要是寫寫儲存過程 觸發器什麼的,還有就是用orac...
一 Oracle分析函式入門
分析函式是什麼?分析函式是oracle專門用於解決複雜報表統計需求的功能強大的函式,它可以在資料中進行分組然後計算基於組的某種統計值,並且每一組的每一行都可以返回乙個統計值。分析函式和聚合函式的不同之處是什麼?普通的聚合函式用group by分組,每個分組返回乙個統計值,而分析函式採用partiti...