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

Bài giảng hệ quản trị cơ sở dữ liệu chương 2 lê thị minh nguyện

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 (1.16 MB, 11 trang )

8/25/2017

Nội dung

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

1.
2.
3.
4.
5.
6.
7.
8.

GV: Lê Thị Minh Nguyện
Email:

Tổ chức dữ liệu
Các bộ phận của tổ chức tổ chức dữ liệu
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
Tổ chức băm
Tổ chức B cây
Chỉ mục (index)
Hệ quản trị Cơ sở dữ liệu

1. Tổ chức dữ liệu



1.1. Khái niệm

1.1. Khái niệm

• Tổ chức dữ liệu là tiến trình phân tích và cấu trúc lại dữ
liệu (đơi khi chỉ là các giá trị dữ liệu, phức tạp hơn là cơ
sở dữ liệu) của hệ thống
• Kết quả của việc tổ chức dữ liệu là có được hệ thống
tổ chức và quản lý dữ liệu tốt hơn, có thể có một cơ sở
dữ liệu chuẩn với các mơ hình dữ liệu được cài đặt

1.2. Sự cần thiết của tổ chức dữ liệu
1.3. Các thuận lợi và khó khăn khi tổ chức dữ liệu

1.4. Các giải pháp tổ chức dữ liệu

Hệ quản trị Cơ sở dữ liệu

3

Hệ quản trị Cơ sở dữ liệu

2

4

1



8/25/2017

1.1. Khái niệm (tt)

1.2. Sự cần thiết của tổ chức dữ liệu

• Các hoạt động khi tổ chức dữ liệu thường gặp:
• Tổ chức dưới dạng tập tin đơn giản trong hệ thống
• Tổ chức thành cơ sở dữ liệu được quản lý bởi DBMS
• Chuyển hệ thống dùng một DBMS này sang hệ thống dùng một
DBMS khác
• Chuyển đổi dữ liệu toàn cục dùng chung cho toàn bộ hệ thống
thành các đối tượng hay các dạng dữ liệu với cấu trúc trừu tượng
Hệ quản trị Cơ sở dữ liệu

5

Hệ quản trị Cơ sở dữ liệu

6

1.2. Sự cần thiết của tổ chức dữ liệu (tt)

1.3. Các thuận lợi và khó khăn khi tổ chức dữ liệu

• Đối với các hệ thống cũ, những khó khan bao gồm:

• Thuận lợi

• Những người tham gia tổ chức dữ liệu khơng cịn làm việc


trong cơng ty.
• Một số hệ thống hoạt động trên máy tính lớn, dữ liệu lưu trữ ở
một nơi, khó khan cho việc khai thác phân bố ở nhiều nơi
khác nhau.
• Một số hệ thống sử dụng các cơ sở dữ liệu cũ hay các tập tin
đã lỗi thời có sự gia tang lớn về sự trùng lắp dữ liệu.
Hệ quản trị Cơ sở dữ liệu

7

• Tăng tính hiệu quả khi khai thác dữ liệu
• Giảm thiểu rủi ro trong tương lai
• Tận dụng các tri thức đã tích lũy trong hệ thống cũ,…

• Khó khăn
• Vấn đề chi phí
• Đối với các hệ thống cũ, nếu thay đổi cách tiếp cận khi phân
tích, thiết kế nhằm phục vụ cho việc tổ chức dữ liệu thì gần
như xây dựng lại từ đầu
• Đào tạo nhân sự tiếp cận cơng nghệ mới,…
Hệ quản trị Cơ sở dữ liệu

8

2


8/25/2017


1.4. Các giải pháp tổ chức dữ liệu

2. Các bộ phận của tổ chức tổ chức dữ liệu

• Tổ chức Dữ liệu theo tập tin
• Tổ chức dữ liệu theo cơ sở dữ liệu

2.1. Bộ phận quản lý tập tin (File Manager)
2.2. Bộ phận quản lý đĩa (magnetic disk)
2.3. Tổ chức vật lý Tổ chức vật lý

• Nêu ứng dụng, ưu và khuyết điểm của 2

chức dữ liệu?????

loại tổ

Hệ quản trị Cơ sở dữ liệu

9

Bộ phận quản lý tập tin (File Manager)

Hệ quản trị Cơ sở dữ liệu

10

2.1. Bộ phận quản lý đĩa (magnetic disk)

