Lưu trữ dữ liệu và file
Dữ liệu được lưu trong các thiết bị lưu trữ ngoài như đĩa, băng
từ, và chỉ được nạp vào trong bộ nhớ chính khi quá trình xử lý
cần đến nó.
Các thiết bị lưu trữ
Cache
Main memory
Flash memory
Magnetic-disk
Optical storage
Tape storage
Main memory
Cache: Là thiết bị lưu trữ nhanh nhất và cũng có giá đắt nhất. Bộ
nhớ cache tương đối nhỏ, được quản lý bởi phần cứng của hệ
thống máy tính.
Main Memory: Dung lượng có thể lên tới vài Gigabytes trên
máy tính cá nhân và hàng trăm Gigabytes trên các máy Server.
Dữ liệu lưu trữ trên Main Memory sẽ mất khi mất nguồn hay lỗi
hệ thống.
Flash Memory: Khác với Main Memory, dữ liệu lưu trên thiết
bị lưu trữ loại này vẫn còn ngay cả khi mất nguồn hay lỗi hệ
thống. Flash Memory có giá thấp hơn Main Memory, thường sử
dụng rộng rãi để lưu trữ dữ liệu trên các thiết bị như camera,
máy nghe nhạc, điện thoại, USB, .
58 trang |
Chia sẻ: thanhle95 | Lượt xem: 522 | Lượt tải: 1
Bạn đang xem trước 20 trang tài liệu Bài giảng Hệ thống thông tin - Chương 3: Thiết kế cơ sở dữ liệu vật lý - Đỗ Thị Mai Hường, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Chương 3 Thiết kế cơ
sở dữ liệu vật lý
Giáo viên: Đỗ Thị Mai Hường
Bộ môn: Hệ thống thông tin
Khoa: Công nghệ thông tin
LOGONội dung
Lưu trữ dữ liệu và file
Chỉ mục
Thiết kế cơ sở dữ liệu vật lý
Bài tập vận dụng và thực hành
2
LOGOLưu trữ dữ liệu và file
Dữ liệu được lưu trong các thiết bị lưu trữ ngoài như đĩa, băng
từ, và chỉ được nạp vào trong bộ nhớ chính khi quá trình xử lý
cần đến nó.
Các thiết bị lưu trữ
Cache
Main memory
Flash memory
Magnetic-disk
Optical storage
Tape storage
Main memory
3
LOGO
Cache: Là thiết bị lưu trữ nhanh nhất và cũng có giá đắt nhất. Bộ
nhớ cache tương đối nhỏ, được quản lý bởi phần cứng của hệ
thống máy tính.
Main Memory: Dung lượng có thể lên tới vài Gigabytes trên
máy tính cá nhân và hàng trăm Gigabytes trên các máy Server.
Dữ liệu lưu trữ trên Main Memory sẽ mất khi mất nguồn hay lỗi
hệ thống.
Flash Memory: Khác với Main Memory, dữ liệu lưu trên thiết
bị lưu trữ loại này vẫn còn ngay cả khi mất nguồn hay lỗi hệ
thống. Flash Memory có giá thấp hơn Main Memory, thường sử
dụng rộng rãi để lưu trữ dữ liệu trên các thiết bị như camera,
máy nghe nhạc, điện thoại, USB, ...
Lưu trữ dữ liệu và file
4
LOGO
Magnetic – disk storage: Là phương tiện chủ yếu lưu trữ dữ
liệu lâu dài, thường toàn bộ cơ sở dữ liệu được lưu trữ trên đĩa
từ. Để xử lý dữ liệu trên đĩa từ, dữ liệu phải được chuyển sang
bộ nhớ chính (Main Memory). Hiện nay, dung lượng của đĩa
từ có thể từ vài chục Gigabytes đến hàng Terabyte.
Optical storage: Các đĩa CD (Compact Disk) với dung lượng
khoảng 700 Megabytes là dạng phổ biến nhất của các thiết bị
lưu trữ loại này. Và khoảng 4.7 đến 8.5 Gigabytes với đĩa
DVD (Digital Video Disk). Đĩa hai mặt có dung lượng lên tới
17 Gigabytes.
Lưu trữ dữ liệu và file
5
LOGO
Tape storage: Là thiết bị chủ yếu dùng để sao lưu dữ
liệu. Thiết bị lưu trữ loại này có giá rẻ hơn đĩa từ
nhưng tốc độ truy xuất chậm do phải đọc tuần tự. Khả
năng lưu trữ của băng từ là rất lớn (40 – 300
Gigabytes).
Các thiết bị lưu trữ được tổ chức phân cấp theo tốc độ
và giá cả: Ở mức cao là các thiết bị lưu trữ có khả
năng truy xuất nhanh hơn nhưng có giá đắt hơn.
Lưu trữ dữ liệu và file
6
LOGO
Phân cấp các thiết bị lưu trữ
Lưu trữ dữ liệu và file
7
LOGOLưu trữ dữ liệu
Trang: là một đơn vị thông tin đọc hoặc ghi từ đĩa. Kích thước
của mỗi trang là một tham biến của DBMS, có giá trị điển hình
là 4KB hoặc 8KB.
Chi phí của một trang I/O (input từ đĩa tới bộ nhớ chính và
output từ bộ nhớ chính ra đĩa) có ảnh hưởng lớn đến chi phí
của các phép toán cơ sở dữ liệu, và các hệ thống cơ sở dữ liệu
thường tối ưu hoá rất cẩn thận chi phí này.
Mỗi bản ghi trong một file có một định danh gọi là record id
hay ngắn gọn là rid. Rid có thể được sử dụng để xác định địa
chỉ của trang chứa bản ghi này.
8
LOGOLưu trữ dữ liệu và file
Quản lý vùng đệm:
Dữ liệu được đọc vào bộ nhớ để xử lý, và viết vào đĩa để
lưu trữ lâu dài bằng một phần mềm gọi là quản lý vùng
đệm.
Khi lớp files and access methods (lớp file) cần xử lý một
trang nào đó, nó yêu cầu hệ thống quản lý vùng đệm nạp
trang này, xác định rid của trang. Hệ thống quản lý vùng
đệm nạp trang này từ đĩa nếu nó không sẵn sàng trong bộ
nhớ.
9
LOGOLưu trữ dữ liệu và file
Những khoảng trống trên đĩa được quản lý bởi disk space
manager .
Khi lớp files and access methods cần thêm các khoảng trống
để nhận thêm các bản ghi mới trong một file nào đó, nó yêu
cầu disk space manager định vị một trang đĩa bổ sung cho file
này, nó cũng thông báo cho disk space manager khi không cần
đến một trang đĩa nào đó của nó.
Disk space manager giữ lại dấu vết của các trang đang được
lớp file sử dụng; nếu một trang nào không còn cần cho lớp file
nữa, space manager sẽ ghi nhớ điều này, và tái sử dụng các
vùng trống nếu lớp file yêu cầu một trang mới sau đó.
10
LOGOTổ chức tệp tin
Bản ghi có độ dài cố định
11
LOGOTổ chức tệp tin
Bản ghi có độ dài cố định:
Ví dụ:
12
LOGOTổ chức tệp tin
Bản ghi có độ dài cố định:
Vấn đề nảy sinh:
Nếu kích thước của một khối không chia hết cho 53 thì một
số bản ghi sẽ vượt quá một khối đĩa (một bản ghi có thể nằm
trong hai khối đĩa. Phải truy xuất tới hai khối đĩa để đọc hay
ghi một bản ghi.
Cách giải quyết: Lưu mỗi bản ghi trong một khối. Phần
khoảng trống dư lại ở cuối khối sẽ bị bỏ qua.
13
LOGOTổ chức tệp tin
Bản ghi có độ dài cố định:
Khó khăn khi xóa một bản ghi với cấu trúc lưu trữ kiểu này.
Khoảng trống bị chiếm bởi bản ghi đã xóa hoặc là phải được
lấp đầy bởi bản ghi khác hoặc là phải được đánh dấu xóa.
Cách giải quyết:
Dịch chuyển các bản ghi sau bản ghi bị xóa về trước.
=> Khoảng không gian còn trống luôn ở cuối khối.
Một cách tiếp cận đơn giản hơn là di chuyển bản ghi cuối
cùng.
Sử dụng phương pháp đánh dấu các bản ghi bị xóa: đánh dấu
vị trí các bản ghi bị xóa và chờ thao tác thêm bản ghi tiếp
theo sẽ sử dụng lại khoảng không gian bị trống đó
14
LOGOTổ chức tệp tin
Bản ghi có độ dài cố định:
Nhận xét:
Cấu trúc bản ghi có độ dài cố định việc cài đặt các
thao tác thêm hay xóa bản ghi là đơn giản do
khoảng không gian để lại bởi bản ghi bị xóa cũng
vừa bằng khoảng không gian cần thiết cho bản ghi
thêm vào.
15
LOGOTổ chức tệp tin
Bản ghi có độ dài thay đổi
Lưu trữ nhiều kiểu bản ghi trong một tệp tin.
Các kiểu bản ghi với độ dài thay đổi trên một hay
nhiều thuộc tính.
Các kiểu bản ghi cho phép các trường được lặp lại,
như mảng hay tập hợp.
16
LOGOTổ chức các bản ghi trong tệp tin
Có một vài cách tổ chức các bản ghi trong file như sau:
Tổ chức tệp tin Heap: Một bản ghi được lưu ở bất kỳ đâu trong
file. Không có thứ tự của các bản ghi. Thông thường một file lưu
một quan hệ.
Tổ chức tệp tin tuần tự: Các bản ghi được tổ chức tuần tự theo
giá trị của một khóa tìm kiếm (search key) trong mỗi bản ghi.
Tổ chức tệp tin băm: Sử dụng một hàm băm tính toán trên một số
thuộc tính của bản ghi và dùng kết quả để đó để xác định khối
đĩa mà bản ghi được lưu trữ.
17
LOGOTổ chức các bản ghi trong tệp tin
Tổ chức tệp tin Heap
Là kiểu tổ chức file đơn giản nhất, các bản ghi không được
sắp xếp thứ tự.
Việc thêm mới một bản ghi là đơn giản: Tìm khối đĩa cuối
cùng của file, sao chép khối đĩa vào bộ đệm, thêm mới bản
ghi rồi ghi lại vào đĩa. Địa chỉ của khối đĩa cuối cùng được
cập nhật lại vào file header.
Khi tìm kiếm phải sử dụng phương pháp tìm kiếm tuần tự:
Đọc lần lượt từng khối đĩa vào bộ nhớ chính rồi tiến hành tìm
kiếm các bản ghi. Như vậy nếu file gồm n khối đĩa thì thời
gian tìm kiếm trung bình sẽ là n/2.
18
LOGOTổ chức các bản ghi trong tệp tin
Tổ chức tệp tin tuần tự
Tổ chức file tuần tự được thiết kế để xử lý hiệu quả các bản
ghi theo thứ tự được sắp dựa trên một khoá tìm kiếm nào
đó.
Một khóa tìm kiếm là một hay một nhóm thuộc tính bất kỳ,
không nhất thiết phải là khóa chính hay siêu khóa.
Sử dụng kỹ thuật con trỏ để truy xuất nhanh chóng tới bản
ghi theo thứ tự khoá tìm kiếm. Con trỏ trong mỗi bản ghi sẽ
trỏ tới bản ghi tiếp theo trong thứ tự khoá tìm kiếm
19
LOGOTổ chức các bản ghi trong tệp tin
Tổ chức tệp tin tuần tự (tt)
Tổ chức file tuần tự cho phép đọc các bản ghi theo
thứ tự được sắp thuận lợi cho mục đích hiển thị
cũng như cho các thuật toán xử lý truy vấn (query
– processing algorithms).
Tuy vậy, khó khăn gặp phải khi tổ chức file tuần tự
là việc duy trì thứ tự vật lý của các bản ghi trong
file khi xảy ra các thao tác thêm, xóa bản ghi.
20
LOGO
Tổ chức tệp tin băm
Phương pháp tổ chức file dạng này cho phép truy cập
nhanh tới bản ghi cần tìm.
Điều kiện tìm kiếm phải là điều kiện bằng trên một thuộc
tính, gọi là thuộc tính băm (hash attribute, hash field) của
file. Thông thường thuộc tính đem băm cũng là khóa.
Ý tưởng của phương pháp này là sử dụng một hàm h nhận
giá trị đầu vào là giá trị băm và cho ra kết quả là địa chỉ của
khối đĩa chứa bản ghi cần tìm.
Ưu điểm của phương pháp tổ chức file dạng này là cho phép
thực hiện các thao tác nhanh. Nhược điểm: việc xây dựng hàm
băm là khó khăn vì phải đảm bảo dễ tính toán và phân phối
đều các bản ghi.
Tổ chức các bản ghi trong tệp tin
21
LOGOChỉ mục
Sử dụng chỉ mục để tăng tốc độ truy vấn đến dữ liệu trong bảng.
Việc truy cập dữ liệu có sử dụng index gọi là ‘index access’
Trường hợp ngược lại, gọi là ‘table scan’ khi đó các bản ghi sẽ
được xử lý tuần tự. Table scan là một trong những động tác có hại
nhất cho hiệu suất của SQL Server.
Một chỉ mục là một cấu trúc dữ liệu giúp tổ chức các bản ghi dữ liệu
trên đĩa để tối ưu các phép toán truy cập. Chúng cung cấp một
phương pháp giúp nhanh chóng tìm kiếm dữ liệu dựa trên các giá trị
trong các cột.
22
LOGOChỉ mục
Ví dụ:
Nếu tạo một Index trên cột khóa chính và sau đó tìm kiếm một
dòng dữ liệu dựa trên một trong các giá trị của cột này:
Đầu tiên SQL Server sẽ tìm giá trị này trong Index.
Sau đó sử dụng Index để nhanh chóng xác định vị trí của
dòng dữ liệu cần tìm.
Các loại Index:
Clustered
Non-Clustered
Unique
Composite index
23
LOGO
Clustered Index:
Clustered Index lưu trữ và sắp xếp dữ liệu vật lý trong table
hoặc view dựa trên các giá trị khóa của chúng. Các cột
khóa này được chỉ định trong định nghĩa index.
Mỗi table hoặc view chỉ có duy nhất một Clusterd Index
vì bản thân các dòng dữ liệu được lưu trữ và sắp xếp theo
thứ tự vật lý dựa trên các cột trong loại Index này.
Khi dữ liệu trong table hoặc view cần được lưu trữ và sắp xếp
theo một thứ tự nhất định chính là lúc cần dùng đến Clustered
Index.
Một bảng có một Clusted Index thì table được gọi là Clustered
Table. Nếu không, các dòng dữ liệu của bảng được lưu trong
một cấu trúc không được sắp xếp gọi là HEAP
24
Chỉ mục
LOGOChỉ mục
Non-Clustered có một cấu trúc tách biệt với dòng dữ liệu
trong table hoặc view.
Mỗi một index loại này chứa các giá trị của các cột khóa trong
khai báo của index, và mỗi một bản ghi giá trị của khóa trong
index này chứa một con trỏ tới dòng dữ liệu tương ứng của nó
trong table.
Mỗi con trỏ từ một dòng của Non-Clustered index tới một
dòng dữ liệu trong table được gọi là “row locator”.
Cấu trúc của row locator phụ thuộc vào việc các trang dữ liệu
được lưu trong HEAP hay trong một Clustered Table.
Đối với HEAP, row locator là một con trỏ tới dòng dữ liệu, với
clustered table, row locator chính là khóa index của clustered
index.
25
LOGOChỉ mục
Unique Index:
Là kiểu Index dùng để đảm bảo tính duy nhất trong các cột
được tạo Index. Nếu Index loại này được tạo dựa trên nhiều
cột, thì tính duy nhất của giá trị được tính trên tất cả các cột
đó, không chỉ riêng rẽ từng cột
Ví dụ, nếu tạo ra một Index trên các cột FirstName và
LastName trong một bảng, thì giá trị của 2 cột này kết hợp
với nhau phải là duy nhất, nhưng riêng rẽ từng cột thì giá
trị vẫn có thể trùng nhau.
26
LOGOChỉ mục
Composite index
Là kiểu Index có nhiều hơn 1 cột.
Trong SQL Server 2005 và 2008, có thể có đồng thời tối đa
16 cột trong một Index, miễn là kích thước của Index
không vượt quá giới hạn 900 byte.
Cả hai kiểu index cơ sở là Clustered Index và Non
Clustered Index cũng có thể đồng thời là là kiểu Composite
index.
27
LOGOChỉ mục
Tạo chỉ mục:
CREATE [UNIQUE] [CLUSTERED | NONCLUSTERED] INDEX
index_name ON {table_name | view_name} (column1 [ASC | DESC]
[{, column2 [ASC | DESC]} . . . ])
[INCLUDE (column_name1 [,n])]
[WITH [FILLFACTOR = n] [[,] IGNORE_DUP_KEY]
[[,] PAD_INDEX] [[,] DROP_EXISTING] [[,] ONLINE = {ON | OFF}]]
Một index có thể được tạo trên một cột hoặc kết hợp nhiều cột
Tham số ONLINE = ON – vẫn cho phép truy cập bảng khi mà chỉ
mục đang được tạo.
28
LOGOChỉ mục
Vô hiệu hóa chỉ mục:
alter index index_name on table_name disable
Xóa chỉ mục:
drop index index_name on table_name
29
LOGO
30
Ví dụ về tạo chỉ mục trong CSDL
AdventureWorks
Tạo chỉ mục cho cột EmployeeID trên bảng
[HumanResources].[Employee]
CREATE CLUSTERED INDEX Index_EmpID ON
[HumanResources].[Employee] (EmployeeID)
Tạo chỉ mục gồm nhiều trường
CREATE UNIQUE INDEX I_Order_Product_ID ON
[Production].[WorkOrder] ( [WorkOrderID],[ProductID] ) WITH
FILLFACTOR = 80
Không thể tạo chỉ mục duy nhất trên các trường có giá trị lặp lại
hoặc có giá trị NULL
LOGOThực hành về index
Bài thực hành index:
Tạo bảng Customers(MaKH, TenKH, Diachi, Dienthoai,
Fax, Email)
Chèn hàng triệu bản ghi. Tính thời gian thực hiện câu lệnh
tìm kiếm khách hàng theo địa chỉ khi không tạo index và
khi có index
31
LOGOThực hành về index
CREATE TABLE Customers(
MaKH varchar (10) NOT NULL ,TenKH nvarchar (30) NULL
, DiaChi nvarchar (50) NULL ,DienThoai varchar (20) NULL
, Fax varchar (20) NULL , Email varchar (20) NULL )
Chèn vào 13000000 bản ghi
Tạo thủ tục Tinhthoigianthuchien tính thời gian thực hiện
câu lệnh tìm kiếm theo địa chỉ.
Tạo index trên trường địa chỉ.
Gọi lại thủ tục Tinhthoigianthuchien kiểm tra thời gian thực
hiện câu lệnh tìm kiếm
Tham khảo bài thực hành về index
32
LOGO
33
Thiết kế cơ sở dữ liệu vật lý
Requirements collection
and analysis.
Conceptual database
design
Choice of a DBMS
Data model mapping
Physical database design
Database system
implementation and tuning
Quá trình thiết kế cơ sở dữ liệu:
LOGO
34
Thiết kế cơ sở dữ liệu vật lý
Khái niệm:
Thiết kế cơ sở dữ liệu vật lý là quá trình chọn cấu
trúc lưu trữ và truy xuất dữ liệu cho cơ sở dữ liệu.
Mục tiêu:
Đạt được hiệu suất mong muốn.
Đảm bảo tính toàn vẹn, bảo mật và khả năng khôi
phục dữ liệu.
LOGO
35
Thiết kế cơ sở dữ liệu vật lý
Yếu tố ảnh hưởng đến thiết kế cơ sở dữ liệu vật lý.
Quyết định thiết kế cơ sở dữ liệu vật lý.
LOGO
Yếu tố ảnh hưởng đến thiết kế cơ sở dữ liệu vật lý.
Việc thực hiện truy vấn và giao tác
Thiết kế cơ sở dữ liệu vật lý
36
LOGO
37
Yếu tố ảnh hưởng đến thiết kế cơ sở dữ liệu vật lý
Phân tích truy vấn cơ sở dữ liệu và giao tác:
Với mỗi tác vụ truy vấn ta cần xác định:
1. Files sẽ được truy cập tới.
2. Thuộc tính trong điều kiện chọn.
3. Điều kiện chọn (khoảng giá trị, đẳng thức, bất đẳng thức).
4. Thuộc tính trong điều kiện liên kết.
5. Thuộc tính mà giá trị sẽ được lấy bởi câu truy vấn.
LOGO
38
Yếu tố ảnh hưởng đến thiết kế cơ sở dữ liệu vật lý
Phân tích truy vấn cơ sở dữ liệu và giao tác:
Với mỗi tác vụ update, cần xác định:
1. Files sẽ được update.
2. Loại của tác vụ: insert,update, hay delete.
3. Thuộc tính được xác định bởi điều kiện chọn cho việc
delete hay update.
4. Thuộc tính mà giá trị bị thay đổi bởi tác vụ update.
LOGO
39
Yếu tố ảnh hưởng đến thiết kế cơ sở dữ liệu vật lý
Phân tích tần số mong đợi của truy vấn và giao
tác:
Xem xét tần số của truy vấn và giao tác.
Tần số trên cùng với thông tin về thuộc tính trong
mỗi câu truy vấn được dùng để tạo ra danh sách
tần số truy vấn và giao tác được sử dụng.
LOGO
40
Yếu tố ảnh hưởng đến thiết kế cơ sở dữ liệu vật lý
Phân tích ràng buộc thời gian của truy vấn và giao
tác:
Một số truy vấn và giao tác có ràng buộc nghiêm
ngặt về hiệu suất (performance constrains).
• Ví dụ: Một giao tác cần 95% hoàn thành trong 5 giây và
không kéo dài hơn 20 giây.
Độ ưu tiên cao hơn trong việc chọn cấu trúc truy
cập chính.
LOGO
41
Yếu tố ảnh hưởng đến thiết kế cơ sở dữ liệu vật lý
Phân tích tần số mong đợi của toán tử update
Tối thiểu việc truy xuất tới một file được update
thường xuyên.
Phân tích ràng buộc duy nhất trên thuộc tính
Việc truy xuất cần được xác định cho tất cả thuộc
tính là:
• Khoá dự tuyển.
• Khoá chính.
• Có ràng buộc duy nhất.
LOGO
42
Quyết định thiết kế cơ sở dữ liệu vật lý
Quyết định thiết kế chỉ mục.
Phân tích nhu cầu sử dụng thông tin
Phân tích yếu tố bảo mật
LOGO
43
Quyết định thiết kế cơ sở dữ liệu vật lý
Quyết định thiết kế chỉ mục (index):
1. Đặt chỉ mục một thuộc tính.
2. Thuộc tính hoặc những thuộc tính nào được đặt
chỉ mục.
3. Thiết lập chỉ mục nhóm (clustered index).
LOGO
44
Quyết định thiết kế cơ sở dữ liệu vật lý
Quyết định thiết kế chỉ mục:
1. Đặt chỉ mục một thuộc tính
Thuộc tính là khoá chính.
Thuộc tính trong điều kiện chọn hoặc điều kiện liên kết.
LOGOQuyết định thiết kế cơ sở dữ liệu vật lý
Quyết định thiết kế chỉ mục:
1. Đặt chỉ mục một thuộc tính.
2. Thuộc tính hoặc những thuộc tính nào được đặt chỉ
mục.
Một chỉ mục có thể được đặt trên một hoặc nhiều thuộc tính.
Nếu nhiều thuộc tính trong một quan hệ gắn liền với nhau
trong một số câu truy vấn thì sử dụng chỉ mục đa thuộc tính
(multiattribute index).
45
LOGOQuyết định thiết kế cơ sở dữ liệu vật lý
Quyết định thiết kế chỉ mục:
1. Đặt chỉ mục một thuộc tính.
2. Thuộc tính hoặc những thuộc tính nào được đặt
chỉ mục.
3. Thiết lập chỉ mục nhóm (clustered index).
Trong một bảng, nhiều nhất một chỉ mục là chỉ mục chính
(primary index) hoặc chỉ mục nhóm (clustering index).
Việc chọn chỉ mục nhóm phụ thuộc vào yêu cầu bảng sắp thứ tự
trên thuộc tính nào.
Một chỉ mục nhóm có thể thiết lập là chỉ mục đa thuộc tính.
46
LOGOLựa chọn thiết kế cơ sở dữ liệu vật lý
Phi chuẩn hoá (denormalization): :
Quá trình khi lưu trữ chuyển cơ sở dữ liệu luận lý
ở dạng chuẩn cao (BCNF hoặc 4NF) sang dạng
chuẩn thấp hơn, có thể là 1NF, 2NF, hoặc 3NF.
Sự dư thừa và không nhất quán dữ liệu.
Nhưng tăng tốc độ thực thi của những truy vấn
và giao tác thường xuyên.
47
LOGOLựa chọn thiết kế cơ sở dữ liệu vật lý
Ví dụ:
Denormalized.
Một quan hệ ở dạng BCNF có thể được lưu trữ ở
nhiều bảng cũng ở dạng BCNF.
EMPLOYEE(Ssn,Name,Phone,Grade,Salary)
EMP1(Ssn,Name,Phone)
EMP2(Ssn,Grade,Salary)
48
LOGODatabase tuning
Khi cơ sở dữ liệu được triển khai và vận hành, có thể
xuất hiện một số vấn đề chưa được tính toán trong
quá trình thiết kế cơ sở dữ liệu vật lý.
Cần xem xét lại thiết kế cơ sở dữ liệu vật lý.
Mục tiêu của tuning:
Tăng tốc độ thực thi của ứng dụng.
Giảm thời gian đáp ứng của truy vấn và giao tác.
Cải thiện thông năng của giao tác.
49
LOGOMột số điều chỉnh
Điều chỉnh chỉ mục (tuning indexes).
Điều chỉnh thiết kế cơ sở dữ liệu (tuning the database
design).
Điều chỉnh truy vấn (tuning queries).
50
LOGOĐiều chỉnh chỉ mục
Chỉ mục nào?
Truy vấn chạy quá lâu vì ít chỉ mục.
Những chỉ mục có thể không sử dụng.
Chỉ mục trải qua quá nhiều update vì chỉ mục được đặt trên
thuộc tính thay đổi thường xuyên.
Những lựa chọn điều chỉnh chỉ mục:
Bỏ hoặc thiết lập chỉ mục mới.
Đổi non-clustered index thành clustered index hoặc ngược
lại.
Tổ chức lại chỉ mục.
51
LOGOĐiều chỉnh thiết kế cơ sở dữ liệu
Nếu thiết kế cơ sở dữ liệu không đạt được mục
tiêu mong đợi
Xem lại thiết kế cơ sở dữ liệu.
52
LOGOTổng kết
Các yếu tố ảnh hưởng đến quyết định thiết kế cơ sở
dữ liệu vật lý.
Những chỉ dẫn để chọn thiết kế hợp lý.
Trong quá trình ứng dụng cơ sở dữ liệu, có thể nảy
sinh vấn đề.
Điều chỉnh cơ sở dữ liệu (database tuning).
53
LOGOBài toán bán sách online
Lựa chọn những chỉ mục nào được tạo:
Những quan hệ nào được chỉ mục và trường nào hoặc kết
hợp một số trường để tạo ra chỉ mục khoá tìm kiếm.
Với mỗi chỉ mục, xác định xem nó nên được phân cụm hay
không phân cụm?
Điều chỉnh lược đồ logic
Phân tích nhu cầu sử dụng thông tin
Phân tích nhu cầu bảo mật thông tin.
54
LOGOBài toán bán sách online
Mô hình quan hệ
Nhaxuatban(MaNXB,TenNXB,Diachi,Dienthoai)
Tacgia(MaTG,Hoten,Diachi,Dienthoai)
Chude(MaCD,TenCD)
Sach(Masach,Tensach,soluong,dongia,MaNXB,MaCD)
Tacgia_Sach(MaTG,Masach,sotrang,ghichu)
Khachhang(MaKH,Hoten,Diachi,Dienthoai)
Donhang(MaDH,MaKH,NgayDH)
Chitietdonhang(MaDH,MaSach,Soluong)
55
LOGOBài toán bán sách online
Phân tích nhu cầu sử dụng thông tin:
Mô hình dữ liệu có lưu trữ được giá tai thời điểm bán cho
mỗi đơn hàng?
Việc t