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

下載本文檔

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

文檔簡介

Oracle數(shù)據(jù)庫設(shè)計入門第十章Oracle數(shù)據(jù)庫設(shè)計入門第十章1本章目標(biāo)理解數(shù)據(jù)庫設(shè)計的基本方法掌握創(chuàng)建用戶分配權(quán)限掌握序列掌握oracle常用函數(shù)本章目標(biāo)理解數(shù)據(jù)庫設(shè)計的基本方法2數(shù)據(jù)庫范式概念設(shè)計范式(范式,數(shù)據(jù)庫設(shè)計范式,數(shù)據(jù)庫的設(shè)計范式)是符合某一種級別的關(guān)系模式的集合。構(gòu)造數(shù)據(jù)庫必須遵循一定的規(guī)則。在關(guān)系數(shù)據(jù)庫中,這種規(guī)則就是范式。關(guān)系數(shù)據(jù)庫中的關(guān)系必須滿足一定的要求,即滿足不同的范式。目前關(guān)系數(shù)據(jù)庫有六種范式數(shù)據(jù)庫范式概念設(shè)計范式(范式,數(shù)據(jù)庫設(shè)計范式,數(shù)據(jù)庫的設(shè)計范3數(shù)據(jù)庫的范式第一范式

第一范式(1NF)是指數(shù)據(jù)庫表的每一列是不可分割的基本數(shù)據(jù)項,同一列中不能有多個值,即實體中的某個屬性不能有多個值或者不能有重復(fù)的屬性 例如:張三這個實體不能在性別這個屬性上存在可男可女的情況.第二范式

第二范式(2NF)是在第一范式(1NF)的基礎(chǔ)上建立起來的,要求數(shù)據(jù)庫表中的每個實例或行必須可以被惟一地區(qū)分

例如:張三這個實體必須有被唯一標(biāo)識可用的屬性(學(xué)號或者身份證號).第三范式

滿足第三范式(3NF)必須先滿足第二范式(2NF)。簡而言之,第三范式(3NF)要求一個數(shù)據(jù)庫表中不包含已在其它表中已包含的非主關(guān)鍵字信息 例如:張三的性別值沒有必要在多個表重復(fù)出現(xiàn).(可以允許主外鍵關(guān)聯(lián)) 一般設(shè)計只要求滿足到3NF就可以了數(shù)據(jù)庫的范式第一范式4PowerDesigner的使用PowerDesigner主要包括以下幾個功能部分:DataArchitect

這是一個強(qiáng)大的數(shù)據(jù)庫設(shè)計工具。

ProcessAnalyst

這部分用于創(chuàng)建功能模型和數(shù)據(jù)流圖,創(chuàng)建"處理層次關(guān)系"。

AppModeler

為客戶/服務(wù)器應(yīng)用程序創(chuàng)建應(yīng)用模型。

ODBCAdministrator

此部分用來管理系統(tǒng)的各種數(shù)據(jù)源。PowerDesigner的使用PowerDesigner主5PowerDesigner的界面PowerDesigner的界面6數(shù)據(jù)庫的ER模型數(shù)據(jù)庫的ER模型7數(shù)據(jù)庫的物理模型數(shù)據(jù)庫的物理模型8正向工程直接地從PDM產(chǎn)生一個數(shù)據(jù)庫,或產(chǎn)生一個能在你的數(shù)據(jù)庫管理系統(tǒng)環(huán)境中運行的數(shù)據(jù)庫腳本,這是正向工程。步驟: 1選擇Database->GenerateDatabase。

數(shù)據(jù)庫生成對話框出現(xiàn)。它顯示生成叁數(shù)。默認(rèn)叁數(shù)已經(jīng)被選擇。

2SQL的文件名稱框中鍵入PDM_TUTORIAL。

3在目錄框中,輸入一條路徑。

4選擇生成腳本的按鈕。

5選擇僅僅生成一個文件。

6點擊Selection定位鍵。

7點擊底部表定位鍵。

表頁列出模型中選擇可用的所有數(shù)據(jù)庫表。

8全部點擊選擇工具。這選擇所有的表復(fù)選框。

9切換Views和Domains選擇需要的視圖和域。

10點擊確定。正向工程直接地從PDM產(chǎn)生一個數(shù)據(jù)庫,或產(chǎn)生一個能在你的9逆向工程2-1將已存在的數(shù)據(jù)庫進(jìn)新的PDM之內(nèi)。數(shù)據(jù)來源可能是從腳本文件或一個開放數(shù)據(jù)庫連接數(shù)據(jù)來源,這是逆向工程。一般要先定義一個數(shù)據(jù)庫對象ODBC,然后再生成新的PDM。逆向工程來自一個腳本文件的數(shù)據(jù)庫對象步驟: 1選擇File->ReverseEngineer->Database顯示新的物理數(shù)據(jù)模型的對話框。

2點擊部份Radio按鈕。

3選擇下拉列表框的一個數(shù)據(jù)庫管理系統(tǒng)。

4點擊確定。數(shù)據(jù)庫逆向工程對話框出現(xiàn)。

5點擊使用腳本文件的Radio按鈕。

6瀏覽適當(dāng)?shù)哪夸涍x擇腳本文件。

