眾賞文庫
全部分類
  • 抗擊疫情 >
    抗擊疫情
    病毒認知 防護手冊 復工復產(chǎn) 應(yīng)急預案 防控方案 英雄事跡 院務(wù)工作
  • 成品畢設(shè) >
    成品畢設(shè)
    外文翻譯 畢業(yè)設(shè)計 畢業(yè)論文 開題報告 文獻綜述 任務(wù)書 課程設(shè)計 相關(guān)資料 大學生活 期刊論文 實習報告
  • 項目策劃 >
    項目策劃
    土地準備 規(guī)劃設(shè)計 開工開盤 項目綜合 竣工移交 售后移交 智慧方案 安全專項 環(huán)境影響評估報告 可行性研究報告 項目建議書 商業(yè)計劃書 危害評估防治 招投標文件
  • 專業(yè)資料 >
    專業(yè)資料
    人文法律 環(huán)境安全 食品科學 基礎(chǔ)建設(shè) 能源化工 農(nóng)林牧畜 綜合待分類 教育經(jīng)驗 行政人力 企業(yè)管理 醫(yī)學衛(wèi)生 IT技術(shù) 土木建筑 考研專題 財會稅務(wù) 公路隧道 紡織服裝
  • 共享辦公 >
    共享辦公
    總結(jié)匯報 調(diào)研報告 工作計劃 述職報告 講話發(fā)言 心得體會 思想?yún)R報 事務(wù)文書 合同協(xié)議 活動策劃 代理加盟 技術(shù)服務(wù) 求職簡歷 辦公軟件 ppt模板 表格模板 融資協(xié)議 發(fā)言演講 黨團工作 民主生活
  • 學術(shù)文檔 >
    學術(shù)文檔
    自然科學 生物科學 天文科學 醫(yī)學衛(wèi)生 工業(yè)技術(shù) 航空、航天 環(huán)境科學、安全科學 軍事 政學 文化、科學、教育、 交通運輸 經(jīng)濟 語言、文字 文學 農(nóng)業(yè)科學 社會科學總論 藝術(shù) 歷史、地理 哲學 數(shù)理科學和化學 綜合性圖書 哲學宗教
  • 經(jīng)營營銷 >
    經(jīng)營營銷
    綜合文檔 經(jīng)濟財稅 人力資源 運營管理 企業(yè)管理 內(nèi)控風控 地產(chǎn)策劃
  • 教學課件 >
    教學課件
    幼兒教育 小學教育 初中教育 高中教育 職業(yè)教育 成人教育 高等教育 考研資源 試題真題 作業(yè)習題 課后答案 綜合教學
  • 土木建筑 >
    土木建筑
    專項施工 應(yīng)急預案 建筑規(guī)范 工藝方案 技術(shù)交底 施工表格 圖片圖集
  • 課程導學 >
    課程導學
    醫(yī)學綜合 中醫(yī)養(yǎng)生 醫(yī)學研究 身心發(fā)展 醫(yī)學試題 影像醫(yī)學 醫(yī)院辦公 外科醫(yī)學 老年醫(yī)學 內(nèi)科醫(yī)學 婦產(chǎn)科 神經(jīng)科 醫(yī)學課件 眼鼻喉科 皮膚病科 腫瘤科 兒科醫(yī)學 康復醫(yī)學 全科醫(yī)學 護理學科 針灸學科 重癥學科 病毒學科 獸醫(yī) 藥學
    • 簡介:ANINTRODUCTIONTODATABASESYSTEM,南京航空航天大學信息學院計算機系,數(shù)據(jù)庫系統(tǒng)概論ANINTRODUCTIONTODATABASESYSTEM第十章數(shù)據(jù)庫完整性,ANINTRODUCTIONTODATABASESYSTEM,第十章數(shù)據(jù)庫完整性,什么是數(shù)據(jù)庫的完整性數(shù)據(jù)的正確性和相容性防止不合語義的數(shù)據(jù)進入數(shù)據(jù)庫。例學生的年齡必須是整數(shù),取值范圍為1429;學生的性別只能是男或女;學生的學號一定是唯一的;學生所在的系必須是學校開設(shè)的系;完整性否真實地反映現(xiàn)實世界,ANINTRODUCTIONTODATABASESYSTEM,完整性控制機制,1完整性約束條件定義機制2完整性檢查機制3違約反應(yīng),ANINTRODUCTIONTODATABASESYSTEM,完整性約束條件定義,完整性約束條件數(shù)據(jù)模型的組成部分約束數(shù)據(jù)庫中數(shù)據(jù)的語義DBMS應(yīng)提供定義數(shù)據(jù)庫完整性約束條件,并把它們作為模式的一部分存入數(shù)據(jù)庫中,ANINTRODUCTIONTODATABASESYSTEM,完整性控制機制,檢查用戶發(fā)出的操作請求是否違背了完整性約束條件,ANINTRODUCTIONTODATABASESYSTEM,違約反應(yīng),如果發(fā)現(xiàn)用戶的操作請求使數(shù)據(jù)違背了完整性約束條件,則采取一定的動作來保證數(shù)據(jù)的完整性。,ANINTRODUCTIONTODATABASESYSTEM,第十章數(shù)據(jù)庫完整性,101完整性約束條件102完整性控制103ORACLE的完整性104小結(jié),ANINTRODUCTIONTODATABASESYSTEM,完整性約束條件(續(xù)),完整性約束條件作用的對象列對屬性的取值類型、范圍、精度等的約束條件元組對元組中各個屬性列間的聯(lián)系的約束關(guān)系對若干元組間、關(guān)系集合上以及關(guān)系之間的聯(lián)系的約束,ANINTRODUCTIONTODATABASESYSTEM,完整性約束條件(續(xù)),靜態(tài)對靜態(tài)對象的約束是反映數(shù)據(jù)庫狀態(tài)合理性的約束動態(tài)對動態(tài)對象的約束是反映數(shù)據(jù)庫狀態(tài)變遷的約束,ANINTRODUCTIONTODATABASESYSTEM,完整性約束條件分類,六類完整性約束條件靜態(tài)列級約束靜態(tài)元組約束靜態(tài)關(guān)系約束動態(tài)列級約束動態(tài)元組約束動態(tài)關(guān)系約束,ANINTRODUCTIONTODATABASESYSTEM,完整性約束條件(續(xù)),對象狀態(tài)動態(tài)列級約束動態(tài)元組約束動態(tài)關(guān)系約束動態(tài)④⑤⑥靜態(tài)列級約束靜態(tài)元組約束靜態(tài)關(guān)系約束靜態(tài)①②③列元組關(guān)系對象粒度,ANINTRODUCTIONTODATABASESYSTEM,完整性約束條件(續(xù)),1靜態(tài)列級約束靜態(tài)列級約束對的取值域的說明最常見、最簡單、最容易實現(xiàn)的一類完整性約束,ANINTRODUCTIONTODATABASESYSTEM,完整性約束條件(續(xù)),五類靜態(tài)列級約束1數(shù)據(jù)類型約束數(shù)據(jù)的類型、長度、單位、精度等例學生姓名的數(shù)據(jù)類型為字符型,長度為82對數(shù)據(jù)格式的約束例學號前兩位表示入學年份,后四位為順序編號日期YYMMDD。,ANINTRODUCTIONTODATABASESYSTEM,完整性約束條件(續(xù)),3取值范圍或取值集合的約束例規(guī)定成績的取值范圍為0100年齡的取值范圍為1429性別的取值集合為男,女4對空值的約束空值未定義或未知的值空值與零值和空格不同有的列允許空值,有的則不允許,如成績可為空值5其他約束例關(guān)于列的排序說明,組合列等,ANINTRODUCTIONTODATABASESYSTEM,完整性約束條件(續(xù)),2靜態(tài)元組約束規(guī)定元組的各個列之間的約束關(guān)系例訂貨關(guān)系中發(fā)貨量700元靜態(tài)元組約束只局限在元組上,ANINTRODUCTIONTODATABASESYSTEM,完整性約束條件(續(xù)),3靜態(tài)關(guān)系約束關(guān)系的各個元組之間或若干關(guān)系之間存在的各種聯(lián)系或約束常見靜態(tài)關(guān)系約束1實體完整性約束2參照完整性約束3函數(shù)依賴約束4統(tǒng)計約束,ANINTRODUCTIONTODATABASESYSTEM,函數(shù)依賴約束,關(guān)系字段間存在的函數(shù)依賴例在學生-課程-教師關(guān)系SJTS,J,T的函數(shù)依賴S,J)→T,T→J主碼S,J,ANINTRODUCTIONTODATABASESYSTEM,統(tǒng)計約束,定義某個字段值一個關(guān)系多個元組的統(tǒng)計值之間的約束關(guān)系例職工平均工資的2倍原來工資年齡只能增長,ANINTRODUCTIONTODATABASESYSTEM,完整性約束條件(續(xù)),5動態(tài)元組約束修改元組值各個字段之間要滿足的約束條件例職工工資調(diào)整不得低于其原來工資工齡15,ANINTRODUCTIONTODATABASESYSTEM,完整性約束條件(續(xù)),6動態(tài)關(guān)系約束關(guān)系變化前后狀態(tài)限制條件例事務(wù)一致性、原子性等約束條件,ANINTRODUCTIONTODATABASESYSTEM,完整性約束條件小結(jié),,,ANINTRODUCTIONTODATABASESYSTEM,第十章數(shù)據(jù)庫完整性,101完整性約束條件102完整性控制103ORACLE的完整性104小結(jié),ANINTRODUCTIONTODATABASESYSTEM,102完整性控制,一、DBMS的完整性控制機制二、關(guān)系系統(tǒng)三類完整性的實現(xiàn)三、參照完整性的實現(xiàn),ANINTRODUCTIONTODATABASESYSTEM,一、DBMS的完整性控制機制,1定義功能一個完善的完整性控制機制應(yīng)該允許用戶定義各類完整性約束條件。,ANINTRODUCTIONTODATABASESYSTEM,DBMS的完整性控制機制(續(xù)),2檢查功能立即執(zhí)行的約束IMMEDIATECONSTRAINTS語句執(zhí)行完后立即檢查是否違背完整性約束延遲執(zhí)行的約束DEFERREDCONSTRAINSTS完整性檢查延遲到整個事務(wù)執(zhí)行結(jié)束后進行,ANINTRODUCTIONTODATABASESYSTEM,DBMS的完整性控制機制(續(xù)),例銀行數(shù)據(jù)庫中“借貸總金額應(yīng)平衡”的約束就應(yīng)該是延遲執(zhí)行的約束從賬號A轉(zhuǎn)一筆錢到賬號B為一個事務(wù),從賬號A轉(zhuǎn)出去錢后賬就不平了,必須等轉(zhuǎn)入賬號B后賬才能重新平衡,這時才能進行完整性檢查。,ANINTRODUCTIONTODATABASESYSTEM,DBMS的完整性控制機制(續(xù)),3違約反應(yīng)拒絕該操作其他處理方法,ANINTRODUCTIONTODATABASESYSTEM,DBMS的完整性控制機制(續(xù)),完整性規(guī)則五元組表示D,O,A,C,PD(DATA)約束作用的數(shù)據(jù)對象;O(OPERATION)觸發(fā)完整性檢查的數(shù)據(jù)庫操作當用戶發(fā)出什么操作請求時需要檢查該完整性規(guī)則是立即檢查還是延遲檢查;A(ASSERTION)數(shù)據(jù)對象必須滿足的斷言或語義約束這是規(guī)則的主體;C(CONDITION)選擇A作用的數(shù)據(jù)對象值的謂詞;P(PROCEDURE)違反完整性規(guī)則時觸發(fā)的過程。,ANINTRODUCTIONTODATABASESYSTEM,DBMS的完整性控制機制(續(xù)),例1在“學號不能為空”的約束中D約束作用的對象為SNO屬性O(shè)插入或修改STUDENT元組時ASNO不能為空C無(A可作用于所有記錄的SNO屬性)P拒絕執(zhí)行該操作,ANINTRODUCTIONTODATABASESYSTEM,DBMS的完整性控制機制(續(xù)),例2在“教授工資不得低于1000元”的約束中D約束作用的對象為工資SAL屬性O(shè)插入或修改職工元組時ASAL不能小于1000C職稱′教授′A僅作用于職稱‘教授’的記錄P拒絕執(zhí)行該操作,ANINTRODUCTIONTODATABASESYSTEM,二、關(guān)系系統(tǒng)三類完整性的實現(xiàn),關(guān)系數(shù)據(jù)庫系統(tǒng)都提供了定義和檢查實體完整性、參照完整性和用戶定義的完整性的功能違反實體完整性規(guī)則和用戶定義的完整性規(guī)則的操作一般是拒絕執(zhí)行違反參照完整性的操作拒絕執(zhí)行接受這個操作,同時執(zhí)行一些附加的操作,以保證數(shù)據(jù)庫的狀態(tài)正確,ANINTRODUCTIONTODATABASESYSTEM,三、參照完整性的實現(xiàn),例職工-部門數(shù)據(jù)庫包含職工表EMP和部門表DEPT1DEPT關(guān)系的主碼為部門號DEPTNO2EMP關(guān)系的主碼為職工號EMPNO,外碼為部門號DEPTNO稱DEPT為被參照關(guān)系或目標關(guān)系,EMP為參照關(guān)系RDBMS實現(xiàn)參照完整性時需要考慮以下4方面,ANINTRODUCTIONTODATABASESYSTEM,1外碼是否可以接受空值的問題,外碼是否能夠取空值依賴于應(yīng)用環(huán)境的語義實現(xiàn)參照完整性系統(tǒng)提供定義外碼的機制定義外碼列是否允許空值的機制,ANINTRODUCTIONTODATABASESYSTEM,1外碼是否可以接受空值的問題,例1在職工-部門數(shù)據(jù)庫中,EMP關(guān)系包含有外碼DEPTNO某元組的這一列若為空值,表示這個職工尚未分配到任何具體的部門工作和應(yīng)用環(huán)境的語義是相符,ANINTRODUCTIONTODATABASESYSTEM,1外碼是否可以接受空值的問題,例2學生-選課數(shù)據(jù)庫STUDENT關(guān)系為被參照關(guān)系,其主碼為SNO。SC為參照關(guān)系,外碼為SNO。若SC的SNO為空值表明尚不存在的某個學生,或者某個不知學號的學生,選修了某門課程,其成績記錄在GRADE中與學校的應(yīng)用環(huán)境是不相符的,因此SC的SNO列不能取空值。,ANINTRODUCTIONTODATABASESYSTEM,2在被參照關(guān)系中刪除元組時的問題,出現(xiàn)違約操作的情形刪除被參照關(guān)系的某個元組(STUDENT)而參照關(guān)系有若干元組SC的外碼值與被刪除的被參照關(guān)系的主碼值相同,ANINTRODUCTIONTODATABASESYSTEM,2在被參照關(guān)系中刪除元組時的問題,違約反應(yīng)可有三種策略級聯(lián)刪除(CASCADES)受限刪除(RESTRICTED)置空值刪除(NULLIFIES)這三種處理方法,哪一種是正確的,要依應(yīng)用環(huán)境的語義來定,ANINTRODUCTIONTODATABASESYSTEM,2在被參照關(guān)系中刪除元組時的問題,級聯(lián)刪除將參照關(guān)系中外碼值與被參照關(guān)系中要刪除元組主碼值相對應(yīng)的元組一起刪除受限刪除當參照關(guān)系中沒有任何元組的外碼值與要刪除的被參照關(guān)系的元組的主碼值相對應(yīng)時,系統(tǒng)才執(zhí)行刪除操作,否則拒絕此刪除操作,ANINTRODUCTIONTODATABASESYSTEM,2在被參照關(guān)系中刪除元組時的問題,置空值刪除刪除被參照關(guān)系的元組,并將參照關(guān)系中與被參照關(guān)系中被刪除元組主碼值相等的外碼值置為空值。,ANINTRODUCTIONTODATABASESYSTEM,2在被參照關(guān)系中刪除元組時的問題,例要刪除STUDENT關(guān)系中SNO950001的元組,而SC關(guān)系中有4個元組的SNO都等于950001。級聯(lián)刪除將SC關(guān)系中所有4個SNO950001的元組一起刪除。如果參照關(guān)系同時又是另一個關(guān)系的被參照關(guān)系,則這種刪除操作會繼續(xù)級聯(lián)下去受限刪除系統(tǒng)將拒絕執(zhí)行此刪除操作。,ANINTRODUCTIONTODATABASESYSTEM,2在被參照關(guān)系中刪除元組時的問題,置空值刪除將SC關(guān)系中所有SNO950001的元組的SNO值置為空值。在學生選課數(shù)據(jù)庫中,顯然第一種方法和第二種方法都是對的。第三種方法不符合應(yīng)用環(huán)境語義。,ANINTRODUCTIONTODATABASESYSTEM,3在參照關(guān)系中插入元組時的問題,出現(xiàn)違約操作的情形需要在參照關(guān)系中插入元組,而被參照關(guān)系不存在相應(yīng)的元組違約反應(yīng)受限插入遞歸插入,ANINTRODUCTIONTODATABASESYSTEM,3在參照關(guān)系中插入元組時的問題,受限插入僅當被參照關(guān)系中存在相應(yīng)的元組,其主碼值與參照關(guān)系插入元組的外碼值相同時,系統(tǒng)才執(zhí)行插入操作,否則拒絕此操作。遞歸插入首先向被參照關(guān)系中插入相應(yīng)的元組,其主碼值等于參照關(guān)系插入元組的外碼值,然后向參照關(guān)系插入元組。,ANINTRODUCTIONTODATABASESYSTEM,3在參照關(guān)系中插入元組時的問題,例向SC關(guān)系插入(99001,1,90)元組,而STUDENT關(guān)系中尚沒有SNO99001的學生受限插入系統(tǒng)將拒絕向SC關(guān)系插入(99001,1,90)元組遞歸插入系統(tǒng)將首先向STUDENT關(guān)系插入SNO99001的元組,然后向SC關(guān)系插入(99001,1,90)元組。,ANINTRODUCTIONTODATABASESYSTEM,4修改被參照關(guān)系中主碼的問題,兩種策略1不允許修改主碼2允許修改主碼,ANINTRODUCTIONTODATABASESYSTEM,允許修改主碼策略,違約操作要修改被參照關(guān)系中某些元組的主碼值,而參照關(guān)系中有些元組的外碼值正好等于被參照關(guān)系要修改的主碼值要修改參照關(guān)系中某些元組的主碼值,而被參照關(guān)系中沒有任何元組的外碼值等于被參照關(guān)系修改后的主碼值,ANINTRODUCTIONTODATABASESYSTEM,允許修改主碼策略,違約反應(yīng)1修改的關(guān)系是被參照關(guān)系與刪除類似級聯(lián)修改受限修改置空值修改,ANINTRODUCTIONTODATABASESYSTEM,允許修改主碼策略,級聯(lián)修改修改被參照關(guān)系中主碼值同時,用相同的方法修改參照關(guān)系中相應(yīng)的外碼值。受限修改拒絕此修改操作。只當參照關(guān)系中沒有任何元組的外碼值等于被參照關(guān)系中某個元組的主碼值時,這個元組的主碼值才能被修改。置空值修改修改被參照關(guān)系中主碼值,同時將參照關(guān)系中相應(yīng)的外碼值置為空值。,ANINTRODUCTIONTODATABASESYSTEM,允許修改主碼策略,例將STUDENT關(guān)系中SNO950001的元組中SNO值改為960123。而SC關(guān)系中有4個元組的SNO950001級聯(lián)修改將SC關(guān)系中4個SNO950001元組中的SNO值也改為960123。如果參照關(guān)系同時又是另一個關(guān)系的被參照關(guān)系,則這種修改操作會繼續(xù)級聯(lián)下去。,ANINTRODUCTIONTODATABASESYSTEM,允許修改主碼策略,受限修改只有SC中沒有任何元組的SNO950001時,才能修改STUDENT表中SNO950001的元組的SNO值改為960123。置空值修改將STUDENT表中SNO950001的元組的SNO值改為960123。而將S表中所有SNO950001的元組的SNO值置為空值。在學生選課數(shù)據(jù)庫中只有第一種方法是正確的。,ANINTRODUCTIONTODATABASESYSTEM,允許修改主碼策略,違約反應(yīng)2修改的關(guān)系是參照關(guān)系與插入類似受限插入遞歸插入,ANINTRODUCTIONTODATABASESYSTEM,參照完整性的實現(xiàn),RDBMS在實現(xiàn)參照完整性時需要向用戶提供定義主碼、外碼的機制向用戶提供按照自己的應(yīng)用要求選擇處理依賴關(guān)系中對應(yīng)的元組的方法,ANINTRODUCTIONTODATABASESYSTEM,第十章數(shù)據(jù)庫完整性,101完整性約束條件102完整性控制103ORACLE的完整性104小結(jié),ANINTRODUCTIONTODATABASESYSTEM,103ORACLE的完整性,一、ORACLE中的實體完整性二、ORACLE中的參照完整性三、ORACLE中用戶定義的完整性,ANINTRODUCTIONTODATABASESYSTEM,一、ORACLE中的實體完整性,ORACLE在CREATETABLE語句中提供了PRIMARYKEY子句,供用戶在建表時指定關(guān)系的主碼列。在列級使用PRIMARYKEY子句在表級使用PRIMARYKEY子句,ANINTRODUCTIONTODATABASESYSTEM,ORACLE中的實體完整性(續(xù)),例1在學生選課數(shù)據(jù)庫中,要定義STUDENT表的SNO屬性為主碼CREATETABLESTUDENTSNONUMBER8,SNAMEVARCHAR20,SAGENUMBER20,CONSTRAINTPK_SNOPRIMARYKEYSNO或CREATETABLESTUDENTSNONUMBER8PRIMARYKEY,SNAMEVARCHAR20,SAGENUMBER20,ANINTRODUCTIONTODATABASESYSTEM,ORACLE中的實體完整性(續(xù)),例2要在SC表中定義SNO,CNO為主碼CREATETABLESCSNONUMBER8,CNONUMBER2,GRADENUMBER2,CONSTRAINTPK_SCPRIMARYKEYSNO,CNO,ANINTRODUCTIONTODATABASESYSTEM,ORACLE中的實體完整性(續(xù)),用戶程序?qū)χ鞔a列進行更新操作時,系統(tǒng)自動進行完整性檢查違約操作使主屬性值為空值的操作使主碼值在表中不唯一的操作違約反應(yīng)系統(tǒng)拒絕此操作,從而保證了實體完整性,ANINTRODUCTIONTODATABASESYSTEM,二、ORACLE中的參照完整性,定義參照完整性FOREIGNKEY子句定義外碼列REFERENCES子句外碼相應(yīng)于哪個表的主碼ONDELETECASCADE子語在刪除被參照關(guān)系的元組時,同時刪除參照關(guān)系中外碼值等于被參照關(guān)系的元組中主碼值的元組,ANINTRODUCTIONTODATABASESYSTEM,ORACLE中的參照完整性(續(xù)),例1建立表EMP表CREATETABLEEMPEMPNONUMBER4,ENAMEVARCHAR10,JOBVERCHAR29,MGRNUMBER4,SALNUMBER7,2,DEPTNONUMBER2,CONSTRAINTFK_DEPTNOFOREIGNKEYDEPTNOREFERENCESDEPTDEPTNO,ANINTRODUCTIONTODATABASESYSTEM,ORACLE中的參照完整性(續(xù)),或CREATETABLEEMPEMPNONUMBER4,ENAMEVARCHAR10,JOBVERCHAR29,MGRNUMBER4,SALNUMBER7,2,DEPTNONUMBER2CONSTRAINTFK_DEPTNOFOREIGNKEYREFERENCESDEPTDEPTNO,ANINTRODUCTIONTODATABASESYSTEM,ORACLE中的參照完整性(續(xù)),這時EMP表中外碼為DEPTNO,它相應(yīng)于DEPT表中的主碼DEPTNO。當要修改DEPT表中的DEPTNO值時,先要檢查EMP表中有無元組的DEPTNO值與之對應(yīng)若沒有,系統(tǒng)接受這個修改操作否則,系統(tǒng)拒絕此操作,ANINTRODUCTIONTODATABASESYSTEM,ORACLE中的參照完整性(續(xù)),當要刪除DEPT表中某個元組時,系統(tǒng)要檢查EMP表,若找到相應(yīng)元組即將其隨之刪除。當要插入EMP表中某個元組時,系統(tǒng)要檢查DEPT表,先要檢查DEPT表中有無元組的DEPTNO值與之對應(yīng)若沒有,系統(tǒng)拒絕此插入操作否則,系統(tǒng)接受此操作,ANINTRODUCTIONTODATABASESYSTEM,三、ORACLE中用戶定義的完整性,ORACLE中定義用戶完整性的兩類方法用CREATETABLE語句在建表時定義用戶完整性約束通過觸發(fā)器來定義用戶的完整性規(guī)則,ANINTRODUCTIONTODATABASESYSTEM,ORACLE中用戶定義的完整性(續(xù)),1用CREATETABLE語句在建表時定義用戶完整性約束可定義三類完整性約束列值非空(NOTNULL短語)列值唯一(UNIQUE短語)檢查列值是否滿足一個布爾表達式(CHECK短語),ANINTRODUCTIONTODATABASESYSTEM,ORACLE中用戶定義的完整性(續(xù)),例1建立部門表DEPT,要求部門名稱DNAME列取值唯一,部門編號DEPTNO列為主碼CREATETABLEDEPTDEPTNONUMBER,DNAMEVARCHAR9CONSTRAINTU1UNIQUE,LOCVARCHAR10,CONSTRAINTPK_DEPTPRIMARYKEYDEPTNO其中CONSTRAINTU1UNIQUE表示約束名為U1,該約束要求DNAME列值唯一。,ANINTRODUCTIONTODATABASESYSTEM,ORACLE中用戶定義的完整性(續(xù)),例2建立學生登記表STUDENT,要求學號在900000至999999之間,年齡29,性別只能是‘男’或‘女’,姓名非空CREATETABLESTUDENTSNONUMBER5CONSTRAINTC1CHECKSNOBETWEEN10000AND99999,SNAMEVARCHAR20CONSTRAINTC2NOTNULL,SAGENUMBER3CONSTRAINTC3CHECKSAGE29,SSEXVARCHAR2CONSTRAINTC4CHECKSSEXIN男,女,ANINTRODUCTIONTODATABASESYSTEM,ORACLE中用戶定義的完整性(續(xù)),例3建立職工表EMP,要求每個職工的應(yīng)發(fā)工資不得超過3000元。應(yīng)發(fā)工資實際上就是實發(fā)工資列SAL與扣除項DEDUCT之和。CREATETABLEEMPENONUMBER4ENAMEVARCHAR10,JOBVARCHAR8,SALNUMBER7,2,DEDUCTNUMBER7,2DEPTNONUMBER2,CONSTRAINTSC1CHECKSALDEDUCT3000,ANINTRODUCTIONTODATABASESYSTEM,ORACLE中用戶定義的完整性(續(xù)),2通過觸發(fā)器來定義用戶的完整性規(guī)則定義其它的完整性約束時,需要用數(shù)據(jù)庫觸發(fā)器(TRIGGER)來實現(xiàn)。數(shù)據(jù)庫觸發(fā)器一類靠事務(wù)驅(qū)動的特殊過程一旦由某個用戶定義,任何用戶對該數(shù)據(jù)的增、刪、改操作均由服務(wù)器自動激活相應(yīng)的觸發(fā)子,在核心層進行集中的完整性控制定義數(shù)據(jù)庫觸發(fā)器的語句CREATEORREPLACETRIGGER,ANINTRODUCTIONTODATABASESYSTEM,ORACLE中用戶定義的完整性(續(xù)),例4為教師表TEACHER定義完整性規(guī)則“教授的工資不得低于800元,如果低于800元,自動改為800元”,ANINTRODUCTIONTODATABASESYSTEM,ORACLE中用戶定義的完整性(續(xù)),CREATETRIGGERUPDATE_SALBEFOREINSERTORUPDATEOFSAL,POSONTEACHERFOREACHROWWHENNEWPOS教授BEGINIFNEWSAL800THENNEWSAL800ENDIFEND,ANINTRODUCTIONTODATABASESYSTEM,ORACLE完整性小結(jié),ORACLE提供定義完整性約束條件CREATETABLE語句CREATETRIGGER語句可以定義很復雜的完整性約束條件ORACLE自動執(zhí)行相應(yīng)的完整性檢查對于違反完整性約束條件的操作拒絕執(zhí)行或者執(zhí)行事先定義的操作,ANINTRODUCTIONTODATABASESYSTEM,第十章數(shù)據(jù)庫完整性,101完整性約束條件102完整性控制103ORACLE的完整性104小結(jié),ANINTRODUCTIONTODATABASESYSTEM,104小結(jié),數(shù)據(jù)庫的完整性是為了保證數(shù)據(jù)庫中存儲的數(shù)據(jù)是正確的,所謂正確的是指符合現(xiàn)實世界語義的。DBMS完整性實現(xiàn)的機制完整性約束定義機制完整性檢查機制違背完整性約束條件時DBMS應(yīng)采取的動作,ANINTRODUCTIONTODATABASESYSTEM,小結(jié),完整性機制的實施會極大地影響系統(tǒng)性能不同的數(shù)據(jù)庫產(chǎn)品對完整性的支持策略和支持程度是不同的許多數(shù)據(jù)庫管理系統(tǒng)對完整性機制的支持比對安全性的支持要晚得多也弱得多數(shù)據(jù)庫廠商對完整性的支持越來越好,不僅在能保證實體完整性和參照完整性而且能在DBMS核心定義、檢查和保證用戶定義的完整性約束條件,ANINTRODUCTIONTODATABASESYSTEM,下課了。。。,休息一會兒。。。,認真,
      下載積分: 6 賞幣
      上傳時間:2024-01-06
      頁數(shù): 78
      4人已閱讀
      ( 4 星級)
    • 下載積分: 3 賞幣
      上傳時間:2024-03-05
      頁數(shù): 2
      8人已閱讀
      ( 4 星級)
    • 下載積分: 3 賞幣
      上傳時間:2024-03-06
      頁數(shù): 1
      2人已閱讀
      ( 4 星級)
    • 下載積分: 3 賞幣
      上傳時間:2024-03-05
      頁數(shù): 2
      0人已閱讀
      ( 4 星級)
    • 下載積分: 5 賞幣
      上傳時間:2024-03-05
      頁數(shù): 5
      18人已閱讀
      ( 4 星級)
    • 下載積分: 3 賞幣
      上傳時間:2024-03-05
      頁數(shù): 2
      2人已閱讀
      ( 4 星級)
    • 下載積分: 3 賞幣
      上傳時間:2024-03-05
      頁數(shù): 1
      3人已閱讀
      ( 4 星級)
    • 下載積分: 5 賞幣
      上傳時間:2024-03-06
      頁數(shù): 4
      2人已閱讀
      ( 4 星級)
    • 下載積分: 3 賞幣
      上傳時間:2024-03-06
      頁數(shù): 2
      2人已閱讀
      ( 4 星級)
    • 下載積分: 3 賞幣
      上傳時間:2024-03-05
      頁數(shù): 2
      7人已閱讀
      ( 4 星級)
    • 下載積分: 3 賞幣
      上傳時間:2024-03-06
      頁數(shù): 2
      9人已閱讀
      ( 4 星級)
    • 下載積分: 5 賞幣
      上傳時間:2024-03-05
      頁數(shù): 4
      22人已閱讀
      ( 4 星級)
    • 下載積分: 5 賞幣
      上傳時間:2024-03-05
      頁數(shù): 5
      2人已閱讀
      ( 4 星級)
    • 下載積分: 6 賞幣
      上傳時間:2024-03-05
      頁數(shù): 9
      11人已閱讀
      ( 4 星級)
    • 下載積分: 3 賞幣
      上傳時間:2024-03-06
      頁數(shù): 2
      6人已閱讀
      ( 4 星級)
    關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服客服 - 聯(lián)系我們

    機械圖紙源碼,實習報告等文檔下載

    備案號:浙ICP備20018660號