tham gia SAP HANA: Các kiểu dữ liệu, cú pháp và ví dụ

⚡ Tóm tắt thông minh

SAP Các phép nối trong HANA kết nối các bảng và các khung nhìn thông tin để mô hình trả về chính xác các hàng mà báo cáo cần. Các kiểu dữ liệu inner, outer, referential, text, temporal và spatial đều ảnh hưởng đến hiệu suất, khả năng xử lý số lượng phần tử và kích thước kết quả.

  • 🔗 Phạm vi: Phép nối (Join) liên kết các bảng và các khung nhìn thông tin bên trong các mô hình đồ họa và bên trong các câu lệnh SQL thông thường trên cơ sở dữ liệu.
  • ☑️ Các loại tiêu chuẩn: Các phép nối trong, nối ngoài bên trái, nối ngoài bên phải và nối ngoài đầy đủ hoạt động chính xác như trong ANSI SQL.
  • Các loại chỉ dùng để mô hình hóa: Các phép nối tham chiếu và nối văn bản chỉ tồn tại bên trong các khung nhìn thông tin và không có từ khóa SQL tương đương.
  • 🧪 Các nút nâng cao: Các phép nối theo thời gian, không gian, động và hình sao mở rộng phạm vi tính toán vượt ra ngoài việc chỉ đơn thuần khớp cột.
  • 🛠️ Các yếu tố thúc đẩy hiệu suất: Số lượng phần tử và cờ Optimize Join quyết định liệu SAP HANA có thể xóa bớt dữ liệu trong bảng trong quá trình thực thi.
  • 📈 Hiện đại hóa: Các chế độ xem thuộc tính và phân tích đã lỗi thời, vì vậy các phép nối mới nên được thực hiện trong các chế độ xem tính toán đồ họa.

Các kiểu liên kết được sử dụng để kết hợp các bảng và chế độ xem thông tin trong SAP HANNA

Là gì SAP HANA Tham gia?

Tham gia SAP HANA kết hợp các hàng từ hai hoặc nhiều bảng, hoặc từ một bảng và một khung nhìn thông tin, và trả về các giá trị được yêu cầu bởi truy vấn. Các phép nối được định nghĩa bằng đồ họa trong nút nối của khung nhìn thông tin, và chúng cũng được viết trực tiếp trong các câu lệnh SQL chạy trên cơ sở dữ liệu.

Hai hình thức này không giống hệt nhau. Một mối nối bên trong một chế độ xem tính toán được thực thi bởi SAP Công cụ tính toán HANA có thể bỏ qua một bảng khi không có cột nào được yêu cầu từ bảng đó, trong khi phép nối được viết bằng ngôn ngữ khác. SAP HANA SQL Luôn được thực thi chính xác như đã được lập trình.

Các kiểu kết nối sau đây có sẵn khi SAP Các bảng và chế độ xem thông tin của HANA được kết hợp với nhau.

Loại tham gia Sử dụng Bình luận
INNER Phép nối trong (Inner join) chọn tập hợp các bản ghi khớp nhau trong cả hai bảng. Các hàng không có hàng đối tác ở hai bên sẽ bị loại bỏ.
THAM GIA BÊN NGOÀI TRÁI Phép nối ngoài bên trái chọn toàn bộ tập hợp bản ghi từ bảng thứ nhất, cùng với bản ghi khớp từ bảng thứ hai nếu có. Nếu không tìm thấy kết quả phù hợp trong bảng thứ hai, các giá trị null sẽ được trả về cho các cột của bảng đó.
THAM GIA ĐÚNG NGƯỜI RA NGOÀI Phép nối ngoài bên phải (Right outer join) chọn toàn bộ tập hợp các bản ghi từ bảng thứ hai, cùng với bản ghi tương ứng từ bảng thứ nhất nếu có. Nếu không tìm thấy kết quả phù hợp trong bảng đầu tiên, các giá trị null sẽ được trả về cho các cột của bảng đó.
THAM GIA NGOÀI TRỜI ĐẦY ĐỦ Phép nối ngoài đầy đủ (Full outer join) chọn tất cả các bản ghi từ cả hai bảng. Các hàng không khớp từ cả hai phía được thêm vào bằng giá trị null.
THAM GIA THAM KHẢO Hoạt động giống như một phép nối trong (inner join), với giả định rằng tính toàn vẹn tham chiếu được duy trì giữa hai bảng. Có sẵn trong các nút kết nối của chế độ xem thuộc tính, chế độ xem phân tích và chế độ xem tính toán.
THAM GIA Phép nối văn bản chọn mô tả cụ thể theo ngôn ngữ thuộc về một khóa, sử dụng cột ngôn ngữ của bảng văn bản. Cột ngôn ngữ, thường là SPRAS, phải được đánh dấu trong thuộc tính kết nối.

