當前位置:首頁 » 編程語言 » sql資料庫中的約束
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

sql資料庫中的約束

發布時間: 2022-12-16 00:46:07

① 什麼是sql裡面的約束條件

SQL 約束(Constraints)

  • SQL 約束用於規定表中的數據規則。

  • 如果存在違反約束的數據行為,行為會被約束終止。

  • 約束可以在創建表時規定(通過 CREATE TABLE 語句),或者在表創建之後規定(通過 ALTER TABLE 語句)。

本回答來自:SQL 約束(Constraints)_樹懶學堂

SQL CREATE TABLE + CONSTRAINT 語法

資料庫用SQL語言建表,什麼是完整性約束請問如何寫出各種完整性約束

一、數據的完整性

實體完整性

實體完整性簡單的說,就是將表中的每一行看作一個實體。實體完整性要求表的標示符列或主鍵的完整性。可以通過建立唯一索引、PRIMARY KEY約束、UNIQUE約束,以及列的IDENTITY屬性來實施實體完整性。

域完整性

域完整性是指給定列的輸入有效性。要求表中指定列的數據具有正確的數據類型、格式和有效的數據范圍。強制域有效性的方法有:限制類型(通過數據類型)、格式(通過 CHECK 約束和規則)或可能值的范圍。域完整性通過 FOREIGN KEY 約束、CHECK 約束、DEFAULT 定義、NOT NULL 定義和規則來實現。

引用完整性

引用完整性又稱參照完整性。引用完整性維持被參照表和參照表之間的數據一致性,他通過主鍵(PRIMARY KEY)約束和外鍵(FOREIGN KEY)約束來實現。

用戶定義完整性

二、約束操作

與表相關的約束

在SQL 2008中,常用有6種約束,分別是NOT NULL,UNIQUE,PRIMARY KEY,FOREIGN KEY,DEFAULT和CHECK.

--添加主鍵約束(即primary key約束)

alter table goods add constraint pk_gid primary key(gid)

--1.刪除主鍵約束

alter table goods drop pk_gid

--添加唯一約束(即unique約束)

alter table goods add constraint uq_gname unique(gname)

--刪除唯一約束:仿1.

--添加預設約束(即default約束)

alter table goods add constraint def_gtel default 0000-00000000 for gtel

--刪除預設約束:仿1.

--添加檢查約束(即check約束)

alter table goods add constraint ck_gprice check(gprice>500)

--刪除check約束:仿1.

--創建表2

create table g_p

(

wno int identity(1,1) primary key,

gno int

)

--添加外鍵約束(即foreign key約束)

alter table g_p

add constraint fk_gno

foreign key(gno) references goods(gid)

--刪除外鍵約束:仿1.

--使用newid()

select newid()--生成全球唯一的ID號

create table customer

(

custID uniqueidentifier not null default newid(),

customer char(30) not null

)

insert customer values(newid(),\''\''accp\''\'')--向customer中插入信息

-----------------------------------慢慢研究----

③ 什麼是SQL裡面的約束條件

約束是SQL Sever自動強制資料庫完整的方式,約束定義了列中允許的取值。在SQL Sever中提供五種類型的完整性約束。1、NULL/NOT NULL 約束;2、UNIQUE約束(唯一約束);3、PRIMARY KEY 約束(主鍵約束);4、FOREIGN KEY 約束(外鍵約束)5、CHECK 約束
例如:1、create table s(Sno char(6) not null,
Sname char(10))
2、create table s(Sno char(6) ,
Sname char(10) unique)
3、create table s(Sno char(6) primary key,
Sname char(10))
4、create table SC(Sno char(6) not null foreign key references S(Sno))
5、create table SC(Sno char(6),
Cno char(6),
Score double check(Score>=0 and Score<=100))

④ SQL什麼是約束

在sql中唯一約束和主鍵約束應用性在我的理解上幾乎是一樣的.
就是確保某一個列或者某幾個列的(組合)值唯一.
而兩者的區別在於單個表上唯一約束可以定義多個,而且欄位可以為空.
主鍵約束在單個表上只能定義一個,而且欄位不能為空.
應用性上,單個表涉及到人員的,只需要定義一個主鍵約束就可以了.
希望能幫到你