7點擊選項定位鍵顯示選項頁。

8選擇逆向工程選項。

9點擊確定。逆向工程2-1將已存在的數(shù)據(jù)庫進(jìn)新的PDM之內(nèi)。數(shù)據(jù)來10逆向工程2-2逆向工程一個ODBC到新的PDM步驟: 1選擇File->ReverseEngineer->Database顯示新的物理數(shù)據(jù)模型的對話框。

2點擊Share單選框。

3選擇下拉列表框的一個數(shù)據(jù)庫管理系統(tǒng)。

4點擊確定。數(shù)據(jù)庫逆向工程對話框出現(xiàn)。。

5點擊使用一個ODBC單選框,選擇一個ODBC。

6點擊選項定位鍵顯示選項頁。

7選擇逆向工程選項。

8點擊確定。ODBC逆向工程對話框出現(xiàn)。

9在上面部份對話框的下拉列表框中選擇限定詞和擁有者。

10點擊一個對象類型定位鍵。

11點擊確定。

逆向工程2-211DDL概述DDL為數(shù)據(jù)定義語言以下為部分內(nèi)容創(chuàng)建數(shù)據(jù)庫創(chuàng)建用戶創(chuàng)建表空間建表建視圖建索引建過程函數(shù)包等。。。。建作業(yè)DDL概述DDL為數(shù)據(jù)定義語言以下為部分內(nèi)容12Linux下啟動oracle首先在shell環(huán)境下輸入sqlplus“/assysdba”以管理員身份進(jìn)入在sql>提示符下敲入startup命令啟動數(shù)據(jù)庫啟動oracle監(jiān)聽器lsnrctlstartLinux下啟動oracle首先在shell環(huán)境下輸入sql13Winndow下訪問linuxoracle首先windows下安裝oracle客戶端工具修改tnsname.ora文件,添加linux下oralce的ip地址等信息利用plsqldevpment工具連接到liunx中Winndow下訪問linuxoracle首先window14Oracle邏輯結(jié)構(gòu)圖Oracle邏輯結(jié)構(gòu)圖15創(chuàng)建表空間創(chuàng)建表空間的語法是:createtablespacetablespacenamedatafile‘filename’[sizeinteger[K|M]][autoextend[OFF|ON]];創(chuàng)建表空間創(chuàng)建表空間的語法是:createtablespa16數(shù)據(jù)庫用戶概念數(shù)據(jù)庫系統(tǒng)安全需要控制和存儲以下內(nèi)容用戶名口令的組合用戶是否授權(quán)可連接數(shù)據(jù)庫用戶創(chuàng)建實體集的可用的磁盤空間的大小用戶資源的限制,是否啟動了數(shù)據(jù)庫審記功能用戶可進(jìn)行那些操作創(chuàng)建用戶的時候系統(tǒng)自動對該用戶建立一個相應(yīng)的模式,模式名和用戶名相同,用戶僅與一個同名的模式對應(yīng)和用戶相關(guān)的還包含用戶默認(rèn)表空間用戶臨時表空間用戶資源文件PROFILE數(shù)據(jù)庫用戶概念數(shù)據(jù)庫系統(tǒng)安全需要控制和存儲以下內(nèi)容17建用戶語法 create

user用戶名

identified

by“密碼”

default

tablespace默認(rèn)表空間名

temporary

tablespace臨時表空名

profile

DEFAULT資源文件QUOTA

INTEGEK[M][UNLIMITED]

ONposdata;建用戶語法 createuser用戶名

