第1章Oracle數(shù)據(jù)庫簡介_第1頁
第1章Oracle數(shù)據(jù)庫簡介_第2頁
第1章Oracle數(shù)據(jù)庫簡介_第3頁
第1章Oracle數(shù)據(jù)庫簡介_第4頁
第1章Oracle數(shù)據(jù)庫簡介_第5頁
已閱讀5頁,還剩45頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

Oracle數(shù)據(jù)庫查詢與管理第1章:Oracle數(shù)據(jù)庫簡介本章內(nèi)容關(guān)系數(shù)據(jù)庫基本概念Oracle數(shù)據(jù)庫簡介OracleSQL分類Oracle開發(fā)工具Oracle存儲結(jié)構(gòu)用select實現(xiàn)基本查詢本章目標(biāo)了解關(guān)系數(shù)據(jù)庫的相關(guān)概念描述各類SQL語句掌握Oracle開發(fā)工具的使用方法理解Oracle的存儲結(jié)構(gòu)能使用Select完成基本的數(shù)據(jù)查詢?nèi)蝿?wù)1.1模型:從現(xiàn)實世界到計算機世界數(shù)據(jù)模型是數(shù)據(jù)特征的抽象E-R建模在系統(tǒng)分析階段構(gòu)建系統(tǒng)分析師根據(jù)業(yè)務(wù)規(guī)范或陳述創(chuàng)建實體關(guān)系模型ER模型將信息與業(yè)務(wù)活動相分離ER模型的優(yōu)點:以清晰、精確的格式記錄了組織的信息明確表示出了信息需求的范圍提供了一個易于理解的數(shù)據(jù)庫設(shè)計圖解為集成多種應(yīng)用程序提供了一個有效的框架ERModel的主要組成實體(Entity)需要了解其信息的有意義的項。如部門、雇員、訂單等屬性(Property)描述或限定實體的項。例如雇員的編號、姓名、職務(wù)等關(guān)系(Relation)實體之間的關(guān)聯(lián)。例如雇員與部門,訂單與項目ER建模的管理數(shù)據(jù)庫的三級模式和兩級映射三級模式

外模式又稱子模式或用戶模式,對應(yīng)于用戶級。它是某個或某幾個用戶所看到的數(shù)據(jù)庫的數(shù)據(jù)視圖,是與某一應(yīng)用有關(guān)的數(shù)據(jù)的邏輯表示。概念模式模式又稱概念模式或邏輯模式,對應(yīng)于概念級。它是由數(shù)據(jù)庫設(shè)計者綜合所有用戶的數(shù)據(jù),按照統(tǒng)一的觀點構(gòu)造的全局邏輯結(jié)構(gòu),是對數(shù)據(jù)庫中全部數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的總體描述,是所有用戶的公共數(shù)據(jù)視圖(全局視圖)。內(nèi)模式內(nèi)模式又稱存儲模式,對應(yīng)于物理級,它是數(shù)據(jù)庫中全體數(shù)據(jù)的內(nèi)部表示或底層描述,是數(shù)據(jù)庫最低一級的邏輯描述,它描述了數(shù)據(jù)在存儲介質(zhì)上的存儲方式和物理結(jié)構(gòu),對應(yīng)著實際存儲在外存儲介質(zhì)上的數(shù)據(jù)庫。兩級映射外模式/概念模式映射同一個概念模式可以有多個外模式所有用戶只有一個概念模式概念模式/內(nèi)模式映射定義全局邏輯結(jié)構(gòu)與存儲結(jié)構(gòu)之間的關(guān)系保證邏輯結(jié)構(gòu)與存儲結(jié)構(gòu)不互相影響1.2關(guān)系數(shù)據(jù)庫的概念E.F.Codd博士在1970年提出了數(shù)據(jù)庫系統(tǒng)的關(guān)系模型ARelationalModelofDataforLargeSharedDataBanks關(guān)系模型是用二維表的形式表示實體和實體間聯(lián)系的數(shù)據(jù)模型,由以下各項組成對象或關(guān)系的集合處理關(guān)系的一組運算符可保證精度和一致性的數(shù)據(jù)完整性是關(guān)系數(shù)據(jù)庫管理系統(tǒng)(RDMBS)的基礎(chǔ)DBMS是一種程序,它可以按照要求在數(shù)據(jù)庫中存儲、檢索和修改數(shù)據(jù)關(guān)系數(shù)據(jù)庫的定義關(guān)系數(shù)據(jù)庫是關(guān)系或二維表的集合一組已經(jīng)被組織為表(table)結(jié)構(gòu)的相關(guān)信息的結(jié)合每個表都包含很多行(row)行被進一步分解為列(column)表在Orcle數(shù)據(jù)庫中被存儲在被稱為模式(schema)的結(jié)構(gòu)中模式是數(shù)據(jù)庫用戶可以存儲表的地方關(guān)系數(shù)據(jù)庫術(shù)語表示關(guān)系數(shù)據(jù)庫的基本存儲結(jié)構(gòu)數(shù)據(jù)庫管理系統(tǒng)(DBMS)數(shù)據(jù)庫管理系統(tǒng)用來訪問數(shù)據(jù)庫的軟件系統(tǒng)稱為數(shù)據(jù)庫管理系統(tǒng)(DBMS)構(gòu)成數(shù)據(jù)庫的信息與用來訪問這些信息的系統(tǒng)不是一回事常見的數(shù)據(jù)庫管理系統(tǒng)軟件OracleDB2SQLServerMySQL結(jié)構(gòu)化查詢語言簡介結(jié)構(gòu)化查詢語言StructuredQueryLanguage(SQL)用于訪問數(shù)據(jù)庫中表對象的語言操作關(guān)系數(shù)據(jù)庫的美國國家標(biāo)準(zhǔn)協(xié)會標(biāo)準(zhǔn)語言(ANSI)被數(shù)據(jù)庫管理系統(tǒng)(RDBMS)生產(chǎn)商廣泛接受特性:是用于操作關(guān)系數(shù)據(jù)庫的ANSI標(biāo)準(zhǔn)語言效率高、易于學(xué)習(xí)和使用功能全面(使用SQL,可定義、檢索和操作表中的數(shù)據(jù))SELECTdepartment_nameFROMdepartments;Oracleserver2.結(jié)構(gòu)化查詢語言(SQL)簡介DDLDMLDCL事務(wù)控制處理語句數(shù)據(jù)操作語言數(shù)據(jù)操作語言(DataManipulationLanguage,DML)語句用于存取數(shù)據(jù)表的內(nèi)容數(shù)據(jù)定義語言數(shù)據(jù)定義語言(DataDefinitionLanguage,DDL)語句用于定義構(gòu)成數(shù)據(jù)庫的數(shù)據(jù)結(jié)構(gòu)事務(wù)控制語句事務(wù)控制(Transaction,TC)語句用于將對行所做的修改永久性的存儲到表中,或者取消這些修改操作數(shù)據(jù)控制語言語句數(shù)據(jù)控制語言(DataControlLanguage,DCL)語句用于修改數(shù)據(jù)庫結(jié)構(gòu)的操作權(quán)限3.使用Oracle開發(fā)工具SQLPlusSQLDeveloper什么是SQLDeveloperOracle官方提供的開發(fā)工具使用命令行界面SQL*PLUS,用于維護管理數(shù)據(jù)庫主要使用OracleSQLDeveloper進行開發(fā)工作什么是OracleSQLDeveloperOracleSQLDeveloper是提高生產(chǎn)力,而且單一化數(shù)據(jù)庫發(fā)展任務(wù)的一個圖形工具使用

