您好,登錄后才能下訂單哦!
這篇“SQL Server數據庫基本概念、組成、常用對象與約束是什么”文章的知識點大部分人都不太理解,所以小編給大家總結了以下內容,內容詳細,步驟清晰,具有一定的借鑒價值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“SQL Server數據庫基本概念、組成、常用對象與約束是什么”文章吧。
數據庫(DB):即DataBase的縮寫,是按照一定的數據結構來組織、存儲和管理數據的一個倉庫。是存儲在一起的相關數據的一個集合。可以把數據庫想象成一個文件柜,文件柜里面又包含有多個文件夾,而文件夾里面又包含有多個文件。
數據庫根據作用的不同,又可以分為兩種:
關系型數據庫。是建立在關系模型基礎上的數據庫,借助于集合、數學等觀念和方法來處理數據庫的數據。比如SQL Server、MySQL、Access等。
非關系型數據庫。非關系型數據庫也被稱為NoSQL數據庫,NoSQL的本意是“Not Only SQL”,指的是非關系型數據庫,而不是“NO SQL”的意思。非關系型數據庫的產生不是要徹底否定關系型數據庫,而是作為傳統數據庫的一個有效補充。
數據庫管理系統(DBMS):即DataBase Management System的縮寫,是為了管理數據庫而設計的一個電腦軟件系統。是用來操作和管理數據庫的大型軟件,用于建立、使用和維護數據庫。它對數據庫進行統一的管理和控制,以保證數據庫的安全性和完整性。用戶可以通過DBMS訪問數據庫中的數據,數據庫管理員也可以通過DBMS進行數據庫的維護工作。它可以支持多個應用程序和用戶用不同的方法在同時或不同時刻去建立、修改和詢問數據庫。大部分DBMS提供數據定義語言DDL(Data Definition Language)和數據操作語言DML(Data Manipulation Language),供用戶定義數據庫的模式結構與權限約束,實現對數據的追加、刪除等操作。
數據庫系統是由數據庫和數據庫管理系統組成的。
數據庫是以文件的形式存在,由文件和文件組組成的。
數據庫文件分為以下幾種類型:
主要數據文件:主要數據文件里面存放的是數據和數據庫的一些初始化信息。每個數據庫有且只有一個主要數據文件。主要數據文件以.mdf為擴展名。
次要數據文件:次要數據文件里面存放的是除了主要數據文件之外的所有數據。次要數據文件不是必須的,可以沒有。如果有次要數據文件,可以有一個或者多個。假如數據庫的數據非常大,這時候可以把一些數據放到次要數據文件里面。次要數據文件是以.ndf為擴展名。
事務日志文件:事務日志文件存放的是對數據庫進行操作的所有日志信息。每個數據庫至少要有一個日志文件,也可以有多個。事務日志文件是以.ldf為擴展名。
文件組是數據庫文件的一種邏輯管理單位,它將數據庫文件分成不同的文件組,方便我們對文件的分配和管理。文件組分為以下兩種類型:
主文件組(Primary):主要包含主要數據文件和沒有明確指派給其它文件組的文件。
用戶自定義文件組:我們在使用腳本創建數據庫或者修改數據庫的時候,使用fileGroup關鍵字指定的文件組。
一個文件只能屬于一個文件組。
文件組的設計原則:
文件只能是一個文件組的成員。
文件或文件組只能屬于一個數據庫,不能同時屬于多個數據庫。
數據和日志信息不能屬于同一個文件或文件組。
日志文件不能作為文件組的一部分。因為數據和日志是分開在管理的,所以我們備份的時候可以只備份數據文件或日志文件,恢復的時候也可以只恢復數據文件或日志文件,而不用備份整個數據庫。
這篇文章主要講解數據庫中的常用對象。
表是包含數據庫中所有數據的對象,由行和列組成,用于組織和存儲數據。
字段就是表中的列。一個表中可以有多個列,也可以只有一個。
字段也有自己的屬性:列名、數據類型(決定了該字段存儲哪種類型的數據)。
數據庫里面可以多張表,表里面可以有多個字段。表與表之間可能也存在著關系。視圖也可以認為是一張表,但是視圖不是真實存在的表,是虛擬表。它可以從一張表或者多張表進行關聯查詢,把需要的字段提取出來,這些字段就會組合成一種虛擬表。是用戶查看數據的一種方式。結構和數據都是建立在對表的查詢上的。
建立索引是為了給用戶提供一種快速訪問數據的途徑,索引是依賴于表建立的。我們創建索引是針對于表創建的。創建索引之后,使得我們在遍歷數據的時候,無需對整張表進行全面的查詢,而可以通過索引進行快速的定位查詢。可以理解為Word文檔里面的目錄。
存儲過程是一組為了完成特定功能的SQL語句的集合,存儲過程里面可以只有一條查詢語句也可以有多條,可以是批量的插入操作,還可以有插入、修改、查詢等語句。建立好存儲過程之后,需要對其進行生成和編譯,編譯之后就會存儲在數據庫之中了。以后使用的時候,直接對其進行調用即可。存儲過程只需要進行一次編譯。
屬于用戶自定義的一種SQL事務命令的集合,可以執行多種操作。數據庫是針對于表的。當對表執行增刪改操作時,會自動執行觸發器。
約束可以理解為對數據表中列值進行的一種限制。可以是格式上、也可以是值范圍的約束。當我們對數據表的某列定義了這種限制,如果我們在對表進行插入數據操作的時候,插入的值不符合這種限制就會阻止插入數據。可以更好的規范表中的列。
缺省值相當于對表中的列指定一個默認值。當進行插入數據時,如果沒有為這個列插入值,那么就會自動以預先設置的默認值進行填充。
約束:規定表中的數據規則。如果存在違反約束的數據行為,行為就會被阻止。
如果是使用DBMS工具創建表,那么約束必須在創建表之后才能被創建。如果是使用腳本創建表,則可以在腳本中就創建約束。
Primary key約束:主鍵約束,具有唯一性、非空,不能被修改。
Foreign key約束:用來加強兩個表的一列或者多列數據之間的連接。首先需要建立主表中的主鍵,然后在定義外鍵表中的外鍵。
注意:只有主表中的主鍵列才能被從表作為外鍵來使用,其它列不可以作為外鍵使用。從表中外鍵的值必須是主表中主鍵的值,主表限制了從表的更新和插入。當刪除主表中的某條數據時,如果該條數據的主鍵在從表中存在引用,那么必須先刪除從表中的引用數據,然后才能刪除主表中的數據。如果該條數據在從表中沒有引用,那么可以直接刪除。
Unique:唯一性約束。確保表中的一列數據沒有相同的值。與主鍵約束相似,但又不同。一個表的主鍵約束只能有一個,唯一性約束可以有多個,也可以沒有。而且唯一性約束并非是主鍵的一列或多列的組合。唯一鍵可以為null,但主鍵不可以。
Check約束:我們可以通過邏輯表達式來判斷數據的有效性,用來限制輸入一列或多列的值的范圍。
Default約束:即默認值約束。用戶在插入新的數據行時,如果該行沒有指定數據,那么系統將默認值賦給該列。如果沒有設置默認值,系統就會把該列設置為null值。
以上就是關于“SQL Server數據庫基本概念、組成、常用對象與約束是什么”這篇文章的內容,相信大家都有了一定的了解,希望小編分享的內容對大家有幫助,若想了解更多相關的知識內容,請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。