identi18建用戶CREATE

USER“POS”IDENTIFIED

BY“pos”

DEFAULT

TABLESPACEposdata

TEMPORARY

TABLESPACEpostmp

PROFILE

DEFAULT

QUOTA

100mONposdata說明

POS用戶密碼是pos默認(rèn)表空間是posdata,臨時表空間是postmp此用戶只能使用posdata上的100M空間建用戶CREATEUSER“POS”IDENTIFIE19數(shù)據(jù)庫權(quán)限概述數(shù)據(jù)庫系統(tǒng)通過安全措施防止非法用戶對數(shù)據(jù)進(jìn)行存儲,以保證數(shù)據(jù)庫安全運行,Oracle的安全機(jī)制主要是通過權(quán)限進(jìn)行設(shè)置的,通過權(quán)限設(shè)置防止非權(quán)限的數(shù)據(jù)庫存取,非權(quán)限的對模式實體的存取,只有通過權(quán)限的人證才可以存取數(shù)據(jù)庫中數(shù)據(jù)。ORACLE根據(jù)系統(tǒng)管理方式不同,可以將權(quán)限分為兩類系統(tǒng)權(quán)限實體權(quán)限。數(shù)據(jù)庫權(quán)限概述數(shù)據(jù)庫系統(tǒng)通過安全措施防止非法用戶對數(shù)據(jù)進(jìn)行存20權(quán)限管理系統(tǒng)權(quán)限

系統(tǒng)權(quán)限是執(zhí)行某一類或者在某一用戶中執(zhí)行某種操作的權(quán)限,每一種系統(tǒng)權(quán)限允許用戶執(zhí)行一種特殊的數(shù)據(jù)庫操作或者某一類數(shù)據(jù)庫操作。比如建表空間建用戶修改數(shù)據(jù)庫結(jié)構(gòu)修改用戶權(quán)限修改數(shù)據(jù)庫結(jié)構(gòu)修改任何用戶的實體,創(chuàng)建基表,視圖,同義,創(chuàng)建數(shù)據(jù)庫鏈路等權(quán)限。實體權(quán)限

實體權(quán)限是指某一用戶對其他用戶的表,視圖,序列,存儲過程,函數(shù),包的操作權(quán)限,不同類型的實體具有不同的實體權(quán)限。對于某些 模式實體,比如聚簇,索引,觸發(fā)器,數(shù)據(jù)庫鏈路等沒有相應(yīng)的實體 權(quán)限,這些權(quán)限由系統(tǒng)權(quán)限進(jìn)行管理。權(quán)限管理系統(tǒng)權(quán)限21分配/回收權(quán)限語法分配權(quán)限

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

分配/回收系統(tǒng)權(quán)限授權(quán)23分配/回收實體權(quán)限授權(quán)

SQL>GRANTSELECT,UPDATE,DELETEONordersTOJACK回收權(quán)限