Các phép nối tham chiếu và nối văn bản chỉ là các kiểu mô hình hóa. Chúng tồn tại trong nút nối của chế độ xem thông tin và không có từ khóa tương đương trong SQL, đó là lý do tại sao chúng xuất hiện trong SAP Mô hình HANA sử dụng các công cụ thay vì câu lệnh SELECT.

SAP Cú pháp và ví dụ SQL của phép nối HANA

Các phép nối trong và ngoài được viết bằng SAP HANA SQL sử dụng cú pháp ANSI chuẩn, vì vậy một truy vấn được kiểm thử trên cơ sở dữ liệu quan hệ khác thường chạy mà không thay đổi. Ví dụ dưới đây kết hợp bảng đơn đặt hàng với bảng khách hàng và sau đó với bảng tiểu bang.

SELECT so.ORDER_ID, c.NAME, s.STATE_NAME, so.AMOUNT
FROM SALES_ORDER AS so
INNER JOIN CUSTOMER AS c
  ON so.CUSTOMER_ID = c.CUSTOMER_ID
LEFT OUTER JOIN STATE AS s
  ON c.STATE_CODE = s.STATE_CODE
WHERE so.AMOUNT > 1000
ORDER BY so.ORDER_ID;

Phép nối trong (inner join) loại bỏ mọi đơn đặt hàng có thông tin khách hàng bị thiếu. Phép nối ngoài bên trái (left outer join) giữ lại tất cả các đơn hàng còn lại ngay cả khi mã tiểu bang không có mô tả, và trả về tên tiểu bang rỗng cho các hàng đó. Hoán đổi (Swap)ping Do đó, hai kiểu kết hợp này thay đổi số lượng hàng, chứ không chỉ số cột được hiển thị.

Các mô hình đồ họa đạt được kết quả tương tự mà không cần SQL. Một nút nối được đặt giữa hai nguồn dữ liệu trong trình chỉnh sửa chế độ xem, các cột tạo thành điều kiện nối được ánh xạ, và loại nối cũng như số lượng phần tử được thiết lập trong thuộc tính của nút. SAP HANA Studio Cả trình soạn thảo và trình tạo mô hình dựa trên trình duyệt đều tạo ra câu lệnh SQL thời gian chạy từ các thiết lập đó.

Các kiểu kết nối nâng cao trong SAP Chế độ xem tính toán HANA

Các chế độ xem tính toán bổ sung thêm hành vi kết hợp mà SQL thuần túy không thể thể hiện bằng một từ khóa duy nhất. Các tùy chọn này được cấu hình trên nút kết hợp hoặc thông qua một loại nút chuyên dụng.

