數據庫的存儲結構分為邏輯存儲結構和物理存儲結構兩種。香蕉视频app邏輯存儲結構是指數據庫中包含哪些對象,這些對象可以實現什么樣的功能。物理存儲結構是指數據庫文件是如何存儲在磁盤上的。
數據庫的邏輯存儲結構
香蕉视频app SQL Server的數據庫不僅僅是數據的存儲,所有與數據處理操作相關的信息都存儲在數據庫中。實際上,SQL Server的數據庫是由表、視圖、索引等各種不同的數據庫對象組成的,它們分別用來存儲特定信息并支持特定功能,構成數據庫的邏輯存儲結構。SQL Server中包含的對象以及對各對象的簡要說明如下表格所示。
數據庫對象 | 說明 |
---|---|
表 | 由行和列構成的集合,用來存儲數據 |
數據類型 | 定義列或變量的數據類型,SQL Server提供了系統數據類型,并允許用戶自定義數據類型。 |
視圖 | 由表或其他視圖導出的虛擬表 |
索引 | 為數據快速檢索提供支持,且可以保證數據唯一地輔助數據結構。 |
約束 | 用于為表中的列定義完整性 |
默認值 | 為列提供的默認值 |
存儲過程 | 存放在服務器的一組預先編譯好的SQL語句 |
觸發器 | 特殊的存儲過程,當用戶表中的數據發生改變時,改存儲過程將自動執行 |
用戶經常需要在SQL中引用SQL Server對象對其進行操作,所引用的對象名就是邏輯名。
數據庫的存儲結構
香蕉视频app SQL Server中的物理存儲結構主要有文件、文件組、頁和盤區等,主要描述SQL Server如何為數據庫分配空間。在創建數據庫時了解SQL Server如何存儲數據也是非常重要的,有助于規劃和分配數據庫的磁盤容量。
(1)文件
SQL Server中的每個數據庫都由多個數據文件組成,數據庫的所有數據、對象和數據庫操作日志均存儲在這些操作系統文件中。根據這些文件的作用不同,可以將它們劃分為以下3種。
①、主數據文件:主數據文件簡稱主文件,該文件是數據庫的關鍵文件,包含了數據庫的啟動信息,并且存儲部分或全部數據。每個數據庫必須有且只能有一個主數據文件,其默認擴展名為.mdf。
②、 輔助數據文件:輔助數據文件簡稱輔助文件,用于存儲未包括在主文件內的其他數據。輔助文件的默認護展名為.ndf。輔助文件是可選的,用戶根據具體情況,可以創建多個輔助文件,也可以不用輔助文件。一般當數據庫很大時,有可能需要創建多個輔助文件當數據庫較小時,只需要創建主文件,不需要創建輔助文件。
③、日志文件:日志文件用于保存恢復數據庫所需的事務日志信息。但在其中記錄的是數據庫的變化,也就是執行INSERT、UPDATE和DELETE等對數據庫進行修改的語句都會記錄在此文件中,而執行SELECT等對數據庫內容不發生更改的語句則不會記錄在該文件中。每個數據庫至少有一個日志文件,也可以有多個。日志文件的擴展名是.ldf,日志文件的大小至少是512KB。
SQL Server不強制使用.mdf、.ndf、和.ldf擴展名,但使用它們有助于標識文件的各種類型和用途。
創建一個數據庫后,該數據庫中至少包含上述主文件和日志文件。這些文件的名字是操作系統文件名,它們不是由用戶直接使用的,而是由系統使用的,用戶直接在SQL語句中使用的是數據庫的邏輯名。例如:Master數據庫,Master為其邏輯名,對應的物理文件名為Master.mdf,其日志文件名為Master.ldf。
(2)文件組
文件組是為了管理和分配數據的目的而將文件組織在一起,通常可以為個磁盤驅動器創建一個文件組,然后將特定的表、索引等與該文件組相關聯,那么對于這些表的存儲查詢、修改等操作都在該文件組中。使用文件組可以提高表中數據的查詢功能,在SQL Server中有兩種類型的文件組。
①、主文件組香蕉视频app:主文件組包含主數據文件和任何沒有明確分配給其他文件組的文件。系統表均分配在主文件組中。
②、用戶定義文件組:用戶定義文件組是通過在CREATE DATABASE或ALTER DATABASE語句中使用FILEGROUP關鍵字指定的任何文件組。
一個文件只能屬于一個文件組,表、索引和大型對象數據可以與指定的文件組相關聯。日志文件不包括在文件組內,日志空間與數據空間分開管理。
每個數據庫中均有一個文件組被指定為默認文件組。如果創建表或索引時未指定文件組,將假定所有頁都從默認文件組分配。注意,一次只能有一個文件組作為默認文件組,用戶可以將默認文件組從一個文件組切換到另一個。如果沒有指定默認文件組,則將主文件組作為默認文件組。
(3)、創建數據庫的參數
前面了解了數據庫文件的組成,接下來認識數據庫中各個參數的含義,以便在創建數據庫時能做出相應的選擇,數據庫參數如下表格所示。
參數名 | 說明 | 建議 |
---|---|---|
主文件(主要數據文件) |
香蕉视频app 默認文件名:數據庫名稱.mdf 默認路徑:安裝路徑\MSSQL\DATA |
存放在非系統磁盤分區中 |
輔助文件(次要數據文件) |
可選 默認文件名:數據庫名稱.ndf 香蕉视频app 默認路徑:安裝路徑\MSSQL\DATA |
保存在與主文件不同的物理磁盤和文件組中 |
事務日志(日志文件) | 默認文件名:數據庫名稱.ldf | 有且只有一個,最好與數據文件存放在不同的物理磁盤 |
大小 | 指定每個數據文件和日志文件的大小,初始大小與Model數據庫中使用的值相同 | 啟用“自動增長” |
最大值 | 指定文件可增長的最大值 | 建議根據硬盤配置和業務數據的具體情況指定最大值 |
排序規則 | 指定數據的排序規則 | 取默認值 |
小筆記
邏輯名:在SQL Server軟件界面中看到的對象名,稱為邏輯名。
物理名:數據庫物理文件的文件名。
香蕉视频app 修改數據庫物理名的方法:
①、停止數據庫服務器 -> 修改數據庫物理名 -> 啟動數據服務器 -> 原數據庫節點已失效,刪除 -> 重新附加修改后的數據庫文件,找不到數據文件時要重新定位。
香蕉视频app ②、(推薦此方法)分離數據庫 -> 修改數據庫物理名 -> 重新附加修改后的數據庫文件,找不到數據文件時要重新定位。
修改數據庫物理路徑的方法:(推薦) 分離數據庫 -> 修改數據庫物理路徑 -> 附加數據文件。
生成腳本方法:選擇目標數據庫節點 -> 右鍵選擇“任務”-> 生成腳本(注意腳本路徑保存位置)
文章評論