Modeliranje domene v SAP CAP

Predstavitev

Model domene v SAP CAP je model, ki opisuje statične, s podatki povezane vidike problematične domene v smislu modelov entitet-razmerja. V tem članku bomo podrobno preučili modeliranje domene v SAP CAP.

Modeliranje domene

Z enostavnimi besedami, CDS v SAP CAP izdela model domene na tak način, da definira poslovni problem v smislu ključev, polj in opomb. Koda za generiranje modela domene je napisana v shemi CDS (db/schema.cds). Te modele domen je mogoče uporabiti v definicijah storitev, modelih obstojnosti, bazah podatkov ali celo ponovno uporabiti v drugem modelu domene.

Primer vzorca:

Imenski prostor empInfo; z uporabo {Currency, managed} iz '@sap/cds/common'; entiteta Zaposleni: upravljano { ID ključa: Celo število; firstName: lokaliziran niz (111); priimek: lokaliziran niz (1111); manager: Združenje managerjem; dateofJoining: Celo število; plača: decimalka (9,2); valuta: valuta; }

 

V tem primeru smo ustvarili datoteko schema.cds, kjer smo ustvarili entiteto Employees, ki vključuje osnovne podrobnosti zaposlenega

Celotna shema je dobila imenski prostor, tj. empInfo

Ta shema uporablja standardni tip podatkov, tj. Valuta. Uporaba standardnega podatkovnega tipa, kot je ta, nam pomaga, da prinesemo vse vnaprej določene vrednosti pomoči, povezane z njim.

Za izdelavo modela uporabljamo CDS. V tem CDS uporabljamo

  1. Entitete, ki predstavljajo nabor edinstvenih predmetov, npr.:
    1. Osnovne informacije o zaposlenih
    2. Informacije o komunikaciji zaposlenih
    3. Podatki o plačah zaposlenih
  2. Asociacije za opredelitev odnosov
    1. Povezava upravitelja z drugo entiteto Upravljavec, ki bo imel ves seznam upraviteljev

Konvencija o poimenovanju in priporočila

  1. Ime subjekta se mora začeti z veliko začetnico in mora biti berljivo in samoumevno – na primer zaposleni
  2. Začnite elemente z malo črko – na primer ime
  3. Priporočljiva je uporaba množinske oblike subjektov – na primer Zaposleni
  4. Priporočljivo je, da uporabite edninsko obliko vrst – na primer Valuta
  5. ne ponavljajte kontekstov – na primer Employees.name namesto Employees.EmployeeName
  6. raje enobesedna imena – na primer plača namesto salaryAmount
  7. uporabite ID za tehnične primarne ključe – na primer ID za ID zaposlenega
  8. Za edinstvenost svojih entitet lahko uporabite imenski prostor. To je kot koncept odjemalca v SAP-u, kjer lahko imate podvojene sheme (datoteke cds) z edinstvenim imenskim prostorom, da jih razlikujete. Imenski prostori so neobvezni, uporabite imenske prostore, če bodo vaši modeli morda ponovno uporabljeni v drugih projektih. Na koncu dneva so le predpone, ki se samodejno uporabijo za vsa ustrezna imena v datoteki. – npr.

imenski prostor prenosnik; entiteta Dell {}

... je enakovredno:

prenosni računalnik. Dell {}

  1. Za ugnezdene razdelke imenskega prostora lahko uporabite kontekste. – npr.

imenski prostor prenosnik; entiteta Dell {}           //> prenosnik.Dellkontekst Apple { entiteta MacBookPro {}       //> prenosnik.Apple.MacBookPro     entiteta MacBookAir {} }

 

Subjekti

Entitete so kot tabele s primarnimi ključi. S temi entitetami lahko izvedemo operacijo CRUD. Naj bo čim bolj ravno. Ne pretiravajte ga. Ne uporabljajte vrst, ki jih ni mogoče ponovno uporabiti. Ta razdelek je samo za modeliranje, dodamo le opombe, ki se nanašajo na posamezna polja in ne dodajajo nobenih tehničnih podrobnosti (logik).

