1. Trang chủ
  2. » Giáo án - Bài giảng

Chương 12 Thiết kế vật lý database

108 738 3
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Thiết Kế Vật Lý Database
Thể loại Tài Liệu
Định dạng
Số trang 108
Dung lượng 1,83 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

 Bản ghi luận lý logical record dùng để nhóm các thuộc tính được xác định bởi cùng 1 khóa chính, thứ tự các thuộc tính không quan trọng  Thiết kế bản ghi vật lý liên quan đến việc chọn

Trang 1

Chương 12: Thiết kế vật lý database

1

Trang 2

Nội dung

 Quá trình thiết kế database vật lý

 Chọn định dạng lưu trữ cho các thuộc tính

từ mô hinh dữ liệu luận lý

 Mô tả ba kiểu tổ chức tập tin

 Chỉ mục: mục đích và các loại chỉ mục

 Chuyển đổi mô hình dữ liệu quan hệ thành cấu trúc database hiệu quả

Trang 3

Thiết kế database

 Yêu cầu:

Thận trọng trong thiết kế vì những quyết định

được làm trong giai đoạn này sẽ ảnh hưởng

đến khả năng truy xuất dữ liệu, thời gian đáp

ứng, tính bảo mật, tính thân thiện với người

Trang 4

Mục tiêu thiết kế database

 Tập trung vào tính hiệu quả xử lý dữ liệu (data processing efficiency)

 Chi phí máy tính ngày nay giảm đáng kể, việc thiết kế chỉ cần tập trung vào việc

giảm nhỏ thời gian xử lý làm thế nào

xử lý database và các file vật lý hiệu quả, không quan tâm nhiều đến không gian lưu trữ

Trang 5

Chuẩn bị trước khi thiết kế

 Cần thu thập thông tin liên quan đến hệ

thống sẽ thiết kế:

lượng khối lượng thông tin

dùng: thêm, truy xuất, xóa, cập nhật

ứng, độ bảo mật dữ liệu, sao lưu phụ hồi dữ

liệu, tính toàn vẹn dữ liệu

DB

5

Trang 6

Quá trình thiết kế database

trong mô hình dữ liệu luận lý: kiểu dữ liệu ít tốn bộ nhớ mà vẫn bảo đảm tính toàn vẹn

dữ liệu

lý vào các bản ghi vật lý (physical record)

vào bộ nhớ phụ (đĩa cứng) sao cho việc truy xuất các bản ghi này mau chóng.

• Cần quan tâm đến việc bảo vệ và khôi phục dữ

liệu khi có lỗi

việc truy xuất dữ liệu hiệu quả hơn.

Trang 7

Khối lượng dữ liệu & tần suất sử dụng

(Data volume and usage frequency)

 Đánh giá khối lượng dữ liệu và tần số sử

dụng dữ liệu là bước cuối của quá trình

thiết kế CSDL luận lý hay là bước đầu tiên của quá trình thiết kế vật lý CSDL

 Để thống kê, thêm các ghi chú (natation) vào sơ đồ ERR biểu diễn các quan hệ đã

chuẩn hóa cuối cùng

7

Trang 8

PART 1000

SUPPLIER 50

MANUFACTURED

PART

400

PURCHASED PART 700

Trang 9

Khối lượng dữ liệu & tần suất sử dụng

(Data volume and usage frequency)

 Việc thống kê khối lượng và tần suất được thực hiện trong giai đoạn phân tích hệ

thống bởi phân tích viên hệ thống

( system analyst)

 Việc thống kê không đòi hỏi chính xác

tuỵệt đối mà chỉ dùng làm cơ sở cho bước thiết kế tiếp theo

9

Trang 10

 Field tương ứng với 1 thuộc tính

(attribute) trong mô hình dữ liệu luận lý

 Quyết định cần làm khi thiết kế là phải

chọn kiểu dữ liệu cho field, kiểm soát tính toàn vẹn dữ liệu và DBMS sẽ quản lý các

Trang 11

Bốn mục tiêu để chọn kiểu dữ liệu

1. Tối thiểu hoá không gian lưu trữ

2. Diễn tả được tất cả các giá trị có thể có

của dữ liệu

3. Cải thiện được tính toàn vẹn dữ liệu

4. Hỗ trợ được tất cả phép thay đổi dữ liệu

11

Trang 12

Kỹ thuật mã hoá và nén dữ

liệu

 Một số thuộc tính có tập giá trị thưa hay

có trị quá lớn chiếm nhiều không gian lưu trữ

 Một trường có số ít giá trị nên mã hoá để chiếm ít không gian hơn

