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ả.
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ính và quan đ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.