Vrste

Tipi so kot domena v SAP ABAP, uporablja se za definiranje tipiziranih podatkovnih elementov.

Vidiki

Aspekti so razširitve modelov in se večinoma uporabljajo za razširitev obstoječih definicij in opomb. Ko je model definiran, lahko uporabimo različne cds datoteke (Aspect), da jim dodamo opombe za določeno nalogo.

Na primer -

  • CD-ji– vaš osnovni model domene, čist, preprost in razumljiv
  • revizijski model.cds– dodaja dodatna polja, potrebna za revizijo v datoteki
  • auth-model.cds– dodaja opombe za avtorizacijo.

Primarni ključi

Tako kot tabele in CDS v SAP ABAP, vzdržujemo primarne ključe za Entite z uporabo ključne besede ključ.

Primarni ključ se lahko ponovno uporabi v celotnem modelu z uporabo metodologije skupnih definicij.

Ustvarimo lahko model common.cds, kjer se lahko shranijo vse skupne definicije.

// skupne definicije

entiteta StandardEntity { ID ključa: UUID; } Zdaj lahko te običajne definicije ponovno uporabite, kot je prikazano spodaj: z uporabo { StandardEntity } iz './common'; entiteta Uslužbenec: StandardEntity {name: String; ... } Upravitelj entitet: StandardEntity { ime: String; ... }

 

Skupna datoteka je že privzeto ustvarjena z vnaprej določeno entiteto z imenom cuid.

Preslikava UUID-jev v OData

CDS privzeto preslika UUID v Edm.Guid v vseh modelih OData. Vendar standard OData postavlja omejevalna pravila za vrednosti Edm.Guid – dovoljeni so na primer samo nizi z vezajem –, ki so lahko v nasprotju z obstoječimi podatki. Zato dovolimo, da se privzeto preslikavo preglasi na naslednji način:

entiteta Knjige {

ID ključa: UUID @odata.Type:'Edm.String';

...

}

Po potrebi lahko dodate tudi pripis @odata.MaxLength, da preglasite tudi ustrezno lastnost.

Združenje

Uporablja se za opredelitev razmerja med dvema entitetama. Tako kot ABAP CDS tudi tukaj uporabljamo besedo Združenje. Tukaj, ključna beseda več označuje a 0..* kardinalnost. Omejitve za kardinalnost je mogoče dodati kot omejitev (kjer pogoj) – na primer z uporabo ni nič.

Kompozicije

Za razliko od Asociacije, kjer povezujemo polje entitete s predmeti celotne entitete, se kompozicije nanašajo le na specifično polje druge entitete. Ima dodatno prednost samostojnega upravljanja globokih operacij (vstavljanje/posodobitev) in kaskadnega brisanja (brisanje večodvisne tabele).

// Definiraj naročila z vsebovanimi OrderItemsNaročila subjekta { ID ključa: UUID; Predmeti : sestava številnih elementov naročila na Items.parent=$self;}entity Order_Items { // je dostopen samo prek naročil  ključni starš : Povezava z naročili; ključna knjiga : Asociacija na knjige; količina: Celo število;}

Najboljše prakse

  1. Ne dodajajte tehničnih podrobnosti v modelih, mi jih uporabljamo Vidikiza to
  2. Uporaba kratka imena in preprosti ravni modeli
  3. Ne pretiravajte z normalizacijo entitet v modelih
  4. Uporabite lokalna celoštevilska zaporedja, če se res ukvarjate z velikimi obremenitvami in količinami. V nasprotnem primeru raje UUID

Do sedaj smo se naučili: Ustvarjanje modela in aspektov poleg tega.

Modeliranje domene v SAP CAP

Pustite komentar

Ta stran uporablja Akismet za zmanjšanje nezaželene pošte. Preberite, kako se vaš komentar obravnava.