Trang 13

Kỹ thuật mã hoá và nén dữ

liệu

 Ví dụ: trường Finish của bảng Product chỉ

có 1 ít giá trị là Birch, Maple và Oak

sao cho mỗi giá trị của trường Finish được thay thế bằng 1 mã

phẩm quá lớn

hình nhận thức, là 1 thiết kế vật lý để cải thiện việc xử lý dữ liệu

13

Trang 14

C A C B

ABC

BirchMapleOak

Bảng tra cứu FINISH

Trang 15

Kỹ thuật mã hoá và nén dữ

liệu

 Kỹ thuật nén tin ( data compression

technique) tìm các mẫu (pattern) và mã

hoá các mẫu xuất hiện thường xuyên với

số bit ít hơn

 Kỹ thuật mã hoá ( encryption technique): dùng để chuyển 1 trường sang dạng bảo mật

 Kỹ thuật nén tin hay mã hoá được dùng

với 1 số DBMSs Để người dùng đọc được giá trị thực sự của các trường, phần mềm cần phải biết quá trình dịch ngược lại

15

Trang 16

Kiểm soát tính toàn vẹn dữ liệu

 Việc kiểm tra tính toàn vẹn dữ liệu được

xây dựng thành cấu trúc vật lý của các

trường và được DBMS quản lý tự động

Trang 17

Giá trị mặc định

(Default value)

 Là giá trị mà 1 trường luôn thừa nhận

ngoại trừ người dùng đưa vào 1 giá trị

tường minh khác để thay thế

17

Trang 18

Kiểm soát miền giá trị

(Range control)

 Giới hạn 1 tập các giá trị cho phép mà 1

trường có thể nhận được

 Miền giá trị có thể là 1 cận dưới và cận

trên dạng số hay là 1 tập các giá trị cụ thể

 Nên để DBMS thực hiện việc kiểm soát

miền giá trị thay cho chương trình

Trang 19

Kiểm tra giá trị rỗng

(Null value control)

 Một khoá chính thường bị cấm không được

có giá trị null

 Các trường khác cũng có thể cần kiểm tra giá trị null tuỳ theo yêu cầu của tổ chức

nhận bất kỳ course nào thiếu tiêu đề

19

Trang 20

Bảo toàn tham chiếu

(Referential integrity)

 Là 1 dạng của kiểm tra miền trong đó giá trị của 1 trường có thể tồn tại như giá trị trường của 1 hàng nào đó trong cùng

bảng hay của 1 bảng khác

Trang 21

Xử lý dữ liệu bị thiếu

(missing data)

 Dữ liệu bị thiếu khi không có dữ lịêu để

nhập vào 1 trường và trường cho phép có giá trị null

 Để tránh giá trị bị thiếu:

báo cáo để buộc người dùng có liên quan đến

phải nhanh chóng giải quyết các giá trị chưa

biết.

có ảnh hưởng đến kết quả tính toán hay không?

21

Trang 22

Thiết kế các bản ghi vật lý

 Bản ghi vật lý ( physical record): là 1

nhóm các trường được lưu trữ trong những

vị trí bộ nhớ cạnh nhau và được truy xuất như 1 đơn vị

 Bản ghi luận lý (logical record) dùng để

nhóm các thuộc tính được xác định bởi

cùng 1 khóa chính, thứ tự các thuộc tính

không quan trọng

 Thiết kế bản ghi vật lý liên quan đến việc chọn sắp xếp các trường vào vị trí kề cận

Trang 23

Sử dụng hiệu quả bộ nhớ phụ

 Hai yếu tố ảnh hưởng:

 Hệ điều hành thường đọc/ghi dữ liệu từ

đĩa cứng theo từng page, không theo bản ghi vật lý

 Page: là lượng dữ liệu được đọc/ghi vào

bộ nhớ trong 1 thao tác xuất/nhập của bộ nhớ phụ

 Kích thước trang do người thiết kế HĐH

quyết định

23

Trang 25

Trường có chiều dài cố định

 Nếu các trường có chiều dài cố định, các

trường sẽ đặt liền kề nhau, việc quản lý bộ nhớ sẽ dễ dàng hơn

 Để tìm vị trí của trường thứ m trong bản

ghi thứ n của tập tin CSDL

Địa chỉ bắt đầu của file+ (n-1) chiều dài bản ghi+ sum(lengthi)

i=1 đến m-1

= Địa chỉ bắt đầu của trường thứ mLengthi : chiều dài của trường thứ i

25

Trang 26

