CHƢƠNG 4: MỘT VÍ DỤ (CASE STUDY) VỀ TỐI ƢU HOÁ TRUY VẤN ĐỂ THỬ NGHIỆM THUẬT TOÁN

Một phần của tài liệu Tìm hiểu về tối ưu hóa truy vấn trong cơ sở dữ liệu phân tán (Trang 71)

- Dạng chuẩn tuyển là tuyển (∨) của những phép hội (∧):

CHƢƠNG 4: MỘT VÍ DỤ (CASE STUDY) VỀ TỐI ƢU HOÁ TRUY VẤN ĐỂ THỬ NGHIỆM THUẬT TOÁN

TRUY VẤN ĐỂ THỬ NGHIỆM THUẬT TOÁN

4.1. Xác định thuật toán

Bốn thuật toán tối ưu truy vấn trong CSDL phân tán đã được trình bày ở chương 3 là bốn thuật toán tiêu biểu cho những lớp khác nhau của thuật toán tối ưu hóa truy vấn trong CSDL phân tán. Tổng quan, mỗi thuật toán đều có nhận thông tin thống kê về dữ liệu, kích thước thông báo, thời gian trả lời và tổng chi phí… Trong chương này, em xin cài đ t và thử nghiệm thuật toán R*, một thuật toán tối thiểu hóa tổng chi phí , kích thước thông báo…

4.2. Cấu trúc của cơ sở dữ liệu và xây dựng ứng dụng thử nghiệm

Sau đây là phần ứng dụng cài đ t sử dụng thuật toán R*. CSDL sử dụng là CSDL quản lý sản phẩm bán hàng qua mạng Internet. Dữ liệu được lưu trong đó gồm thông tin khách hàng, địa chỉ khách hàng, các sản phẩm khách hàng đ t mua qua mạng Internet.

4.2.1. Cấu trúc của cơ sở dữ liệu

Table: Geography

Tên cột Kiểu dữ liệu Giải thích

GeographyKey Int Khóa chính

City nvarchar(30) Tỉnh, thành phố

StateProvinceCode nvarchar(3) Mã thành phố StateProvinceName nvarchar(50) Tên tỉnh, thành phố

CountryRegionCode nvarchar(3) Mã vùng

EnglishCountryRegionName nvarchar(50) Tên vùng

Table: Customer

Tên cột Kiểu dữ liệu Giải thích

CustomerKey int Khóa chính

GeographyKey int Khóa ngoại (bảng Geography)

FirstName nvarchar(50) Tên

MiddleName nvarchar(50) Tên đệm

LastName nvarchar(50) Tên họ

BirthDate datetime Ngày sinh

MaritalStatus nchar(1) T nh trạng hôn nhân

Gender nvarchar(1) Giới tính

EmailAddress nvarchar(50) Địa chỉ email

TotalChildren tinyint Tổng số con

NumberCarsOwned tinyint Số xe ô tô sở hữu AddressLine1 nvarchar(120) Địa chỉ 1

AddressLine2 nvarchar(120) Địa chỉ 2

Phone nvarchar(20) Điện thoại

DateFirstPurchase datetime Ngày đầu tiên mua hàng CommuteDistance nvarchar(15) Khoảng cách

Table: InternetSales

Tên cột Kiểu dữ liệu Giải thích (adsbygoogle = window.adsbygoogle || []).push({});

ProductKey int Khóa ngoại (bảng Product)

CustomerKey int Khóa ngoại (bảng Customer)

SalesOrderNumber nvarchar(20) Mã đ t đơn hàng OrderQuantity smallint Số lượng đơn đ t hàng UnitPrice money Giá trên 1 đơn vị sản phẩm

DiscountAmount float Lượng giảm giá

ProductStandardCost money Giá chuẩn của sản phẩm TotalProductCost money Tổng giá trị của sản phẩm

Table: Product

Tên cột Kiểu dữ liệu Giải thích

ProductKey int Khóa chính

ProductAlternateKey nvarchar(25) Mã sản phẩm EnglishProductName nvarchar(50) Tên sản phẩm

StandardCost money Giá chuẩn

Color nvarchar(15) Màu sắc

SafetyStockLevel smallint Mức độ lưu trữ hàng

ListPrice money Giá ghi trên bao bì

Weight float Cân n ng EnglishDescription nvarchar(400) Ghi chú thêm

StartDate datetime Ngày nhập

EndDate datetime Ngày kết th c

Status nvarchar(7) Trạng thái

Sơ đồ quan hệ giữa các bảng như sau:

4.2.2. Xây dựng ứng dụng thử nghiệm

Ứng dụng cài đ t với 3 trạm.

- Trạm 1: gồm 2 bảng Customer (18484 bản ghi) và Geography (655 bản ghi).

Một phần của tài liệu Tìm hiểu về tối ưu hóa truy vấn trong cơ sở dữ liệu phân tán (Trang 71)