『壹』 資料庫有哪幾種類型約束
資料庫有五種類型約束,分別為:主鍵約束、返伏桐唯一約束、檢查約束、默認約束、外鍵約束。
主鍵約束:要求主鍵列數據唯一,並且不允許為空。
唯一約束:要求該列唯一,允許為空,但只能出現一個空值。
檢查約束:某列取值范漏坦圍限制、格式限制等。
默認約束:某列的默認值。
外鍵約束:用於廳滑在兩表之間建立關系,需要指定引用主表的哪一列。
『貳』 資料庫的五種約束關系是什麼主外鍵有什麼用。求教
額,這是資料庫原理的基礎知識,比如連接,分左外連接,右外連接,外連接。
以左外連接為專屬例
代碼大概為
select
*
from
data1
left
join
data2
on
data1.num=data2.num
where
data1.name='我'
可以連接不同的表。
主鍵,外鍵等的都是基礎的東西,主鍵相當於一列數據的身份證號碼,是唯一的。
外鍵就是說這個單元格的數據,是別的表的主鍵
。。。。。。
建議lz買本《資料庫原理》看看,一個星期就看會了。這個需要系統的學一下,半路出家學不到什麼東西
關於sql語句代碼,只有4種,select,update,insert,delete
非常簡單
『叄』 資料庫有哪幾種類型約束
主鍵約束(Primary Key constraint):要求主鍵列數據唯一,並且不允許為空。
唯一約束(Unique constraint):要求該列唯一,允許為空,但只能出現一個空值。
檢查約束(Check constraint):某列取值范圍限制,格式限制等,如有關年齡、郵箱(必須有@)的約束。
默認約束(Default constraint):某列的默認值,如在資料庫里有一項數據很多重復,可以設為默認值。
外鍵約束(Foreign Key constraint):用於在兩個表之間建立關系,需要指定引用主表的哪一列。
(3)資料庫約束有哪些什麼含義擴展閱讀
主鍵約束在表中定義一個主鍵來唯一確定表中每一行數據的標識符。
(非空,唯一)
例如:
alter table member
add
constraint PK_member_member_no primary key clustered (member_no)
主鍵列的數據類型不限,但此列必須是唯一並且非空。
如該表中已有主鍵為1000的行,則不能再添加主鍵為1000。
人工或程序不好控制的時候,也可以設置主鍵列為自動增長列。
主鍵主要用在查詢單調數據,修改單調數據和刪除單調數據上。做程序的時候,都將表的主鍵設置為int型的可自增的列,這樣在編程的時候,很容易區分數據。
『肆』 什麼是資料庫約束
oracle資料庫約束
約束用於確保資料庫數滿足業務規則。
約束包括:NOT NULL,,PRIMARY KEY,FOREIGN KEY以及CHECK等5種類型。
建立主鍵約束和唯一約束時,Oralce會基於約束列自動建立唯一索引;主鍵約束不允許為NULL,唯一約束允許為NULL。
一張表只能建立一個主鍵約束。
建表約束:NOT NULL只能在列級定義;其它4種既可以在列級定義,也可以在表級定義。復合主鍵約束只能在表級定義。
維護約束:增加NOT NULL約束時必須使用MODIFY子句,而增加其它約束時需要使用ADD子句。
第一, 定義約束
---------------------------------------------
語法:
CREATE TABLE [SCHEMA.]table_name(
column_name datatype [DEFAULT expr] [column_constraint],
...
[table_constraint][, ...]
);
例子:
CREATE TABLE tt_user_info
(
ID
VARCHAR2(20 BYTE),
NAME VARCHAR2(20 BYTE)
NOT NULL,
category_id VARCHAR2(20 BYTE) REFERENCES tb_out_service(serviceid),
remark
VARCHAR2(1000)
);
ALTER TABLE tt_user_info ADD (
CHECK ( LENGTH(NAME)>2),
PRIMARY KEY (ID),
UNIQUE (NAME)
);
說明:
1. NOT NULL,非空約束
not null
2. UNIQUE,唯一約束
UNIQUE (COL_NAME)
3. PRIMARY KEY,主鍵約束
primary key (col_name1 [, col_name2])
4. FOREIGN KEY,外鍵約束
它有三種類型:
來源:( http://blog.sina.com.cn/s/blog_55d572ca0100coew.html) - oracle資料庫約束 轉帖_zeeman_新浪博客
references primary_table(primary_col)
on delete cascade
on delete set null
5. CHECK,檢查約束
check (money > 1000)
第二, 維護約束
----------------------------------------
1. 增加約束
NOT NULL使用ALTER MODIFY子句,其它的使用ALTER ADD子句
-------------------------------
CREATE TABLE tt_user(NAME VARCHAR2(20));
ALTER TABLE tt_user MODIFY user_name NOT NULL;
ALTER TABLE tt_user ADD CONSTRAINT constraint_name UNIQUE(NAME);
ALTER TABLE tt_user ADD CONSTRAINT constraint_name PRIMARY KEY(NAME);
ALTER TABLE tt_user ADD parentid VARCHAR2(20)
CONSTRAINT constraint_name
REFERENCES tb_out_service(serviceid);
2. 修改約束名
ALTER TABLE table_name RENAME CONSTRAINT old_constraint_name TO new_constraint_name
3. 刪除約束
ALTER TABLE table_name DROP CONSTRAINT constraint_name
4. 禁止約束
ALTER TABLE table_name DISABLE CONSTRAINT constraint_name [CASCADE];
5.激動約束
ALTER TABLE table_name ENABLE CONSTRAINT constraint_name;
第三. 顯示約束信息
所有約束信息
SELECT *
FROM user_constraints
來源:( http://blog.sina.com.cn/s/blog_55d572ca0100coew.html) - oracle資料庫約束 轉帖_zeeman_新浪博客
『伍』 資料庫里的約束有何意義有什麼作用
能保證數據的完整性。比如主鍵約束實現了實體完整性,外鍵約束實現了參照完整性。
『陸』 簡要介紹資料庫表的約束和主要類型、作用
首先應該說下什麼是資料庫約束?
資料庫約束是為了保證數據的完整性而實現的一套機制,它具體的根據各個不同的資料庫的實現而有不同的工具。所以我們在學習約束的時候就會看到域完整性(Domain Integrity)、實體完整性(Entity Integrity)、參照完整性(Referential Integrity)與用戶定義完整性(User-defined Integrity)的不同的約束分類。但我今天就說下我們或是我們有些人剛接觸資料庫的同學,並且從SQL語言基礎了解並學習到的。
1、非空約束(Not Null Constraint)
這個可能大家都了解,就是我們在添加那個表 userinfo,在id、name後面都添加了not null,就是有些列不能把它設為空,相信大家都理解,我就說下我在一個英文資料看到的一段英文:The not null specification prohibits the insertion
of a null value for this attribute.Any database modifucation that would cause a null to be inserted in an attribute declared to be not null generates an error diagnostic.(大家就得自己翻譯了)
2、唯一約束(Unique Constraint)
一個唯一約束並不包括一個NULL值。直接在欄位定義後加入UNIQUE即可定義該唯一約束。
1) 一個表只能創建一個主鍵約束,但一個表可以根據需要對不同的列創建若干unique約束
2)主鍵欄位不允許為null ,unique允許為空
3)一般創建主鍵約束時,系統自動產生簇索引,unique約束自動產非簇索引
3、檢查約束(The Check Clause)
通過在定義資料庫表裡,在欄位級或者是在表級加入的檢查約束,使其滿足特定的要求。
我來舉一個例子
create table student (
name varchar(15) not null,
student_id varchar(15),
degree_level varchar(15),
primary key(student_id),
check(degree_level in('Bachelors','Masters','Doctorate')));
Here ,we use the check clause to simulate an enumerated type by specifying that degree_level must to be one of 'Bachelors','Masters','Doctorate';
4、主鍵約束(Primary Key Constraint)
其實主鍵約束就是一張表只能建立一個主鍵約束,其實就是唯一約束+非空約束。大家通過上課討論那麼多關於「依賴」的事情,估計大家都能理解了
5、外健約束( Foreign Key Constraint)
Foreign Key Constraint主要是確保同一個表或者不同表之間的引用完整性,所以必須引用一個PRIMARY KEY或者UNIQUE約束,用戶必須在應用表上具有REFERENCES許可權;一個表中最多可以有31個外部鍵約束; 在臨時表中,不能使用外部鍵約束; 主鍵和外部鍵的數據類型必須嚴格匹配 。這個就不多說了給大家推薦一個網站http://tech.sina.com.cn/s/2010-01-04/00481199365.shtml
系摘抄....
網上隨便搜索一下,大把大把的~~~
『柒』 資料庫里的約束有何意義有什麼作用
資料庫約束是為了保證數據的完整性而實現的一套機制,它具體的根據各個不同的資料庫的實現而有不同的工具.一般來說有以下幾種實現方式:1、檢查約束:通過在定義資料庫表裡,在欄位級或者是在表級加入的檢查約束,使其...
『捌』 資料庫完整性里主要有那些約束
參照完整性
指建立兩個關系建立聯系的主外鍵的約束
foreign
key
外鍵
4,實體完整內性.域完整性保證表中數據的容合理性
check
檢查
default
默認
not
null
不為空
unique
唯一約束
3。
1.實體完整性
指關系的主關鍵字不為空且不重復
primary
key
主鍵
2、參照完整性和用戶定義完整性域完整性.用戶自定義完整性除了上述關鍵字
『玖』 什麼是資料庫約束
oracle資料庫抄約束
約束用於確保數襲據庫數滿足業務規則。
約束包括:NOT
NULL,UNIQUE,PRIMARY
KEY,FOREIGN
KEY以及CHECK等5種類型。
建立主鍵約束和唯一約束時,Oralce會基於約束列自動建立唯一索引;主鍵約束不允許為NULL,唯一約束允許為NULL。
一張表只能建立一個主鍵約束。
建表約束:NOT
NULL只能在列級定義;其它4種既可以在列級定義,也可以在表級定義。復合主鍵約束只能在表級定義。
維護約束:增加NOT
NULL約束時必須使用MODIFY子句,而增加其它約束時需要使用ADD子句。
第一,
定義約束
『拾』 關系資料庫的三個完整性約束是什麼各是什麼含義
實體完整性,參照完整性和用戶自定義完整性約束。實體完整性規定表的內每一行在表中是唯容一的實體。
參照完整性指兩個表的主關鍵字和外關鍵字的數據一致,保證表之間的數據一致性,防止數據丟失或無意義的數據在資料庫中擴散。
用戶自定義完整性是不同資料庫根據應用環境不同,用戶定義的一些特殊約束條件。