• Lưu trữ thơng tin trên đĩa từ dưới dạng các file. Các file

sẽ có con trỏ xác định điểm vào các sector đầu tiên
chứa thông tin. Các file được quản lý dưới dạng cây gọi
là cây thư mục

CPU
Registers

C
A
C
H
E

Memory Bus

I/O Bus
I/O Devices

Memory

Size

Speed

Virtural
Memory
Disk

File
System


Second
storage

Tertiary storage

11

Hệ quản trị Cơ sở dữ liệu

12

3


8/25/2017

2.1. Bộ phận quản lý đĩa (magnetic disk) (tt)

2.1. Bộ phận quản lý đĩa (magnetic disk) (tt)

• Dung lượng lớn
• Dữ liệu không bị mất khi hệ thống mất điện
hay gặp sự cố (non-volatile)
• Tốc độ truy xuất

• Làm sao bố trí dữ liệu trên đĩa?????
• Muốn lưu trữ dữ liệu






• Thời gian định vị track (seek time): ? ms
• Thời gian định vị sector (rotational delay): ? ms
• Thời gian chuyển dữ liệu (transfer time): ? kb

• Dữ liệu được biểu diễn bằng chuỗi các bytes

• Truy xuất dữ liệu
• Đọc trực tiếp dữ liệu ở 1 vị trí bất kỳ trên đĩa
• Theo đơn vị lưu trữ - block hay page
Hệ quản trị Cơ sở dữ liệu

Mã tài khoản
Tên chi nhánh
Số dư
Ngày rút tiền

8
bits
13

2.3. Tổ chức vật lý

Hệ quản trị Cơ sở dữ liệu

14

Tổ chức trên SQL Server


• Hai cách tổ chức lưu trữ dữ liệu cơ bản của hệ thống là lưu trữ
ở dạng văn bản (text) và nhị phân (binary).
• Thường tổ chức ở dạng nhị phân

Hệ quản trị Cơ sở dữ liệu

15

Hệ quản trị Cơ sở dữ liệu

16

4


8/25/2017

Tổ chức trên Oralce

3. Mẫu tin (record)
• Tập hợp các dữ liệu có liên quan với nhau tạo thành một mẫu
tin
• Ví dụ
• Mẫu tin account có những thơng tin
• Account-number
• Branch-name
• Balance

• Có 2 loại mẫu tin

• Mẫu tin có chiều dài cố định (Fixed-Length Record)
• Mẫu tin có chiều dài động (Variable-Length Record)
Hệ quản trị Cơ sở dữ liệu

17

3.1. Mẫu tin có chiều dài cố định

Hệ quản trị Cơ sở dữ liệu

18

3.1. Mẫu tin có chiều dài cố định(tt)
• Ví dụ
• Mỗi mẫu tin có thêm 1 bit (tương tự .dbf)
• =0: Xóa
• =1: Đang dùng

type deposit = record
account-number: char(10);
branch-name: char(22);
balance: real;
end

Hệ quản trị Cơ sở dữ liệu

• Danh sách các mẫu tin trống (free list)
0 1
1011
3233 40

1 A-102 Perryridge
400
1 A-215
Mianus
700
1 A-222
Redwood
700
1 A-217
Brighton
750
1 A-218 Perryridge
700
0
19

Hệ quản trị Cơ sở dữ liệu

41
1
1
1
1
0
0

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


Round Hill
Downtown
Perryridge
Downtown

350
500
900
600

20

5


8/25/2017

3.1. Mẫu tin có chiều dài cố định(tt)

3.1. Mẫu tin có chiều dài cố định(tt)

• Hủy mẫu tin

• 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

• Đá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

FH

FH

1

A-102 Perryridge

400

1

A-305

Round Hill

350

0

A-215

Mianus

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

A-111

800

0

Redwood

1
1

A-102
A-111

Perryridge
Downtown

400
700


1
1

A-305
A-101

Round Hill
Downtown

350
500

1
0
1

A-222
A-217
A-218

Redwood
Brighton
Perryridge

700
750
700

1
1

0

A-201
A-110

Perryridge
Downtown

900
600

0

0

• Tìm kiếm

0

• Qt tuần tự trên tập tin
Hệ quản trị Cơ sở dữ liệu

21

3.2. Mẫu tin có chiều dài động