Trường có chiều dài thay đổi

 Vị trí của 1 trường thuộc 1 bản ghi nào đó thường không theo quy luật

 Cách chung để quản lý các trường độ dài thay đổi là chia quan hệ thành 1 bản ghi

vật lý chứa toàn bộ các trường có chiều

dài cố định và 1 hay nhiều bản ghi vật lý chứa các trường có chiều dài thay đổi

Trang 27

Chỉ mục - Indixes

 Mục đích: cải thiện việc truy tìm dữ liệu

 Ý tưởng: tương tự như index của sách

 Cho phép tìm nhanh 1 hàng mà không

phải duyệt tuần tự từng hàng của bảng dữ liệu  giảm thời gian thực thi truy vấn

27

Trang 28

Heap file

 Mỗi bản ghi (record) đều có 1 mã nhận

dạng duy nhất (unique identifier), gọi tắt là rid

 Tất cả các bản ghi được lưu trữ theo thứ

tự ngẫu nhiên (random order) vào file

 File không xếp thứ tự (unordered file)

được gọi là heap file Các bản ghi sẽ đuợc lưu trữ trong các trang (page)

Trang 29

 Khác với candidate key, cho phép nhiều

hàng có cùng giá trị search key

29

Trang 30

Chỉ mục - Index

 Index chứa:

 Các cơ chế dò tìm:

ISAM hay B+ tree

Trang 31

Chỉ mục - Index

 Cơ chế xếp theo search key: có 2 dạng

vào cùng file dữ liệu

31

Trang 33

Bất lợi của index

 Chiếm không gian đĩa

 Nếu index lớn thì các trang index cần được đọc vào bộ nhớ  gây ra chi phí cho thao tác vào ra (I/O)

 Index cần được bảo trì (maintenance): các chỉ mục phải được sửa đổi cùng với sự

thay đổi của dữ liệu

33

Trang 35

Phân loại chỉ mục

 Trong chỉ mục clustered, thứ tự vật lý của các index entry tương ứng với thứ tự vật

lý của các bản ghi dữ liệu

 Ví dụ: quan hệ PROFESSOR có thể được

xếp thứ tự theo thuộc tính Department

(không phải là khóa chính), khi đó index

trên thuộc tính này sẽ là index clustered

trong khi đó index trên khóa chính ID sẽ

là index unclustered

35

Trang 36

Index File

Mechanism for Locating

Index Entries

Index Entries

Trang 37

Data File

Index File

Mechanism for Locating

Index Entries

Index Entries

Unclustered index

Trang 38

Phân loại chỉ mục

 Chỉ mục clustered còn được gọi là chỉ mục

sơ cấp ( primary index) hay main index

 Unclustered index thường được gọi là

secondary index

 Thường thì với mỗi bảng chỉ có 1 clustered index và có thể có nhiều unclustered

index

Trang 39

Chỉ mục thưa và dày

Sparse versus dense index

 Chỉ mục dày là chỉ mục mà các entry của

nó tương ứng 1-1 với các bản ghi trong

file dữ liệu

 Chỉ mục thưa trên 1 file đã sắp xếp là chỉ mục mà trong đó chỉ có 1 index entry duy nhất cho mỗi trang dữ liệu và ngược lại

39

Trang 40

009406321 Jacob Taylor MGT

101202303 John Smyth CS

121232343 David Jones EE

131141151 Anita Cohen CS

234567891 Mary Brown ECO

333444555 Ying Chen CHE

444555666 Sanjay Sen ENG

555666777 Mary Doe CS

666777888 Mary Brown PHY

900012045 Ann White MAT

009406321

234567891

666777888

Mary Brown Mary Brown Ying Chen Anita Cohen Mary Doe David Jones Sanjay Sen John Smyth Jacob Taylor Chỉ mục thưa

Search key:ID

Trang 41

Chỉ mục thưa

 File dữ liệu được xếp theo cùng khóa với

index, khi đó thứ tự của file dữ liệu cho

phép ta tìm được các bản ghi không có

tham chiếu tương ứng trong chỉ mục

 Chỉ mục thưa phải là clustered

 Search key nên là candidate key của file

dữ liệu, nếu không thì sẽ có nhiều bản ghi

có cùng search key và nếu các bản ghi

này nằm trên các trang khác nhau, thì các bản ghi trong trang đầu thường bị bỏ sót

41

Trang 42

là candidate key

Trang 44

Cơ chế dò tìm

(Location mechanism)

Dò tìm nhị phân trên chỉ mục dày

 Vì các bản ghi dữ liệu thường lớn hon