Loại tham gia Những gì nó Sử dụng điển hình
Kết nối thời gian Đối chiếu các bản ghi giao dịch với phiên bản dữ liệu chính hợp lệ vào một ngày cụ thể, sử dụng các trường "Từ" và "Đến" của nguồn dữ liệu chính. Dữ liệu chính phụ thuộc vào thời gian, chẳng hạn như trung tâm chi phí đã thay đổi chủ sở hữu. Loại kết nối phải là tham chiếu và khóa phải là ngày, dấu thời gian hoặc số nguyên.
Kết hợp không gian Nối hai nguồn dữ liệu trên một cột hình học với một vị ngữ không gian như giao nhau hoặc nằm trong phạm vi, thay vì dựa trên điều kiện bằng nhau. Phân tích địa lý, ví dụ như đối chiếu vị trí khách hàng với khu vực bán hàng.
Kết hợp động Xây dựng điều kiện kết nối trong quá trình thực thi từ các cột kết nối mà truy vấn thực sự yêu cầu, tổng hợp các cột còn lại trước khi thực hiện phép kết nối. Kết hợp nhiều cột trong đó độ chi tiết của truy vấn thay đổi. Ít nhất một cột kết hợp phải được yêu cầu, nếu không truy vấn sẽ thất bại.
Ngôi sao tham gia Kết nối một nguồn dữ liệu thực tế với nhiều chế độ xem tính toán chiều dữ liệu trong một nút duy nhất. Mô hình lược đồ sao thay thế cho quan điểm phân tích cũ hơn.

Phép nối động thay đổi trình tự các thao tác chứ không phải quy tắc khớp. Trong phép nối tĩnh, mọi cột được định nghĩa đều tham gia vào điều kiện và việc tổng hợp diễn ra sau đó; trong phép nối động, các cột không được yêu cầu sẽ được tổng hợp trước, điều này thường trả về ít hàng hơn và tổng khác nhau. Do đó, hai phép nối này giải quyết các câu hỏi nghiệp vụ khác nhau, vì vậy cờ này được đặt một cách có chủ đích, chứ không phải là một sự tối ưu hóa chung.

Cách chọn loại phép nối phù hợp trong SAP Người mẫu HANA

Việc lựa chọn phép nối ảnh hưởng đến cả tính chính xác và thời gian chạy, và phép nối nhanh nhất là phép nối nhanh nhất. SAP HANA không cần phải thực thi. Các quy tắc sau đây bao gồm hầu hết các quyết định mô hình hóa.

  • Tham chiếu — Chỉ sử dụng tùy chọn này khi chắc chắn mọi hàng ở một phía đều có hàng tương ứng, vì công cụ có thể bỏ qua hoàn toàn phép nối nếu không yêu cầu cột nào từ bảng được nối.
  • Tham gia bên trong — Sử dụng nó khi tính toàn vẹn tham chiếu không được đảm bảo và các hàng không khớp phải được loại trừ.
  • Kết nối bên ngoài bên trái — Sử dụng nó khi bảng đầu tiên quyết định kết quả và dữ liệu chính bị thiếu vẫn phải hiển thị.
  • Tham gia đầy đủ bên ngoài — Hãy sử dụng nó một cách tiết kiệm, vì đây là lựa chọn đắt nhất và hiếm khi cần thiết trong các mô hình báo cáo.
  • Nối văn bản — Sử dụng nó bất cứ khi nào cột mô tả phụ thuộc vào ngôn ngữ đăng nhập.

Hai thuộc tính của nút quan trọng không kém gì chính kiểu kết nối. Số lượng phần tử (1:1, 1:n, n:1 hoặc n:m) cho công cụ biết số lượng hàng dự kiến ​​ở mỗi phía, và hàm Đề xuất số lượng phần tử sẽ suy ra giá trị này từ dữ liệu. Sau đó, cờ Tối ưu hóa cột kết nối cho phép thực hiện điều này. SAP HANA sẽ loại bỏ cột liên kết khỏi kế hoạch thực thi khi truy vấn không yêu cầu cột đó. Sai sót về số lượng phần tử có thể âm thầm nhân các phép đo, vì vậy nó được kiểm tra dựa trên dữ liệu chứ không phải được giả định.

