① 資料庫用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中 增加約束,限製取值的命令
NOT NULL 非空值
UNIQUE 唯一性
PRIMARY KEY 約束唯一標識資料庫表中的每條記錄
FOREIGN KEY 一個表中的 FOREIGN KEY 指向另一個表中的 PRIMARY KEY
CHECK 約束用於限制列中的值的范圍
DEFAULT 約束用於向列中插入默認值
③ 在sql中,要防止大於0的數被保存到int類型的列,可以使用什麼約束
這個是 SQL 中的CHECK 約束。
CHECK 約束用於限制列中的值的范圍。
④ SQL Server限制輸入值的取值范圍的是什麼
SQL Server限制輸入值的取值范圍的是用戶自己定義的。
CHECK 約束用於限制列中的值的范圍。
如果對單個列定義 CHECK 約束,那麼該列只允許特定的值。
如果對一個表定義 CHECK 約束,那麼此約束會在特定的列中對值進行限制。
撤銷 CHECK 約束
如需撤銷 CHECK 約束,請使用下面的 SQL:
SQL Server / Oracle / MS Access:
ALTER TABLE Persons
DROP CONSTRAINT chk_Person
MySQL:
ALTER TABLE Persons
DROP CHECK chk_Person
(4)sql限制數據范圍用什麼約束擴展閱讀
check主要用於限定欄位值的范圍
常見用法舉例:
1、重量需大於0,並且小於等於100
WEIGHT NUMERIC(9,2) CHECK(WEIGHT>0 AND WEIGHT<=100
2、性別取『男』或者『女』
SSEX CHAR(2) CHECK(SSEX='male' OR SSEX='female')
3、年齡取15-45
SAGE SMALLINT CHECK(SAGE>=15 AND SAGE<=45)
4、學分大於0
SEMSTER SMALLINT CHECK(SEMSTER>0)
⑤ 資料庫有哪幾種類型約束
主鍵約束(Primary Key constraint):要求主鍵列數據唯一,並且不允許為空。
唯一約束(Unique constraint):要求該列唯一,允許為空,但只能出現一個空值。
檢查約束(Check constraint):某列取值范圍限制,格式限制等,如有關年齡、郵箱(必須有@)的約束。
默認約束(Default constraint):某列的默認值,如在資料庫里有一項數據很多重復,可以設為默認值。
外鍵約束(Foreign Key constraint):用於在兩個表之間建立關系,需要指定引用主表的哪一列。
(5)sql限制數據范圍用什麼約束擴展閱讀
主鍵約束在表中定義一個主鍵來唯一確定表中每一行數據的標識符。
(非空,唯一)
例如:
alter table member
add
constraint PK_member_member_no primary key clustered (member_no)
主鍵列的數據類型不限,但此列必須是唯一並且非空。
如該表中已有主鍵為1000的行,則不能再添加主鍵為1000。
人工或程序不好控制的時候,也可以設置主鍵列為自動增長列。
主鍵主要用在查詢單調數據,修改單調數據和刪除單調數據上。做程序的時候,都將表的主鍵設置為int型的可自增的列,這樣在編程的時候,很容易區分數據。
⑥ 在SQL中可以使用哪些約束
有用請採納哦~
NOT NULL – 指示某列不能存儲 NULL 值。
UNIQUE – 保證某列的每行必須有唯一的值。
PRIMARY KEY – NOT NULL 和 UNIQUE 的結合。確保某列(或兩個列多個列的結合)有唯一標識,有助於更容易更快速地找到表中的一個特定的記錄。
FOREIGN KEY – 保證一個表中的數據匹配另一個表中的值的參照完整性。
CHECK – 保證列中的值符合指定的條件。
DEFAULT – 規定沒有給列賦值時的默認值。
具體每個約束的實際範例自己去圖中網站找哦。