① 資料庫裡面,屬性約束和域約束有什麼區別,都是要某一列滿足某個條件才能輸入啊,區別何在
關系完整性約束是為保證資料庫中數據的正確性和相容性,對關系模型提出的某種約束條件或規則。
完整性通常包括域完整性,實體完整性、參照完整性和用戶定義完整性,其中域完整性,實體完整性和參照完整性,是關系模型必須滿足的完整性約束條件。
1、域完整性是保證資料庫欄位取值的合理性。
屬性值應是域中的值,這是關系模式規定了的。除此之外,一個屬性能否為NULL,這是由語義決定的,也是域完整性約束的主要內容。域完整性約束(domain Integrity constrains)是最簡單、最基本的約束。在當今的關系DBMS中,一般都有域完整性約束檢查功能。
2、用戶定義版
實體完整性和參照完整性適用於任何關系型資料庫系統,它主要是針對關系的主關鍵字和外部關鍵字取值必須有效而做出的約束。用戶定義完整性(user defined integrity)則是根據應用環境的要求和實際的需要,對某一具體應用所涉及的數據提出約束性條件。
這一約束機制一般不應由應用程序提供,而應有由關系模型提供定義並檢驗,用戶定義完整性主要包括欄位有效性約束和記錄有效性。
向左轉|向右轉
② 資料庫里的約束有何意義有什麼作用
能保證數據的完整性。比如主鍵約束實現了實體完整性,外鍵約束實現了參照完整性。
③ Access中輸入掩碼、有效性規則、格式各有什麼作用。求解釋清楚。
「輸入掩碼」是指能起到控制向欄位輸入數據作用的字元。一個輸入掩碼可以包含原義顯示的字元(如括弧、點、空格、和連字線等)和掩碼字元。效性規則主要用來規范欄位的輸入值,就是設定的一個規定,在某個欄位內設定有效性規則,那麼所有這個欄位內的值都不允許違反這個規定。格式可以設置欄位大小,字體,標題……總的來說,格式基本上就是對數據的屬性值得約束、電話類型如果有大量的重復數字,建議使用輸入掩碼,只需要把前面數字重復出現的數字定下來,後面的就直接用0表示即可。例如:"1567162"0000,前四位都相同,後面有所區別。
④ 什麼是資料庫約束
資料庫約束是對表中的數據進行進一步的限制,保證數據的正確性、有效性和完整性。
約束通常與一個表相關聯,並使用CREATE CONSTRAINT或CREATE ASSERTIONSQL語句創建。
所有的關系資料庫都支持對數據表使用約束,通過約束可以更好地保證數據表裡數據的完整性。
是表上強制執行的校驗規則,除此之外,當表中數據存在相互依賴性時,可以保護相關數據不被刪除。約束通常無法修改。
(4)對數據輸入起到約束作用的有哪些擴展閱讀
資料庫中的五大約束:
1、主關鍵字約束
主關鍵字約束指定表的一列或幾列的組合的值在表中具有惟一性,即能惟一地指定一行記錄。每個表中只能有一列被指定為主關鍵字,且IMAGE 和TEXT 類型的列不能被指定為主關鍵字,也不允許指定主關鍵字列有NULL 屬性。
2、外關鍵字約束
外關鍵字約束定義了表之間的關系。當一個表中的一個列或多個列的組合和其它表中的主關鍵字定義相同時,就可以將這些列或列的組合定義為外關鍵字,並設定它適合哪個表中哪些列相關聯。
3、唯一性約束
惟一性約束指定一個或多個列的組合的值具有唯一性,以防止在列中輸入重復的值。唯一性約束指定的列可以有NULL 屬性。由於主關鍵字值是具有唯一性的,因此主關鍵字列不能再設定唯一性約束。唯一性約束最多由16 個列組成。
4、檢查約束
檢查約束對輸入列或整個表中的值設置檢查條件,以限制輸入值,保證資料庫的數據完整性。可以對每個列設置復合檢查。
5、預設約束
預設約束通過定義列的預設值或使用資料庫的預設值對象綁定表的列,來指定列的預設值。SQL Server 推薦使用預設約束,而不使用定義預設值的方式來指定列的預設值。
⑤ sqlserve r提哪些類型約束作用是什麼
四種類型的約束 1.實體完整性約束2.域完整性約束3.引用完整性約束4.自定義完整性約束
⑥ 簡述各種約束對表中數據的作用(資料庫應用與開發)
資料庫完整性(Database Integrity)是指資料庫中數據的正確性和相容性。資料庫完整性由各種各樣的完整性約束來保證,因此可以說資料庫完整性設計就是資料庫完整性約束的設計。資料庫完整性約束可以通過DBMS或應用程序來實現,基於DBMS的完整性約束作為模式的一部分存入資料庫中。通過DBMS實現的資料庫完整性按照資料庫設計步驟進行設計,而由應用軟體實現的資料庫完整性則納入應用軟體設計(本文主要討論前者)。資料庫完整性對於資料庫應用系統非常關鍵,其作用主要體現在以下幾個方面:
1.資料庫完整性約束能夠防止合法用戶使用資料庫時向資料庫中添加不合語義的數據。
2.利用基於DBMS的完整性控制機制來實現業務規則,易於定義,容易理解,而且可以降低應用程序的復雜性,提高應用程序的運行效率。同時,基於DBMS的完整性控制機制是集中管理的,因此比應用程序更容易實現資料庫的完整性。
3.合理的資料庫完整性設計,能夠同時兼顧資料庫的完整性和系統的效能。比如裝載大量數據時,只要在裝載之前臨時使基於DBMS的資料庫完整性約束失效,此後再使其生效,就能保證既不影響數據裝載的效率又能保證資料庫的完整性。
4.在應用軟體的功能測試中,完善的資料庫完整性有助於盡早發現應用軟體的錯誤。
資料庫完整性約束可分為6類:列級靜態約束、元組級靜態約束、關系級靜態約束、列級動態約束、元組級動態約束、關系級動態約束。動態約束通常由應用軟體來實現。不同DBMS支持的資料庫完整性基本相同,Oracle支持的基於DBMS的完整性約束如下表所示:
資料庫完整性設計示例
一個好的資料庫完整性設計首先需要在需求分析階段確定要通過資料庫完整性約束實現的業務規則,然後在充分了解特定DBMS提供的完整性控制機制的基礎上,依據整個系統的體系結構和性能要求,遵照資料庫設計方法和應用軟體設計方法,合理選擇每個業務規則的實現方式;最後,認真測試,排除隱含的約束沖突和性能問題。基於DBMS的資料庫完整性設計大體分為以下幾個階段:
1.需求分析階段
經過系統分析員、資料庫分析員、用戶的共同努力,確定系統模型中應該包含的對象,如人事及工資管理系統中的部門、員工、經理等,以及各種業務規則。
在完成尋找業務規則的工作之後,確定要作為資料庫完整性的業務規則,並對業務規則進行分類。其中作為資料庫模式一部分的完整性設計按下面的過程進行。而由應用軟體來實現的資料庫完整性設計將按照軟體工程的方法進行。
2.概念結構設計階段
概念結構設計階段是將依據需求分析的結果轉換成一個獨立於具體DBMS的概念模型,即實體關系圖(ERD)。在概念結構設計階段就要開始資料庫完整性設計的實質階段,因為此階段的實體關系將在邏輯結構設計階段轉化為實體完整性約束和參照完整性約束,到邏輯結構設計階段將完成設計的主要工作。
3.邏輯結構設計階段
此階段就是將概念結構轉換為某個DBMS所支持的數據模型,並對其進行優化,包括對關系模型的規范化。此時,依據DBMS提供的完整性約束機制,對尚未加入邏輯結構中的完整性約束列表,逐條選擇合適的方式加以實現。
在邏輯結構設計階段結束時,作為資料庫模式一部分的完整性設計也就基本完成了。每種業務規則都可能有好幾種實現方式,應該選擇對資料庫性能影響最小的一種,有時需通過實際測試來決定。
資料庫完整性設計原則
在實施資料庫完整性設計的時候,有一些基本的原則需要把握:
1.根據資料庫完整性約束的類型確定其實現的系統層次和方式,並提前考慮對系統性能的影響。一般情況下,靜態約束應盡量包含在資料庫模式中,而動態約束由應用程序實現。
2.實體完整性約束、參照完整性約束是關系資料庫最重要的完整性約束,在不影響系統關鍵性能的前提下需盡量應用。用一定的時間和空間來換取系統的易用性是值得的。
3.要慎用目前主流DBMS都支持的觸發器功能,一方面由於觸發器的性能開銷較大,另一方面,觸發器的多級觸發不好控制,容易發生錯誤,非用不可時,最好使用Before型語句級觸發器。
4.在需求分析階段就必須制定完整性約束的命名規范,盡量使用有意義的英文單詞、縮寫詞、表名、列名及下劃線等組合,使其易於識別和記憶,如:CKC_EMP_REAL_INCOME_EMPLOYEE、PK_EMPLOYEE、CKT_EMPLOYEE。如果使用CASE工具,一般有預設的規則,可在此基礎上修改使用。
5.要根據業務規則對資料庫完整性進行細致的測試,以盡早排除隱含的完整性約束間的沖突和對性能的影響。
6.要有專職的資料庫設計小組,自始至終負責資料庫的分析、設計、測試、實施及早期維護。資料庫設計人員不僅負責基於DBMS的資料庫完整性約束的設計實現,還要負責對應用軟體實現的資料庫完整性約束進行審核。
7.應採用合適的CASE工具來降低資料庫設計各階段的工作量。好的CASE工具能夠支持整個資料庫的生命周期,這將使資料庫設計人員的工作效率得到很大提高,同時也容易與用戶溝通。
⑦ 建立表結構時,如果做了完整性約束,對數據輸入有什麼影響
建表的同時通常還可以定義與該表有關的完整性約束條件,這些完整性約束條件被存入系統的數據字典中,當用戶操作表中數據時由DBMS自動檢查該操作是否違背這些完整性約束條件.如果完整性約束條件涉及到該表的多個屬性列,則必須定義在表級上,否則既可以定義在列級也可以定義在表級.
例1 建立一個「學生」表Student,它由學號Sno、姓名Sname、性別Ssex、年齡Sage、所在系Sdept五個屬性組成.其中學號不能為空,值是唯一的,並且姓名取值也唯一.
CREATE TABLE Student
(Sno CHAR(5)NOT NULL UNIQUE,/*列級完整性約束條件,Sno取值唯一,
Sname CHAR(20)UNIQUE,不許取空值*/
Ssex CHAR(1),
Sage INT,
Sdept CHAR(15));
常用完整性約束:
主碼約束:PRIMARY KEY
唯一性約束:UNIQUE
非空值約束:NOT NULL
參照完整性約束
⑧ 對數據輸入起到約束作用的是哪三個
摘要 對數據輸入起到約束作用的是哪三個,這題應該是選擇題。建議你把題目寫完整,選擇題要有選項。選三個那麼選擇題,至少應該給出4個選項,你把4個選項都寫出來幫你分析一下。
⑨ 各類資料庫完整性約束對資料庫的數據檢查有何作用
1.資料庫完整性約束能夠防止合法用戶使用資料庫時向資料庫中添加不合語義的數據。
2.利用基於DBMS的完整性控制機制來實現業務規則,易於定義,容易理解,而且可以降低應用程序的復雜性,提高應用程序的運行效率。同時,基於DBMS的完整性控制機制是集中管理的,因此比應用程序更容易實現資料庫的完整性。
3.合理的資料庫完整性設計,能夠同時兼顧資料庫的完整性和系統的效能。
4.在應用軟體的功能測試中,完善的資料庫完整性有助於盡早發現應用軟體的錯誤
⑩ 關系資料庫中,關系的完整性約束包括哪幾種,它們分別有什麼作用
關系的完整性主要包括域完整性、實體完整性和參照完整性三種。
1.域完整性
域完整性是對數據表中欄位屬性的約束,它包括欄位的值域、欄位的類型及欄位的有效規則等約束,它是由確定關系結構時所定義的欄位的屬性決定的。
2.實體完整性
實體完整性是對關系中的記錄唯一性,也就是主鍵的約束。准確地說,實體完整性是指關系中的主屬性值不能為Null且不能有相同值。
3.參照完整性
參照完整性是對關系資料庫中建立關聯關系的數據表間數據參照引用的約束,也就是對外鍵的約束。准確地說,參照完整性是指關系中的外鍵必須是另一個關系的主鍵有效值,或者是NULL。