




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
數據庫操作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
|
|
Phone
20040901
john
Male
kkkk@
222456
20040902
mary
famale
kkk@
123455數據庫基礎數據庫三大范式數據庫基礎數據庫三大范式第二范式:
定義:如果關系模式R是第一范式的,而且關系中每一個非主屬性不部分依賴于主鍵,稱R是第二范式的。
所以第二范式的主要任務就是滿足第一范式的前提下,消除部分函數依賴。
StudyNo
|
Name
|
Sex
|
|
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
|
|
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
|
|
bounsLevel
|
bouns
20040901
john
Male
kkkk@
優秀
$1000
20040902
mary
famale
kkk@
良
$600
這個完全滿足了第二范式,但是bounsLevel和bouns存在傳遞依賴
更改為:
StudyNo
|
Name
|
Sex
|
|
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
|
|
Phone
20040901
john
Male
kkkk@
222456
20040902
mary
famale
kkk@
123455數據庫基礎數據庫三大范式數據庫基礎數據庫三大范式第二范式:
定義:如果關系模式R是第一范式的,而且關系中每一個非主屬性不部分依賴于主鍵,稱R是第二范式的。
所以第二范式的主要任務就是滿足第一范式的前提下,消除部分函數依賴。
StudyNo
|
Name
|
Sex
|
|
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
|
|
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
|
|
bounsLevel
|
bouns
20040901
john
Male
kkkk@
優秀
$1000
20040902
mary
famale
kkk@
良
$600
這個完全滿足了第二范式,但是bounsLevel和bouns存在傳遞依賴
更改為:
StudyNo
|
Name
|
Sex
|
|
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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 5-12序列信號發生器2-m序列信號發生器的分析
- 1-7碼制-BCD的加減法運算
- 2025年北京海淀區中考一模英語試卷試題(含答案詳解)
- 食品企業產品檢驗管理制度
- 上海行健職業學院《創新創業基礎(社會實踐)》2023-2024學年第二學期期末試卷
- 天津渤海職業技術學院《能源與環境》2023-2024學年第二學期期末試卷
- 四川省射洪縣2024-2025學年初三下學期第一次聯合模擬考試數學試題含解析
- 國開2025年《漢語通論》形成性考核1-4答案
- 江蘇省無錫江陰市要塞片2025屆初三第一次模擬(5月)物理試題含解析
- 江漢大學《試驗設計方法》2023-2024學年第一學期期末試卷
- 《再別康橋》 統編版高中語文選擇性必修下冊
- 2024年鄭州鐵路職業技術學院單招職業適應性測試題庫必考題
- 廣東省汕頭市金平區2023-2024學年九年級下學期一模英語試卷
- 預制箱梁施工質量保證措施
- 建筑防水工程技術規程DBJ-T 15-19-2020
- 生產節拍計算表格
- 光伏項目節前安全教育
- 中職學校高二上學期期末考試語文試題(含答案)
- 胰腺炎的中醫特色護理
- 疼痛病人護理
- 【基于渠道視角的海爾智家營運資金管理分析10000字(論文)】
評論
0/150
提交評論