工程科技數據庫操作課件_第1頁
工程科技數據庫操作課件_第2頁
工程科技數據庫操作課件_第3頁
工程科技數據庫操作課件_第4頁
工程科技數據庫操作課件_第5頁
已閱讀5頁,還剩71頁未讀, 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

數據庫操作Presentedby:MichaelAug2007

數據庫操作Presentedby:MichaelAug數據庫基礎數據庫三大范式第一范式

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

那么符合第一模式的特點就有

1)有主關鍵字

2)主鍵不能為空,

3)主鍵不能重復,

4)字段不可以再分

例如:

StudyNo

|

Name

|

Sex

|

Contact

20040901

john

Male

Email:kkkk@,phone:222456

20040901

mary

famale

email:kkk@phone:123455

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

所以變更為正確的是

StudyNo

|

Name

|

Sex

|

Email

|

Phone

20040901

john

Male

kkkk@

222456

20040902

mary

famale

kkk@

123455數據庫基礎數據庫三大范式數據庫基礎數據庫三大范式第二范式:

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

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

StudyNo

|

Name

|

Sex

|

Email

|

Phone

|

ClassNo

|ClassAddress

01

john

Male

kkkk@

222456

200401

A樓2

02

mary

famale

kkk@

123455

200402

A樓3

這個表完全滿足于第一范式,

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

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

所以要變為兩個表

表一

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

數據庫基礎數據庫三大范式數據庫基礎數據庫三大范式

第三范式:

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

例:

StudyNo

|

Name

|

Sex

|

Email

|

bounsLevel

|

bouns

20040901

john

Male

kkkk@

優秀

$1000

20040902

mary

famale

kkk@

$600

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

更改為:

StudyNo

|

Name

|

Sex

|

Email

|

bouunsNo

20040901

john

Male

kkkk@

1

20040902

mary

famale

kkk@

2

bounsNo

|

bounsLevel

|

bouns

1

優秀

$1000

2

$600

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

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

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

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

SPECIFIED

設置緩沖機制SELECT…FROMdbtabBYPASSING

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

謝謝大家!結束數據庫操作Presentedby:MichaelAug2007

數據庫操作Presentedby:MichaelAug數據庫基礎數據庫三大范式第一范式

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

那么符合第一模式的特點就有

1)有主關鍵字

2)主鍵不能為空,

3)主鍵不能重復,

4)字段不可以再分

例如:

StudyNo

|

Name

|

Sex

|

Contact

20040901

john

Male

Email:kkkk@,phone:222456

20040901

mary

famale

email:kkk@phone:123455

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

所以變更為正確的是

StudyNo

|

Name

|

Sex

|

Email

|

Phone

20040901

john

Male

kkkk@

222456

20040902

mary

famale

kkk@

123455數據庫基礎數據庫三大范式數據庫基礎數據庫三大范式第二范式:

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

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

StudyNo

|

Name

|

Sex

|

Email

|

Phone

|

ClassNo

|ClassAddress

01

john

Male

kkkk@

222456

200401

A樓2

02

mary

famale

kkk@

123455

200402

A樓3

這個表完全滿足于第一范式,

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

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

所以要變為兩個表

表一

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

數據庫基礎數據庫三大范式數據庫基礎數據庫三大范式

第三范式:

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

例:

StudyNo

|

Name

|

Sex

|

Email

|

bounsLevel

|

bouns

20040901

john

Male

kkkk@

優秀

$1000

20040902

mary

famale

kkk@

$600

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

更改為:

StudyNo

|

Name

|

Sex

|

Email

|

bouunsNo

20040901

john

Male

kkkk@

1

20040902

mary

famale

kkk@

2

bounsNo

|

bounsLevel

|

bouns

1

優秀

$1000

2

$600

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

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

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

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

SPECIFIED

設置緩沖機制SELECT…FROMdbtabBYPASSING

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

溫馨提示

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

評論

0/150

提交評論