Lược đồ dữ liệu trong datawarehouse

Một phần của tài liệu Thiết kế data warehouse và ứng dụng trong hệ thống thông tin ngành điện (Trang 37)

Trong thiết kế các cơ sở dữ liệu quan hệ, mô hình dữ liệu quan hệ thực thể thường được sử dụng. Mô hình này bao gồm một tập hợp các thực thể và các mối quan hệ giữa các thực thể đó. Mô hình dữ liệu quan hệ thực thể thường thích hợp cho các giao dịch xử lý trực tuyến.

Trong môi trường data warehouse, yêu cầu căn bản là một lược đồ tạo ra phải đảm bảo các tính năng ngắn gọn, hướng chủ đề và thân thiện, phù hợp với phân tích dữ liệu trực tuyến.

Mô hình dữ liệu phổ biến nhất cho môi trường data warehouse chính là mô hình dữ liệu đa chiều. Mô hình này thường tồn tại dưới dạng lược đồ hình sao (star schema) hay lược đồ hình bông tuyết (snowflake schema) hay lược đồ chòm sao (fact constellation schema).

Lược đồ hình sao: là mô hình lược đồ phổ biến nhất và đơn giản nhất khi thiết kế data

thừa dữ liệu nằm ở trung tâm của mô hình (bảng sự kiện) và tập hợp các bảng bao xung quanh (bảng chiều). Về mặt hình học, lược đồ này giống với hình các ngôi sao với các bảng chiều xuất hiện quay xung quanh bảng sự kiện trung tâm.

Mô hình star giúp tối ưu hiệu quả của data warehouse nhờ câu lệnh truy vấn đơn giản và thời gian trả lời truy vấn nhanh.

Ví dụ là lược đồ mô tả bán hàng của công ty AllElectronics được chỉ ra như hình vẽ bên dưới. Việc bán hàng được xem xét dưới 4 chiều được đặt tên như: time, item, branch, location. Lược đồ này có bảng sự kiện tên là sales nằm ở trung tâm. Bảng sự kiện này có khoá nối đến các bảng chiều cùng với 2 giá trị độ đo là dollars sold

units sold. Để giảm thiểu kích cỡ của bảng sự kiện, các định danh khoá của bảng chiều (time_key item_key) thường là các số tuần tự được tạo ra bởi hệ thống.

Hình 16: Lược đồ hình sao

Chú ý rằng trong lược đồ hình sao, mỗi chiều chỉ được biểu diễn bởi một bảng và mỗi bảng chứa đựng một tập các thuộc tính. Ví dụ bảng chiều location chứa các thuộc tính như {flocation_key, street, city, province_or_state, country}. Ràng buộc này có thể tạo ra độ dư thừa dữ liệu. Ví dụ 2 thành phố là "Vancouver" và ”Victoria" thuộc tỉnh

Canadian, bang British Columbia của Canada. Hai thành phố này trong bảng chiều location sẽ tạo ra độ dư thừa dữ liệu từ các thuộc tính province_or_statecountry, cụ thể là, (..., Vancouver, British Columbia, Canada) và (..., Victoria, British Columbia, Canada). Hơn nữa, độ dư thừa dữ liệu có thể nhiều hơn khi mà các bảng chiều có lưu giữ thêm mức độ phân cấp.

Lược đồ bông tuyết: Đây là biến thể của lược đồ hình sao khi mà một vài bảng chiều

được chuẩn hoá bằng cách tách dữ liệu thêm ra một vài bảng nữa để tránh độ dư thừa dữ liệu. Kết quả này hình thành nên một hình vẽ giống với hình bông tuyết.