index entry nhiều, nên việc tìm kiếm trên file chỉ mục sẽ cải thiện các thao tác I/O

Nếu file dữ liệu lớn thì F >>Q, số thao tác I/O

trên file index bằng cơ chế dò tìm nhị phân sẽ

Trang 45

Cơ chế dò tìm

(Location mechanism)

 Để giảm chi phí dò tìm index entry trong file index:

cùng search key với file index

này

 Các chỉ mục thấp nhất trong file index

được gọi là chỉ mục cấp 1 hay leaf index

 Các chỉ mục mức cao hơn (cấp hai) còn

được gọi là separator entry dùng để

hướng việc dò tìm đến entry nào của

index cấp 1

45

Trang 47

 Nên dùng chỉ mục nhiều mức (multilevel index)

47

Trang 48

 Fan-out: để chỉ số separator trong 1

trang Fan-out xác định được số mức trong

1 cây: nó càng nhỏ thì số mức của cây

Trang 50

(Index-sequential access

method)

 ISAM index là chỉ mục nhiều mức và là

loại clustered index

 Các bản ghi dữ liệu được chứa trong các lá

 ISAM là cấu trúc lưu trữ cho file dữ liệu

Trang 52

các trang chỉ mục lá trước Sau đó mới

xây dựng các mức separator từ đáy lên

Gốc sẽ nằm ở đỉnh cao nhất

Trang 53

Đặc tính của ISAM

 Các mức separator thường không thay đổi sau khi chúng đã được tạo

 Các trang mức lá có thể thay đổi nhưng

các trang này sẽ không mở rộng thêm hay

bị thu hồi lại, do đó vị trí của các trang lá trong file cũng cố định

 Phát sinh nhiều vấn đề khi xóa hay thêm hàng vào bảng

53

Trang 54

Một trang ở cấp separator của ISAM

 Mỗi cấp separator đều là chỉ mục thưa

dùng để chỉ đến cấp chỉ mục kế tiếp

 Mỗi separator entry đều chứa 1 giá trị dò tìm ( search key) ki và con trỏ pi trỏ đến trang kế tiếp trong file chỉ mục Trang kế tiếp này có thể là cấp separator kế tiếp

thấp hơn hay có thể là trang chứa các lá

chỉ mục

 Các cấp separator trong cùng 1 trang sẽ

Trang 55

Chỉ mục ISAM

 Mỗi giá trị search key sẽ chia tập các giá trị search key thành 2 cây con được trỏ

đến bởi 2 con trỏ liền kề pi-1 và pi

 Nếu giá trị search key k được tìm thấy

trong cây con được trỏ tới bởi pi-k thì k

<ki; nếu được tìm thấy trong cây con được trỏ tới bởi pi thì k ≥ki

55

Trang 56

Đặc tính của ISAM

 Nội dung các nút lá có thể thay đổi

 Ví dụ: Xét chỉ mục ISAM gồm 2 mức

separator và 1 mức lá Giá trị search key

là tên sinh viên

Trang 57

judy jane

al

mike bob

sol phil

karen joe

Trang 58

Ví dụ

 Khi xóa bản ghi của Jane, thì trong mức

separator chỉ mục Jane trở nên xa lạ

nhưng chỉ mục ISAM vẫn làm việc được

 Khi thêm bản ghi mới có tên ivan,trang lá thích hợp bị đầy cần 1 trang overflow,

nó không thể là mức mới mà cũng không thể trang mức lá mới được

Trang 59

bob jane

joe abe

Trang 60

Đặc tính của ISAM

 Nếu bảng mà việc thêm mới thường hay

xảy ra thì chuỗi các trang overflow có thể rất dài và việc dò tìm sẽ kém hiệu quả

 Các entry trên chuỗi các trang overflow

không thể xếp thứ tự được và các trang

overflow không thể được xếp gần các

trang khác

 Cách khắc phục: chỉ mục có thể được xây dựng lại một cách định kỳ để loại trừ các trang overflow, nhưng chi phí này quá đắt

Trang 61

Các loại dò tìm

 Dò tìm bằng (equality search): dò tìm

entry chỉ mục có giá trị bằng với giá trị dò tìm

 Key search có thể chứa nhiều thuộc tính

granularity) Ví dụ: chỉ mục NAMEDEPT xếp thứ

tự theo Name và DeptId Chỉ mục cho phép

khôi phục nhanh thông tin về người có tên là

Name ( có thể có nhiều người trùng tên) của 1 phòng cụ thể nào đó

61

Trang 62

