數(shù)據(jù)庫(kù)入門(mén)知識(shí)論述_第1頁(yè)
數(shù)據(jù)庫(kù)入門(mén)知識(shí)論述_第2頁(yè)
數(shù)據(jù)庫(kù)入門(mén)知識(shí)論述_第3頁(yè)
數(shù)據(jù)庫(kù)入門(mén)知識(shí)論述_第4頁(yè)
數(shù)據(jù)庫(kù)入門(mén)知識(shí)論述_第5頁(yè)
已閱讀5頁(yè),還剩31頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第一章數(shù)據(jù)庫(kù)入門(mén)本章目標(biāo)了解數(shù)據(jù)庫(kù)Oracle的體系架構(gòu)掌握創(chuàng)建用戶分配權(quán)限掌握表空間的創(chuàng)建掌握模式對(duì)象的創(chuàng)建 表視圖 索引數(shù)據(jù)庫(kù)范式概念設(shè)計(jì)范式(范式,數(shù)據(jù)庫(kù)設(shè)計(jì)范式,數(shù)據(jù)庫(kù)的設(shè)計(jì)范式)是符合某一種級(jí)別的關(guān)系模式的集合。構(gòu)造數(shù)據(jù)庫(kù)必須遵循一定的規(guī)則。在關(guān)系數(shù)據(jù)庫(kù)中,這種規(guī)則就是范式。關(guān)系數(shù)據(jù)庫(kù)中的關(guān)系必須滿足一定的要求,即滿足不同的范式。目前關(guān)系數(shù)據(jù)庫(kù)有六種范式數(shù)據(jù)庫(kù)的范式第一范式

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

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

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

滿足第三范式(3NF)必須先滿足第二范式(2NF)。簡(jiǎn)而言之,第三范式(3NF)要求一個(gè)數(shù)據(jù)庫(kù)表中不包含已在其它表中已包含的非主關(guān)鍵字信息 例如:張三的性別值沒(méi)有必要在多個(gè)表重復(fù)出現(xiàn).(可以允許主外鍵關(guān)聯(lián))

一般設(shè)計(jì)只要求滿足到3NF就可以了DDL概述DDL為數(shù)據(jù)定義語(yǔ)言以下為部分內(nèi)容創(chuàng)建數(shù)據(jù)庫(kù)創(chuàng)建用戶創(chuàng)建表空間建表建視圖建索引體系架構(gòu)Oracle內(nèi)存ORACLE進(jìn)程O(píng)racle數(shù)據(jù)庫(kù)文件Oracle數(shù)據(jù)庫(kù)結(jié)構(gòu)Oracle數(shù)據(jù)庫(kù)擁有者N模式11表視圖123序列………擁有者物理文件數(shù)據(jù)文件日志文件控制文件表空間

邏輯結(jié)構(gòu)

索引段

數(shù)據(jù)段數(shù)據(jù)區(qū)間

數(shù)據(jù)塊

數(shù)據(jù)塊…..…..物理塊

物理結(jié)構(gòu)Oracle創(chuàng)建數(shù)據(jù)庫(kù)CREATEDATABASEdbname

DATAFILE'/u01/oradata/system01.dbf'size200MLOGFILE'/u02/oradata/redo01.dbf'size100M,'/u02/oradata/redo02.dbf'size100MCHARACTERSET"WE8ISO8859P1"NATIONALCHARACTERSET"UTF8"EXTENTMANAGEMENTLOCALDEFAULTTEMPORARYTABLESPACEmytempTEMPFILE'temp.f'SIZE1000MMAXDATAFILES=50MAXLOGFILES=5;Oracle創(chuàng)建數(shù)據(jù)庫(kù)建議采用DatabaseConfigurationAssistant表空間概念Oracle使用表空間將相關(guān)的表/視圖/索引等組合在一起.

每個(gè)表空間由一或多個(gè)文件組成而一個(gè)文件只能屬于一個(gè)表空間表空間類(lèi)型數(shù)據(jù)字典管理表空間(oracle7,8,8i,9irelease9.0.1)本地化管理表空間(oracle8i,oracle9i)ExtentUniform區(qū)大小相同ExtentAutoallocate區(qū)大小動(dòng)態(tài)管理建表空間語(yǔ)法CREATETABLESPACEtablespacename

[NOLOGGING/LOGGING]DATAFILEFILESPECSIZEXXX--autoextendonnext

10Mmaxsizeunlimited/100MEXTENT

