Tải bản đầy đủ (.pdf) (41 trang)

bài giảng chương v cấu trúc lưu trữ và phương pháp truy xuất

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (913.97 KB, 41 trang )

Chương V. Cấu trúc lưu trữ
và phương pháp truy xuất

1


Nội dung
 Giới thiệu
 Đĩa (magnetic disk)
 Mẫu tin (record)
 Sắp xếp các mẫu tin vào block
 Tổ chức mẫu tin trên tập tin

2


Giới thiệu (tt)
 Phân cấp lưu trữ
 Bộ nhớ chính
 Dữ liệu hiện hành

 Đĩa
 CSDL chính thức
 Băng từ (tape) hay đĩa quang (optical disk)
 Phiên bản cũ của CSDL
3


Đĩa (Disk)

4




5


Quản lý đĩa
 Một mặt đĩa chia thành nhiều track, 1 track chia thành nhiều






6

block(page). 1 cluster = n block.
Dùng đĩa từ (magnetic disk) để lưu CSDL vì:
 Khối lương lưu trữ lớn.
 Lưu một cách bền bỉ, lâu dài, phục vị truy cập và xử lý lặp lại.
 Chi phí rẻ.
Dữ liệu trên đĩa phải được chép vào bộ nhớ chính khi cần xử lý.
Nếu dữ liệu này có thay đổi thì sẽ được ghi trở lại vào đĩa.
Bộ điều khiển đĩa(Disk controller - DC): giao tiếp giữa ổ đĩa và
máy tính, nhận lệnh I/O, định vị đầu đọc và làm cho hành động
R/W diễn ra.
Block cũng là đơn vị để lưu trữ và chuyển dữ liệu.


Lưu tập tin trên đĩa


7


Mục đích

8


Mẩu tin

9


Tập tin

10


Tập tin (tt)

11


Tập tin (tt)

12


Lưu mẩu tin vào block


13


Tổ chức file block trên đĩa

14


Thao tác trên file

15


Mẫu tin có chiều dài cố định
 Xét 1 tập tin gồm các mẫu tin account
type deposit = record
account-number: char(10);
branch-name: char(22);
balance: real;
end

 Giả sử
 1 char : 1 byte
 Real : 8 bytes
 1 mẫu tin account : 40 bytes
 40 bytes đầu tiên là mẫu tin thứ 1
 40 bytes tiếp theo là mẫu tin thứ 2…
16



Mẫu tin có chiều dài cố định (tt)
 Record header
 Lược đồ của mẫu tin
 Chiều dài của mẫu tin
 Thời gian sau cùng cập nhật mẫu tin

 Không nhất thiết để các thông tin này ở record header
 Block header

 Con trỏ nối các block có liên quan với nhau
 Thông tin về mối quan hệ giữa các mẫu tin trong block
 Block ID
17

 Thời gian sau cùng truy xuất block


Mẫu tin có chiều dài cố định (tt)
 Ví dụ
 Mỗi mẫu tin có thêm 1 bit
 =0: Xóa
 =1: Đang dùng
 Danh sách các mẫu tin trống (free list)
0 1
10 11
32 33 40
1 A-102 Perryridg 400
e
1 A-215
Mianus

700
1 A-222 Redwood 700
1 A-217 Brighton 750
1 A-218 Perryridg 700
e
0
18

41
1
1
1
1
0
0

A-305
A-101
A-201
A-110

Round
Hill
Downtow
n
Perryridg
e
Downtow
n


350
500
900
600


Mẫu tin có chiều dài cố định (tt)
 Hủy mẫu tin
 Đánh dấu xóa vào bit thơng tin
 Đưa mẫu tin bị đánh dấu xóa vào free list
F
H

1
0
1
0
1
0

19

A-102
A-215
A-222
A-217
A-218

Perryridg
e

Mianus
Redwood
Brighton
Perryridg
e

400
700
700
750
700

1
1
1
1
0
0

A-305
A-101
A-201
A-110
A-111

Round
Hill
Downtow
n
Perryridg

e
Downtow
n
Redwood

350
500
900
600
800


Mẫu tin có chiều dài cố định (tt)
 Thêm một mẫu tin
 Hoặc thêm vào những mẫu tin bị đánh dấu xóa hoặc thêm vào cuối

tập tin
 Cập nhật lại free list
FH

1

A-102

Perryridge

400

1


A-305

Round Hill

350

1

A-111

Downtown

700

1

A-101

Downtown

500

1

A-222

Redwood

700


1

A-201

Perryridge

900

0

A-217

Brighton

750

1

A-110

Downtown

600

1

A-218

Perryridge


700

0

0

 Tìm kiếm
 Quét tuần tự trên tập tin
20

0


Mẫu tin có chiều dài động
 Byte-String Representation
 Cuối mỗi mẫu tin có 1 byte ký tự đặc biệt cho biết kết thúc

mẫu tin
Perryridge

400

A-201

Round Hill

A-305

350


-

Downtown

A-101

500

A-110

Mianus

A-215

700

-

Redwood

21

A-102

A-222

700

-


900

A-218

Brighton
600

A-217
-

700

750

-

-


Mẫu tin có chiều dài động (tt)
 Byte-String Representation
 Sử dụng lại khơng gian trống sau khi xóa 1 mẫu tin khơng

hiệu quả
 Dẫn đến tình trạng phân mãnh
Perryridge

400

A-201


Round Hill

A-305

350

-

Downtown

A-101

500

A-110

Mianus

A-215

700

-

Redwood

22

A-102


A-222

700

-

900

A-218

Brighton
600

A-217
-

700

750

-

-


Mẫu tin có chiều dài động (tt)
 Byte-String Representation
 Tốn nhiều chi phí khi chiều dài mẫu tin thay đổi
Perryridge


400

A-201

Round Hill

A-305

350

A-202 Brighton
950

Downtown

A-101

500

A-110

Mianus

A-215

700

-


Redwood

23

A-102

900

A-222

700

-

600

A-218
A-217
-

700
750

-


Mẫu tin có chiều dài động (tt)
 Fixed-Length Representation
 Sử dụng 1 hay nhiều mẫu tin có chiều dài cố định biểu diễn


cho những mẫu tin có chiều dài động
 Có 2 kỹ thuật
 Reserved space



24

Sử dùng độ dài lớn nhất của 1 mẫu tin nào đó cài đặt cho tất cả
các mẫu tin còn lại
Độ dài này phải đảm bảo không bao giờ dài thêm được nữa
Perryridg
e
Round
Hill
Mianus
Downtow
n
Redwood
Brighton

A-102
A-305
A-215
A-101
A-222
A-217

400
350

700
500
700
750

A-201

900

A-110

600

A-218

700


Mẫu tin có chiều dài động (tt)
 Fixed-Length Representation
 Pointer
 Các mẫu tin có chiều dài động
móc xích với nhau thơng qua
danh sách các mẫu tin có chiều
dài cố định
 Có 2 loại blocks trong tập tin
o Anchor block – Chứa mẫu tin
đầu tiên của mảng accountinfo
o Overflow block – Chứa các
mẫu tin tiếp theo của mảng

account-info
25

Anchor block

Perryridge

A-102

400

Round Hill

A-305

350

Mianus

A-215

700

Downtown

A-101

500

Redwood


A-222

700

Brighton

A-217

750

A-201

900

A-218

700

A-110

600

Overflow block


×