58
Chương 3 Thiết kế cơ sở dữ liệu vật Chương 3 Thiết kế cơ sở dữ liệu vật Giáo viên: Đỗ Thị Mai Hường Bộ môn: Hệ thống thông tin Khoa: Công nghệ thông tin

Chương 3 Thiếtkếcơ sởdữliệuvật lýfit.mta.edu.vn/files/DanhSach/Chuong3_Thietkecosodulieuvatly.pdf · 11. Tổchứctệptin LOGO Bảnghi có độdài cốđịnh:

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Chương 3 Thiết kế cơsở dữ liệu vật lýChương 3 Thiết kế cơsở dữ liệu vật lý

Giáo viên: Đỗ Thị Mai HườngBộ môn: Hệ thống thông tinKhoa: Công nghệ thông tin

LOGONội dung

Lưu trữ dữ liệu và file

Chỉ mụcThiế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ăngtừ, 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 idhay 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 filenà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ạinhấ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ộtphươ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ộtdò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ộtkhó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 Indexvì bản thân các dòng dữ liệu được lưu trữ và sắp xếp theothứ 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ếptheo 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 trongmộ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ệutrong 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 trongkhai báo của index, và mỗi một bản ghi giá trị của khóa trongindex 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ộtdò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ớiclustered 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ềucộ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ợpvớ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ườngCREATE 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ạihoặ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 designChoice 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à giaotá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 trongmỗi câu truy vấn được dùng để tạo ra danh sáchtầ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à giaotác:

Một số truy vấn và giao tác có ràng buộc nghiêmngặ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 truycậ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ạngchuẩ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ấnvà 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 trongquá 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ính thành tiền và tổng tiền cho các mặt hàng có trong

đơn hàng có lặp đi lặp lại gây mất thời gian? Có phân biệt được đơn hàng nào là đang đặt, đơn hàng nào

là đã đặt nhưng chưa giao, đơn hàng nào là đã giao hàng?

56

LOGOBài toán bán sách online

Phân tích nhu cầu bảo mật thông tin: Đối với người quản lý: Có thể chia ra thành mấy đối

tượng? Đối tượng quản trị hệ thống, đối tượng bán hàng, đối tượng giao hàng, đối tượng quản lý đặt hàng?

Đối với người mua: có cấp quyền truy cập vào hệ thốngbán hàng?

57

LOGOBài toán bán sách online

Phân tích yêu cầu phát sinh Nhu cầu giảm giá trên đơn hàng mua? Nhu cầu giảm giá cho khách Vip? Nhu cầu giảm giá theo dịp đặc biệt? Nhu cầu giảm giá trên một số sách? Nhu cầu giảm giá trên tất cả các sách?

58