『壹』 教你如何檢查Access資料庫中數據有效性
開發一個好的資料庫管理系統,關鍵是要確保錄入數據的完整性和准確性。Access提供了很多檢查錄入數據有效性的手段,筆者這里就簡單介紹兩種常用的方法。 一、 利用欄位屬性 1. 數據類型屬性 :數據類型決定了用戶能保存在此欄位中值的種類,如果用戶鍵入的數據與欄位規定的類型不一致,Access就不會存儲該數據。如「日期/時間」欄位,只允許輸入有效的日期與時間格式。 2. 欄位大小屬性 :對於「數字」型欄位,通過設置欄位的大小控制輸入值的類型和范圍;而對「文本」欄位,可以設置可輸入的最大字元數(最大為255)。 3. 必填欄位屬性 :資料庫中除「自動編號」欄位外(該欄位可自行生成數據)的其它欄位,都可利用設置必填欄位屬性值為「是」,要求欄位中必須有數據輸入,以避免一些重要信息的遺漏。 4. 輸入掩碼屬性 :該屬性可幫助用戶按照正確的格式輸入數據。如創建輸入掩碼顯示電話號碼的括弧、空格及連接符,輸入時只要在空格中填入即可。 5. 有效性規則屬性 :欄位有效性規則屬性用於在用戶離開欄位時,檢查輸入欄位的值是否符合要求。 表有效性規則與欄位有效性規則不同,當需要設置涉及表中多個欄位的有效性規則屬性時,可以設置表屬性的有效性規則。 二、 使用事件過程 在某些情況下,當有效性規則含有復雜的條件,並且需根據條件執行不同的操作時,往往很難寫出有效性規則,這時可以通過對如下的事件過程編寫代碼來代替有效性規則進行檢查。
『貳』 怎麼檢查資料庫的完整性約束
實體完整性:主要查看是否有要求非空的欄位缺值
參照完整性:查看是否符合外鍵約束,即參照關系中的屬性值是否在被參照關系的主鍵上存在對應值
用戶定義完整性:主要看數據記錄是否符合用戶定義的約束,比如一些值域限制等
『叄』 關於SQL server 數據有效性的問題
你想的太復雜了,為什麼要在資料庫做限制,麻煩的要死,全部設置可以為空,如果只需要修改別的QQ什麼的,就只需要在前台傳入 QQ 執行添加或者修改就行了。
你在添加數據的時候,必須添加手機號,然後就不能保存數據,這個也非常的簡單,一個js判斷,或者後台判斷是否為空,為空就不能添加,這也很簡單嘛。前端控制是最簡單的。別想多了。吃力不討好,影響效率。
『肆』 軟體開發資料庫如何進行測試
ZDNet至頂網軟體頻道 在應用系統的測試中,把資料庫應當作為獨立的系統來測試,這無疑會為應用軟體的質量增加可靠的保障,同時還必須結合應用軟體進行集成測試,只有二者有機結合起來,才能最大限度的發揮資料庫和應用軟體的功能。根據以往軟體測試經驗,對資料庫測試的內容和方法,進行了詳細的分析,闡明了資料庫測試在軟體開發中的重要性。1、引言資料庫系統的開發在應用軟體開發中所佔的比重越來越大,隨之而來的問題也越來越突出。比如:數據冗餘,功能和性能方面存在的問題已經嚴重影響應用軟體的使用。軟體測試人員往往重視對軟體功能和編碼的測試,而忽略對軟體性能,特別是資料庫訪問並發測試。因為,他們固有的思想中認為資料庫設計存在問題對系統性能影響不大,或從根本上忽略了資料庫在軟體開發中的地位,直到出現了問題,才想到對資料庫的測試,但往往也是僅僅通過對編碼的測試工作中捎帶對資料庫進行一定的測試,這遠遠是不夠的。目前,中鐵網上訂票系統在大用戶同時在線訂票中系統頻頻癱瘓,就是最好的佐證。所以,在應用軟體的測試工作中,應該將資料庫作為一個獨立的部分進行充分的測試,這樣才可以得到應用軟體所需要的性能優化的資料庫。那麼,應該對哪些內容進行測試,如何進行測試呢?2、資料庫設計的測試資料庫是應用的基礎,其性能直接影響應用軟體的性能。為了使資料庫具有較好的性能,需要對資料庫中的表進行規范化設計。規范化的範式可分為第一範式、第二範式、第三範式、BCNF範式、第四範式和第五範式。一般來說,邏輯資料庫設計應滿足第三範式的要求,這是因為滿足第三範式的表結構容易維護,且基本滿足實際應用的要求。因此,實際應用中一般都按照第三範式的標准進行規范化。但是,規范化也有缺點:由於將一個表拆分成為多個表,在查詢時需要多表連接,降低了查詢速度。故資料庫設計的測試包括前期需求分析產生資料庫邏輯模型和後期業務系統開發中的測試兩部分(這里指的是後者),我在這里稱為實體測試。資料庫是由若乾的實體組成的,包括(表,視圖,存儲過程等),資料庫最基本的測試就是實體測試,通過對這些實體的測試,可以發現資料庫實體設計得是否充分,是否有遺漏,每個實體的內容是否全面,擴展性如何。實體測試,可以用來發現應用軟體在功能上存在的不足,也可以發現數據冗餘的問題。經過測試,測試人員對有異議的問題要及時和資料庫的設計人員進行溝通解決。3、數據一致性測試在進行實體測試後,應進一步檢查下面的內容以保障數據的一致性:3.1 表的主鍵測試根據應用系統的實際需求,對每個表的主鍵進行測試,驗證是否存在記錄不唯一的情況,如果有,則要重新設置主鍵,使表中記錄唯一。3.2 表之間主外鍵關系的測試資料庫中主外鍵欄位在名稱,數據類型,欄位長度上的一致性測試。3.3 級聯表,刪除主表數據後,相應從報表數據應同時刪除的問題例如學生表和學生成績表,學生數據已經刪除,成績表中相應學生的成績記錄應同時刪除。3.4 存儲過程和觸發器的測試存儲過程可以人工執行,但觸發器不能人工處理,所以在對存儲過程和觸發器執行的過程中針對SQL SERVER2005及以上版本可以使用Microsoft SQL Server Profiler性能測試工具進行測試。Microsoft SQL Server Profiler 是 SQL 跟蹤的圖形用戶界面,用於監視資料庫引擎或 Analysis Services 的實例。測試人員可以捕獲有關每個事件的數據並將其保存到文件或表中供以後分析。例如:可以對生產環境進行監視,了解哪些存儲過程由於執行速度太慢影響了性能。4、資料庫的容量測試隨著資料庫系統的使用,數據量在飛速增長,如何在使用前對數據容量的增長情況進行初步估算,為最終用戶提供參考,這在資料庫使用和維護過程中,是非常重要的。可以通過對資料庫設計中基本表的數據大小,和每天數據表的數據產生量進行初步估算。記錄數據量=各個欄位所佔位元組數的總和表的數據量=記錄數據量*記錄數資料庫大小=各表數據量的總和當然,資料庫的大小不僅僅只是基本表的大小,還有系統表,視圖,存儲過程等其它實體所佔的容量,但最基本的數據是表的數據。另外,資料庫的容量還包括資料庫日誌文件的容量,一般應預留資料庫文件的2倍左右。5、資料庫的性能測試應用軟體除了功能外,很重要的一部分就是軟體的性能,而對於資料庫系統,資料庫性能的好壞會直接影響應用軟體的性能,這部分的測試,一般手工測試就顯得無能為力了,這時就要藉助自動化的測試軟體,例如:DataFactory,DataFactory是一種強大的數據產生器,它允許開發人員和測試人員很容易產生百萬行有意義的正確的測試資料庫,該工具支持DB2、Oracle、Sybase、SQL Server資料庫。這樣,就可以模擬出應用軟體長期使用後,海量數據存儲的資料庫的性能狀況。從而盡早發現問題,進行資料庫性能的優化。這里要注意,進行性能測試的時候,一定要注意測試環境的一致性,包括:操作系統、應用軟體的版本以及硬體的配置等,而且在進行資料庫方面的測試的時候一定要注意資料庫的記錄數、配置等要一致,只有在相同條件下進行測試,才可以對結果進行比較。否則無法和用戶對軟體的性能的觀點達成一致。6、資料庫的壓力測試說起測試,我們首先想到的就是軟體正確性的測試,即常說的功能測試。軟體功能正確僅是軟體質量合格指標之一。在實際開發中,還有其它的非功能因素也起著決定性的因素,例如軟體的響應速度。影響軟體響應速度的因素有很多,有些是因為演算法不夠高效;還有些可能受用戶並發數的影響。在眾多類型的軟體測試中,壓力測試正是以軟體響應速度為測試目標,尤其是針對在較短時間內大量並發用戶的訪問時,軟體的抗壓能力。但壓力測試往往是手工難以測試的,必須藉助自動化測試工具。常用的壓力測試有:Web測試、資料庫測試等。資料庫在大多數軟體項目中是不可缺少的,對於它進行壓力測試是為了找出資料庫對象是否可以有效地承受來自多個用戶的並發訪問。這些對象主要是:索引、觸發器、存儲過程和鎖。通過對SQL語句和存儲過程的測試,自動化的壓力測試工具可以間接的反應資料庫對象是否需要優化。這些自動化的測試工具很多,各有特點,基於Java的項目可以使用JMeter,.Net項目可以採用.Net集成開發環境中提供的測試方案。7、結束語總之,在應用系統的測試中,把資料庫應當作為獨立的系統來測試,這無疑會為應用軟體的質量增加可靠的保障,同時還必須結合應用軟體進行集成測試,只有二者有機結合起來,才能最大限度的發揮資料庫和應用軟體的功能。
『伍』 資料庫表有效檢驗規則有哪幾種
資料庫設計的過程(六個階段) 1.需求分析階段 准確了解與分析用戶需求(包括數據與處理) 是整個設計過程的基礎,是最困難、最耗費時間的一步 2.概念結構設計階段 是整個資料庫設計的關鍵 通過對用戶需求進行綜合、歸納與抽象,形成一個獨立於具體DBMS的概念模型 3.邏輯結構設計階段 將概念結構轉換為某個DBMS所支持的數據模型 對其進行優化 4.資料庫物理設計階段 為邏輯數據模型選取一個最適合應用環境的物理結構(包括存儲結構和存取方法) 5.資料庫實施階段 運用DBMS提供的數據語言、工具及宿主語言,根據邏輯設計和物理設計的結果 建立資料庫,編制與調試應用程序,組織數據入庫,並進行試運行 6.資料庫運行和維護階段 資料庫應用系統經過試運行後即可投入正式運行。 在資料庫系統運行過程中必須不斷地對其進行評價、調整與修改設計特點:在設計過程中把資料庫的設計和對資料庫中數據處理的設計緊密結合起來將這兩個方面的需求分析、抽象、設計、實現在各個階段同時進行,相互參照,相互補充,以完善兩方面的設計1.數據完整性: 什麼是數據的完整性? 數據完整性(Data Integrity)是指數據的精確性(Accuracy) 和可靠性(Reliability)。它是應防止資料庫中存在不符合語義規定的數據和防止因錯誤信息的輸入輸出造成無效操作或錯誤信息而提出的。數據完整性分為四類:實體完整性(Entity Integrity)、域完整性(Domain Integrity)、引用完整性、參照完整性(Referential Integrity)、用戶定義的完整性(User-definedIntegrity)。 2.實體完整性: 什麼是實體完整性? 實體完整性規定表的每一行在表中是惟一的實體,不能出現重復的行。表中定義的UNIQUE PRIMARYKEY 和IDENTITY 約束就是實體完整性的體現。 3.域完整性: 域完整性是指資料庫表中的列必須滿足某種特定的數據類型或約束。其中約束又包括取值范圍、精度等規定。表中的CHECK、FOREIGN KEY 約束和DEFAULT、 NOT NULL定義都屬於域完整性的范疇。 4.引用完整性: 主鍵與外鍵必須一致。 5.參照完整性: 參照完整性是指兩個表的主關鍵字和外關鍵字的數據應對應一致。它確保了有主關鍵字的表中對應其它表的外關鍵字的行存在,即保證了表之間的數據的一致性,防止了數據丟失或無意義的數據在資料庫中擴散。參照完整性是建立在外關鍵字和主關鍵字之間或外關鍵字和惟一性關鍵字之間的關繫上的。在SQL Server 中,參照完整性作用表現在如下幾個方面: 禁止在從表中插入包含主表中不存在的關鍵字的數據行;禁止會導致從表中的相應值孤立的主表中的外關鍵字值改變;禁止刪除在從表中的有對應記錄的主表記錄。 6.用戶定義完整性: 不同的關系資料庫系統根據其應用環境的不同,往往還需要一些特殊的約束條件。用戶定義的完整性即是針對某個特定關系資料庫的約束條件,它反映某一具體應用所涉及的數據必須滿足的語義要求。SQL Server 提供了定義和檢驗這類完整性的機制,以便用統一的系統方法來處理它們,而不是用應用程序來承擔這一功能。其它的完整性類型都支持用戶定義的完整性。
『陸』 如何對數升級之後的資料庫進行數據完整性和准確性的校驗
(3)資料庫管理系統(DBMS):對數據實行專門管理,提供安全性和完整性等統一機制,可以對資料庫的建立、使用和維護進行管理。 (4)資料庫系統(DBS):是指
『柒』 關系資料庫完整性有哪幾類 分別可以使用那些技術實現
關系資料庫完整性有域(列)、實體(行)、參照(引用)整性類。
1、域(列)完整性的技術實現:通常指數據的有效性,它包括欄位的值域、欄位的類型及欄位的有效規則等約束,它是由確定關系結構時所定義的欄位的屬性決定的。
2、實體(行)完整性的技術實現:關系中的主屬性值不能為Null且不能有相同值。
3、參照(引用)完整性的技術實現:對關系資料庫中建立關聯關系的數據表間數據參照引用的約束,也就是對外鍵的約束。
數據完整性分析
資料庫採用多種方法來保證數據完整性,包括外鍵、約束、規則和觸發器。系統很好地處理了這四者的關系,並針對不同的具體情況用不同的方法進行,相互交叉使用,相補缺點。
從外界輸入的,而數據的輸入由於種種原因,會發生輸入無效或錯誤信息。保證輸入的數據符合規定,成為了資料庫系統,尤其是多用戶的關系資料庫系統首要關注的問題。
『捌』 怎麼檢查資料庫的完整性約束
數據完整性強制數據完整性可確保資料庫中的數據質量。例如,如果輸入了 employee_id 值為 123 的職員,那麼該資料庫不應允許其他職員使用同一 ID 值。如果計劃將 employee_rating 列的值范圍設定為從 1 到 5,則資料庫不應接受 6。如果表有一 dept_id 列,該列存儲職員的部門編號,則資料庫應只允許接受公司中的有效部門編號。
用戶定義完整性實體完整性實體完整性將行定義為特定表的唯一實體。實體完整性強製表的標識符列或主鍵的完整性(通過索引、UNIQUE 約束、PRIMARY KEY 約束或 IDENTITY 屬性)。域完整性域完整性是指給定列的輸入有效性。強制域有效性的方法有:限制類型(通過數據類型)、格式(通過 CHECK 約束和規則)或可能值的范圍(通過 FOREIGN KEY 約束、CHECK 約束、DEFAULT 定義、NOT NULL 定義和規則)。引用完整性在輸入或刪除記錄時,引用完整性保持表之間已定義的關系。在 Microsoft® SQL Server™ 2000 中,引用完整性基於外鍵與主鍵之間或外鍵與唯一鍵之間的關系(通過 FOREIGN KEY 和 CHECK 約束)。引用完整性確保鍵值在所有表中一致。這樣的一致性要求不能引用不存在的值,如果鍵值更改了,那麼在整個資料庫中,對該鍵值的所有引用要進行一致的更改。
強制引用完整性時,SQL Server 禁止用戶進行下列操作:
當主表中沒有關聯的記錄時,將記錄添加到相關表中。
更改主表中的值並導致相關表中的記錄孤立。
從主表中刪除記錄,但仍存在與該記錄匹配的相關記錄。