摘要:Oracle數(shù)據(jù)庫系統(tǒng)是數(shù)據(jù)庫領(lǐng)域最優(yōu)秀的數(shù)據(jù)庫之一,具有強大的數(shù)據(jù)分析功能。Oracle數(shù)據(jù)庫技術(shù)教學(xué)涉及Oracle紛繁復(fù)雜的數(shù)據(jù)庫技術(shù)知識,讓學(xué)生們徹底掌握容易出現(xiàn)錯誤的知識點是該門課教學(xué)的重點。
關(guān)鍵詞:Oracle;數(shù)據(jù)庫技術(shù);教學(xué)
中圖分類號:TP311 文獻標識碼:A 文章編號:1009-3044(2018)15-0003-02
Analyzing the Easy Confused Knowledge of Oracle System
CHEN Yi-kuang
(Dept. of Phys. and Elec. Tech. Hanshan Teachers College, Chaozhou 521041, China)
Abstract: Oracle system is one of the best database systems. It has the powerful data analysis function. Oracle technology teaching will include many easy confused knowledge of database technology. It is the most importance to make students master such knowledge during teaching.
Key words: Oracle; database technology; teaching
1 概述
當今社會已經(jīng)進入信息化時代、大數(shù)據(jù)時代,企業(yè)對軟件開發(fā)人員的要求已經(jīng)不僅僅是掌握了某門高級程序語言,而是要求軟件開發(fā)人員必須掌握數(shù)據(jù)庫技術(shù)這項技能,以便在項目開發(fā)過程中能更好地利用數(shù)據(jù)庫的數(shù)據(jù)挖掘和分析能力。Oracle是全球最主流的數(shù)據(jù)庫開發(fā)企業(yè)甲骨文公司研發(fā)的功能強大的數(shù)據(jù)庫系統(tǒng),也是當前企業(yè)級開發(fā)的首選數(shù)據(jù)庫。牢固掌握Oracle數(shù)據(jù)庫技術(shù)的相關(guān)知識,對于學(xué)生今后的就業(yè)具有重要的現(xiàn)實意義。本文主要針對Oracle數(shù)據(jù)庫技術(shù)教學(xué)過程中容易出現(xiàn)錯誤的知識點進行一些總結(jié),希望可以起到拋磚引玉的作用。
2 易錯知識
2.1數(shù)據(jù)庫系統(tǒng)和數(shù)據(jù)庫管理系統(tǒng)的區(qū)別
這是兩個容易混淆的概念,數(shù)據(jù)庫系統(tǒng)是指引入了數(shù)據(jù)庫后的計算機系統(tǒng),包括操作系統(tǒng)、用戶界面、數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)、數(shù)據(jù)庫管理員等。數(shù)據(jù)庫管理系統(tǒng)是指數(shù)據(jù)庫系統(tǒng)中對數(shù)據(jù)進行管理的軟件系統(tǒng),通常在安裝數(shù)據(jù)庫的時候創(chuàng)建。簡單地說,數(shù)據(jù)庫系統(tǒng)包括了數(shù)據(jù)庫管理系統(tǒng),數(shù)據(jù)庫管理系統(tǒng)是數(shù)據(jù)庫系統(tǒng)的一部分。
2.2 三級模式
對于一個數(shù)據(jù)庫,概念模式和內(nèi)模式都只能是一個,而外模式卻可以有多個。因此模式/內(nèi)模式的映像只能有一個,而外模式/模式的映像卻可以有多個,這決定了數(shù)據(jù)庫數(shù)據(jù)的獨立性和用戶界面的多樣性。
2.3 E-R圖
2.3.1如何判斷實體和屬性
通過兩個條件來判斷:第一,作為屬性,不能再具有需要描述的性質(zhì),屬性不能是另外一些屬性的聚集。第二,屬性不能與其他實體具有聯(lián)系。
2.3.2 如何區(qū)分實體集
不同的實體集不能有完全相同的屬性,如果兩個實體集具有完全相同的屬性,那么其中一個實體集必然是另一個實體集的子集。
2.3.3 E-R圖設(shè)計順序
首先確定實體集,其次確定實體集之間以及實體集內(nèi)部的聯(lián)系和聯(lián)系類型,第三步才是確定屬性。容易出錯的地方是確定實體集之后就去確定屬性,這樣會造成某些屬于聯(lián)系的屬性被錯誤的歸為某些實體集的屬性。
2.4 數(shù)據(jù)定義語言(DDL)
2.4.1 主鍵完整性約束
如果一個數(shù)據(jù)庫表的主鍵由屬性(列)集組成,那么主鍵不能寫在每個屬性(列)的定義中,因為一個表只能有一個主鍵,如圖1所示。正確的寫法應(yīng)該是先定義屬性(列),之后再定義主鍵,如圖2所示。
如果給一個已經(jīng)存在的數(shù)據(jù)庫表添加主鍵完整性約束,主鍵如果是寫在屬性(列)的定義中,不能用add,因為此時主鍵定義是屬性(列)定義的一部分,因此會出現(xiàn)已存在要添加的列的錯誤,如圖3所示。正確寫法是修改要添加主鍵完整性約束的屬性(列)的定義,所以用modify代替add,如圖4所示。
2.4.2非空完整性約束
主鍵完整性約束和唯一完整性約束都可以在屬性(列)的定義之后單獨定義,但是非空完整性約束不可以,如圖5所示。對于非空完整性約束,只能隨屬性(列)一起定義,如圖6所示。
2.4.3引用完整性約束
要定義引用完整性約束,被引用的表必須存在,也就是說必須先建被引用的表(父表),再建引用的表(子表),否則出錯,如圖7所示。如果父表被引用的列沒有定義主鍵或者唯一完整性約束,那么也會出現(xiàn)錯誤,無論引用完整性約束是作為列定義的一部分(如圖8)還是單獨定義(如圖9)。正確的寫法是先創(chuàng)建父表并給需要被引用到的列定義主鍵或者唯一完整性約束,然后再建子表并定義引用完整性約束,如圖10所示。
3 結(jié)束語
數(shù)據(jù)庫技術(shù)涉及的知識面非常廣,容易出錯的知識點也非常多,上述易錯知識點只是其中一小部分。掌握好易錯知識點,是真正掌握數(shù)據(jù)庫技術(shù)的關(guān)鍵。對于數(shù)據(jù)庫技術(shù)的初學(xué)者來說,對易錯知識點多加留意也不失為盡快入門的一種好方法。
參考文獻:
[1] 閆紅巖,金松河. Oracle 12c 從入門到精通 [M]. 2版.北京:中國水利水電出版社, 2014.
[2] 陳一匡. 數(shù)據(jù)庫技術(shù)教學(xué)心得點滴[J]. 電腦學(xué)習,2009(3):78-79.
[3] 秦靖,劉存勇,等. Oracle從入門到精通 [M]. 北京:機械工業(yè)出版社, 2015.
[4] 高海賓. 淺談基于“項目導(dǎo)向、任務(wù)驅(qū)動”的Oracle數(shù)據(jù)庫課程教學(xué)改革探究[J]. 電腦知識與技術(shù),2017(13):98-100.