Hệ quản trị Cơ sở dữ liệu

22


3.2. Mẫu tin có chiều dài động (tt)

• Trong DBMS, mẫu tin có chiều dài động

• Byte-String Representation

• Lưu trữ nhiều loại mẫu tin trong 1 tập tin
• Các loại mẫu tin chứa các trường có chiều dài động

• 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

• Có 2 cách biểu diễn
• Byte-String
• Fixed-Length

• Ví dụ:

type account-list = record
branch-name: char(22);
account-info: array [1..n] of
record
account-number: char(10);
balance: real;
end
end
Hệ quản trị Cơ sở dữ liệu

23


Perryridge

A-102

400

A-201

Round Hill

A-305

350

-

Downtown

A-101

500

A-110

Mianus

A-215

700


-

Redwood

A-222

700

-

900

A-218

Brighton
600

A-217

700
750

-

-

Hệ quản trị Cơ sở dữ liệu

24


6


8/25/2017

3.2. Mẫu tin có chiều dài động (tt)

3.2. Mẫu tin có chiều dài động (tt)

• 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
• 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

A-102

400

A-201

Round Hill

A-305

350

-


Downtown

A-101

500

A-110

Mianus

A-215

700

-

Redwood

A-222

700

-

900

A-218

Brighton

600

A-217

700

-

750

-

Byte-String Representation
Tốn nhiều chi phí khi chiều dài mẫu tin thay đổi

Perryridge

A-102

400

A-201

Round Hill

A-305

350

Brighton

A-202
950 A-217

Downtown

A-101

500

A-110

900

A-218

Mianus

A-215

700

-

Redwood

A-222

700

-


600

700
750

-

-

-

Hệ quản trị Cơ sở dữ liệu

25

Hệ quản trị Cơ sở dữ liệu

26

3.2. Mẫu tin có chiều dài động (tt)

3.2. Mẫu tin có chiều dài động (tt)

• Fixed-Length Representation

• 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
• Point

Hệ quản trị Cơ sở dữ liệu

27

• Reserved space
• 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
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-110

600

Hệ quản trị Cơ sở dữ liệu

A-218


700

28

7


8/25/2017

3.2. Mẫu tin có chiều dài động (tt)

4. Sắp xếp các mẫu tin vào block

• Fixed-Length Representation

records

Anchor block

• 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
• Anchor block – Chứa mẫu tin
đầu tiên của mảng accountinfo
• Overflow block – Chứa các
mẫu tin tiếp theo của mảng
account-info


Perryridge
Round Hill
Mianus
Downtown
Redwood
Brighton

Overflow block

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

400
350
700
500
700
750

A-201
A-218
A-110

900
700

600

Hệ quản trị Cơ sở dữ liệu

Kích thước
cố định

blocks

a file
29

5. Tổ chức mẫu tin trên tập tin

30

• Các mẫu tin được tổ chức lưu trữ tuần tự theo 1 thứ tự
nào đó, thơng thường theo trường khóa tìm kiếm (searchkey)
• Khóa tìm kiếm khơng nhất thiết là khóa chính hay siêu
khóa

• Tổ chức các mẫu tin trên tập tin như thế nào?
Sequential
Clustering
Indexing
Hashing
B-Tree

Hệ quản trị Cơ sở dữ liệu


Hệ quản trị Cơ sở dữ liệu

Giả sử chỉ có 1 file

5.1. Tuần tự (Sequential)

• Cho 1 tập các mẫu tin








31

Hệ quản trị Cơ sở dữ liệu

32

8


8/25/2017

5.1. Tuần tự (Sequential) (tt)

5.1. Tuần tự (Sequential) (tt)


• Các mẫu tin được tổ chức lưu trữ tuần tự theo 1 thứ tự
nào đó, thơng thường theo trường khóa tìm kiếm (searchkey)
• Khóa tìm kiếm khơng nhất thiết là khóa chính hay siêu
khóa

• Xóa mẫu tin
• Sử dụng danh sách các con trỏ trỏ đến vùng trống

• Thêm mẫu tin








Hệ quản trị Cơ sở dữ liệu

Tìm vị trí thích hợp trên tập tin
Nếu có vị trí trống trong cùng 1
block thì thêm vào
Ngược lại sẽ thêm vào vùng
overflow block
Cập nhật lại con trỏ theo đúng
thứ tự của khóa tìm kiếm

