• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    數據庫進階:循序漸進講解Oracle數據庫的完整性概念

    發布: 2008-5-13 11:05 | 作者: GOD | 來源: 希賽網 | 查看: 67次 | 進入軟件測試論壇討論

    領測軟件測試網  Oracle在CREATE TABLE語句中提供了PRIMARY KEY子句,供用戶在建表時指定關系的主碼列。例如,在學生-選課數據庫中,要定義Student表的Sno為主碼,可使用如下語句: CREATE TABLE student

      (sno NUMBER(8),
      sanme VARCHAR(20),
      sage NUMBER(20),
      CONSTRAINT pk_sno PRIMARY KEY(sno));

      其中,PRIMARY KEY(Sno)表示是Student表的主碼。PK_SNO是此主碼約束名。

      若要在SC表中定義(Sno,Cno)為主碼,則用下面語句建立SC表: CREATE TABLE sc

      (sno NUMBER(8),
      cno NUMBER(2),
      grade NUMBER(2),
      CONSTRAINT pk_sc PRIMARY KEY(sno,cno));

      用PRIMARY KEY語句定義了關系的主碼后,每當用戶程序對主碼列進行更新操作時,系統自動進行完整性檢查,凡操作使主碼值為空或使主碼值在表中不唯一,系統拒絕此操作,從而保證了實體完整性。

      二、Oracle中的參照完整性

      Oracle的CREATE TABLE語句也可以定義參照完整性規則,即用FOREIGN KEY子句定義哪些列為外碼列,用REFERENCES子句指明這些外碼相應于哪個表的主碼,用ON DELETE CASCADE子句指明在刪除被參照關系的元組時,同時刪除參照關系中相應的遠祖。

      例如,使用如下SQL語句建立EMP表: CREATE TABLE emp

      (empno NUMBER(4),
      ename VARCHAR(10),
      job VARCHAR2(9),
      mgr NUMBER(4),
      sal NUMBER(7,2),
      deptno NUMBER(2),
      CONSTRAINT fk_deptno
      FOREIGN KEY(deptno)
      REFERENCES dept(deptno));

      則表明EMP是參照表,DEPT為其被參照表,EMP表中Deptno為外碼,它相應于DEPT表中的主碼Deptno。當刪除或修改DEPT表中某個元組的主碼時要檢查EMP中是否有元組的DEPTNO值等于DEPT中要刪除的元組的Deptno值,如沒有,接受此操作;否則系統拒絕這一更新操作。

      如果用如下SQL語句建立EMP表: CREATE TABLE emp

      (empno NUMBER(4),
      ename VARCHAR(10),
      job VARCHAR2(9),
      mgr NUMBER(4),
      sal NUMBER(7,2),
      deptno NUMBER(2),
      CONSTRAINT fk_deptno
      FOREIGN KEY(deptno)
      REFERENCES dept(deptno)
      ON DELETE CASCADE);

      當要修改DEPT表中的Deptno值時,先要檢查EMP表中有無元組的Deptno值與之對應,若沒有,系統接受這個修改操作,否則,系統拒絕此操作。

      當要刪除DEPT表中某個元組時,系統也要檢查EMP表,若找到相應元組則將它們也隨之刪除。

      三、Oracle中用戶定義的完整性

      除實體完整性和參照完整性外,應用系統中往往還需要定義與應用有關的完整性限制。例如:要求某一列的值不能取空值,要在表中是唯一的,要在某個取值范圍中等。Oracle允許用戶在建表時定義下列完整性約束:

      列值非空(NOT NULL短語)

      列值唯一(UNIQUE短語)

      檢查列值是否滿足一個布爾表達式(CHECK短語)

    延伸閱讀

    文章來源于領測軟件測試網 http://www.kjueaiud.com/

    TAG: oracle ORACLE Oracle 概念 進階 數據庫 循序漸進

    21/212>

    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備10010545號-5
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>