工程科技數(shù)據(jù)庫操作課件_第1頁
工程科技數(shù)據(jù)庫操作課件_第2頁
工程科技數(shù)據(jù)庫操作課件_第3頁
工程科技數(shù)據(jù)庫操作課件_第4頁
工程科技數(shù)據(jù)庫操作課件_第5頁
已閱讀5頁,還剩71頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

數(shù)據(jù)庫操作Presentedby:MichaelAug2007

數(shù)據(jù)庫操作Presentedby:MichaelAug數(shù)據(jù)庫基礎(chǔ)數(shù)據(jù)庫三大范式第一范式

定義:如果關(guān)系R中所有屬性的值域都是單純域,那么關(guān)系模式R是第一范式的

那么符合第一模式的特點(diǎn)就有

1)有主關(guān)鍵字

2)主鍵不能為空,

3)主鍵不能重復(fù),

4)字段不可以再分

例如:

StudyNo

|

Name

|

Sex

|

Contact

20040901

john

Male

Email:kkkk@,phone:222456

20040901

mary

famale

email:kkk@phone:123455

以上的表就不符合,第一范式:主鍵重復(fù)(實(shí)際中數(shù)據(jù)庫不允許重復(fù)的),而且Contact字段可以再分

所以變更為正確的是

StudyNo

|

Name

|

Sex

|

Email

|

Phone

20040901

john

Male

kkkk@

222456

20040902

mary

famale

kkk@

123455數(shù)據(jù)庫基礎(chǔ)數(shù)據(jù)庫三大范式數(shù)據(jù)庫基礎(chǔ)數(shù)據(jù)庫三大范式第二范式:

定義:如果關(guān)系模式R是第一范式的,而且關(guān)系中每一個(gè)非主屬性不部分依賴于主鍵,稱R是第二范式的。

所以第二范式的主要任務(wù)就是滿足第一范式的前提下,消除部分函數(shù)依賴。

StudyNo

|

Name

|

Sex

|

Email

|

Phone

|

ClassNo

|ClassAddress

01

john

Male

kkkk@

222456

200401

A樓2

02

mary

famale

kkk@

123455

200402

A樓3

這個(gè)表完全滿足于第一范式,

主鍵由StudyNo和ClassNo組成,這樣才能定位到指定行

但是,ClassAddress部分依賴于關(guān)鍵字(ClassNo-〉ClassAddress),

所以要變?yōu)閮蓚€(gè)表

表一

StudyNo

|

Name

|

Sex

|

Email

|

Phone|

ClassNo

01

john

Male

kkkk@

222456

200401

02

mary

famale

kkk@

123455

200402

表二

ClassNo

|ClassAddress

200401

A樓2

200402

A樓3

數(shù)據(jù)庫基礎(chǔ)數(shù)據(jù)庫三大范式數(shù)據(jù)庫基礎(chǔ)數(shù)據(jù)庫三大范式

第三范式:

滿足第二范式的前提下,消除傳遞依賴。

例:

StudyNo

|

Name

|

Sex

|

Email

|

bounsLevel

|

bouns

20040901

john

Male

kkkk@

優(yōu)秀

$1000

20040902

mary

famale

kkk@

$600

這個(gè)完全滿足了第二范式,但是bounsLevel和bouns存在傳遞依賴

更改為:

StudyNo

|

Name

|

Sex

|

Email

|

bouunsNo

20040901

john

Male

kkkk@

1

20040902

mary

famale

kkk@

2

bounsNo

|

bounsLevel

|

bouns

1

優(yōu)秀

$1000

2

$600

這里我比較喜歡用bounsNo作為主鍵,

