Mô hình hóa miền trong SAP CAP

Giới thiệu

Mô hình miền trong SAP CAP là mô hình mô tả các khía cạnh tĩnh, liên quan đến dữ liệu của miền vấn đề dưới dạng mô hình mối quan hệ thực thể. Trong bài viết này, chúng ta sẽ nghiên cứu chi tiết về mô hình hóa miền trong SAP CAP.

Mô hình miền

Nói một cách đơn giản, CDS trong SAP CAP tạo ra mô hình miền theo cách mà nó xác định vấn đề kinh doanh dưới dạng khóa, trường và chú thích. Mã để tạo mô hình miền được viết trong lược đồ CDS (db / schema.cds). Các mô hình miền này có thể được sử dụng trong Định nghĩa dịch vụ, Mô ​​hình bền vững, Cơ sở dữ liệu hoặc thậm chí được sử dụng lại trong một mô hình miền khác.

Ví dụ mẫu:

Không gian tên empInfo; sử dụng {Tiền tệ, được quản lý} từ '@ sap / cds / common'; thực thể Nhân viên: được quản lý {key ID: Integer; firstName: localized String (111); lastName: chuỗi bản địa hóa (1111); manager: Hiệp hội các nhà quản lý; dateofJoining: Số nguyên; lương: Decimal (9,2); tệ: Tiền tệ; }

 

Trong ví dụ này, chúng tôi đã tạo một tệp schema.cds trong đó chúng tôi đã tạo một thực thể Nhân viên bao gồm các chi tiết cơ bản về một Nhân viên

Toàn bộ lược đồ này đã được cấp một không gian tên tức là empInfo

Lược đồ này sử dụng kiểu dữ liệu chuẩn, tức là Tiền tệ. Sử dụng kiểu dữ liệu tiêu chuẩn như thế này giúp chúng tôi mang lại tất cả các giá trị được xác định trước liên quan đến nó.

Chúng tôi sử dụng CDS để tạo Mô hình. Trong CDS đó, chúng tôi sử dụng

  1. Các thực thể đại diện cho tập hợp các đối tượng duy nhất, ví dụ:
    1. Thông tin cơ bản về nhân viên
    2. Thông tin liên lạc của nhân viên
    3. Thông tin về mức lương của nhân viên
  2. Các liên kết để xác định các mối quan hệ
    1. Liên kết người quản lý với một thực thể khác Người quản lý sẽ có tất cả danh sách Người quản lý

Quy ước & Khuyến nghị Đặt tên

  1. Tên của tổ chức phải bắt đầu bằng một chữ cái in hoa và nó phải dễ đọc và dễ hiểu - ví dụ: Nhân viên
  2. Bắt đầu các phần tử bằng một chữ cái thường - ví dụ: firstName
  3. Nên sử dụng dạng thực thể số nhiều - ví dụ: Nhân viên
  4. Bạn nên sử dụng dạng số ít của các loại - ví dụ: Tiền tệ
  5. không lặp lại các ngữ cảnh - ví dụ: Tên nhân viên thay vì Tên người lao động.
  6. thích tên một từ hơn - ví dụ: lương thay vì lươngAmount
  7. sử dụng ID cho khóa chính kỹ thuật - ví dụ: ID cho ID nhân viên
  8. Bạn có thể sử dụng Không gian tên để làm cho các thực thể của bạn là duy nhất. Nó giống như khái niệm máy khách trong SAP nơi bạn có thể có các lược đồ trùng lặp (tệp cds) với Không gian tên duy nhất để phân biệt chúng. Không gian tên là tùy chọn, hãy sử dụng không gian tên nếu mô hình của bạn có thể được sử dụng lại trong các dự án khác. Vào cuối ngày, chúng chỉ là tiền tố, được tự động áp dụng cho tất cả các tên có liên quan trong một tệp. - Ví dụ,

máy tính xách tay không gian tên; thực thể Dell {}

..… tương đương với:

máy tính xách tay thực thể.Dell {}

  1. Bạn có thể sử dụng ngữ cảnh cho các phần không gian tên lồng nhau. - Ví dụ,

máy tính xách tay không gian tên; thực thể Dell {}           //> laptop.Dellngữ cảnh Apple {thực thể MacBookPro {}       //> máy tính xách tay.Apple.MacBookPro     thực thể MacBookAir {}}

 

Các thực thể

Các thực thể giống như bảng có khóa chính. Chúng tôi có thể thực hiện hoạt động CRUD bằng cách sử dụng các Đối tượng này. Giữ nó càng phẳng càng tốt. Đừng quá bình thường hóa nó. Không sử dụng các loại không thể tái sử dụng. Phần này chỉ dành cho mô hình hóa, chỉ nên thêm chú thích liên quan đến các trường riêng lẻ và không cần thêm chi tiết kỹ thuật (lôgic).

