You are on page 1of 3

SQL ASSIGNMENT 6 (Gồm 2 PART)

Định dạng file nộp: 1 file zip gồm:


- 1 file .sql cho PART I
- 1 file draw.io hoặc 1 bản vẽ pdf từ các phần mềm khác cho PART II

PART I: PRACTICE USING SQL QUERY


Database: AdventureWorksDW2019
--> Change working database to AdventureWorksDW2019
Câu 1:
Từ bảng DimProduct, DimSalesTerritory và FactInternetSales, hãy truy vấn ra các thông
tin sau của các đơn hàng được đặt trong năm 2013 và 2014:
SalesOrderNumber, SalesOrderLineNumber, ProductKey,EnglishProductName,
SalesTerritoryCountry, SalesAmount, OrderQuantity

Câu 2:
Từ bảng DimProduct, DimSalesTerritory và FactInternetSales,
tính tổng doanh thu (đặt tên là InternetTotalSales)
và số đơn hàng (đặt tên là NumberofOrders)
của từng sản phẩm theo mỗi quốc gia từ bảng DimSalesTerritory. Kết quả trả về gồm có
các thông tin sau:
SalesTerritoryCountry, ProductKey, EnglishProductName, InternetTotalSales,
NumberofOrders

Câu 3:
Từ bảng DimProduct, DimSalesTerritory và FactInternetSales,
hãy tính toán % tỷ trọng doanh thu của từng sản phẩm (đặt tên là
PercentofTotaInCountry)
trong Tổng doanh thu của mỗi quốc gia. Kết quả trả về gồm có các thông tin sau:
SalesTerritoryCountry, ProductKey, EnglishProductName, InternetTotalSales,
PercentofTotaInCountry (định dạng %)
PHẦN II: PRACTICE DIMENSIONAL MODELING

Mr.T đang là Senior Data Entry của Công ty Bảo hiểm D, chịu trách nhiệm ghi lại các
khiếu nại của khách hàng liên quan đến bồi thường bảo hiểm. Xuyên suốt từ năm 2011
đến năm 2020, Mr.T đã ghi lại các khiếu nại của khách hàng vào file [Dataset]
SQL_DW_Insurance Complain.xlsx
Năm 2023, Công ty Bảo hiểm D tiến hành chuyển đổi số và yêu cầu loại bỏ toàn bộ các
flat file (excel, googlesheet, csv …) để thay thế bằng việc sử dụng hạ tầng dữ liệu của
riêng công ty. Vì vậy, Ban giám đốc yêu cầu Mr.T phải suy nghĩ ra cách để lưu trữ file
[Dataset] SQL_DW_Insurance Complain.xlsx vào database sao cho đảm bảo các yếu
tố:
- Tối ưu về số lượng bảng được lưu trữ trong database
- Thuận tiện cho việc quản lý
- Dễ dàng trong việc sử dụng
- Không tạo nên sự trùng lặp trong quá trình lưu trữ
- Không gây hao hụt dữ liệu
Mr.T đã nhớ đến bài học ở Datatomic về Dimensional Modeling và nghĩ đây sẽ là cơ hội
thật tốt để áp dụng những kiến thức này.

Tư duy của Mr.T như sau:


Từ sheet Complain_All trong file [Dataset] SQL_DW_Insurance Complain, tách thành
các bảng: Fact và Dim để đảm bảo các yếu tố trên

Yêu cầu:
Các học viên hãy cùng Mr.T xây dựng data model để gửi Ban giám đốc phê duyệt trước
khi tiến hành. Học viên có thể sử dụng Entity Relationship Diagrams trong draw.io
(highly recommend) hoặc 1 phần mềm/ứng dụng khác có thể vẽ được 1 bản blueprint về
data model. (Tham khảo phần Dimensional Modeling - Slide class 6).
Dưới đây là ví dụ về mặt hiển thị của 1 data model của 1 database khác để các học viên
tham khảo:

You might also like