Sự khác nhau chính lược đồ hình sao và lược đồ hình bông tuyết là bảng chiều của lược đồ hình bông tuyết được lưu giữ ở dạng chuẩn hoá để giảm độ dư thừa dữ liệu. Các bảng chiều như vậy sẽ dễ dàng hơn trong việc bảo trì và giảm thiểu cho cấu trúc lưu trữ. Tuy nhiên việc tiết kiệm lưu trữ này là không đáng kể bởi dữ liệu lớn nhất trong môi trường data warehouse là ở bảng sự kiện. Hơn nữa, cấu trúc dữ liệu của lược đồ bông tuyết sẽ làm giảm hiệu năng của việc xem dữ liệu vì cần phải kết nối dữ liệu giữa các bảng khi thực hiện truy vấn. Vì vậy, hiệu năng của hệ thống sẽ bị ảnh hưởng. Do vậy, lược đồ bông tuyết mặc dù làm giảm độ dư thừa nhưng nó không được sử dụng phổ biến như lược đồ hình sao trong khi thiết kế data warehouse.

Ví dụ lược đồ bông tuyết mô tả việc bán hàng cho công ty AllElectronics được đưa ra như hình bên dưới. Bảng sự kiện sales giống hệt về vị trí và cấu trúc như trong lược đồ hình sao.

Hình 17: lược đồ bông tuyết

Sự khác nhau chính giữa 2 lược đồ này là việc định nghĩa ra các bảng chiều. Bảng chiều item đứng độc lập trong lược đồ hình sao được chuẩn hoá trong mô hình bông tuyết và kết quả tạo ra những bảng item mới và bảng supplier. Trong ví dụ này, chiều

item mới tạo ra chứng đựng các thuộc tính là item_key, item_name, brand, type,

supplier_key với supplier_key là khoá ngoài kết nối đến bảng chiều supplier là bảng chứa 2 thuộc tính là supplier_key supplier_type. Cũng tương tự như vậy, bảng chiều

location trong lược đồ hình sao được chuẩn hoá thành 2 bảng mới là location city

với cột city_key là khoá ngoài trong bảng location kết nối đến chiều city.

Lược đồ chòm sao (fact constellation): các ứng dụng phức tạp có thể có nhiều bảng sự

kiện và cùng chia sẻ các bảng chiều. Loại lược đồ này có thể xem như là tập hợp các lược đồ hình sao cho nên nó có tên là lược đồ chòm sao.

Ví dụ về lược đồ này được chỉ ra như hình vẽ bên dưới. Lược đồ này có 2 bảng sự kiện là salesshipping. Bảng sales có định nghĩa giống hệt ở trong lược đồ hình sao. Bảng shipping có 5 chiều với các khoá tương ứng là: item_key, time_key, shipper_key, from_location, and to_location, và 2 độ đo là: dollars_cost units_shipped. Lược đồ chòm sao này cho phép 2 bảng chiều là sales shipping có thể chia sẻ các bảng chiều như trong mô hình là time, itemlocation.

Hình 18: lược đồ chòm sao

Trong khi xây dựng data warehouse, cần phải chú ý phân biệt 2 khái niệm cơ bản là data warehouse và kho dữ liệu hướng chủ đề. Data warehouse là tập hợp các thông tin về các chủ để trong toàn bộ doanh nghiệp như là sản phẩm, khách hàng, phân phối bán hàng, nhân lực, con người. Nói chung là phạm vi của nó là là trải rộng cho toàn bộ doanh nghiệp. Khi xây dựng data warehouse, lược đồ chòm sao thường phổ biến được sử dụng vì nó có thể mô hình hoá được nhiều chủ đề. Kho dữ liệu hướng chủ đề thường phản ánh về một chủ đề nào đó của doanh nghiệp nên phạm vi của nó thường ở mức phòng ban. Việc xây dựng kho dữ liệu hướng chủ đề, các lược đồ hình sao hay lược đồ bông tuyết thường được sử dụng vì cả 2 lược đồ này chỉ hướng đến một chủ đề đơn giản và lược đồ hình sao thường phổ biến và hiệu quả hơn.

Một phần của tài liệu Thiết kế data warehouse và ứng dụng trong hệ thống thông tin ngành điện (Trang 37)