Các loại

Các kiểu giống như Miền trong SAP ABAP, nó được sử dụng để xác định kiểu của các phần tử Dữ liệu.

Các khía cạnh

Các khía cạnh là phần mở rộng của Mô hình và chủ yếu được sử dụng để mở rộng các định nghĩa và chú thích hiện có. Khi một mô hình được xác định, chúng ta có thể sử dụng các tệp cds khác nhau (Aspect) để thêm các chú thích lên trên chúng cho các tác vụ cụ thể.

Ví dụ-

  • CD- mô hình miền cốt lõi của bạn, được giữ sạch sẽ, đơn giản và dễ hiểu
  • Audit-model.cds- thêm các trường bổ sung cần thiết để kiểm tra trong một tệp
  • auth-model.cds- thêm chú thích để ủy quyền.

Các phím chính

Giống như bảng & CDS trong SAP ABAP, chúng tôi duy trì các khóa chính cho Đối tượng bằng cách sử dụng từ khóa Chìa khóa.

Một khóa chính có thể được sử dụng lại trên toàn mô hình bằng cách sử dụng phương pháp luận của các định nghĩa phổ biến.

Chúng ta có thể tạo Mô hình common.cds nơi tất cả các định nghĩa chung có thể được lưu trữ.

// định nghĩa chung

thực thể StandardEntity {key ID: UUID; } Bây giờ có thể sử dụng lại các định nghĩa phổ biến này như bên dưới: using {StandardEntity} from './common'; thực thể Nhân viên: StandardEntity {name: String; ...} entity Manager: StandardEntity {name: String; ...}

 

Tệp chung đã được tạo theo mặc định với một thực thể xác định trước có tên cuid.

Ánh xạ UUID sang OData

CDS ánh xạ UUID tới Edm.Guid, theo mặc định, trong tất cả các mô hình OData. Tuy nhiên, tiêu chuẩn OData đưa ra các quy tắc hạn chế cho các giá trị Edm.Guid - ví dụ: chỉ cho phép các chuỗi có dấu gạch nối - điều này có thể xung đột với dữ liệu hiện có. Do đó, chúng tôi cho phép ghi đè ánh xạ mặc định như sau:

Thực thể Sách {

ID khóa: UUID @odata.Loại: 'Edm.String';

...

}

Nếu cần, bạn cũng có thể thêm chú thích @ odata.MaxLength để ghi đè thuộc tính tương ứng.

Hiệp hội

Nó được sử dụng để xác định mối quan hệ giữa hai thực thể. Giống như ABAP CDS, ở đây chúng tôi cũng sử dụng từ Hội. Đây, từ khóa nhiều chỉ ra một 0 .. * bản chất. Các hạn chế đối với số lượng có thể được thêm vào như một ràng buộc (điều kiện trong đó) - ví dụ: sử dụng có giá trị.

Tác phẩm

Không giống như Liên kết trong đó chúng tôi liên kết một trường thực thể với các đối tượng của toàn bộ thực thể, các kết hợp chỉ đề cập đến trường cụ thể của một thực thể khác. Nó có thêm lợi thế về các hoạt động sâu tự quản lý (Chèn / Cập nhật) và xóa theo tầng (xóa bảng Đa phụ thuộc).

// Xác định đơn hàng với OrderItems chứathực thể Đơn hàng {key ID: UUID; Mặt hàng: Thành phần của nhiều Order_Items trên Items.parent = $ self;} entity Order_Items { // chỉ được truy cập thông qua Đơn đặt hàng  mẹ chính: Liên kết với Đơn đặt hàng; cuốn sách chính: Hiệp hội sách; số lượng: Số nguyên;}

Các phương pháp hay nhất

  1. Không thêm chi tiết kỹ thuật trong Mô hình, chúng tôi sử dụng Các khía cạnhcho rằng
  2. Sử dụng tên ngắn gọn và mô hình phẳng đơn giản
  3. Đừng quá bình thường hóa các thực thể trong Mô hình
  4. Sử dụng chuỗi số nguyên cục bộ nếu bạn thực sự đối phó với tải và khối lượng cao. Nếu không, thích UUID hơn

Cho đến bây giờ những gì chúng ta đã học: Tạo ra Mô hình và Các khía cạnh trên đó.

Mô hình hóa miền trong SAP CAP

Để lại một bình luận

Trang web này sử dụng Akismet để giảm spam. Tìm hiểu cách xử lý dữ liệu nhận xét của bạn.