009406321 Jacob Taylor MGT

101202303 John Smyth CS

121232343 David Jones EE

131141151 Anita Cohen CS

234567891 Mary Brown ECO

333444555 Ying Chen CHE

444555666 Sanjay Sen ENG

555666777 Mary Doe CS

666777888 Mary Brown PHY

900012045 Ann White MAT

Mary Brown, ECO

Mary Brown, PHY

Ying Chen, CHE

Trang 63

Range search

 Ví dụ:

Brown của phòng ECO (bằng cách dò bằng), ta

có thể khôi phục tất cả những ai có tên Mary

Brown trong các phòng khác.

Mary Brown đến David Jones của mọi phòng

ban

63

Trang 64

B+ Trees

 B+ Trees là cấu trúc index thông dụng

nhất

 B+ Trees cũng là chỉ mục nhiều mức và hỗ trợ việc dò tìm khóa các dạng miền,một

phần khóa hay cả khóa

 Có 2 dạng B+ Trees:

B+ Trees sẽ hoạt động không chỉ như 1 index

mà còn như 1 cấu trúc lưu trữ của file dữ liệu  B+ Trees là chỉ mục chính (main index)

Trang 65

Cấu trúc của B+ tree

Trang 66

Cấu trúc của B+ tree

 Con trỏ liền kề (sibling pointer) liên kết

các trang của mức lá thành một danh sách liên kết chứa các giá trị search key của các bản ghi trong bảng theo thứ tự được sắp

 Trái với ISAM, B+ tree tự thay đổi động

Khi các bản ghi được thêm hay xóa, các

trang lá và chỉ mục sẽ sửa đổi, thêm hay xóa và vì vậy các trang lá không tuần tự

trong file

Trang 67

Dò tìm miền ( Range search)

 Danh sách liên kết cho phép B+ tree dò

tìm theo miền (range search)

đã được định vị bằng cách tìm so sánh bằng

( equality search)

miền có thể được định vị bằng cách duyệt qua danh sách kể từ chỉ mục lá được tìm thấy bởi

so sánh bằng

67

Trang 68

So sánh ISAM và B+ tree

 Con trỏ sibling không cần thiết trong chỉ

mục ISAM vì các trang lá của chỉ mục

được lưu trữ trong file theo thứ tự được

sắp khi file được tạo, index là tĩnh (static)

và thứ tự được duy trì

 Range search được thực hiện bằng cách quét file một cách vật lý

 ISAM không hỗ trợ tìm theo miền

 Các entry chỉ mục được chèn mới sẽ

không được lưu trữ theo thứ tự đã được

Trang 69

So sánh ISAM và B+ tree

việc thêm mới hay xóa các bản ghi, bất kỳ đường dẫn nào từ gốc đến các lá chỉ mục đều có cùng

chiều dài Vì vậy chi phí I/O để khôi phục

(retrieve) một entry mức lá là như nhau cho mọi

lá chỉ mục

entry bảo đảm được là số separator tối thiểu

không xác định được nên chi phí khôi phục lá ở

cuối chain cũng không xác định được

69

Trang 70

So sánh ISAM và B+ tree

 Ưu điểm của B+ tree là thay vì tạo chuỗi các overflow khi thêm bản ghi mới thì cấu trúc của nó được sửa đổi sao cho cây vẫn cân bằng Các entry có thể được thêm hay xóa khỏi các trang và số separator trong 1 trang luôn nằm trong khoảng từ Φ/2 đến

Φ

Trang 71

Chỉ mục hash - Hash index

 Hashing là 1 giải thuật dò tìm quan trọng trong nhiều ứng dụng máy tính

 Có 2 loại hashing:

thay đổi, thường được dùng cho các quan hệ ít thay đổi

thể mở rộng ra hay thu nhỏ lại, thích hợp cho

các quan hệ thường xuyên phải thêm mới hay xóa bớt bản ghi

71

Ngày đăng: 12/05/2014, 12:04

HÌNH ẢNH LIÊN QUAN

Hình nhận thức, là 1 thiết kế vật lý để cải thiện  việc xử lý dữ liệu - Chương 12 Thiết kế vật lý database
Hình nh ận thức, là 1 thiết kế vật lý để cải thiện việc xử lý dữ liệu (Trang 13)
Bảng Product - Chương 12 Thiết kế vật lý database
ng Product (Trang 14)
Bảng hay của 1 bảng khác. - Chương 12 Thiết kế vật lý database
Bảng hay của 1 bảng khác (Trang 20)

TỪ KHÓA LIÊN QUAN

w