一般滿足前三個(gè)范式就可以避免數(shù)據(jù)冗余。數(shù)據(jù)庫基礎(chǔ)數(shù)據(jù)庫三大范式數(shù)據(jù)庫基礎(chǔ)SQL語言數(shù)據(jù)定義(DataDefinition)CREATETABLE,DROPTABLE…數(shù)據(jù)操縱(DataManipulation)SELECT,INSERT,UPDATE,DELETE數(shù)據(jù)控制(DataControl)COMMIT,ROLLBACK數(shù)據(jù)庫基礎(chǔ)SQL語言數(shù)據(jù)庫基礎(chǔ)OPENSQL語言O(shè)PENSQL是SQL的子集OPENSQL獨(dú)立于不同類型的數(shù)據(jù)庫OPENSQL是DML語言數(shù)據(jù)庫基礎(chǔ)OPENSQL語言數(shù)據(jù)庫基礎(chǔ)使用OPENSQL的效率原則盡可能減少滿足條件的數(shù)據(jù)條目數(shù)量減少傳輸數(shù)據(jù)量,以減少網(wǎng)絡(luò)流量減少訪問數(shù)據(jù)庫表的數(shù)量建超查詢難度減少數(shù)據(jù)庫負(fù)載數(shù)據(jù)庫基礎(chǔ)使用OPENSQL的效率原則數(shù)據(jù)表維護(hù)數(shù)據(jù)字典TCODE:se11需要掌握:表字段外部關(guān)鍵字技術(shù)設(shè)定(Technicalsetting)索引DataElementDomain數(shù)據(jù)表維護(hù)數(shù)據(jù)字典數(shù)據(jù)表維護(hù)數(shù)據(jù)字典新建一個(gè)數(shù)據(jù)表ZXXX數(shù)據(jù)表維護(hù)數(shù)據(jù)字典SELECTSELECTSELECT…FROM…INTO…WHERE…GROUPBY…HAVING…ORDERBY…SELECTSELECTSELECT選擇單行數(shù)據(jù)SELECTSINGE…FROM…INTO…WHERE…

演示:選擇全部字段到workarea選擇指定字段到變量SELECT選擇單行數(shù)據(jù)SELECT選擇多行數(shù)據(jù)SELECT[DISTINCT]… …ENDSELECTSELECT…INTO|APPENDING [CORRESPONDINGFIELDSOF]TABLEitabSELECT…INTOTABLEitabPACKAGESIZEn…ENDSELECTSELECT選擇多行數(shù)據(jù)SELECT指定查詢條件比較運(yùn)算符=><<><=>=范圍限定符號(hào)BETWEEN…AND…字符比較運(yùn)算符號(hào)[NOT]LIKE..[EXCAPEh]_代表單個(gè)字符%代表多個(gè)字符檢查列表值[NOT]INSELECT指定查詢條件SELECT指定查詢條件檢查空值IS[NOT]NULL…檢查選擇表INsettab…SELECT指定查詢條件SELECT多表組合查詢-SELECT語句嵌套SELECT …

SELECT … ENDSELECT …ENDSELECTSELECT多表組合查詢-SELECT語句嵌套SELECT多表組合查詢-從內(nèi)表查詢SELECT…FORALLENTRIESINitabWHETE…SELECT多表組合查詢-從內(nèi)表查詢SELECT多表組合查詢-使用視圖通過View進(jìn)行查詢SELECT多表組合查詢-使用視圖SELECT多表組合查詢-結(jié)合查詢SELECT…FROMtable[INNER]JOINtable1[ASalias1]oncondition[INNER]JOINtable2[ASalias2]onconditionSELECT多表組合查詢-結(jié)合查詢SELECT多表組合查詢-子查詢SELECT…WHEREEXIST(SELECT…)SELECT…WHEREfieldIN(SELECT…)SELECT…WHEREfield=(SELECT…)SELECT多表組合查詢-子查詢SELECT多表組合查詢-統(tǒng)計(jì)函數(shù)MaxMinSumAvgCountSELECT多表組合查詢-統(tǒng)計(jì)函數(shù)SELECT多表組合查詢-分組SELECT…WHERE…GROUPBY…HAVING…SELECT多表組合查詢-分組SELECT多表組合查詢-排序SELECT…WHERE…ORDERBYf1[ASCENDING|DESCENDING]f2[ASCENDING|DESCENDING]SELECT多表組合查詢-排序SELECT多表組合查詢-其他使用表工作區(qū)TABLESdbtab動(dòng)態(tài)指定數(shù)據(jù)庫表SELECT…FROM(dbtabname)指定ClientSELECT…FROM…CLIENT

SPECIFIED

設(shè)置緩沖機(jī)制SELECT…FROMdbtabBYPASSING