MANAGEMENT

LOCAL

AUTOALLOCATE說(shuō)明

tablespacename

為表空間名

FILESPEC為數(shù)據(jù)文件名,包含路徑

XXXM為文件大小

EXTENT

MANAGEMENT

LOCAL

AUTOALLOCATE

指表空間類(lèi)型為本地表空間區(qū)大小自動(dòng)自動(dòng)選擇建表空間CREATE

TABLESPACE

PosData

DATAFILE

‘C:\posdata\posdata1.dbf'

SIZE

256M,

'd:\posdata\posdata2.dbf'

SIZE

256M,

‘E:\posdata\posdata3.dbf'

SIZE

256M

EXTENT

MANAGEMENT

LOCALAUTOALLOCATE;表空間查看selectsubstr(a.tablespace_name,1,10)TablespaceName,sum(a.bytes/1024/1024)totle_size,sum(nvl(b.free_space1/1024/1024,0))free_space,sum(a.bytes/1024/1024)-sum(nvl(b.free_space1/1024/1024,0))used_spacefromdba_data_filesa,(selectsum(nvl(bytes,0))free_space1,file_idfromdba_free_spacegroupbyfile_id)bwherea.file_id=b.file_id(+)groupbya.tablespace_name數(shù)據(jù)庫(kù)用戶概念數(shù)據(jù)庫(kù)系統(tǒng)安全需要控制和存儲(chǔ)以下內(nèi)容用戶名口令的組合用戶是否授權(quán)可連接數(shù)據(jù)庫(kù)用戶創(chuàng)建實(shí)體集的可用的磁盤(pán)空間的大小用戶資源的限制,是否啟動(dòng)了數(shù)據(jù)庫(kù)審記功能用戶可進(jìn)行那些操作創(chuàng)建用戶的時(shí)候系統(tǒng)自動(dòng)對(duì)該用戶建立一個(gè)相應(yīng)的模式,模式名和用戶名相同,用戶僅與一個(gè)同名的模式對(duì)應(yīng)和用戶相關(guān)的還包含用戶默認(rèn)表空間用戶臨時(shí)表空間用戶資源文件PROFILE系統(tǒng)默認(rèn)用戶sys用戶口令change_on_install,是系統(tǒng)數(shù)據(jù)字典的擁有者

system用戶口令manager,缺省的系統(tǒng)管理員帳號(hào)

internal用戶口令由安裝者輸入,是sys帳號(hào)的別名,密碼文件是%ORACLE_HOME%\ora81\database\pwdSID.ora

scott用戶口令tiger,只有connect權(quán)限用戶帳號(hào)鎖定/解鎖/密碼失效

鎖定

ALTERUSERusernameACCOUNTLOCK;

解鎖

ALTERUSERusernameACCOUNTUNLOCK;

密碼失效

ALTERUSERusernamePASSWORDexpire;建用戶語(yǔ)法create

user

用戶名

identified

by“密碼”

default

tablespace

默認(rèn)表空間名

temporary

tablespace

臨時(shí)表空名

profile

DEFAULT資源文件

QUOTA

INTEGEK[M][UNLIMITED]

ON

posdata;建用戶CREATE

USER“POS”IDENTIFIED

BY“pos”

DEFAULT

TABLESPACE

posdata

TEMPORARY

TABLESPACE

postmp

PROFILE

DEFAULT

QUOTA

100mON

posdata說(shuō)明

POS用戶密碼是pos默認(rèn)表空間是posdata,臨時(shí)表空間是postmp

此用戶只能使用posdata上的100M空間數(shù)據(jù)庫(kù)權(quán)限概述數(shù)據(jù)庫(kù)系統(tǒng)通過(guò)安全措施防止非法用戶對(duì)數(shù)據(jù)進(jìn)行存儲(chǔ),以保證數(shù)據(jù) 庫(kù)安全運(yùn)行,Oracle的安全機(jī)制主要是通過(guò)權(quán)限進(jìn)行設(shè)置的,通過(guò)權(quán)限設(shè)置防止非權(quán)限的數(shù)據(jù)庫(kù)存取,非權(quán)限的對(duì)模式實(shí)體的存取,只有通過(guò)權(quán)限的人證才可以存取數(shù)據(jù)庫(kù)中數(shù)據(jù)。ORACLE根據(jù)系統(tǒng)管理方式不同,可以將權(quán)限分為兩類(lèi)系統(tǒng)權(quán)限實(shí)體權(quán)限。權(quán)限管理系統(tǒng)權(quán)限

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