⑤ sql中表達完整性約束的機制主要有哪幾種

在SQL中,表達完整性約束的規則有主鍵約束、外鍵約束、屬性值約束和全局約束等多種形式。
(1)主鍵約束:可用主鍵子句或主鍵短語來定義。
如 PRIMARY KEY (S#) (主鍵子句)
S# CHAR (4) PRIMARY KEY (其中,PRIMARY KEY 為主鍵短語)
(2)外鍵約束:可用外鍵子句來定義
如 FOREIGN KEY (S#) REFERNCE S(S#)

(3)屬性值約束:包括非空值約束(NOT NULL);基於屬性的檢查子句(CHECK) ;
域約束子句(在「CREAT DOMAIN」語句中出現CHECK子句)
如CREAT DOMAIN AGE SMALLINT CHECK (VALUE>10)
(4)全局約束:包括基於元組的檢查子句(CHECK)和斷言
斷言的句法為:CREATE ASSERTION 斷言名 CHECK 條件

⑥ sql資料庫中,表約束,和列約束是什麼意思,簡單說說

約束,主要為了維護資料庫的完整性而定義的一些規則,列約束作為列定義的一部分只作用於此列本身。表約束作為表定義的一部分,可以作用於多個列。在這里舉幾個例子。
1.主鍵約束
主關鍵字約束指定表的一列或幾列的組合的值在表中具有惟一性,即能惟一地指定一行記錄。每個表中只能有一列被指定為主關鍵字,且IMAGE 和TEXT 類型的列不能被指定為主關鍵字,也不允許指定主關鍵字列有NULL 屬性。
多列組成的主鍵叫聯合主鍵,聯合主鍵就是表級約束,單列主鍵就是列級約束。

2.唯一性約束
某一列的值,在這個表中,只能出現一個,比如身份證號碼等

3.外鍵約束

外關鍵字約束定義了表之間的關系。當一個表中的一個列或多個列的組合和其它表中的主關鍵字定義相同時,就可以將這些列或列的組合定義為外關鍵字,並設定它適合哪個表中哪些列相關聯

等等,不一一列舉了。

⑦ sql中表達完整性約束的規則主要有哪幾種

1、實體完整性:規定表的每一行在表中是惟一的實體。

2、域完整性:是指表中的列必須滿足某種特定的數據類型約束,其中約束又包括取值范圍、精度等規定。

3、 參照完整性:是指兩個表的主關鍵字和外關鍵字的數據應一致,保證了表之間的數據的一致性,防止了數據丟失或無意義的數據在資料庫中擴散。

4、用戶定義的完整性:不同的關系資料庫系統根據其應用環境的不同,往往還需要一些特殊的約束條件。用戶定義的完整性即是針對某個特定關系資料庫的約束條件,它反映某一具體應用必須滿足的語義要求。


(7)sql資料庫中的約束擴展閱讀

完整性約束的類型介紹:

1、與表有關的約束:是表中定義的一種約束。可在列定義時定義該約束,此時稱為列約束,也可以在表定義時定義約束,此時稱為表約束。

2、域(Domain)約束:在域定義中被定義的一種約束,它與在特定域中定義的任何列都有關系。

3、斷言(Assertion):在斷言定義時定義的一種約束,它可以與一個或多個表進行關聯。

⑧ 什麼是SQL裡面的約束條件請通俗一點,最好有列子

約束是SQL Sever自動強制資料庫完整的方式,約束定義了列中允許的取值。在SQL Sever中提供五種類型的完整性約束。1、NULL/NOT NULL 約束;2、UNIQUE約束(唯一約束);3、PRIMARY KEY 約束(主鍵約束);4、FOREIGN KEY 約束(外鍵約束)5、CHECK 約束
例如:1、create table s(Sno char(6) not null,
Sname char(10))
2、create table s(Sno char(6) ,
Sname char(10) unique)
3、create table s(Sno char(6) primary key,
Sname char(10))
4、create table SC(Sno char(6) not null foreign key references S(Sno))
5、create table SC(Sno char(6),
Cno char(6),
Score double check(Score>=0 and Score<=100))
以上這些如果你要看資料庫的書,裡面會詳細告訴你它們是如何使用的