BUFFER…限定行數(shù)SELECT…FROMdbtabUPTOnROWS…SELECT多表組合查詢-其他SELECT多表組合查詢-操作性能分析GETRUNTIMEFIELDf.TCODE:se30SELECT多表組合查詢-操作性能分析SELECT多表組合查詢-使用光標(biāo)OPENCURSOR[WITHHOLD]cFORSELECT…FETCHNEXTCURSORcINTOtarget.CLOSECURSORc.SELECT多表組合查詢-使用光標(biāo)更新數(shù)據(jù)更新數(shù)據(jù)INSERTUPDATEMODIFYDELETESy-subrc 操作是否成功Sy-dbcnt 影響的行數(shù)更新數(shù)據(jù)更新數(shù)據(jù)更新數(shù)據(jù)INSERTINSERTINTOdbtabVALUESwa.INSERTINTOdbtabFROMwa.INSERTdbtabFROMTABLEitab[ACCEPTINGDUPLICTEKEYS].更新數(shù)據(jù)INSERT更新數(shù)據(jù)UPDATEUPDATEdbtabSETf1=g1…fn=gnWHERE…UPDATEdbtabFROMwa.UPDATEdbtabFROMTABLEitab.更新數(shù)據(jù)UPDATE更新數(shù)據(jù)MODIFY(INSERT+UPDATE)MODIFYdbtabFROMwa.MODIFYdbtabFROMTABLEitab.更新數(shù)據(jù)MODIFY(INSERT+UPDATE)更新數(shù)據(jù)DELETEDELETEdbtabFROMWHERE…DELETEdbtabFROMwa.DLETEdbtab[CLIENTSPECIFIED]FROMTABLEitab.更新數(shù)據(jù)DELETE數(shù)據(jù)一致性SAPLUWLUW(LogicalUnitofWork)數(shù)據(jù)庫LUW數(shù)據(jù)一致性SAPLUW數(shù)據(jù)一致性SAPLUWCOMMITWORK.ROLLBACKWORK.PERFORM..ONCOMMIT.CALLFUNCTION…INUPDATETASK.數(shù)據(jù)一致性SAPLUW數(shù)據(jù)一致性SAP數(shù)據(jù)鎖定TCODE:se11Lockobject(鎖定對(duì)象)Functionmodule:ENQUEUE_<LOCKOBJECT>DEQUEUE_<LOCKOBJECT>數(shù)據(jù)一致性SAP數(shù)據(jù)鎖定數(shù)據(jù)一致性用戶權(quán)限檢查TCODE:su21AuthorizationobjectsAUTHORITY-CHECKOBJECT‘object’ ID‘name1’fieldf1 ID‘name2’fieldf2 ID‘name’dumySy-subrc 判斷檢查結(jié)果數(shù)據(jù)一致性用戶權(quán)限檢查數(shù)據(jù)一致性文件接口OPENDATASETdsn<options>.CLOSEDATASETdsn.DELETEDATASETdsn.TRANSFERfTOdsn[LENGTHlen].READDATASETdsnINTOf[LENGTHlen].數(shù)據(jù)一致性文件接口數(shù)據(jù)一致性文件接口-FunctionFILE_GET_NAMEDOWNLOADWS_DOWNLOADUPLOADWS_UPLOAD數(shù)據(jù)一致性文件接口-Function數(shù)據(jù)一致性數(shù)據(jù)簇EXPORTf1[FROMg1]f2[FROMg2]TOmediumIDid.IMPORTf1[FROMg1]f2[FROMg2]FROMmediumIDid.Medium(存儲(chǔ)區(qū)域):MEMORY(內(nèi)存)FREEMEMORYIDid.DATABASE(數(shù)據(jù)表)Table:INDX數(shù)據(jù)一致性數(shù)據(jù)簇結(jié)束

謝謝大家!結(jié)束數(shù)據(jù)庫操作Presentedby:MichaelAug2007

數(shù)據(jù)庫操作Presentedby:MichaelAug數(shù)據(jù)庫基礎(chǔ)數(shù)據(jù)庫三大范式第一范式

定義:如果關(guān)系R中所有屬性的值域都是單純域,那么關(guān)系模式R是第一范式的

那么符合第一模式的特點(diǎn)就有

1)有主關(guān)鍵字

2)主鍵不能為空,

3)主鍵不能重復(fù),

4)字段不可以再分

例如:

StudyNo

|

Name

|

Sex

|

Contact

20040901

john

Male

Email:kkkk@,phone:222456

20040901

mary

