時間:2024-03-13 13:57作者:下載吧人氣:21
數據庫完整性:是指數據庫中數據在邏輯上的一致性、正確性、有效性和相容性
實體完整性(Entity Integrity 行完整性):實體完整性指表中行的完整性。主要用于保證操作的數據(記錄)非空、唯一且不重復。即實體完整性要求每個關系(表)有且僅有一個主鍵,每一個主鍵值必須唯一,而且不允許為“空”(NULL)或重復。
域完整性(Domain Integrity 列完整性):是指數據庫表中的列必須滿足某種特定的數據類型或約束。其中約束又包括取值范圍、精度等規定。表中的CHECK、FOREIGN KEY 約束和DEFAULT、 NOT NULL定義都屬于域完整性的范疇。
參照完整性(Referential Integrity)屬于表間規則:對于永久關系的相關表,在更新、插入或刪除記錄時,如果只改其一,就會影響數據的完整性。如刪除父表的某記錄后,子表的相應記錄未刪除,致使這些記錄稱為孤立記錄。
參照完整性規則(Referential Integrity)要求:若屬性組F是關系模式R1的主鍵,同時F也是關系模式R2的外鍵,則在R2的關系中,F的取值只允許兩種可能:空值或等于R1關系中某個主鍵值。
Sql Server的存儲結構,頁、區、堆
頁:用于數據存儲的連續的磁盤空間塊,SQL Server中數據存儲的基本單位是頁,磁盤I/O操作在頁級執行,頁的大小為8KB。每頁的開頭是96字節的頁頭,用于存儲有關頁的系統信息,包括頁碼、頁類型、頁的可用空間以及擁有該頁的對象的分配單元ID;其他便是存儲數據的數據行與剩下可用空間,結構圖如下(個人繪制)
區間:區是管理空間的基本單位,一個區是8個物理上連續的頁(即64KB)的集合,所有頁都存儲在區中。SQL Server有兩種類型的區:統一區和混合區。
堆:堆是指不含聚集索引的表,它的數據不按任何順序進行存儲。
聯系一個堆中的數據的唯一結構是被稱為索引分配映射(IAM)的一個位圖頁,當掃描對象時,SQl server使用IAM頁來遍歷該對象的數據。
堆表內的數據頁和行沒有任何特定的順序,也不鏈接在一起。數據頁之間唯一的邏輯連接是記錄在IAM頁內的信息
假設某訂單明細表中有100萬條數據,需要查詢某個訂單的明細數據,如下:
select*fromT_EPZ_INOUT_ENTRY_DETAILwhereentry_apply_id=’31227000034000090169′
網友評論