日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

5、oracle下数据完整性约束

發布時間:2023/12/3 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 5、oracle下数据完整性约束 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

ORACLE下數據完整性約束

為了保證數據的完整性和結構的正確性,oracle也有很多約束條件。

1.數據完整性

為了保證數據的完整性,一般對數據列(字段)進行如下約束,主鍵約束(PRIMARY KEY)、唯一鍵約束(UNIQUE)、非空約束(NOT NULL)、默認值(DEFAULT)、檢查約束(CHECK)、外鍵約束(FOREIGN KEY)。

1.1 實體完整性約束

要求每一個表中的主鍵字段都不能為空或者重復,一般實現的方法是添加唯一約束和主鍵約束。這里選擇主鍵一般的原則是盡量選擇單鍵、主鍵必須保證唯一性、非空性、一般選擇沒有意義,用戶不關心的字段。

表創建后,添加約束的語句如下:

-- 使用constraint創建指定名稱的約束
constraint pk_id primary key(id);

1.2域完整性約束

要求列的值域的完整性,如數據類型、格式和范圍、是否允許為空等。一般實現的方法是限制數據類型,添加外鍵約束、默認值約束、非空約束。

-- 限制sex的取值
-- 創建表時添加約束
CREATE TABLE test(
???id int,
???sex char(1) constraint test_sex check (sex in ('0','1'))
);
--創建表后添加約束
alter table test add constraint test_sex check(sex in ('0','1'));

1.3引用完整性約束

當處理數據時,通過參照另一個相關聯的表中的數據,來檢查對表的數據的操作是否正確。一般實現方法是添加外鍵約束。

alter table test
add constraint FK_TEST_ID foregin key (TID) references 主表 (TID)

2.表之間的關系
oracle中表與表之間的關系有一對一、一對多、多對一。

3.數據表的設計范式

數據表的設計范式是沒有數據庫之分的,每個數據庫都是一樣的,最基本的三個范式是:確保每列保持原子性;確保表中的每條數據都和主鍵相關;確保每列都和主鍵列直接相關,而不是間接相關。

4.修改約束的SQL語法

-- 建表時添加約束
not null約束必須寫在行上
DEFAULT 約束必須寫在行上
constraint 約束名 primary key(列)
constraint 約束名 unique(列)
constraint 約束名 check(sex in('男','女'))
constraint 約束名 foreign key(列) reference 其他表(列)
-- 外部添加約束
ALTER TABLE 表 ADD CONSTRAINT 約束名 PRIMARY KEY (列)
ALTER TABLE 表 ALTER COLUMN 列 SET DEFAULT '默認值'
ALTER TABLE 表 ADD CONSTRAINT 約束名 CHECK (條件)
ALTER TABLE 表 ADD CONSTRAINT 約束名 FOREIGN KEY (列) REFERENCES 其他表(列)
ALTER TABLE 表 ADD CONSTRAINT 約束名 UNIQUE (列...)
-- 刪除約束
ALTER TABLE Persons DROP CONSTRAINT 約束名

-- 停用約束

ALTER TABLE 表名ADD CONSTRAINT 約束名 UNQUE(status) DISABLE
ALTER TBALE 表名DISABLE CONSTRAINT 約束名

--啟用約束

ALTER TABLE 表名ENABLE CONSTRAINT 約束名;
ALTER TABLE 表名ENABLE NOVALIDATE CONSTRAINT 約束名;

-- 查看約束

select * from user_constraints where ...;

總結

以上是生活随笔為你收集整理的5、oracle下数据完整性约束的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。