Thiết kế cơ sở dữ liệu

Thiết kế cơ sở dữ liệu

Lis Sulmont

Curriculum Manager

Thiết kế cơ sở dữ liệu là gì?

  • Xác định cách lưu trữ dữ liệu ở mức logic
    • Dữ liệu sẽ được đọc và cập nhật thế nào?
  • Dùng mô hình cơ sở dữ liệu: đặc tả cấp cao cho cấu trúc CSDL
    • Phổ biến nhất: mô hình quan hệ
    • Khác: mô hình NoSQL, mô hình hướng đối tượng, mô hình mạng
  • Dùng lược đồ (schema): bản thiết kế của CSDL
    • Định nghĩa bảng, trường, quan hệ, chỉ mục và view
    • Khi chèn dữ liệu vào CSDL quan hệ, phải tuân thủ lược đồ
Thiết kế cơ sở dữ liệu

Mô hình dữ liệu

Quy trình tạo mô hình dữ liệu cho dữ liệu cần lưu trữ

1. Mô hình dữ liệu khái niệm: mô tả thực thể, quan hệ và thuộc tính

  • Công cụ: sơ đồ cấu trúc dữ liệu, ví dụ ERD và sơ đồ UML

2. Mô hình dữ liệu logic: xác định bảng, cột, quan hệ

  • Công cụ: mô hình và lược đồ CSDL, ví dụ mô hình quan hệ và lược đồ sao

3. Mô hình dữ liệu vật lý: mô tả lưu trữ vật lý

  • Công cụ: phân vùng, CPU, chỉ mục, hệ thống sao lưu và tablespace
1 https://en.wikipedia.org/wiki/Data_model
Thiết kế cơ sở dữ liệu

Khái niệm - sơ đồ ER

Sơ đồ ER của ví dụ bài hát

Thực thể, quan hệ và thuộc tính

Logic - lược đồ

Lược đồ logic của ví dụ bài hát

Chuyển đổi nhanh nhất: thực thể thành bảng

Thiết kế cơ sở dữ liệu

Các lựa chọn thiết kế CSDL khác

Một ví dụ ERD khác cho ví dụ bài hát

Xác định bảng

Một ví dụ ERD khác cho ví dụ bài hát

Thiết kế cơ sở dữ liệu

Vượt ra ngoài mô hình quan hệ

Mô hình hướng chiều

Bản điều chỉnh của mô hình quan hệ cho thiết kế kho dữ liệu

  • Tối ưu cho truy vấn OLAP: tổng hợp dữ liệu, không cập nhật (OLTP)
  • Xây dựng bằng lược đồ sao
  • Lược đồ dễ hiểu và mở rộng
Thiết kế cơ sở dữ liệu

Thành phần của mô hình hướng chiều

Bảng sự kiện và bảng chiều trong ví dụ bài hát

Tổ chức theo:

  • Phân tích cái gì?
  • Thực thể thay đổi thường xuyên thế nào?

Bảng sự kiện (fact)

  • Quyết định theo bài toán nghiệp vụ
  • Lưu các bản ghi chỉ số/metric
  • Thay đổi thường xuyên
  • Kết nối tới bảng chiều qua khóa ngoại

Bảng chiều (dimension)

  • Lưu mô tả thuộc tính
  • Ít thay đổi hơn
Thiết kế cơ sở dữ liệu

Ayo berlatih!

Thiết kế cơ sở dữ liệu

Preparing Video For Download...