日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

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

瀏覽:224日期:2023-11-28 12:23:08
一、Oracle中的實體完整性

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短語)

例1 建立部門表DEPT,要求部門名稱Dname列取值唯一,部門編號Deptno列為主碼。 CREATE TABLE dept

(deptno NUMBER,

dname VARCHAR(9) CONSTRAINT u1 UNIQUE,

loc VARCHAR(10),

CONSTRAINT pk_dept PRIMARY KEY (deptno));

其中CONSTRAINT U1 UNIQUE表示約束名為U1,該約束要求Dname列值唯一。

例2 建立學生登記表Student,要求學號在90000~99999之間,年齡<29,性別只能是“男”或“女”,姓名非空。 CREATE TABLE student

(sno NUMBER(5) CONSTRAINT c1 CHECK (sno BETWEEN 90000 AND 99999),

sname VARCHAR(20) CONSTRAINT c2 NOT NULL,

sage NUMBER(3) CONSTRAINT c3 CHECK (sage<29),

ssex VARCHAR(2) CONSTRAINT c4 CHECK(ssex IN('男','女')));

例3 建立職工表EMP,要求每個職工的應發工資不得超過3000元。應發工資實際上就是實發工資列Sal與扣除項Deduct之和。 CREATE TABLE emp

(eno NUMBER(4),

ename VARCHAR(10),

job VARCHAR(8),

sal NUMBER(7,2),

deduct NUMBER(7,2),

deptno NUMBER(2),

CONSTRAINT c1 CHECK (sal + deduct <= 3000));

在Oracle中,除列值非空、列值唯一、檢查列值是否滿足一個布爾表達式外,用戶還可以通過觸發器(Trigger)來實現其他完整性規則。所謂數據庫觸發器,就是一類靠事件驅動的特殊過程,一旦由某個用戶定義,任何用戶對該數據的增、刪、改操作均由服務器自動激活相應的觸發器,在核心層進行集中的完整性控制。

定義數據庫觸發器的語句是CREATE TRIGGER。

例4 為教師表Teacher定義完整性規則“教授的工資不得低于1000元,如果低于1000元,自動改為1000元”。 CREATE TRIGGER update_sal

BEFORE INSERT OR UPDATE OF sal, pos

ON teacher

FOR EACH ROW

WHEN (:NEW.pos = '教授') /**//* 某教員晉升為教授 */

BEGIN

IF :NEW.sal < 1000

THEN

:NEW.sal := 1000;

END IF;

END;

綜上所述,Oracle提供了CREATE TABLE語句CREATE TRIGGER語句定義完整性約束條件,其中用CREATE TABLE語句可以定義很復雜的完整性約束條件。完整性約束條件一旦定義好,Oracle會自動執行相應的完整性檢查,對于違反完整性約束條件的操作或者拒絕執行或者執行事先定義的操作。

