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

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, .

pdf58 trang | Chia sẻ: thanhle95 | Lượt xem: 522 | Lượt tải: 1download
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