1. Tổ chức CSDL trong SQLServer
NT Uyên Nhi [Các hệ CSDL- Tổ chức lưu trữ CSDL] 3
1. Tổ chức vật lý của CSDL trong SQLServer
2. Tổ chức các nhóm tập tin (File Group)
3. Schema
4. Database snapshot
5. Tổ chức bảng dữ liệu phân hoạch (Partitioned Table)
1.1 Tổ chức vật lý của CSDL
● Các loại tập tin
– Tập tin chứa dữ liệu (Master Data File)
– Tập tin chứa sổ ghi giao dịch (Log Data File)
28 trang |
Chia sẻ: Thục Anh | Ngày: 12/05/2022 | Lượt xem: 267 | Lượt tải: 0
Bạn đang xem trước 20 trang nội dung tài liệu Bài giảng Các hệ quản trị cơ sở dữ liệu - Chương 5: Tổ chức lưu trữ cơ sở dữ liệu - Đỗ Ngọc Như Loan, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
CÁC HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU
TỔ CHỨC LƯU TRỮ CSDL
K H O A C Ô N G NGHỆ T H Ô N G T I N
Giảng viên: Đỗ Ngọc Như Loan
Biên soạn: Nguyễn Thị Uyên Nhi
Mục tiêu
NT Uyên Nhi [Các hệ CSDL- Tổ chức lưu trữ CSDL] 2
● Hiểu được cách tổ chức lưu trữ CSDL trong SQLServer
● Vận dụng để tổ chức CSDL
1. Tổ chức CSDL trong SQLServer
NT Uyên Nhi [Các hệ CSDL- Tổ chức lưu trữ CSDL] 3
1. Tổ chức vật lý của CSDL trong SQLServer
2. Tổ chức các nhóm tập tin (File Group)
3. Schema
4. Database snapshot
5. Tổ chức bảng dữ liệu phân hoạch (Partitioned Table)
1.1 Tổ chức vật lý của CSDL
● Các loại tập tin
– Tập tin chứa dữ liệu (Master Data File)
– Tập tin chứa sổ ghi giao dịch (Log Data File)
Logfile:
.ldfDatafile:
.mdf or .ndf
NT Uyên Nhi [Các hệ CSDL- Tổ chức lưu trữ CSDL] 4
1.1 Tổ chức vật lý của CSDL (tt.)
NT Uyên Nhi [Các hệ CSDL- Tổ chức lưu trữ CSDL] 5
● Tập tin dữ liệu
– Chứa dữ liệu của table, index,
– Kiểu qui ước là MDF
– Khi tập tin MDF đầy, có thể bổ sung thêm các tập tin phụ có kiểu NDF
(secondary data file)
1.1 Tổ chức vật lý của CSDL (tt.)
NT Uyên Nhi [Các hệ CSDL- Tổ chức lưu trữ CSDL] 6
● Tập tin sổ ghi giao dịch
– Ghi nhận lại tất cả các giao dịch trên CSDL
– Kiểu qui ước là LDF
– Có thể có nhiều tập tin có kiểu LDF
1.1 Tổ chức vật lý của CSDL (tt.)
Buffer cache
Yêu cầu thay đổi
dữ liệu được trình
ứng dụng gởi đi
1
Các trang dữ liệu được định vị
đọc vào buffer cache
được sửa đổi.
2
Các sửa đổi được ghi
nhận vào sổ ghi giao tác
trên đĩa
3
Khi checkpoint xảy ra các
giao tác đã commit được ghi
xuống database
4
NT Uyên Nhi [Các hệ CSDL- Tổ chức lưu trữ CSDL] 7
Tiến trình ghi sổ (Logging Process)
1.1 Tổ chức vật lý của CSDL (tt.)
NT Uyên Nhi [Các hệ CSDL- Tổ chức lưu trữ CSDL] 8
● Tạo CSDL: cung cấp các thông tin
– Tên CSDL
– Tên tập tin dữ liệu, tên tập tin ghi sổ giao dịch: tên tham chiếu và tên vật lý
– Kích thước khởi tạo ban đầu cho tập tin
– Các khả năng tăng trưởng của tập tin khi bị đầy
1.1 Tổ chức vật lý của CSDL (tt.)
NT Uyên Nhi [Các hệ CSDL- Tổ chức lưu trữ CSDL] 9
● Các khả năng tăng trưởng của tập tin
– Cho phép tăng trưởng tự động
o Khi bị đầy thì tự động tăng trưởng
o Tăng theo tỷ lệ phần trăm hoặc theo số lượng MB
o Tăng không giới hạn hoặc tăng có giới hạn
– Không cho phép tăng trưởng
o Khi bị đầy thì không thể tăng trưởng thêm nữa
o Có thể tăng kích thước khởi tạo
o Tạo thêm các tập tin phụ
1.1 Tổ chức vật lý của CSDL (tt.)
NT Uyên Nhi [Các hệ CSDL- Tổ chức lưu trữ CSDL] 10
1.1 Tổ chức vật lý của CSDL (tt.)
NT Uyên Nhi [Các hệ CSDL- Tổ chức lưu trữ CSDL] 11
CREATE DATABASE QLBanHang
ON PRIMARY
( NAME = 'QLBanHang',
FILENAME = 'C:\Data\QLBanHang.mdf' ,
SIZE = 20480KB ,
FILEGROWTH = 1024KB )
LOG ON
( NAME = 'QLBanHang_log',
FILENAME = 'C:\Log\QLBanHang_log.ldf' ,
SIZE = 5120KB ,
FILEGROWTH = 10%)
1. Tổ chức CSDL trong SQLServer
NT Uyên Nhi [Các hệ CSDL- Tổ chức lưu trữ CSDL] 12
1. Tổ chức vật lý của CSDL trong SQLServer
2. Tổ chức các nhóm tập tin (File Group)
3. Schema
4. Database snapshot
5. Tổ chức bảng dữ liệu phân hoạch (Partitioned Table)
1.2 Tổ chức File Group
NT Uyên Nhi [Các hệ CSDL- Tổ chức lưu trữ CSDL] 13
● Cách tổ chức các tập tin dữ liệu thành một nhóm (mức logic)
● Thông qua File Group dữ liệu sẽ được lưu trữ trong các tập tin đặt
trong các thư mục vật lý
● CSDL luôn tồn tại một File Group tên là PRIMARY
– Có thể tạo ra các File Group khác
Các đối tượng hệ thống Các đối tượng người
dùng định nghĩa
Dữ liệu mang tính lịch sử, dữ liệu
được phân hoạch , các đối tượng
người dùng định nghĩa khác
Các đối tượng hệ thống Các Filegroup Tập tin sổ ghi (.ldf)
32
1
4
NT Uyên Nhi [Các hệ CSDL- Tổ chức lưu trữ CSDL] 14
1.2 Tổ chức File Group (tt.)
1.2 Tổ chức File Group (tt.)
NT Uyên Nhi [Các hệ CSDL- Tổ chức lưu trữ CSDL] 15
--Tạo filegroup FG1
ALTER DATABASE QLBanHang
ADD FILEGROUP FG1
GO
--Thêm datafile QLBanHang02 vào FG1
ALTER DATABASE QLBanHang
ADD FILE
( NAME = 'QLBanHang02',
FILENAME = 'C:\Data\QLBanHang02.ndf' ,
SIZE = 20480KB ,
FILEGROWTH = 1024KB )
TO FILEGROUP FG1
GO
1.2 Tổ chức File Group (tt.)
NT Uyên Nhi [Các hệ CSDL- Tổ chức lưu trữ CSDL] 16
USE QLBanHang
GO
--Tạo table HANG_HOA trên filegroup FG1
CREATE TABLE HANG_HOA
(mahh INT PRIMARY KEY,
tenhh NVARCHAR(50)
) ON FG1
GO
--Thêm dữ liệu
INSERT INTO HANG_HOA VALUES(1, N’Máy giặt’)
--Liệt kê dữ liệu
SELECT * FROM HANG_HOA
[Các hệ CSDL- Tổ chức lưu trữ CSDL]
1. Tổ chức CSDL trong SQLServer
NT Uyên Nhi [Các hệ CSDL- Tổ chức lưu trữ CSDL] 17
1. Tổ chức vật lý của CSDL trong SQLServer
2. Tổ chức các nhóm tập tin (File Group)
3. Schema
4. Database snapshot
5. Tổ chức bảng dữ liệu phân hoạch (Partitioned Table)
1.3 Schema
NT Uyên Nhi [Các hệ CSDL- Tổ chức lưu trữ CSDL] 18
● Schema là một namespace đối với các đối tượng CSDL
● 1 schema định nghĩa 1 ranh giới mà trong đó tất cả các tên là duy nhất
● Bên trong một CSDL, tên của schema là duy nhất luôn có tên với
đường dẫn đầy đủ dạng server.database.schema.object là duy nhất
● Luôn có một schema mặc định tên là dbo
1.3 Schema (tt.)
NT Uyên Nhi [Các hệ CSDL- Tổ chức lưu trữ CSDL] 19
USE QLBanHang
--Tạo schema DanhMuc
CREATE SCHEMA DanhMuc
--Tạo bảng HANG_HOA
CREATE TABLE DanhMuc.HANG_HOA
(mahh INT PRIMARY KEY,
tenhh NVARCHAR(50)
)
--Thêm dữ liệu
INSERT INTO DanhMuc.HANG_HOA VALUES(1, N’Máy giặt’)
--Liệt kê dữ liệu
SELECT * FROM DanhMuc.HANG_HOA
1. Tổ chức CSDL trong SQLServer
NT Uyên Nhi [Các hệ CSDL- Tổ chức lưu trữ CSDL] 20
1. Tổ chức vật lý của CSDL trong SQLServer
2. Tổ chức các nhóm tập tin (File Group)
3. Schema
4. Database snapshot
5. Tổ chức bảng dữ liệu phân hoạch (Partitioned Table)
1.4 Database snapshot
NT Uyên Nhi [Các hệ CSDL- Tổ chức lưu trữ CSDL] 21
● Là CSDL được tạo ra bằng cách chụp một CSDL khác ngay tại một
thời điểm
● CSDL được chụp gọi là CSDLnguồn
● Database snapshot chỉ được đọc (read only)
● CSDL nguồn nếu có thay đổi thì CSDL chụp được vẫn có các dữ liệu
không bị thay đổi (ngay thời điểm chụp)
1.4 Database snapshot (tt.)
NT Uyên Nhi [Các hệ CSDL- Tổ chức lưu trữ CSDL] 22
● Các hạn chế của Database snapshot
– Không thể drop database nguồn nếu chưa dropdatabase snapshots
– SQL Server Management Studio không hỗ trợ tạo database snapshot. Bạn
chỉ có thể tạo nó bằng Transact-SQL
Source DB Snapshot DB
Copy-On-Write
SELECT
SELECT UPDATE
NT Uyên Nhi [Các hệ CSDL- Tổ chức lưu trữ CSDL] 23
1.4 Database snapshot (tt.)
1. Tổ chức CSDL trong SQLServer
NT Uyên Nhi [Các hệ CSDL- Tổ chức lưu trữ CSDL] 24
1. Tổ chức vật lý của CSDL trong SQLServer
2. Tổ chức các nhóm tập tin (File Group)
3. Schema
4. Database snapshot
5. Tổ chức bảng dữ liệu phân hoạch (Partitioned Table)
1.5 Partitioned Tables
= 2005
Sales.Orders
Dữ liệu được phân hoạch theo chiều ngang
NT Uyên Nhi [Các hệ CSDL- Tổ chức lưu trữ CSDL] 25
Hàm dùng định nghĩa các biên
Biên có thể lệch trái (LEFT) hoặc phải (RIGHT)
= 2005
CREATE PARTITION FUNCTION pf_OrderDate (datetime)
AS RANGE RIGHT
FOR VALUES ('01/01/2003', '01/01/2004', '01/01/2005')
NT Uyên Nhi [Các hệ CSDL- Tổ chức lưu trữ CSDL] 26
1.5 Partitioned Tables
Hàm dùng định nghĩa các biên
Biên có thể lệch trái (LEFT) hoặc phải (RIGHT)
2005
CREATE PARTITION FUNCTION pf_OrderDate (datetime)
AS RANGE LEFT
FOR VALUES ('01/01/2003', '01/01/2004', '01/01/2005')
NT Uyên Nhi [Các hệ CSDL- Tổ chức lưu trữ CSDL] 27
1.5 Partitioned Tables
Khai báo gán các phân hoạch cho các File Group
Có thể định nghĩa File Group kế tiếp
CREATE PARTITION SCHEME ps_OrderDate
AS PARTITION pf_OrderDate
TO (fg1, fg2, fg3, fg4, fg5)
< 2003
NT Uyên Nhi [Các hệ CSDL- Tổ chức lưu trữ CSDL] 28
2003 2004 >= 2005
1.5 Partitioned Tables
Các file đính kèm theo tài liệu này:
bai_giang_cac_he_quan_tri_co_so_du_lieu_chuong_5_to_chuc_luu.pdf