標簽: Oracle 數據庫
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
久久久一本精品| 中文字幕中文字幕精品| 日韩在线a电影| 国产精品呻吟| 欧美一级精品| 国产精品毛片在线| 久久亚洲国产精品一区二区| 一区二区三区四区日韩| 中文字幕乱码亚洲无线精品一区| 亚洲一区二区三区中文字幕在线观看| 国产精品日本欧美一区二区三区| 亚洲一区亚洲| 中文一区一区三区免费在线观| 免费看日韩精品| 亚欧成人精品| 欧美激情久久久久久久久久久| 国产欧美日韩一区二区三区四区 | 欧美日韩免费看片| 99综合视频| 日韩和欧美的一区| 精品三级久久| 亚洲午夜久久| 麻豆网站免费在线观看| 麻豆亚洲精品| 天堂√中文最新版在线| 日韩欧美二区| 欧美高清一区| 久久国产视频网| 午夜欧美巨大性欧美巨大| 国产在线不卡| 中文字幕在线看片| 麻豆91精品| aa国产精品| 日韩av一级| zzzwww在线看片免费| 亚洲精品少妇| 国产亚洲福利| 国产精品99久久精品| 天堂av一区| 亚洲二区在线| 精品免费av| 美女高潮久久久| 国产精品毛片aⅴ一区二区三区| 亚洲影视一区二区三区| 在线一区视频观看| 成人免费一区| 国产成人精品一区二区免费看京 | 亚洲综合欧美| av不卡免费看| 久久国产88| 鲁大师成人一区二区三区| 午夜国产精品视频免费体验区| 日韩久久电影| 久久国产小视频| 欧美+日本+国产+在线a∨观看| 日韩在线观看不卡| 1000部精品久久久久久久久| 成人欧美一区二区三区的电影| 日韩综合在线| 日韩高清不卡| 欧美亚洲国产精品久久| 久久精品国产99久久| 不卡视频在线| 一本一道久久a久久| 国产美女精品视频免费播放软件| 国产九九精品| 亚洲深夜视频| 99热精品在线观看| 亚洲精品进入| 麻豆传媒一区二区三区| 亚洲天堂免费电影| 久久久夜精品| 中文日韩欧美| 日本三级亚洲精品| 日韩在线中文| 免费日韩av片| 高清一区二区三区| 日韩一级精品| 韩国女主播一区二区三区| 精精国产xxxx视频在线播放 | 日本成人在线不卡视频| 国产精品欧美在线观看| 日韩一区二区三区高清在线观看| 国产一精品一av一免费爽爽| 九九久久国产| 好看不卡的中文字幕| 欧美一级二级三级视频| 精品美女在线视频| 国产精品7m凸凹视频分类| 日本亚洲欧美天堂免费| 黄色网一区二区| 亚洲另类黄色| 91精品高清| 国产精品v一区二区三区| 日韩国产欧美一区二区三区| 国产欧美日韩视频在线| 亚洲精品成人图区| 最近国产精品视频| a国产在线视频| 91超碰国产精品| 久久99免费视频| 亚洲综合不卡| 欧美13videosex性极品| 欧美日韩xxxx| 亚洲综合欧美| 欧美日韩国产高清电影| 国产激情一区| 亚洲欧美专区| 亚洲国产一区二区在线观看| 久久精品国产99国产| 中文字幕亚洲在线观看| 不卡在线一区二区| 亚洲四虎影院| 麻豆一区二区三| 综合色就爱涩涩涩综合婷婷| 成人av二区| 日韩和的一区二在线| 国产精品精品国产一区二区| 国产精品一区三区在线观看| 一本一道久久a久久| 91久久中文| 丝袜亚洲另类欧美| 日韩午夜高潮| 在线亚洲观看| 日本欧美在线看| 免费美女久久99| 亚洲精品韩国| 久久精品97| 国产精品自在| 日本成人在线视频网站| 日本aⅴ亚洲精品中文乱码| 日韩高清一区在线| 欧美日韩伊人| 国产激情精品一区二区三区| 欧美黑人巨大videos精品| 欧美日本二区| 国产va免费精品观看精品视频| 国产夫妻在线| 亚洲精品国产偷自在线观看| 日本国产精品| 午夜久久99| 欧美69视频| 免费中文字幕日韩欧美| 黄色av日韩| 美女网站一区| 天堂成人免费av电影一区| 日韩中文字幕不卡| 国产日韩在线观看视频| 麻豆久久久久久| 欧美日韩一二| 亚洲精品乱码久久久久久蜜桃麻豆| 国产日韩欧美一区二区三区| 福利一区和二区| 亚洲免费高清| 久久免费精品| 99国产精品视频免费观看一公开 | 美腿丝袜亚洲一区| 中文在线资源| 精品欧美久久| 国产精品视频3p| 999久久久亚洲| 日本成人中文字幕在线视频| 香蕉成人av| 欧美精品三级在线| 久久精品导航| 久久久精品区| 亚洲欧美激情诱惑| 天堂中文在线播放| 欧美亚洲综合视频| 亚洲免费中文| 久久三级毛片| 99视频在线精品国自产拍免费观看| 日韩视频一二区| 国产精品嫩模av在线| 国产综合欧美| 麻豆久久久久久| 先锋影音久久久| 日本激情一区| 欧美在线看片| 午夜日本精品| 黄色欧美在线| 国产欧美综合一区二区三区| 欧美日韩精品一本二本三本| 国产精品九九| 夜夜嗨av一区二区三区网站四季av| 精品中文字幕一区二区三区四区| 视频一区中文| 成人在线免费观看91| 99视频+国产日韩欧美| 国产一区二区三区四区大秀| 久久亚洲影院| 欧美二区视频| 久久人人99| 激情黄产视频在线免费观看| 精品久久久久中文字幕小说| 丝袜美腿成人在线| 国产网站在线| 欧美交a欧美精品喷水| 免费中文字幕日韩欧美| 久久电影一区|