Oracle學習—day25:Oracle入門

一、數據庫的概念

1.什么是數據庫?

所謂的數據庫其實就是數據的集合。用戶可以對集合中的數據進行新增、查詢、更新、 刪除等操作。數據庫是以一定方式儲存在一起、能與多個用戶共享、具有盡可能小的冗余度、 與應用程序彼此獨立的數據集合。

2.數據庫的類型:

(1)關系型:Oracle;Mysql;PostgreSQL;DB2;Microsoft SQLServer;MicrosoftAccess。

(2)非關系型:Redis;Mongodb;BigTable。

(3)二者區別:

1)關系型特點:

關系型數據庫最典型的數據結構是表,由二維表及其之間的聯系所組成的一個數據組 織。支持事務一致特性。

優點:易于維護;使用方便;復雜操作。

缺點:性能差;存儲方式不靈活。

2)非關系特點:

非關系型數據庫嚴格上不是一種數據庫,應該是一種數據結構化存儲方法的集合,可以 是文檔或者鍵值對等。不支持事務一致特性。

優點:格式靈活;高擴展性;速度快。

缺點:不支持SQL;不支持事務;不支持復雜查詢。

3.Oracle入門

(1)Oracle數據庫:

所有的關系型數據庫存儲數據的集合就是磁盤中的文件。Oracle 數據庫其實就是一組文 件的集合。Oracle 數據庫分別由:數據文件、控制文件、日志文件所構成。

(2)數據文件(.DBF)

數據文件是一個二進制文件,是用于保存用戶應用程序數據和 Oracle 系統內部數據的 文件,這些文件在操作系統中就是普通的操作系統文件。Oracle 在創建表空間的同時會創建 數據文件。

(3)控制文件(.CTL)

控制文件是一個二進制文件,它主要記錄數據庫的名稱、數據庫的數據文件存放位置等 信息。一個控制文件只能屬于一個數據庫。如果控制文件丟失,這數據庫就無法操作。

(4)日志文件(.LOG)

日志文件在 Oracle 數據庫中分為重做日志(RedoLogFile)文件和歸檔日志文件兩種。重 做日志文件是 Oracle 數據庫正常運行不可缺少的文件。重做日志文件主要記錄了數據庫操 作過程。用于備份和還原數據庫,以達到數據庫的最新狀態。

(5)Oracle版本

Oracle 8i;Oracle 9i;Oracle10g;Oracle 11g;12c;

1)I代表Internet,8i版本開啟對Internet的支持。

2)G代表Grid網格。10g加入了網絡計算機的功能。

3)C代表cloud計算設計,12c版本表示對云計算的支持。

二、Oracle安裝和卸載

1.安裝

(1)按照默認點擊下一步

(2)下面的頁面選擇標準版;管理口令自定義不能忘。

2.卸載

(1)停止使用Oracle的服務;

(2)點擊運行 Oracle 自帶的卸載程序 UniversalInstaller 工具卸載;

(3)刪除相關文件;

(4)清理注冊表與Oracle相關的信息;

三、Oracle的使用

1.Oracle目錄結構和系統用戶

(1)Oracle目錄結構

1)admin目錄:

? ? 記錄 Oracle 實例的配置,運行日志等文件。每個實例一個目錄。?

SID:System IDentifier 的縮寫,是 Oracle 實例的唯一標記。在 Oracle 中一個實例只能 操作一個數據庫。如果安裝多個庫那么就會有多個實例,我們可以通過實例 SID 來區分。 由于Oracle中一個實例只能操作一個數據庫的原因oracle中也會使用SID來作為庫的名稱。

2)cfgtoollogs目錄:

下面子目錄分別存放當運行 dbca,emca,netca 等圖形化配置程序時的 log。

3)oradata 目錄:

CONTROL01.CTL :Oracle 數據庫的控制文件;

EXAMPLE01.DBF :Oracle 數據庫表空間文件。

REDO01.LOG:Oracle 數據庫的重做日志文件。

SYSAUX01.DBF:11g 新增加的表空間。主要存儲除數據字典以外的其他數據對象。由系統內部自動維護。

SYSTEM01.DBF:用于存放 Oracle 系統內部表和數據字典的數據。比如,表名、列名、用戶名等。

TEMP01.DBF:臨時表空間文件。

UNDOTBS01.DBF:撤銷表空間文件。用來保存回滾數據。

USERS01.DBF:用戶表空間;

2.Oracle系統用戶:

1)sys用戶:sys 是 Oracle 中的超級賬戶,擁有的權限最大。可以完成數據庫的所有管理任務。

2)System用戶:沒有 sys 權限大,通常用來創建一些用戶查看管理信息的表或視圖。不建議使 用 system 用戶來創建一些與管理無關的表或者視圖。

3)Scott用戶:是 oracle 提供的示例用戶,提供了一些學習 oracle 操作的數據表。如: emp、dept、 salgrade、bonus 表

3.Oracle的啟動:

(1)OracleServiceORCL(必須啟動)

OracleServiceORCL:數據庫服務(數據庫實例),是 Oracle 核心服務該服務是數據庫啟動

的基礎,只有該服務啟動,Oracle 數據庫才能正常啟動。

(2)OracleOraDb11g_home1TNSListener(必須啟動)

OracleOraDb11g_home1TNSListener:監聽器服務,服務只有在數據庫需要遠程訪問的時候 或者使用 PL/SQL Developer 等第三方工具時才需要。

3.Oracle的客戶端工具:

(1)Oracle 自帶客戶端工具 SQLPlus

登錄


創建用戶

(2) Oracle 第三方工具 PL/SQL Developer

1)安裝?PL/SQL Developer點擊下一步;直到完成。


四、Oracle創建表

1.Oracle的表空間:

(1)永久表空間:

表空間是數據庫的邏輯劃分,一個表空間只能屬于一個數據庫。所有的數據庫對象都存 放在指定的表空間中。但主要存放的是表,所以稱作表空間。

(2)臨時表空間:

Oracle 臨時表空間主要用來做查詢和存放一些緩沖區數據。臨時表空間消耗的主要原因 是需要對查詢的中間結果進行排序。重啟數據庫可以釋放臨時表空間。

(3)創建永久表空間的命令:

create tablespace 永久表空間名稱 datafile '永久表空間物理文件位置' size 15M autoextendonnext10Mpermanentonline;

2.創建用戶:

(1)通過PL/SQL Developer 工具創建用戶

(2)分配用戶權限:

1)對象權限(Objectprivileges)

對象權限是指在指定的表,視圖,序列上制定執行動作的權限或權利。

2)角色權限(Roleprivileges)

角色是可以授予用戶的相關權限的組,該方法使權限的授予,撤回更加容易管理。

3)系統權限(Systemprivileges)

為用戶分配創建表、創建用戶、創建視圖、創建存儲過程等權限。

4)分配鏈接權限

為當前用戶分配一個 connect 鏈接角色。

3.Oracle的數據類型:

(1)字符類型:

char類型:定長字符串,會用空格填充來達到其最大長度。

Varchar2類型:變長字符串,與 CHAR 類型不同,它不會使用空格填充至最大長度。

Nvarchar2類型:個包含 UNICODE 格式數據的變長字符串。

(2)數字類型:

Number類型:NUMBER(P,S)是最常見的數字類型;

Integer類型:INTEGER 是 NUMBER 的子類型,用來存儲整數。

(3)浮點型:

Binary_folat類型:BINARY_FLOAT 是 32 位、 單精度浮點數字數據類型,要 5 個字節。

Binary_double類型:BINARY_DOUBLE 是為 64 位,雙精度浮點數字數據類型,需要 9 個字節。

(4)日期類型:

Date類型:DATE 是最常用的數據類型,日期數據類型存儲日期和時間信息。

Timestamp類型:這是一個 7 字節或 12 字節的定寬日期/時間數據類型。

(5)lob類型:

Clob類型:二進制數據,存儲單字節和多字節字符數據。最大長度 4G。

Blob類型:它存儲非結構化的二進制數據大對象,它可以被認為是沒有字符集語義的比特流,一般是圖像、聲音、視頻等文件。最大長度 4G。

(6)long類型:存儲變長字符串(超長字符串),最多達 2G 的字符數據。

(7)longRaw類型; 能存儲 2GB 的原始二進制數據,可存放多媒體圖象聲音等。

4.Oracle表名名規則:

1)必須以字母開頭;

2)長度不能超過 30 個字符;

3)避免使用 Oracle 的關鍵字;

4)只能使用 A-Z、a-z、0-9、_#$;

5.數據庫中約束類型:

1)主鍵約束:唯一性,非空性;

2)唯一約束:唯一性,可以空,但只能有一個。

3)檢查約束:對該列數據的范圍、格式的限制(如:年齡、性別等)。

4)非空約束:該列不允許包含空值。

5)外鍵約束:需要建立兩表間的關系并引用主表的列。

6.數據庫中的表關系:

(1)一對多

一對多關系是建立在兩張表之間的關系。一個表中的一條數據可以對應另一個表中的多 條數據。記住:外鍵永遠在多方。外鍵允許重復,允許含有空值。

(2)一對一

一對一關系是建立在一對多的基礎之上,外鍵可以在任何一方,需要讓外鍵一方具備唯 一約束。

(3)多對多

需要建立一個中間表,中間表里建立兩個列,然后需要用這兩個列作為這個表的聯合主 鍵,然后每個列在作為外鍵參照各自的表的主鍵。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,936評論 6 535
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,744評論 3 421
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 176,879評論 0 381
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,181評論 1 315
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,935評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,325評論 1 324
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,384評論 3 443
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,534評論 0 289
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 49,084評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,892評論 3 356
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,067評論 1 371
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,623評論 5 362
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,322評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,735評論 0 27
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,990評論 1 289
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,800評論 3 395
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,084評論 2 375

推薦閱讀更多精彩內容

  • ORA-00001: 違反唯一約束條件 (.) 錯誤說明:當在唯一索引所對應的列上鍵入重復值時,會觸發此異常。 O...
    我想起個好名字閱讀 5,392評論 0 9
  • 背景: 閱讀新聞 12C CDB模式下RMAN備份與恢復 [日期:2016-11-29] 來源:Linux社區 作...
    陽屯okyepd閱讀 3,550評論 0 7
  • 一、源題QUESTION 74View the Exhibit. You want to create a tab...
    貓貓_tomluo閱讀 1,537評論 0 1
  • Oracle簡介 Oracle數據庫是Oracle(甲骨文)公司的核心產品,適合于大型項目的開發;銀行、電信、電商...
    技術宅老陳閱讀 1,080評論 0 0
  • 數據庫的使用 什么是數據庫 所謂的數據庫其實就是數據的集合。用戶可以對集合中的數據進行新增、查詢、更新、刪除等操作...
    袁小勝閱讀 806評論 0 0