SQL>REVOKESELECT,UPDATEONordersFROMJACK分配/回收實體權(quán)限授權(quán)24創(chuàng)建表創(chuàng)建表語句:Createtabletablename(filednametype[notnull,default],..)[Tablespacetablespace_name];對表加注釋:commentontabletablenameis‘…’;對表字段加注釋:commentoncolumnT_USER.SUSERis‘…‘;創(chuàng)建表創(chuàng)建表語句:25Oracle數(shù)據(jù)類型創(chuàng)建表時,必須為各個列指定數(shù)據(jù)類型以下是Oracle數(shù)據(jù)類型的類別:數(shù)據(jù)類型字符數(shù)值日期時間RAW/LONGRAWLOBOracle數(shù)據(jù)類型創(chuàng)建表時,必須為各個列指定數(shù)據(jù)類型數(shù)據(jù)類26Oracle數(shù)據(jù)類型(字符)當(dāng)需要固定長度的字符串時,使用CHAR數(shù)據(jù)類型。CHAR數(shù)據(jù)類型存儲字母數(shù)字值。CHAR數(shù)據(jù)類型的列長度可以是1到2000個字節(jié)。VARCHAR2數(shù)據(jù)類型支持可變長度字符串VARCHAR2數(shù)據(jù)類型存儲字母數(shù)字值VARCHAR2數(shù)據(jù)類型的大小在1至4000個字節(jié)范圍內(nèi)LONG數(shù)據(jù)類型存儲可變長度字符數(shù)據(jù)LONG數(shù)據(jù)類型最多能存儲2GB字符數(shù)據(jù)類型CHARVARCHAR2LONGOracle數(shù)據(jù)類型(字符)當(dāng)需要固定長度的字符串時,使用27數(shù)據(jù)型日期型數(shù)值數(shù)據(jù)類型可以存儲整數(shù)、浮點數(shù)和實數(shù)最高精度為38位數(shù)值數(shù)據(jù)類型的聲明語法:NUMBER[(p[,s])]P表示小數(shù)點前的位數(shù),S表示小數(shù)點的位數(shù)日期時間數(shù)據(jù)類型存儲日期和時間值,包括年、月、日,小時、分鐘、秒主要的日期時間類型有:DATE-存儲日期和時間部分,精確到整個的秒TIMESTAMP-存儲日期、時間和時區(qū)信息,秒值精確到小數(shù)點后6位數(shù)據(jù)型日期型數(shù)值數(shù)據(jù)類型28序列Sequence為所有的用戶生成統(tǒng)一的序列號,也可以給某些主鍵列自動生成編號值語法格式:CREATESEQUENCE[schema.]sequence[INCREMENTBYinteger][STARTWITHinteger][MAXVALUEinteger|NOMAXVALUE][MINVALUEinteger|NOMINVALUE][CYCLE|NOCYCLE][CACHEinteger|NOCACHE]序列Sequence為所有的用戶生成統(tǒng)一的序列號,也可以給某29示例-序列創(chuàng)建和使用1、創(chuàng)建序列createsequenceseq_sno incrementby1 startwith1 maxvalue99999 nocycle;2、刪除序列

dropsequenceseq_sno;3、取序列對象中的當(dāng)前值

selectseq_sno.currvalfromdual;4、取序列對象中的下一個值

selectseq_sno.nextvalfromdual;

