15Linux下Oracle的使用入門_第1頁
15Linux下Oracle的使用入門_第2頁
15Linux下Oracle的使用入門_第3頁
15Linux下Oracle的使用入門_第4頁
15Linux下Oracle的使用入門_第5頁
已閱讀5頁,還剩33頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

Oracle數(shù)據(jù)庫設(shè)計入門第十章本章目標標理解數(shù)據(jù)據(jù)庫設(shè)計計的基本本方法掌握創(chuàng)建建用戶分分配權(quán)權(quán)限掌握序列列掌握oracle常用用函數(shù)數(shù)據(jù)庫范范式概念念設(shè)計范式式(范式,數(shù)據(jù)庫設(shè)設(shè)計范式式,數(shù)據(jù)庫的的設(shè)計范范式)是符合某某一種級級別的關(guān)關(guān)系模式的集合。。構(gòu)造數(shù)據(jù)庫必須遵循循一定的的規(guī)則。。在關(guān)系系數(shù)據(jù)庫庫中,這這種規(guī)則則就是范范式。關(guān)關(guān)系數(shù)據(jù)據(jù)庫中的的關(guān)系必必須滿足足一定的的要求,,即滿足足不同的的范式。。目前關(guān)關(guān)系數(shù)據(jù)據(jù)庫有六六種范式式數(shù)據(jù)庫的的范式第一范式式第一范式式(1NF)是指數(shù)據(jù)據(jù)庫表的的每一列列是不可可分割的的基本數(shù)數(shù)據(jù)項,,同一列列中不能能有多個個值,即即實體中中的某個個屬性不不能有多多個值或或者不能能有重復復的屬性性例如:張三這個個實體不不能在性性別這個個屬性上上存在可可男可女女的情況況.第二范式式第二范式式(2NF)是在第一一范式((1NF)的基礎(chǔ)上上建立起起來的,要求數(shù)據(jù)據(jù)庫表中中的每個個實例或或行必須須可以被被惟一地地區(qū)分例如:張三這個個實體必必須有被被唯一標標識可用用的屬性性(學號或者者身份證證號).第三范式式滿足第三三范式((3NF)必須先滿滿足第二二范式((2NF)。簡而言之之,第三三范式((3NF)要求一個個數(shù)據(jù)庫庫表中不不包含已已在其它它表中已已包含的的非主關(guān)關(guān)鍵字信信息例如:張三的性性別值沒沒有必要要在多個個表重復復出現(xiàn).(可以允許許主外鍵鍵關(guān)聯(lián))一般設(shè)計計只要求求滿足到到3NF就可可以了PowerDesigner的使用用PowerDesigner主要包包括以下下幾個功功能部分分:DataArchitect這這是一個個強大的的數(shù)據(jù)庫庫設(shè)計工工具。ProcessAnalyst這這部分用用于創(chuàng)建建功能模模型和數(shù)數(shù)據(jù)流圖圖,創(chuàng)建建"處理理層次關(guān)關(guān)系"。。AppModeler為為客戶//服務(wù)器器應(yīng)用程程序創(chuàng)建建應(yīng)用模模型。ODBCAdministrator此此部分分用來管管理系統(tǒng)統(tǒng)的各種種數(shù)據(jù)源源。PowerDesigner的界面面數(shù)據(jù)庫的的ER模模型數(shù)據(jù)庫的的物理模模型正向工程程直接地從從PDM產(chǎn)生生一個數(shù)數(shù)據(jù)庫,,或產(chǎn)產(chǎn)生一個個能在你你的數(shù)據(jù)據(jù)庫管理理系統(tǒng)環(huán)環(huán)境中運運行的數(shù)數(shù)據(jù)庫腳腳本,這這是正向向工程。。步驟:1選擇擇Database-->GenerateDatabase。數(shù)數(shù)據(jù)據(jù)庫生成成對話框框出現(xiàn)。。它顯顯示生成成叁數(shù)。。默認認叁數(shù)已已經(jīng)被選選擇。2SQL的文件件名稱框框中鍵入入PDM_TUTORIAL。。3在目目錄框中中,輸入入一條路路徑。4選選擇生生成腳本本的按鈕鈕。5選選擇僅僅僅生成一一個文件件。6點點擊Selection定定位鍵。。7點擊擊底部表表定位鍵鍵。表表頁列列出模型型中選擇擇可用的的所有數(shù)數(shù)據(jù)庫表表。8全全部點擊擊選擇工工具。這這選擇所所有的表表復選框框。9切換換Views和和Domains選擇擇需要的的視圖和和域。10點擊擊確定。。逆向工程程2-1將已存在在的數(shù)據(jù)據(jù)庫進新新的PDM之之內(nèi)。。數(shù)據(jù)據(jù)來源可可能是從從腳本文文件或一一個開放放數(shù)據(jù)庫庫連接數(shù)數(shù)據(jù)來源源,這這是逆向向工程。。一般般要先定定義一個個數(shù)據(jù)庫庫對象ODBC,然然后再生生成新的的PDM。逆向工程程來自一一個腳本本文件的的數(shù)據(jù)庫庫對象步步驟:1選擇擇File->>ReverseEngineer->>Database顯顯示新新的物理理數(shù)據(jù)模模型的對對話框。。2點擊擊部份Radio按按鈕。。3選擇擇下拉列列表框的的一個數(shù)數(shù)據(jù)庫管管理系統(tǒng)統(tǒng)。4點擊擊確定。。數(shù)據(jù)庫庫逆向工工程對話話框出現(xiàn)現(xiàn)。5點點擊使用用腳本文文件的Radio按按鈕。。6瀏覽覽適當?shù)牡哪夸涍x選擇腳本本文件。。

7點點擊選選項定位位鍵顯示示選項頁頁。8選選擇逆向向工程選選項。9點點擊確定定。逆向工程程2-2逆向工程程一個ODBC到新的的PDM步驟驟:1選擇擇File->>ReverseEngineer->>Database顯顯示新新的物理理數(shù)據(jù)模模型的對對話框。。2點擊擊Share單單選框框。3選選擇下拉拉列表框框的一個個數(shù)據(jù)庫庫管理系系統(tǒng)。4點點擊確定定。數(shù)據(jù)據(jù)庫逆向向工程對對話框出出現(xiàn)。。。5點擊擊使用一一個ODBC單單選框框,選擇擇一個ODBC。6點擊擊選項定定位鍵顯顯示選項項頁。7選選擇逆逆向工程程選項。。

8點點擊確確定。ODBC逆向工工程對話話框出現(xiàn)現(xiàn)。9在上上面部份份對話框框的下拉拉列表框框中選擇擇限定詞詞和擁有有者。10點擊擊一個對對象類型型定位鍵鍵。11點點擊確確定。DDL概概述DDL為為數(shù)據(jù)據(jù)定義語語言以下下為部分分內(nèi)容創(chuàng)建數(shù)據(jù)據(jù)庫創(chuàng)建用戶戶創(chuàng)建表空空間建表建視圖建索引建過程函函數(shù)包包等等。。。。。建作業(yè)Linux下啟啟動oracle首先在shell環(huán)境境下輸入入sqlplus““/assysdba”以以管理員員身份進進入在sql>提示示符下敲敲入startup命命令啟動動數(shù)據(jù)庫庫啟動oracle監(jiān)聽聽器lsnrctlstartWinndow下訪問問linuxoracle首先windows下下安裝oracle客客戶端工工具修改tnsname..ora文件,,添加linux下oralce的的ip地地址等信信息利用plsqldevpment工具連連接到liunx中Oracle邏邏輯結(jié)構(gòu)構(gòu)圖創(chuàng)建表空空間創(chuàng)建表空空間的語語法是::createtablespacetablespacenamedatafile‘filename’’[sizeinteger[[K||M]]][autoextend[OFF|ON]];;數(shù)據(jù)庫用用戶概念念數(shù)據(jù)庫系系統(tǒng)安全全需要控控制和存存儲以以下內(nèi)容容用戶名口口令的的組合用戶是否否授權(quán)可可連接數(shù)數(shù)據(jù)庫用戶創(chuàng)創(chuàng)建實體體集的可可用的磁磁盤空間間的大小小用戶資源源的限制制,是否否啟動了了數(shù)據(jù)庫庫審記功功能用戶可進進行那些些操作創(chuàng)建用戶戶的時候候系統(tǒng)統(tǒng)自動對對該用戶戶建立一一個相應(yīng)應(yīng)的模式式,模式式名和用用戶名相相同,用用戶僅與與一個同同名的模模式對應(yīng)應(yīng)和用戶戶相關(guān)的的還包含含用戶默認認表空間間用戶臨時時表空間間用戶資源源文件PROFILE建用戶語語法createuser用戶名identifiedby“密碼”defaulttablespace默認表空空間名temporarytablespace臨時表空空名profileDEFAULT資源文件件QUOTAINTEGEK[M][UNLIMITED]]ONposdata;建用戶CREATEUSER“POS”IDENTIFIEDBY“pos”DEFAULTTABLESPACEposdataTEMPORARYTABLESPACEpostmpPROFILEDEFAULTQUOTA100mONposdata說明POS用戶密碼碼是pos默認表空空間是posdata,臨時表空空間是postmp此用戶只只能使用用posdata上的100M空間數(shù)據(jù)庫權(quán)權(quán)限概述述數(shù)據(jù)庫系系統(tǒng)通過過安全措措施防止止非法用用戶對數(shù)數(shù)據(jù)進行行存儲,,以保證證數(shù)據(jù)庫庫安全運運行,Oracle的的安全機機制主要要是通過過權(quán)限進進行設(shè)置置的,通通過權(quán)限限設(shè)置防防止非權(quán)權(quán)限的數(shù)數(shù)據(jù)庫存存取,非非權(quán)限的的對模式式實體的的存取,,只有通通過權(quán)限限的人證證才可以以存取數(shù)數(shù)據(jù)庫中中數(shù)據(jù)。。ORACLE根根據(jù)系系統(tǒng)管理理方式不不同,可可以將權(quán)權(quán)限分為為兩類系統(tǒng)權(quán)限限實體權(quán)限限。權(quán)限管理理系統(tǒng)權(quán)限限系統(tǒng)權(quán)限限是執(zhí)行行某一類類或者在在某一用用戶中執(zhí)執(zhí)行某種種操作的的權(quán)限,,每一種種系統(tǒng)權(quán)權(quán)限允許許用戶執(zhí)執(zhí)行一種種特殊的的數(shù)據(jù)庫庫操作或或者某一一類數(shù)據(jù)據(jù)庫操作作。比如如建表表空間建建用戶戶修改改數(shù)據(jù)庫庫結(jié)構(gòu)修修改用用戶權(quán)限限修改改數(shù)據(jù)庫庫結(jié)構(gòu)修修改任任何用戶戶的實體體,創(chuàng)建建基表,,視圖,,同義,,創(chuàng)建數(shù)數(shù)據(jù)庫鏈鏈路等權(quán)權(quán)限。實體權(quán)限限實體權(quán)限限是指某某一用戶戶對其他他用戶的的表,視視圖,序序列,存存儲過程程,函數(shù)數(shù),包的的操作權(quán)權(quán)限,不不同類型型的實體體具有有不同的的實體權(quán)權(quán)限。對對于某些些模式實體體,比如如聚簇簇,索引引,觸發(fā)發(fā)器,數(shù)數(shù)據(jù)庫鏈鏈路等沒沒有相應(yīng)應(yīng)的實體體權(quán)限,這這些權(quán)限限由系統(tǒng)統(tǒng)權(quán)限進進行管理理。分配/回收權(quán)限限語法分配權(quán)限限

GRANT權(quán)權(quán)限TO回收權(quán)限限用戶名角色名publicRevoke權(quán)限FROM用戶名角色名public分配/回收系統(tǒng)統(tǒng)權(quán)限授權(quán)SQL>>GRANTcreatesession,,createtabletoJAME,,JACKSQL>>GRANTcreatesession,,createtabletoJAME,,JACKWITHADMINOPTION回收權(quán)限限SQL>REVOKEcreatesession,createtableFROMJAME,,JACK說明:權(quán)權(quán)限回收收并沒有有回收由由回收收者已經(jīng)經(jīng)分配出出去的權(quán)權(quán)限,這這點和SQLSERVER的revoke權(quán)權(quán)限fromusercascade不不同

分配/回收實體體權(quán)限授權(quán)SQL>>GRANTSELECT,UPDATE,DELETEONordersTOJACK回收權(quán)限限SQL>>REVOKESELECT,UPDATEONordersFROMJACK創(chuàng)建表創(chuàng)建表語語句:Createtabletablename(filednametype[[notnull,,default]],..)[Tablespacetablespace_name]];對表加注注釋:commentontabletablenameis‘‘……’;對表字段段加注釋釋:commentoncolumnT_USER..SUSERis‘……‘;Oracle數(shù)數(shù)據(jù)類型型創(chuàng)建表時時,必須須為各個個列指定定數(shù)據(jù)類類型以下是Oracle數(shù)據(jù)據(jù)類型的的類別::數(shù)據(jù)類型型字符數(shù)值日期時間間RAW/LONGRAWLOBOracle數(shù)數(shù)據(jù)類型型(字符符)當需要固固定長度度的字符符串時,,使用CHAR數(shù)數(shù)據(jù)類型型。CHAR數(shù)據(jù)據(jù)類型存存儲字母母數(shù)字值值。CHAR數(shù)據(jù)據(jù)類型的的列長度度可以是是1到到2000個字字節(jié)。VARCHAR2數(shù)據(jù)據(jù)類型支支持可變變長度字字符串VARCHAR2數(shù)據(jù)據(jù)類型存存儲字母母數(shù)字值值VARCHAR2數(shù)據(jù)據(jù)類型的的大小在在1至4000個字節(jié)節(jié)范圍內(nèi)內(nèi)LONG數(shù)據(jù)據(jù)類型存存儲可變變長度字字符數(shù)據(jù)據(jù)LONG數(shù)據(jù)據(jù)類型最最多能存存儲2GB字符數(shù)據(jù)據(jù)類型CHARVARCHAR2LONG數(shù)據(jù)型日日期型型數(shù)值數(shù)據(jù)據(jù)類型可以存儲儲整數(shù)、、浮點數(shù)數(shù)和實數(shù)數(shù)最高精度度為38位位數(shù)值數(shù)據(jù)據(jù)類型的的聲明語語法:NUMBER[[(p[,,s]])]P表示小小數(shù)點前前的位數(shù)數(shù),S表表示小數(shù)數(shù)點的位位數(shù)日期時間間數(shù)據(jù)類類型存儲儲日期和和時間值值,包括括年、月月、日,,小時、、分鐘、、秒主要的日日期時間間類型有有:DATE-存存儲日日期和時時間部分分,精確確到整個個的秒TIMESTAMP--存存儲日期期、時間間和時區(qū)區(qū)信息,,秒值精精確到小小數(shù)點后后6位序列Sequence為所有的的用戶生生成統(tǒng)一一的序列列號,也也可以給給某些主主鍵列自自動生成成編號值值語法格式式:CREATESEQUENCE[[schema.]]sequence[INCREMENTBYinteger]][STARTWITHinteger][MAXVALUEinteger||NOMAXVALUE]][MINVALUEinteger||NOMINVALUE]][CYCLE||NOCYCLE][CACHEinteger||NOCACHE]]示例-序序列創(chuàng)建建和使用用1、創(chuàng)建建序列createsequenceseq_snoincrementby1startwith1maxvalue99999nocycle;2、刪除除序列dropsequenceseq_sno;;3、取序序列對象象中的當當前值selectseq_sno..currvalfromdual;;4、取序序列對象象中的下下一個值值selectseq_sno..nextvalfromdual;;--此時時對象中中當前序序列值自自動增長長了“虛”列列rownumrownum是是一個虛虛列,在在表中并并不存在在,oracle為每每個查詢詢后的結(jié)結(jié)果集的的記錄分分別編號號,該編編號就是是rownum1)限限制返回回的結(jié)果果集只能能是10行select**fromtab_studentwhererownum<102)將將編號保保存到實實際的列列中updatetab_studentsetcol_num==rownum;;3)不不能用rownum對對比更大大的數(shù)select**fromtab_studentwhererownum>10---該條條件返回回falseORACLE中中常見系系統(tǒng)函數(shù)數(shù)字符串函函數(shù)算術(shù)函數(shù)數(shù)日期函數(shù)數(shù)其他函數(shù)數(shù)字符串函函數(shù)函數(shù)返回值A(chǔ)SCII(char)字符串首字符的ASC碼值TO_CHAR(S,F)ASC碼值為需要轉(zhuǎn)化的字符F為格式INITCAP(char)將字符串中每個單詞的首字母大寫INSTR(char1,char2[,m[,n]])給出字符串char1中從起始位置m開始第n次出現(xiàn)子串char2的位置LENGTH(char)計算字符串的長度LOWER(char)、UPPER(char)將字符串中所有的大寫字母變?yōu)樾?大)寫LPAD(char1,n[,char2])從左側(cè)用字符串char2補齊字符串char1至長度nLTRIM(char[,SET])把char中最左側(cè)的若干個字符去掉,以使其首字符不在SET中RPAD(char1,n[,char2])從右側(cè)用char2補齊char1至長度n.RTRIM(char[,SET])把char中最右側(cè)的若干個字符去掉,以使其尾字符不在SET中TO_DATE(char[,fmt])將字符型的日期轉(zhuǎn)換為日期型TO_NUMBER(char[,fmt])將字符串轉(zhuǎn)換為數(shù)字算術(shù)函數(shù)數(shù)函數(shù)返回值A(chǔ)BS(n)返回n的絕對值CELL(n)返回大于或等于n的最小整數(shù)FLOOR(n)返回小于或等于n的最大整數(shù)MOD(m,n)返回m除以n的余數(shù)POWER(m,n)返回m的n次方ROUND(m[,n])對m進行四舍五入(n大于0時,將m四舍五入到小數(shù)點右邊n位,n等于零時,表示對m進行取整,n小于0時,表示將m四舍五入到小數(shù)點左邊n位。)SIGN(n)判斷n的正負(n大于0返回,n等于0返回0,n小于0返回-1

溫馨提示

  • 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)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論