famale

email:kkk@phone:123455

以上的表就不符合,第一范式:主鍵重復(fù)(實(shí)際中數(shù)據(jù)庫不允許重復(fù)的),而且Contact字段可以再分

所以變更為正確的是

StudyNo

|

Name

|

Sex

|

Email

|

Phone

20040901

john

Male

kkkk@

222456

20040902

mary

famale

kkk@

123455數(shù)據(jù)庫基礎(chǔ)數(shù)據(jù)庫三大范式數(shù)據(jù)庫基礎(chǔ)數(shù)據(jù)庫三大范式第二范式:

定義:如果關(guān)系模式R是第一范式的,而且關(guān)系中每一個(gè)非主屬性不部分依賴于主鍵,稱R是第二范式的。

所以第二范式的主要任務(wù)就是滿足第一范式的前提下,消除部分函數(shù)依賴。

StudyNo

|

Name

|

Sex

|

Email

|

Phone

|

ClassNo

|ClassAddress

01

john

Male

kkkk@

222456

200401

A樓2

02

mary

famale

kkk@

123455

200402

A樓3

這個(gè)表完全滿足于第一范式,

主鍵由StudyNo和ClassNo組成,這樣才能定位到指定行

但是,ClassAddress部分依賴于關(guān)鍵字(ClassNo-〉ClassAddress),

所以要變?yōu)閮蓚€(gè)表

表一

StudyNo

|

Name

|

Sex

|

Email

|

Phone|

ClassNo

01

john

Male

kkkk@

222456

200401

02

mary

famale

kkk@

123455

200402

表二

ClassNo

|ClassAddress

200401

A樓2

200402

A樓3

數(shù)據(jù)庫基礎(chǔ)數(shù)據(jù)庫三大范式數(shù)據(jù)庫基礎(chǔ)數(shù)據(jù)庫三大范式

第三范式:

滿足第二范式的前提下,消除傳遞依賴。

例:

StudyNo

|

Name

|

Sex

|

Email

|

bounsLevel

|

bouns

20040901

john

Male

kkkk@

優(yōu)秀

$1000

20040902

mary

famale

kkk@

$600

這個(gè)完全滿足了第二范式,但是bounsLevel和bouns存在傳遞依賴

更改為:

StudyNo

|

Name

|

Sex

|

Email

|

bouunsNo

20040901

john

Male

kkkk@

1

20040902

mary

famale

kkk@

2

bounsNo

|

bounsLevel

|

bouns

1

優(yōu)秀

$1000

2

$600

這里我比較喜歡用bounsNo作為主鍵,

一般滿足前三個(gè)范式就可以避免數(shù)據(jù)冗余。數(shù)據(jù)庫基礎(chǔ)數(shù)據(jù)庫三大范式數(shù)據(jù)庫基礎(chǔ)SQL語言數(shù)據(jù)定義(DataDefinition)CREATETABLE,DROPTABLE…數(shù)據(jù)操縱(DataManipulation)SELECT,INSERT,UPDATE,DELETE數(shù)據(jù)控制(DataControl)COMMIT,ROLLBACK數(shù)據(jù)庫基礎(chǔ)SQL語言數(shù)據(jù)庫基礎(chǔ)OPENSQL語言O(shè)PENSQL是SQL的子集OPENSQL獨(dú)立于不同類型的數(shù)據(jù)庫OPENSQL是DML語言數(shù)據(jù)庫基礎(chǔ)OPENSQL語言數(shù)據(jù)庫基礎(chǔ)使用OPENSQL的效率原則盡可能減少滿足條件的數(shù)據(jù)條目數(shù)量減少傳輸數(shù)據(jù)量,以減少網(wǎng)絡(luò)流量減少訪問數(shù)據(jù)庫表的數(shù)量建超查詢難度減少數(shù)據(jù)庫負(fù)載數(shù)據(jù)庫基礎(chǔ)使用OPENSQL的效率原則數(shù)據(jù)表維護(hù)數(shù)據(jù)字典TCODE:se11需要掌握:表字段外部關(guān)鍵字技術(shù)設(shè)定(Technicalsetting)索引DataElementDomain數(shù)據(jù)表維護(hù)數(shù)據(jù)字典數(shù)據(jù)表維護(hù)數(shù)據(jù)字典新建一個(gè)數(shù)據(jù)表ZXXX數(shù)據(jù)表維護(hù)數(shù)據(jù)字典SELECTSELECTSELECT…FROM…INTO…WHERE…GROUPBY…HAVING…ORDERBY…SELECTSELECTSELECT選擇單行數(shù)據(jù)SELECTSINGE…FROM…INTO…WHERE…

