Làm việc với mô hình dữ liệu phân cấp

Truy vấn phân cấp và đệ quy trong SQL Server

Jasmin Ludolf

Content Developer

Mô hình dữ liệu phân cấp

Thuộc tính của mô hình dữ liệu phân cấp:

  • Biểu diễn dạng cây
  • Có một nút gốc
  • Mỗi bản ghi con có một bản ghi cha

Một cách biểu diễn dữ liệu phân cấp dạng cây

Ưu điểm:

  • Dễ hiểu
  • Truy vấn nhanh

Nhược điểm:

  • Cấu trúc cứng nhắc
  • Khó thay đổi cấu trúc
Truy vấn phân cấp và đệ quy trong SQL Server

Ví dụ về mô hình dữ liệu phân cấp

Quan hệ khách hàng–hóa đơn–mặt hàng:

Một khách hàng có thể có nhiều hóa đơn và mỗi hóa đơn có thể có nhiều mặt hàng

CREATE TABLE Customer (   
    ID INT NOT NULL);
CREATE TABLE Bill (   
    BillID INT NOT NULL,  
      CustomerID INT);
CREATE TABLE Article (   
    ArticleID INT NOT NULL,  
      BillID INT);

Biểu diễn phân cấp của quan hệ khách hàng–hóa đơn–mặt hàng

Truy vấn phân cấp và đệ quy trong SQL Server

Mô hình dữ liệu dạng mạng

Thuộc tính của mô hình dữ liệu dạng mạng:

  • Tương tự mô hình phân cấp
  • Quan hệ nhiều-nhiều
  • Có nhiều đường tìm kiếm

Một cách biểu diễn dữ liệu dạng mạng như cây

Ưu điểm:

  • Không có phân cấp cứng nhắc
  • Nhiều hướng giải quyết
  • Nhiều ví dụ thực tế

Nhược điểm:

  • Kém rõ ràng khi mô hình lớn
Truy vấn phân cấp và đệ quy trong SQL Server

Ví dụ về mô hình dữ liệu dạng mạng

Quan hệ khách hàng–đơn hàng–mặt hàng:

Nhiều khách hàng có thể có nhiều đơn hàng và mỗi đơn hàng có thể có nhiều mặt hàng.

CREATE TABLE Customer (   
    ID INT NOT NULL);
CREATE TABLE Order (   
    OrderID INT NOT NULL,  
      CustomerID INT);
CREATE TABLE Article (   
    ArticleID INT NOT NULL,  
      OrderID INT);

Biểu diễn dạng mạng của quan hệ khách hàng–đơn hàng–mặt hàng

Truy vấn phân cấp và đệ quy trong SQL Server

Ayo berlatih!

Truy vấn phân cấp và đệ quy trong SQL Server

Preparing Video For Download...