實(shí)體權(quán)限是指某一用戶對(duì)其他用戶的表,視圖,序列,存儲(chǔ)過(guò)程,函數(shù),包的操作權(quán)限,不同類(lèi)型的實(shí)體具有不同的實(shí)體權(quán)限。對(duì)于某些 模式實(shí)體,比如聚簇,索引,觸發(fā)器,數(shù)據(jù)庫(kù)鏈路等沒(méi)有相應(yīng)的實(shí)體 權(quán)限,這些權(quán)限由系統(tǒng)權(quán)限進(jìn)行管理。Oracle常見(jiàn)角色及權(quán)限Connect角色resource角色DBA角色分配/回收權(quán)限語(yǔ)法分配權(quán)限

GRANT權(quán)限TO回收權(quán)限用戶名角色名publicRevoke權(quán)限FROM用戶名角色名public分配/回收系統(tǒng)權(quán)限授權(quán)

SQL>GRANTcreatesession,createtabletoJAME,JACK SQL>GRANTcreatesession,createtabletoJAME,JACKWITHADMINOPTION回收權(quán)限

SQL>REVOKEcreatesession,createtableFROMJAME,JACK

說(shuō)明:權(quán)限回收并沒(méi)有回收由回收者已經(jīng)分配出去的權(quán)限,這點(diǎn)和SQLSERVER的revoke權(quán)限fromusercascade不同

分配/回收實(shí)體權(quán)限授權(quán)

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

SQL>REVOKESELECT,UPDATEONordersFROMJACK表的創(chuàng)建CREATETABLE[schema.]table

({columndatatype[DEFAULTexpr][column_constraint]...|table_constraint})

[INITRANSinteger][MAXTRANSinteger][TABLESPACEtablespace]

[STORAGEstorage_clause]說(shuō)明:

1、TABLESPACE指定了該表使用的表空間

2、如果需要指定schema,即為其他用戶創(chuàng)建表,則需要有CreateanyTable的系統(tǒng)權(quán)限示例-表創(chuàng)建(1)createtabletab_student

(snochar(11)primarykey,

snamevarchar2(30)notnull,

sbirthdate,

sageintdefault0,

ssexchar(2)notnull,

remarkvarchar2(60),

constraintck_tab_student_sage

check(ssexin('男','女'))

)tablespace

ts_stock說(shuō)明:

1、表創(chuàng)建時(shí),就跟約束一起創(chuàng)建,該例中使用到的約束有:primary

key,not

null,default,check(未出現(xiàn)的還有foreignkey,unique等)2、思考建表后是如何建立約束呢?示例-表創(chuàng)建(2)1、建表和外鍵約束createtabletab_score

(snochar(11)primarykey,

scnochar(3)notnull,

scorenumber(8,3)default0,

constraintfk_tab_score_tab_student_snoforeignkey(sno)

referencestab_student(sno)

)2、用as子句建表createtabletab_dup(aa,bb)asselectsno,snamefromtab_student示例-表變動(dòng)1、增加/改動(dòng)/刪除列

altertabletab_studentadd(col1varchar2(10)notnull,col2int);altertabletab_student

modify(ssexchar(1)notnull,remarkvarchar2(100))altertabletab_student

drop(remark)2、啟用/禁止/刪除表約束

altertabletab_studentdisableconstraintck_tab_student_sage

altertabletab_studentdisableprimarykey;altertabletab_studentenableprimarykey;altertabletab_studentdropconstraintck_tab_student_sage;示例-表刪除Droptabletab_studentcascadeconstraints說(shuō)明:

當(dāng)表中建立了完整性約束,則需要使用cascadeconstraints選項(xiàng),表示在刪除表時(shí),將表中的所有約束一起刪除;表改名:renametab_studenttonew_student表/列注釋COMMENTON{TABLE[schema.]{table|view|snapshot}|COLUMN[schema.]{table|view|snapshot}.column}IS'text‘示例如下:commentontabletab_studentis‘學(xué)生表’;commentoncolumntab_student.snois‘學(xué)號(hào)’視圖的概念視圖可以認(rèn)為是虛擬的表隔離了用戶對(duì)表的訪問(wèn)避免重復(fù)的編寫(xiě)同一SQL語(yǔ)句建視圖語(yǔ)法

溫馨提示

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

評(píng)論

0/150

提交評(píng)論