演示:選擇全部字段到workarea選擇指定字段到變量SELECT選擇單行數(shù)據(jù)SELECT選擇多行數(shù)據(jù)SELECT[DISTINCT]… …ENDSELECTSELECT…INTO|APPENDING [CORRESPONDINGFIELDSOF]TABLEitabSELECT…INTOTABLEitabPACKAGESIZEn…ENDSELECTSELECT選擇多行數(shù)據(jù)SELECT指定查詢條件比較運(yùn)算符=><<><=>=范圍限定符號(hào)BETWEEN…AND…字符比較運(yùn)算符號(hào)[NOT]LIKE..[EXCAPEh]_代表單個(gè)字符%代表多個(gè)字符檢查列表值[NOT]INSELECT指定查詢條件SELECT指定查詢條件檢查空值IS[NOT]NULL…檢查選擇表INsettab…SELECT指定查詢條件SELECT多表組合查詢-SELECT語句嵌套SELECT …

SELECT … ENDSELECT …ENDSELECTSELECT多表組合查詢-SELECT語句嵌套SELECT多表組合查詢-從內(nèi)表查詢SELECT…FORALLENTRIESINitabWHETE…SELECT多表組合查詢-從內(nèi)表查詢SELECT多表組合查詢-使用視圖通過View進(jìn)行查詢SELECT多表組合查詢-使用視圖SELECT多表組合查詢-結(jié)合查詢SELECT…FROMtable[INNER]JOINtable1[ASalias1]oncondition[INNER]JOINtable2[ASalias2]onconditionSELECT多表組合查詢-結(jié)合查詢SELECT多表組合查詢-子查詢SELECT…WHEREEXIST(SELECT…)SELECT…WHEREfieldIN(SELECT…)SELECT…WHEREfield=(SELECT…)SELECT多表組合查詢-子查詢SELECT多表組合查詢-統(tǒng)計(jì)函數(shù)MaxMinSumAvgCountSELECT多表組合查詢-統(tǒng)計(jì)函數(shù)SELECT多表組合查詢-分組SELECT…WHERE…GROUPBY…HAVING…SELECT多表組合查詢-分組SELECT多表組合查詢-排序SELECT…WHERE…ORDERBYf1[ASCENDING|DESCENDING]f2[ASCENDING|DESCENDING]SELECT多表組合查詢-排序SELECT多表組合查詢-其他使用表工作區(qū)TABLESdbtab動(dòng)態(tài)指定數(shù)據(jù)庫表SELECT…FROM(dbtabname)指定ClientSELECT…FROM…CLIENT

SPECIFIED

設(shè)置緩沖機(jī)制SELECT…FROMdbtabBYPASSING

BUFFER…限定行數(shù)SELECT…FROMdbtabUPTOnROWS…SELECT多表組合查詢-其他SELECT多表組合查詢-操作性能分析GETRUNTIMEFIELDf.TCODE:se30SELECT多表組合查詢-操作性能分析SELECT多表組合查詢-使用光標(biāo)OPENCURSOR[WITHHOLD]cFORSELECT…FETCHNEXTCURSORcINTOtarget.CLOSECURSORc.SELECT多表組合查詢-使用光標(biāo)更新數(shù)據(jù)更新數(shù)據(jù)INSERTUPDATEMODIFYDELETESy-subrc 操作是否成功Sy-dbcnt 影響的行數(shù)更新數(shù)據(jù)更新數(shù)據(jù)更新數(shù)據(jù)INSERTINSERTINTOdbtabVALUESwa.INSERTINTOdbtabFROMwa.INSERTdbtabFROMTABLEitab[ACCEPTINGDUPLICTEKEYS].更新數(shù)據(jù)INSERT更新數(shù)據(jù)UPDATEUPDATEdbtabSETf1=g1…fn=gnWHERE…UPDATEdbtabFROMwa.UPDATEdbtabFROMTABLEitab.更新數(shù)據(jù)UPDATE

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論