Việc phân tích, dự báo đòi hỏi những giản đồCSDL chủyếu tập trung vào những truy vấn mà bản chấtlà đa chiều và hướng mảng (Array-oriented). Nhưvậy, công nghệCSDL chính của kho dữ liệu là RDBMS. Ta sẽxem xét việc thiếtkếgiản đồdữ liệu khi gắn liền nó với công nghệCSDL quan hệ.
Giản đồhình sao đượcđưa ra lần đầutiên bởi Raph Kimball nhưlà một lựa chọn thiếtkếCSDL cho kho dữ liệu. Trong giản đồhình sao, dữ liệu được xác định và phân loạitheo 2 kiểu: sựkiện (bảng Fact: đối tượng trung tâm) và phạm vi (các bảng Dimension: các bảng liên kết). Trong giản đồhình sao chỉ có một bảng liên quan trực tiếp tới hầu hết các bảng còn lạiđó là bảng Fact và là bảng chứa yếu tốcốt lõi cần đượcphân tích. Nó đượcgọi là giản đồhình sao bởi vì các sựkiện nằm ởtrung tâm của mô hình và đượcbao quanh bởi các phạm vi liên quan, rấtgiống với các điểm của một ngôi sao. Các sựkiện là các đạilượng sốcủa công việc. Các phạm vi là các bộlọc hoặc các ràng buộc của những sựkiện này. Ví dụ: thông tin vềkhách hàng nhưtên, địachỉ là một phạm vi, trong khi đó thông tin bán hàng cho khách hàng đó là một sự kiện.
Hình 2.2. Giản đồhình sao và hình tuyếtrơi
Với giản đồhình sao, ngườithiếtkếcó thểdễdàng mô phỏng những chức năng của CSDL đa chiều. Sựphi chuẩn hóa có thểcoi là sựtiền kết nối
(Pre-joining) các bảng đểcho các ứng dụng không phảithực hiện công việc kết nối, làm giảm thời gian thực hiện.
Giản đồhình sao đượcthiếtkếlà đểkhắc phục những hạn chếcủa mô hình quan hệhai chiều. Với cơ sở dữ liệu đượcthiếtkếtheo giản đồhình sao, những truy vấn với những câu hỏi phức tạp liên quan tới nhiều bảng và sốliệu tổng cộng trởnên đơngiản hơn và sốlượng công việc cần thực hiện đểđưa đượcra câu trảlời là ít nhấtso với một mô hình quan hệchuẩn. Giản đồhình sao cảithiện đáng kểthời gian truy vấn và cho phép thực hiện một sốtính năng đa phạm vi. Giản đồnày rấttrực quan, dễsửdụng, thểhiện khung nhìn đa chiều của dữ liệu dùng ngữnghĩacủa CSDL quan hệ.Khóa của bảng Fact đượctạo bởi những khóa của các bảng chứa thông tin theo từng phạm vi (bảng Dimension). Tất cả các khóa đềuđượcxác định với cùng một chuẩn đặt tên.
Ví dụ, đểlấy đượcthông tin thành phốcủa khách hàng cụthể,cần phải kết hợp khóa chỉkhách hàng đó trong bảng sựkiện (bảng Fact) với khóa của khách hàng đó trong bảng phạm vi (bảng Dimension) và đặtthuộc tính thành phốcủa khách hàng đó là thành phốmà họquan tâm.
Bảng Fact có chứa khóa của các bảng Dimension, có thểlà với tên khác đi đểđảmbảo tính duy nhấtcủa mỗi hàng. Các bảng Dimension thường có định danh duy nhấtvà chứa đựng những thông tin vềchiều (Dimension) của bảng đó.
Vì bảng Fact đượctổng hợp từtrướcvà đượckết hợp theo nhiều chiều nên xu hướng có rấtnhiều hàng và tăng trưởng một cách nhanh chóng trong khi đó các bảng Dimension không có nhiều hàng và sựtăng trưởng là tĩnh. Bảng Fact có thểbao gồm hàng chục triệu hàng. Bảng Dimension chứa đựng các thuộc tính có thểđược sử dụng như các tiêu chí tìm kiếm và thường có kích thướcnhỏhơn nhiều, rấtquen thuộc với người sử dụng từtrước. Khoá
của nó không là khoá ghép nhưbảng Fact. Nếu một bảng Dimension bắtđầu có sựtương đồng với bảng Fact thì nó cần đượctiếp tục chia ra thành các bảng Dimension nữa. Nếu một bảng Dimension đượcchia thành Dimension chính và Dimension phụthì cấu trúc thu đượcgọi là một giản đồtuyếtrơi hoặc một cấu trúc sao mởrộng.
Một giản đồhình sao đơngiản chỉgồm một bảng Fact và một vài bảng Dimension. Một giản đồhình sao phức tạp bao gồm hàng trăm bảng Fact và bảng Dimension. Một vài kỹthuật đểcải thiện hiệu suất của các truy vấn trong giản đồhình sao bao gồm:
• Xác định sựkết hợp các bảng Fact đang tồn tạihay tạo ra một sựkết hợp mới các bảng Fact.
• Phân chia bảng Fact đếnmức mà hầu hết các truy vấn chỉtruy nhập tới phần đó.
• Tạo ra các bảng Fact riêng rẽ.
• Tạo ra những tệp chỉsốđơnduy nhấthoặc các kỹthuậtkhác đểcải thiện năng suấtkết hợp.
Cảbảng Fact và các bảng Dimension đềukhông bắtbuộc ởdạng chuẩn nhưđối với phương pháp thiếtkếtruyền thống tức là có dưthừa dữ liệu. Loại giản đồnày cho phép lưu trữdưthừa dữ liệu, đổilại khả năng truy nhập nhanh hơn phù hợp với những câu hỏi phân tích nhiều chiều, phức tạp. Về bản chấtbảng Fact thuộc dạng chuẩn 1 với mức độdưthừa dữ liệu rấtlớn.
Có thểnói giản đồhình sao là một CSDL chỉđọc,việc cập nhậtdữ liệu là rất khó nếu không muốn nói là không thểđược.Một vài bảng Dimension chứa dữ liệu có thểđượcthêm vào bằng các truy vấn có kết nối, một vài bảng khác lạikhông chứa dữ liệu gì ngoài việc phục vụđánh chỉsốcho dữ liệu.