33

Hệ quản trị Cơ sở dữ liệu


34

5.2. Clustering

5.1. Tuần tự (Sequential) (tt)
• Nhận xét

• Xét 2 quan hệ depositor và customer
• Thực hiện câu truy vấn

• Giảm tối thiểu khối lượng block cần đọc khi truy xuất tập tin
• Tốn nhiều chi phí di chuyển các mẫu tin sau khi thêm hoặc
xóa 1 mẫu tin

select account-number, customer-name, customer-street
from depositor, customer
where depositor.customer-name=customer.customer-name

• Nếu các bộ của quan hệ depositor và customer nằm gần nhau
trong tập tin thì câu truy vấn sẽ được thực hiện 1 cách hiệu quả
• Khi 1 bộ của customer được đọc thì nguyên cả khối chứa bộ này cũng
được đưa vào bộ nhớ chính
• Lúc đó các bộ của depositor có liên quan đến customer đã có sẳn và
được xử lý ngay
Hệ quản trị Cơ sở dữ liệu

35

Hệ quản trị Cơ sở dữ liệu


36

9


8/25/2017

5.2. Clustering (tt)

Chỉ mục

• Tổ chức clustering lưu trữ các mẫu tin tương ứng của 2 hay
nhiều quan hệ trong cùng 1 block
• Nhận xét

• Chỉ mục được dùng để truy xuất dữ liệu nhanh hơn
• Một tập tin dữ liệu sẽ có 1 hoặc nhiều tập tin chỉ mục kèm
theo
• Tập tin chỉ mục gồm






Có hiệu quả khi truy vấn có phép kết
Chưa thật sự tốt nếu truy vấn trên 1
quan hệ
Một block có nhiều loại mẫu tin


Hệ quản trị Cơ sở dữ liệu

search-key

pointer

• Tập tin chỉ mục sẽ nhỏ hơn rất nhiều so với tập tin dữ liệu
ban đầu
• Tập tin chỉ mục được sắp xếp thứ tự theo khóa tìm kiếm
37

Hệ quản trị Cơ sở dữ liệu

Chỉ mục (tt)

Chỉ mục (tt)

• Nếu 1 tập tin chứa các mẫu tin đã được sắp thứ tự

• Chỉ mục dày (Dense index)

• Chỉ mục sơ cấp (Primary index)

38

• Tập tin gốc có bao nhiêu mẫu tin thì tập tin chỉ mục có bấy nhiêu

• Là chỉ mục có khóa tìm kiếm định nghĩa ra thứ tự sắp xếp các mẫu tin
của tập tin gốc

• Cịn được gọi là clustering index

• Chỉ mục thứ cấp (Secondary index)
• Là chỉ mục có khóa tìm kiếm đưa ra 1 thứ tự sắp xếp khác với thứ tự
tuần tự của tập tin gốc
• Cịn được gọi là nonclustering index

Hệ quản trị Cơ sở dữ liệu

39

Hệ quản trị Cơ sở dữ liệu

40

10


8/25/2017

Chỉ mục (tt)

Chỉ mục (tt)

• Chỉ mục thưa (Sparse index)

• Cú pháp:
CREATE INDEX ON <tên bảng>(<cột 1>,<cột 2>,…)
• Ví dụ:
CREATE INDEX ON MonHoc(TenMH)


• Tập tin chỉ mục chỉ lưu lại 1 số khóa của tập tin gốc
• Để xác định vị trí của 1 khóa k
• Tìm trong tập tin chỉ mục khóa lớn nhất nhưng vẫn bé hơn k
• Tìm trong tập tin gốc bắt đầu từ địa chỉ vừa xác định trong tập tin chỉ mục

Hệ quản trị Cơ sở dữ liệu

41

Hệ quản trị Cơ sở dữ liệu

42

43

Hệ quản trị Cơ sở dữ liệu

44

Chỉ mục (tt)
• Nhận xét
• Tìm kiếm nhanh trong trường hợp so sánh
với hằng số và phép kết
• Làm chậm đi các thao tác thêm, xóa và
sửa
• Tốn chi phí
• Lưu trữ chỉ mục
• Truy xuất đĩa nhiều


• Chọn lựa cài đặt chỉ mục hợp lý???
Hệ quản trị Cơ sở dữ liệu

11



×