Java語言開發(fā)的支持Windows操作系統(tǒng),Linux操作系統(tǒng)和MacOS操作系統(tǒng)平臺缺省使用JDBCthin驅(qū)動器不需要安裝對任何的Oracle數(shù)據(jù)庫連接,9.2.0.1版,或更新版本需要在你的系統(tǒng)上安裝JDK1.5SQLDeveloper界面要在schema上進行數(shù)據(jù)查詢和操作,必須建立一個連接。.創(chuàng)建一個數(shù)據(jù)庫連接至少有一個數(shù)據(jù)庫可以連接123使用SQLWorksheet使用SQLWorksheet輸入而且運行SQL,PL/SQL和SQL*PLUS語句敘述任意一個功能使用Worksheet有關(guān)的數(shù)據(jù)庫連接關(guān)聯(lián)來處理的輸入SQL語句顯示結(jié)果使用SQL工作表123456789運行腳本、保存腳本、檢查腳本、打開腳本執(zhí)行SQL語句輸入一條或多條語句選擇要執(zhí)行的語句F5和F9的區(qū)別4Oracle存儲結(jié)構(gòu)存儲結(jié)構(gòu)-1數(shù)據(jù)庫表空間段區(qū)Oracle數(shù)據(jù)塊邏輯物理OS塊OS文件存儲結(jié)構(gòu)-2數(shù)據(jù)庫由一個或多個表空間組成表空間由一個或多個數(shù)據(jù)文件組成,表空間中包含段段(表、索引等)由一個或多個盤區(qū)組成。段存在于表空間中,但是在表空間中可以有許多數(shù)據(jù)文件中的數(shù)據(jù)盤區(qū)是在磁盤上連續(xù)的塊的組。一個盤區(qū)在一個表空間中,且在表空間中單一的文件中塊是數(shù)據(jù)庫中最小的分配單元,也是數(shù)據(jù)庫使用的最小I/O單元如何存取數(shù)據(jù)表空間表A表B段段行列表塊行片段區(qū)表空間和數(shù)據(jù)文件Oracle數(shù)據(jù)庫在邏輯上將數(shù)據(jù)存儲在表空間中,在物理上將數(shù)據(jù)存儲在數(shù)據(jù)文件中。表空間只能屬于一個數(shù)據(jù)庫包括一個或多個數(shù)據(jù)文件可進一步劃分為邏輯存儲單元數(shù)據(jù)文件只能屬于一個表空間和一個數(shù)據(jù)庫是存儲方案對象數(shù)據(jù)的資料檔案庫數(shù)據(jù)庫表空間數(shù)據(jù)文件5.使用Select檢索數(shù)據(jù)基本Select語句Select中的算術(shù)表達式和空值列別名連接運算符、文字字符串Distinct關(guān)鍵字Describe語句課程所用的HR方案5.1Select語句的功能用于從數(shù)據(jù)庫表中檢索信息來自于數(shù)學(xué)上的集合運算,包含映射:選擇由查詢返回的表中的列。可以是任意數(shù)量的列。選擇:選擇由查詢返回的表中的行??梢允褂貌煌臈l件限定行。聯(lián)接:通過指定不同表之間的鏈接關(guān)系來將其中的數(shù)據(jù)集合在一起。5.1Select語句的功能5.2