--此時對象中當(dāng)前序列值自動增長了示例-序列創(chuàng)建和使用1、創(chuàng)建序列30“虛”列rownumrownum是一個虛列,在表中并不存在,oracle為每個查詢后的結(jié)果集的記錄分別編號,該編號就是rownum1)限制返回的結(jié)果集只能是10行select*fromtab_studentwhererownum<102)將編號保存到實際的列中updatetab_studentsetcol_num=rownum;3)不能用rownum對比更大的數(shù)select*fromtab_studentwhererownum>10--該條件返回false“虛”列rownumrownum是一個虛列,在表中并不存在31ORACLE中常見系統(tǒng)函數(shù)字符串函數(shù)算術(shù)函數(shù)日期函數(shù)其他函數(shù)ORACLE中常見系統(tǒng)函數(shù)字符串函數(shù)32字符串函數(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ù)返回值A(chǔ)SCII(char)字符串首字符的AS33算術(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進(jìn)行四舍五入(n大于0時,將m四舍五入到小數(shù)點右邊n位,n等于零時,表示對m進(jìn)行取整,n小于0時,表示將m四舍五入到小數(shù)點左邊n位。)SIGN(n)判斷n的正負(fù)(n大于0返回,n等于0返回0,n小于0返回-1SQRT(n)返回n的平方根TRUNC(m[,n])對m進(jìn)行截斷操作(n截斷到小數(shù)點后第n位,如果n未給出,則系統(tǒng)默認(rèn)為0,n也可以為負(fù)數(shù),表示保留到小數(shù)點前第n位。算術(shù)函數(shù)函數(shù)返回值A(chǔ)BS(n)返回n的絕對值CELL(n)返34日期函數(shù)函數(shù)返回值A(chǔ)DD_MONTHS(d,n)返回d加上n個月的日期LAST_DAY(d)返回d所在月份最后一天的日期MONTHS_BETWEEN(d1,d2)返回d1和d2之間相隔的月數(shù)NEXT_DAY(d,s)返回晚于d的第一個s的日期(s要求是Sunday,Monday,Tuesday,Wednsday,Thursday,Friday,SaturdaySYSDATE返回系統(tǒng)當(dāng)前日期和時間。To_date字符轉(zhuǎn)化為日期日期函數(shù)函數(shù)返回值A(chǔ)DD_MONTHS(d,n)返回d加上n35其他函數(shù)函數(shù)返回值GREATEST(參數(shù)1[,參數(shù)2]…)返回參數(shù)1,參數(shù)2…中的最大值LEAST(參數(shù)1[,參數(shù)2]…)返回參數(shù)1,參數(shù)2…中的最小值DECODE(e,s1,t1[,s2,t2]…[,def])若e等于s1,函數(shù)返回t1,若e等于s2,函數(shù)返回t2,…否則,函數(shù)返回def。表達(dá)式e允許是任何數(shù)據(jù)類型,但要求被比較的各個s具有相同的數(shù)據(jù)類型。def被默認(rèn)時,表示默認(rèn)值是NULLUSER返回當(dāng)前Oracle用戶的用戶名NVL(參數(shù)1,參數(shù)2)如果參數(shù)1非空則返回參數(shù)1,反之則返回參數(shù)2。其他函數(shù)函數(shù)返回值GREATEST(參數(shù)1[,參數(shù)2]…)返36數(shù)據(jù)備份imp/exp命令:導(dǎo)入導(dǎo)出數(shù)據(jù) help=y 查看幫助 file=data.dmp 導(dǎo)入從(導(dǎo)出到)數(shù)據(jù)文件data.dmp fromuser=user1將user1的數(shù)據(jù) touser=user2到user2的數(shù)據(jù)如:imppos/posfile=linuxpos.dmp;exppos/posfile=linuxpos.dmp;數(shù)據(jù)備份imp/exp命令:導(dǎo)入導(dǎo)出數(shù)據(jù)imppos/po37總結(jié)理解數(shù)據(jù)庫設(shè)計的基本方法掌握創(chuàng)建用戶分配權(quán)限掌握序列掌握oracle常用函數(shù)總結(jié)理解數(shù)據(jù)庫設(shè)計的基本方法38Oracle數(shù)據(jù)庫設(shè)計入門第十章Oracle數(shù)據(jù)庫設(shè)計入門第十章39本章目標(biāo)理解數(shù)據(jù)庫設(shè)計的基本方法掌握創(chuàng)建用戶分配權(quán)限掌握序列掌握oracle常用函數(shù)本章目標(biāo)理解數(shù)據(jù)庫設(shè)計的基本方法40數(shù)據(jù)庫范式概念設(shè)計范式(范式,數(shù)據(jù)庫設(shè)計范式,數(shù)據(jù)庫的設(shè)計范式)是符合某一種級別的關(guān)系模式的集合。構(gòu)造數(shù)據(jù)庫必須遵循一定的規(guī)則。在關(guān)系數(shù)據(jù)庫中,這種規(guī)則就是范式。關(guān)系數(shù)據(jù)庫中的關(guān)系必須滿足一定的要求,即滿足不同的范式。目前關(guān)系數(shù)據(jù)庫有六種范式數(shù)據(jù)庫范式概念設(shè)計范式(范式,數(shù)據(jù)庫設(shè)計范式,數(shù)據(jù)庫的設(shè)計范41數(shù)據(jù)庫的范式第一范式

第一范式(1NF)是指數(shù)據(jù)庫表的每一列是不可分割的基本數(shù)據(jù)項,同一列中不能有多個值,即實體中的某個屬性不能有多個值或者不能有重復(fù)的屬性 例如:張三這個實體不能在性別這個屬性上存在可男可女的情況.第二范式

第二范式(2NF)是在第一范式(1NF)的基礎(chǔ)上建立起來的,要求數(shù)據(jù)庫表中的每個實例或行必須可以被惟一地區(qū)分

例如:張三這個實體必須有被唯一標(biāo)識可用的屬性(學(xué)號或者身份證號).第三范式

滿足第三范式(3NF)必須先滿足第二范式(2NF)。簡而言之,第三范式(3NF)要求一個數(shù)據(jù)庫表中不包含已在其它表中已包含的非主關(guān)鍵字信息 例如:張三的性別值沒有必要在多個表重復(fù)出現(xiàn).(可以允許主外鍵關(guān)聯(lián)) 一般設(shè)計只要求滿足到3NF就可以了數(shù)據(jù)庫的范式第一范式42PowerDesigner的使用PowerDesigner主要包括以下幾個功能部分:DataArchitect

這是一個強(qiáng)大的數(shù)據(jù)庫設(shè)計工具。

ProcessAnalyst

這部分用于創(chuàng)建功能模型和數(shù)據(jù)流圖,創(chuàng)建"處理層次關(guān)系"。

AppModeler

為客戶/服務(wù)器應(yīng)用程序創(chuàng)建應(yīng)用模型。

ODBCAdministrator

此部分用來管理系統(tǒng)的各種數(shù)據(jù)源。PowerDesigner的使用PowerDesigner主43PowerDesigner的界面PowerDesigner的界面44數(shù)據(jù)庫的ER模型數(shù)據(jù)庫的ER模型45數(shù)據(jù)庫的物理模型數(shù)據(jù)庫的物理模型46正向工程直接地從PDM產(chǎn)生一個數(shù)據(jù)庫,或產(chǎn)生一個能在你的數(shù)據(jù)庫管理系統(tǒng)環(huán)境中運行的數(shù)據(jù)庫腳本,這是正向工程。步驟: 1選擇Database->GenerateDatabase。

數(shù)據(jù)庫生成對話框出現(xiàn)。它顯示生成叁數(shù)。默認(rèn)叁數(shù)已經(jīng)被選擇。

2SQL的文件名稱框中鍵入PDM_TUTORIAL。

3在目錄框中,輸入一條路徑。

4選擇生成腳本的按鈕。

5選擇僅僅生成一個文件。

6點擊Selection定位鍵。

7點擊底部表定位鍵。

表頁列出模型中選擇可用的所有數(shù)據(jù)庫表。

8全部點擊選擇工具。這選擇所有的表復(fù)選框。

9切換Views和Domains選擇需要的視圖和域。

10點擊確定。正向工程直接地從PDM產(chǎn)生一個數(shù)據(jù)庫,或產(chǎn)生一個能在你的47逆向工程2-1將已存在的數(shù)據(jù)庫進(jìn)新的PDM之內(nèi)。數(shù)據(jù)來源可能是從腳本文件或一個開放數(shù)據(jù)庫連接數(shù)據(jù)來源,這是逆向工程。一般要先定義一個數(shù)據(jù)庫對象ODBC,然后再生成新的PDM。逆向工程來自一個腳本文件的數(shù)據(jù)庫對象步驟: 1選擇File->ReverseEngineer->Database顯示新的物理數(shù)據(jù)模型的對話框。

2點擊部份Radio按鈕。

3選擇下拉列表框的一個數(shù)據(jù)庫管理系統(tǒng)。

4點擊確定。數(shù)據(jù)庫逆向工程對話框出現(xiàn)。

5點擊使用腳本文件的Radio按鈕。

6瀏覽適當(dāng)?shù)哪夸涍x擇腳本文件。

7點擊選項定位鍵顯示選項頁。

8選擇逆向工程選項。

9點擊確定。逆向工程2-1將已存在的數(shù)據(jù)庫進(jìn)新的PDM之內(nèi)。數(shù)據(jù)來48逆向工程2-2逆向工程一個ODBC到新的PDM步驟: 1選擇File->ReverseEngineer->Database顯示新的物理數(shù)據(jù)模型的對話框。

2點擊Share單選框。

3選擇下拉列表框的一個數(shù)據(jù)庫管理系統(tǒng)。

4點擊確定。數(shù)據(jù)庫逆向工程對話框出現(xiàn)。。

5點擊使用一個ODBC單選框,選擇一個ODBC。

6點擊選項定位鍵顯示選項頁。

7選擇逆向工程選項。

8點擊確定。ODBC逆向工程對話框出現(xiàn)。

9在上面部份對話框的下拉列表框中選擇限定詞和擁有者。

10點擊一個對象類型定位鍵。

11點擊確定。

逆向工程2-249DDL概述DDL為數(shù)據(jù)定義語言以下為部分內(nèi)容創(chuàng)建數(shù)據(jù)庫創(chuàng)建用戶創(chuàng)建表空間建表建視圖建索引建過程函數(shù)包等。。。。建作業(yè)DDL概述DDL為數(shù)據(jù)定義語言以下為部分內(nèi)容50Linux下啟動oracle首先在shell環(huán)境下輸入sqlplus“/assysdba”以管理員身份進(jìn)入在sql>提示符下敲入startup命令啟動數(shù)據(jù)庫啟動oracle監(jiān)聽器lsnrctlstartLinux下啟動oracle首先在shell環(huán)境下輸入sql51Winndow下訪問linuxoracle首先windows下安裝oracle客戶端工具修改tnsname.ora文件,添加linux下oralce的ip地址等信息利用plsqldevpment工具連接到liunx中Winndow下訪問linuxoracle首先window52Oracle邏輯結(jié)構(gòu)圖Oracle邏輯結(jié)構(gòu)圖53創(chuàng)建表空間創(chuàng)建表空間的語法是:createtablespacetablespacenamedatafile‘filename’[sizeinteger[K|M]][autoextend[OFF|ON]];創(chuàng)建表空間創(chuàng)建表空間的語法是:createtablespa54數(shù)據(jù)庫用戶概念數(shù)據(jù)庫系統(tǒng)安全需要控制和存儲以下內(nèi)容用戶名口令的組合用戶是否授權(quán)可連接數(shù)據(jù)庫用戶創(chuàng)建實體集的可用的磁盤空間的大小用戶資源的限制,是否啟動了數(shù)據(jù)庫審記功能用戶可進(jìn)行那些操作創(chuàng)建用戶的時候系統(tǒng)自動對該用戶建立一個相應(yīng)的模式,模式名和用戶名相同,用戶僅與一個同名的模式對應(yīng)和用戶相關(guān)的還包含用戶默認(rèn)表空間用戶臨時表空間用戶資源文件PROFILE數(shù)據(jù)庫用戶概念數(shù)據(jù)庫系統(tǒng)安全需要控制和存儲以下內(nèi)容55建用戶語法 create

user用戶名

identified

by“密碼”

default

tablespace默認(rèn)表空間名

temporary

tablespace臨時表空名

profile

DEFAULT資源文件QUOTA

INTEGEK[M][UNLIMITED]

ONposdata;建用戶語法 createuser用戶名

identi56建用戶CREATE

USER“POS”IDENTIFIED

BY“pos”

DEFAULT

TABLESPACEposdata

TEMPORARY

TABLESPACEpostmp

PROFILE

DEFAULT

QUOTA

100mONposdata說明

POS用戶密碼是pos默認(rèn)表空間是posdata,臨時表空間是postmp此用戶只能使用posdata上的100M空間建用戶CREATEUSER“POS”IDENTIFIE57數(shù)據(jù)庫權(quán)限概述數(shù)據(jù)庫系統(tǒng)通過安全措施防止非法用戶對數(shù)據(jù)進(jìn)行存儲,以保證數(shù)據(jù)庫安全運行,Oracle的安全機(jī)制主要是通過權(quán)限進(jìn)行設(shè)置的,通過權(quán)限設(shè)置防止非權(quán)限的數(shù)據(jù)庫存取,非權(quán)限的對模式實體的存取,只有通過權(quán)限的人證才可以存取數(shù)據(jù)庫中數(shù)據(jù)。ORACLE根據(jù)系統(tǒng)管理方式不同,可以將權(quán)限分為兩類系統(tǒng)權(quán)限實體權(quán)限。數(shù)據(jù)庫權(quán)限概述數(shù)據(jù)庫系統(tǒng)通過安全措施防止非法用戶對數(shù)據(jù)進(jìn)行存58權(quán)限管理系統(tǒng)權(quán)限

系統(tǒng)權(quán)限是執(zhí)行某一類或者在某一用戶中執(zhí)行某種操作的權(quán)限,每一種系統(tǒng)權(quán)限允許用戶執(zhí)行一種特殊的數(shù)據(jù)庫操作或者某一類數(shù)據(jù)庫操作。比如建表空間建用戶修改數(shù)據(jù)庫結(jié)構(gòu)修改用戶權(quán)限修改數(shù)據(jù)庫結(jié)構(gòu)修改任何用戶的實體,創(chuàng)建基表,視圖,同義,創(chuàng)建數(shù)據(jù)庫鏈路等權(quán)限。實體權(quán)限

實體權(quán)限是指某一用戶對其他用戶的表,視圖,序列,存儲過程,函數(shù),包的操作權(quán)限,不同類型的實體具有不同的實體權(quán)限。對于某些 模式實體,比如聚簇,索引,觸發(fā)器,數(shù)據(jù)庫鏈路等沒有相應(yīng)的實體 權(quán)限,這些權(quán)限由系統(tǒng)權(quán)限進(jìn)行管理。權(quán)限管理系統(tǒng)權(quán)限59分配/回收權(quán)限語法分配權(quán)限

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

分配/回收系統(tǒng)權(quán)限授權(quán)61分配/回收實體權(quán)限授權(quán)

SQL>GRANTSELECT,UPDATE,DELETEONordersTOJACK回收權(quán)限

SQL>REVOKESELECT,UPDATEONordersFROMJACK分配/回收實體權(quán)限授權(quán)62創(chuàng)建表創(chuàng)建表語句:Createtabletablename(filednametype[notnull,default],..)[Tablespacetablespace_name];對表加注釋:commentontabletablenameis‘…’;對表字段加注釋:commentoncolumnT_USER.SUSERis‘…‘;創(chuàng)建表創(chuàng)建表語句:63Oracle數(shù)據(jù)類型創(chuàng)建表時,必須為各個列指定數(shù)據(jù)類型以下是Oracle數(shù)據(jù)類型的類別:數(shù)據(jù)類型字符數(shù)值日期時間RAW/LONGRAWLOBOracle數(shù)據(jù)類型創(chuàng)建表時,必須為各個列指定數(shù)據(jù)類型數(shù)據(jù)類64Oracle數(shù)據(jù)類型(字符)當(dāng)需要固定長度的字符串時,使用CHAR數(shù)據(jù)類型。CHAR數(shù)據(jù)類型存儲字母數(shù)字值。CHAR數(shù)據(jù)類型的列長度可以是1到2000個字節(jié)。VARCHAR2數(shù)據(jù)類型支持可變長度字符串VARCHAR2數(shù)據(jù)類型存儲字母數(shù)字值VARCHAR2數(shù)據(jù)類型的大小在1至4000個字節(jié)范圍內(nèi)LONG數(shù)據(jù)類型存儲可變長度字符數(shù)據(jù)LONG數(shù)據(jù)類型最多能存儲2GB字符數(shù)據(jù)類型CHARVARCHAR2LONGOracle數(shù)據(jù)類型(字符)當(dāng)需要固定長度的字符串時,使用65數(shù)據(jù)型日期型數(shù)值數(shù)據(jù)類型可以存儲整數(shù)、浮點數(shù)和實數(shù)最高精度為38位數(shù)值數(shù)據(jù)類型的聲明語法:NUMBER[(p[,s])]P表示小數(shù)點前的位數(shù),S表示小數(shù)點的位數(shù)日期時間數(shù)據(jù)類型存儲日期和時間值,包括年、月、日,小時、分鐘、秒主要的日期時間類型有:DATE-存儲日期和時間部分,精確到整個的秒TIMESTAMP-存儲日期、時間和時區(qū)信息,秒值精確到小數(shù)點后6位數(shù)據(jù)型日期型數(shù)值數(shù)據(jù)類型66序列Sequence為所有的用戶生成統(tǒng)一的序列號,也可以給某些主鍵列自動生成編號值語法格式:CREATESEQUENCE[schema.]sequence[INCREMENTBYinteger][STARTWITHinteger][MAXVALUEinteger|NOMAXVALUE][MINVALUEinteger|NOMINVALUE][CYCLE|NOCYCLE][CACHEinteger|NOCACHE]序列Sequence為所有的用戶生成統(tǒng)一的序列號,也可以給某67示例-序列創(chuàng)建和使用1、創(chuàng)建序列createsequenceseq_sno incrementby1 startwith1 maxvalue99999 nocycle;2、刪除序列

dropsequenceseq_sno;3、取序列對象中的當(dāng)前值

selectseq_sno.currvalfromdual;4、取序列對象中的下一個值

selectseq_sno.nextvalfromdual;

--此時對象中當(dāng)前序列值自動增長了示例-序列創(chuàng)建和使用1、創(chuàng)建序列68“虛”列rownumrownum是一個虛列,在表中并不存在,oracle為每個查詢后的結(jié)果集的記錄分別編號,該編號就是rownum1)限制返回的結(jié)果集只能是10行select*fromtab_studentwhererownum<102)將編號保存到實際的列中updatetab_studentsetcol_num=rownum;3)不能用rownum對比更大的數(shù)select*fromtab_studentwhererownum>10--該條件返回false“虛”列rownumrownum是一個虛列,在表中并不存在69ORACLE中常見系統(tǒng)函數(shù)字符串函數(shù)算術(shù)函數(shù)日期函數(shù)其他函數(shù)ORACLE中常見系統(tǒng)函數(shù)字符串函數(shù)70字符串函數(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的位置LENGT

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論