Một ràng buộc khác định hình sự phát triển mới. Chế độ xem thuộc tính và chế độ xem phân tích đã lỗi thời, và SAP Khuyến nghị chuyển đổi chúng sang dạng chế độ xem tính toán đồ họa, do đó một phép nối được thiết kế ngày nay thường được xây dựng trong chế độ xem tính toán hoặc nút nối hình sao. Thông tin nền về các đối tượng cũ vẫn hữu ích khi bảo trì mô hình hiện có, và chế độ xem thuộc tínhquan điểm phân tích các trang này mô tả cách các kết nối đó được cấu hình. SAP Tài liệu học tập về kết nối các nút bao gồm cùng một hành vi trong SAP HANA Cloud và phạm vi rộng hơn SAP Hướng dẫn HANA Loạt bài này giải thích vị trí của các quan điểm thông tin trong nền tảng.

Câu Hỏi Thường Gặp

Độ lớn (1:1, 1:n, n:1, n:m) cho công cụ biết số lượng hàng khớp dự kiến ​​ở mỗi phía. Nó cho phép loại bỏ các hàng trùng khớp khi kết hợp và bảo vệ các phép tổng hợp. Đề xuất rằng độ lớn được suy ra từ dữ liệu, điều này an toàn hơn so với việc đoán mò.

Nó cho phép SAP HANA sẽ loại bỏ cột liên kết khỏi kế hoạch thực thi khi truy vấn của máy khách không bao giờ yêu cầu cột đó. Ít cột hơn đồng nghĩa với ít nhóm hơn.pingcó thể mất ít thời gian hơn và thời gian chạy nhanh hơn, nhưng kết quả có thể thay đổi nếu cột bị xóa ảnh hưởng đến mức độ tổng hợp.

Các đối tượng hiện có vẫn hoạt động, nhưng cả hai loại khung nhìn đều đã lỗi thời và không thể được thêm vào các khung nhìn tính toán mới. SAP Khuyến nghị nên chuyển đổi chúng sang dạng hiển thị tính toán đồ họa, nơi có sẵn các loại phép nối tương tự cộng thêm phép nối sao và phép nối không gian.

Nó phải giữ lại các hàng không khớp từ cả hai phía, do đó không bảng nào có thể bị cắt bớt và mọi hàng đều được hiện thực hóa. Ngược lại, phép nối tham chiếu có thể bị bỏ qua hoàn toàn khi truy vấn không yêu cầu cột nào từ bảng được nối.

Cột ngôn ngữ của bảng văn bản, thường là SPRAS trong SAP Bảng này được đánh dấu trong thuộc tính kết nối. SAP Sau đó, HANA lọc các mô tả theo ngôn ngữ phiên, do đó một mô hình duy nhất phục vụ cho mọi ngôn ngữ đăng nhập mà không cần một giao diện riêng biệt.

Đúng vậy. Một nút liên kết chấp nhận các bảng, hàm bảng và các chế độ xem tính toán khác làm nguồn dữ liệu, đó là cách các chế độ xem chiều được gắn vào bảng dữ liệu thực tế. Tên cột có thể khác nhau, vì điều kiện liên kết ánh xạ các cột một cách rõ ràng.

Học máy phân tích giá trị cột để đề xuất khóa kết nối và số lượng phần tử, gắn cờ các mô hình có số liệu tăng lên sau khi kết nối và nhóm các khung nhìn gần trùng lặp. SAP Nền tảng này cũng tích hợp các dịch vụ dự đoán và tạo sinh, do đó việc chấm điểm được thực hiện song song với dữ liệu mô hình hóa.

Copilot soạn thảo các câu lệnh kết hợp SQL chuẩn một cách hiệu quả và tăng tốc các câu lệnh SELECT lặp đi lặp lại. Tuy nhiên, nó không biết tính toàn vẹn tham chiếu của lược đồ, vì vậy loại kết hợp, số lượng và các tùy chọn chỉ dành cho mô hình hóa như kết hợp văn bản vẫn cần được xem xét lại dựa trên dữ liệu thực tế.

Tóm tắt bài viết này với: