首頁 > 軟體

SQL Server資料庫基本概念、組成、常用物件與約束

2022-03-20 19:00:42

二、基本概念

1、資料庫

資料庫(DB):即DataBase的縮寫,是按照一定的資料結構來組織、儲存和管理資料的一個倉庫。是儲存在一起的相關資料的一個集合。可以把資料庫想象成一個檔案櫃,檔案櫃裡面又包含有多個資料夾,而資料夾裡面又包含有多個檔案。

資料庫根據作用的不同,又可以分為兩種:

  • 關係型資料庫。是建立在關係模型基礎上的資料庫,藉助於集合、數學等觀念和方法來處理資料庫的資料。比如SQL Server、MySQL、Access等。
  • 非關係型資料庫。非關係型資料庫也被稱為NoSQL資料庫,NoSQL的本意是“Not Only SQL”,指的是非關係型資料庫,而不是“NO SQL”的意思。非關係型資料庫的產生不是要徹底否定關係型資料庫,而是作為傳統資料庫的一個有效補充。

2、資料庫管理系統

資料庫管理系統(DBMS):即DataBase Management System的縮寫,是為了管理資料庫而設計的一個電腦軟體系統。是用來操作和管理資料庫的大型軟體,用於建立、使用和維護資料庫。它對資料庫進行統一的管理和控制,以保證資料庫的安全性和完整性。使用者可以通過DBMS存取資料庫中的資料,資料庫管理員也可以通過DBMS進行資料庫的維護工作。它可以支援多個應用程式和使用者用不同的方法在同時或不同時刻去建立、修改和詢問資料庫。大部分DBMS提供資料定義語言DDL(Data Definition Language)和資料操作語言DML(Data Manipulation Language),供使用者定義資料庫的模式結構與許可權約束,實現對資料的追加、刪除等操作。

3、資料庫系統

資料庫系統是由資料庫和資料庫管理系統組成的。

二、資料庫的組成

資料庫是以檔案的形式存在,由檔案和檔案組組成的。

1、檔案

資料庫檔案分為以下幾種型別:

  • 主要資料檔案:主要資料檔案裡面存放的是資料和資料庫的一些初始化資訊。每個資料庫有且只有一個主要資料檔案。主要資料檔案以.mdf為擴充套件名。
  • 次要資料檔案:次要資料檔案裡面存放的是除了主要資料檔案之外的所有資料。次要資料檔案不是必須的,可以沒有。如果有次要資料檔案,可以有一個或者多個。假如資料庫的資料非常大,這時候可以把一些資料放到次要資料檔案裡面。次要資料檔案是以.ndf為擴充套件名。
  • 事務紀錄檔檔案:事務紀錄檔檔案存放的是對資料庫進行操作的所有紀錄檔資訊。每個資料庫至少要有一個紀錄檔檔案,也可以有多個。事務紀錄檔檔案是以.ldf為擴充套件名。

2、檔案組

檔案組是資料庫檔案的一種邏輯管理單位,它將資料庫檔案分成不同的檔案組,方便我們對檔案的分配和管理。檔案組分為以下兩種型別:

  • 主檔案組(Primary):主要包含主要資料檔案和沒有明確指派給其它檔案組的檔案。
  • 使用者自定義檔案組:我們在使用指令碼建立資料庫或者修改資料庫的時候,使用fileGroup關鍵字指定的檔案組。

一個檔案只能屬於一個檔案組。

檔案組的設計原則:

  • 檔案只能是一個檔案組的成員。
  • 檔案或檔案組只能屬於一個資料庫,不能同時屬於多個資料庫。
  • 資料和紀錄檔資訊不能屬於同一個檔案或檔案組。
  • 紀錄檔檔案不能作為檔案組的一部分。因為資料和紀錄檔是分開在管理的,所以我們備份的時候可以只備份資料檔案或紀錄檔檔案,恢復的時候也可以只恢復資料檔案或紀錄檔檔案,而不用備份整個資料庫。

三、資料庫常用物件

這篇文章主要講解資料庫中的常用物件。

1、表

表是包含資料庫中所有資料的物件,由行和列組成,用於組織和儲存資料。

2、欄位

欄位就是表中的列。一個表中可以有多個列,也可以只有一個。

欄位也有自己的屬性:列名、資料型別(決定了該欄位儲存哪種型別的資料)。

3、檢視

資料庫裡面可以多張表,表裡面可以有多個欄位。表與表之間可能也存在著關係。檢視也可以認為是一張表,但是檢視不是真實存在的表,是虛擬表。它可以從一張表或者多張表進行關聯查詢,把需要的欄位提取出來,這些欄位就會組合成一種虛擬表。是使用者檢視資料的一種方式。結構和資料都是建立在對錶的查詢上的。

4、索引

建立索引是為了給使用者提供一種快速存取資料的途徑,索引是依賴於表建立的。我們建立索引是針對於表建立的。建立索引之後,使得我們在遍歷資料的時候,無需對整張表進行全面的查詢,而可以通過索引進行快速的定位查詢。可以理解為Word檔案裡面的目錄。

5、儲存過程

儲存過程是一組為了完成特定功能的SQL語句的集合,儲存過程裡面可以只有一條查詢語句也可以有多條,可以是批次的插入操作,還可以有插入、修改、查詢等語句。建立好儲存過程之後,需要對其進行生成和編譯,編譯之後就會儲存在資料庫之中了。以後使用的時候,直接對其進行呼叫即可。儲存過程只需要進行一次編譯。

6、觸發器

屬於使用者自定義的一種SQL事務命令的集合,可以執行多種操作。資料庫是針對於表的。當對錶執行增刪改操作時,會自動執行觸發器。

7、約束

約束可以理解為對資料表中列值進行的一種限制。可以是格式上、也可以是值範圍的約束。當我們對資料表的某列定義了這種限制,如果我們在對錶進行插入資料操作的時候,插入的值不符合這種限制就會阻止插入資料。可以更好的規範表中的列。

8、預設值

預設值相當於對錶中的列指定一個預設值。當進行插入資料時,如果沒有為這個列插入值,那麼就會自動以預先設定的預設值進行填充。

四、資料庫約束

一、定義

約束:規定表中的資料規則。如果存在違反約束的資料行為,行為就會被阻止。

如果是使用DBMS工具建立表,那麼約束必須在建立表之後才能被建立。如果是使用指令碼建立表,則可以在指令碼中就建立約束。

二、分類

1、主鍵約束

Primary key約束:主鍵約束,具有唯一性、非空,不能被修改。

2、外來鍵約束

Foreign key約束:用來加強兩個表的一列或者多列資料之間的連線。首先需要建立主表中的主鍵,然後在定義外來鍵表中的外來鍵。

注意:只有主表中的主鍵列才能被從表作為外來鍵來使用,其它列不可以作為外來鍵使用。從表中外來鍵的值必須是主表中主鍵的值,主表限制了從表的更新和插入。當刪除主表中的某條資料時,如果該條資料的主鍵在從表中存在參照,那麼必須先刪除從表中的參照資料,然後才能刪除主表中的資料。如果該條資料在從表中沒有參照,那麼可以直接刪除。

3、Unique約束

Unique:唯一性約束。確保表中的一列資料沒有相同的值。與主鍵約束相似,但又不同。一個表的主鍵約束只能有一個,唯一性約束可以有多個,也可以沒有。而且唯一性約束並非是主鍵的一列或多列的組合。唯一鍵可以為null,但主鍵不可以。

4、Check約束

Check約束:我們可以通過邏輯表示式來判斷資料的有效性,用來限制輸入一列或多列的值的範圍。 

5、Default約束

Default約束:即預設值約束。使用者在插入新的資料行時,如果該行沒有指定資料,那麼系統將預設值賦給該列。如果沒有設定預設值,系統就會把該列設定為null值。

到此這篇關於SQL Server資料庫基本概念、組成、常用物件與約束的文章就介紹到這了。希望對大家的學習有所幫助,也希望大家多多支援it145.com。


IT145.com E-mail:sddin#qq.com