Select基本語法基本語法:說明:最簡單的SQL語句必須包含至少一個SELECT字句和FROM字句SELECT之后跟要檢索的列FROM之后跟要檢索的表*:DISTINCT:column|expresion:選擇所有列查詢所有列的數(shù)據(jù)示例:查詢Departments表中所有列的數(shù)據(jù)星號符(*)取代表中所有列的列名SELECT*FROMdepartments;在SELECT關(guān)鍵字之后列出所有列列名SELECTdepartment_id,department_name,manager_id,location_idFROMdepartments;選擇指定列查詢表中指定列的數(shù)據(jù)在SELECT語句中指定列名,用逗號隔開示例:查詢departments表中部門編號,所在區(qū)域編號的信息如果不知道需要查看的信息在表中是如何定義的,可以使用DESCRIBE命令來顯示表結(jié)構(gòu)DESCRIBE命令語法SELECTdepartment_id,location_idFROMdepartments;DESC[RIBE]tablenameSQL語句編寫規(guī)則SQL語句規(guī)則和準(zhǔn)則SQL語句是不區(qū)分大小寫的SQL語句可以是一行,也可以是多行關(guān)鍵字不能縮寫或在中間另起一行子句通常放在單獨的行中縮進是為了增強可讀性SELECT

last_name,hire_dateFROMemployees;5.3語句中的算術(shù)表達式應(yīng)用場景:可能要根據(jù)已有字段計算出另外的結(jié)果進行顯示算術(shù)表達式可以包含列名、數(shù)字常量和算術(shù)運算符使用算術(shù)運算符可以創(chuàng)建包含數(shù)字和日期數(shù)據(jù)的表達式算術(shù)運算符:+-*/DATE和TIMESTAP類型只能用+和–注意算術(shù)運算符的優(yōu)先級

5.4數(shù)據(jù)檢索中的空值如果某行的某字段缺少數(shù)據(jù)值,則稱該列為空(null)null是不可用的、未分配的、未知的或不適用的值null不等同于空格或零包含空值的算術(shù)表達式的運算結(jié)果也為空5.5數(shù)據(jù)檢索中的列別名列別名(ALIAS)具有以下特征和用途可重命名列標(biāo)題有助于方便計算使用語法緊跟在列名或計算表達式之后列名和列別名之間用空格隔開,也可以加上可選的AS關(guān)鍵字如果別名包含空格或特殊字符,或者區(qū)分大小寫,則要使用雙引號將列名括起來示例:將表達式price*2使用別名DOUBLE_PRICESELECTprice*2DOUBLE_PRICEFROMproducts;示例:查詢price的兩倍,并取別名DoublePrice,保持首字母大寫

SELECTprice*2"

DoublePrice"FROMproducts;SELECTprice*2AS"

DoublePrice"FROMproducts;5.6連接運算符||將列或字符串連接到其他列、算術(shù)表達式或常數(shù)列用||表示創(chuàng)建了一個由字符表達式生成的列字符串和空值的連接結(jié)果為原字符串示例:查詢雇員表中雇員的姓和名,并使用連接符,在一列中顯示姓名SELECTfirst_name,last_name,first_name||

''||last_nameAS“EmployeeName"FROMEmployees;5.7禁止顯示重復(fù)行DISTINC關(guān)鍵字用于禁止顯示重復(fù)的行示例:查詢默認(rèn)所有行,包括重復(fù)行示例:使用DISTINCT消除重復(fù)行SELECTcustomer_idFROMpurchases;SELECTDISTINCTcustomer_idFROMpurchases;5.8文字字符串文字是指在SELECT語句中包含的數(shù)字、字符或日期日期和字符文字值必須放在單引號內(nèi)每個字符串在每個返回行中輸出一次SELECTlast_name||‘isa‘||job_idAS“EmployeeDetails”FROMemployees;字符串值區(qū)分大小寫,日期值區(qū)分格式默認(rèn)的日期格式是:DD-MON-RR其他引號運算符(q)如果文字字符串本身包含單引號,則可使用q指定你自己的引號分隔符可以選擇所需要的任何分隔符或

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論