Modelimi i domenit në SAP CAP

Prezantimi

Një Model Domeni në SAP CAP është një model që përshkruan aspektet statike, të lidhura me të dhënat e një domeni problemi në termat e modeleve të marrëdhënieve entitet. Në këtë artikull do të studiojmë në detaje Modelimin e Domenit në SAP CAP.

Modelimi i Domenit

Me fjalë të thjeshta, një CDS në SAP CAP prodhon model domeni në atë mënyrë që përcakton problemin e biznesit për sa i përket çelësave, fushave dhe shënimeve. Kodi për të gjeneruar një model domeni shkruhet në një skemë CDS (db/schema.cds). Këto modele domenesh mund të përdoren në përkufizimet e shërbimit, modelet e qëndrueshmërisë, bazat e të dhënave ose edhe të ripërdoren brenda një modeli tjetër domeni.

Shembull shembull:

Hapësira e emrave empInfo; duke përdorur {Currency, menaxhuar} nga '@sap/cds/common'; Punonjësit e entitetit: i menaxhuar { ID kyç: Integer; Emri i parë: String i lokalizuar (111); mbiemri: String i lokalizuar (1111); menaxher: Shoqata për Menaxherët; data e Bashkimit: Integer; paga: dhjetore (9,2); valuta: Valuta; }

 

Në këtë shembull ne kemi krijuar një skedar schema.cds ku kemi krijuar një entitet Punonjës i cili përfshin detajet bazë të një Punonjësi

E gjithë kësaj skeme i është dhënë një hapësirë ​​emri dmth. empInfo

Kjo skemë përdor një lloj standardi të të dhënave, p.sh. Valuta. Përdorimi i tipit standard të të dhënave si ky na ndihmon të sjellim të gjitha ndihmat e vlerave të paracaktuara që lidhen me të.

Ne përdorim CDS për të krijuar një Model. Në atë CDS, ne përdorim

  1. Subjektet për të përfaqësuar grupin e objekteve unike p.sh.:
    1. Informacioni bazë i punonjësit
    2. Informacioni i Komunikimit të Punonjësve
    3. Informacion mbi pagat e punonjësve
  2. Shoqatat për të përcaktuar marrëdhëniet
    1. Lidhja e menaxherëve me një ent tjetër Menaxher i cili do të ketë të gjithë listën e menaxherëve

Konventa e emërtimit dhe rekomandimet

  1. Emri i njësisë ekonomike duhet të fillojë me një shkronjë të madhe dhe duhet të jetë i lexueshëm dhe i vetëshpjegueshëm - për shembull, Punonjësit
  2. Filloni elementet me një shkronjë të vogël - për shembull, firstName
  3. Rekomandohet të përdoret forma shumës e entiteteve - për shembull, Punonjësit
  4. Rekomandohet të përdoret forma njëjës e llojeve - për shembull, Valuta
  5. mos përsëritni kontekstet - për shembull, Employees.name në vend të Employees.EmployeeName
  6. preferoni emrat me një fjalë - për shembull, paga në vend të rrogësShuma
  7. përdorni ID-në për çelësat kryesorë teknikë - për shembull, ID për ID-në e punonjësit
  8. Ju mund të përdorni Hapësirën e emrave për t'i bërë entitetet tuaja unike. Është si koncepti i klientit në SAP ku mund të keni skema të kopjuara (skedarë cds) me hapësirë ​​unike të emrave për t'i dalluar ato. Hapësirat e emrave janë opsionale, përdorni hapësirat e emrave nëse modelet tuaja mund të ripërdoren në projekte të tjera. Në fund të fundit, ato janë vetëm parashtesa, të cilat aplikohen automatikisht për të gjithë emrat përkatës në një skedar. - për shembull,

laptop me hapësirë ​​emri; entitet Dell {}

..… është e barabartë me:

laptop entiteti.Dell {}

  1. Ju mund të përdorni kontekste për seksionet e ndërlidhura të hapësirës së emrave. - për shembull,

laptop me hapësirë ​​emri; entitet Dell {}           //> laptop.Dellkonteksti Apple { entiteti MacBookPro {}       //> laptop.Apple.MacBookPro     entiteti MacBookAir {} }

 

subjektet

Subjektet janë si tabela me çelësa primar. Ne mund të kryejmë operacionin CRUD duke përdorur këto Entitete. Mbajeni sa më të sheshtë. Mos e teproni me normalizimin. Mos përdorni lloje jo të ripërdorshme. Ky seksion është vetëm për modelim, duhet shtuar vetëm shënime në lidhje me fusha individuale dhe nuk duhet shtuar asnjë detaj teknik (logjikë).

Llojet

Llojet janë si Domain në SAP ABAP, përdoret për të përcaktuar elementet e tipit të të dhënave.

aspektet

Aspektet janë zgjerimet e Modeleve dhe përdoren kryesisht për të zgjeruar përkufizimet dhe shënimet ekzistuese. Pasi të përcaktohet një model, ne mund të përdorim skedarë të ndryshëm cd (Aspect) për të shtuar shënime në krye të tyre për një detyrë specifike.

Për shembull-

  • cd– modeli juaj kryesor i domenit, i mbajtur i pastër, i thjeshtë dhe i kuptueshëm
  • audit-model.cds– shton fusha shtesë të kërkuara për auditim në një skedar
  • auth-model.cds– shton shënime për autorizim.

Çelësat Primar

Ashtu si tabelat dhe CDS në SAP ABAP, ne mbajmë çelësat kryesorë për Entitetin duke përdorur fjalën kyçe Celës.

Një çelës primar mund të ripërdoret përgjatë modelit duke përdorur metodologjinë e përkufizimeve të përbashkëta.

Ne mund të krijojmë një model common.cds ku mund të ruhen të gjitha përkufizimet e zakonshme.

// përkufizime të përbashkëta

entiteti StandardEntity { ID kyç : UUID; } Tani këto përkufizime të zakonshme mund të ripërdoren si më poshtë: duke përdorur { StandardEntity } nga './common'; entiteti Punonjës : StandardEntity { emri : String; ... } Menaxher i entitetit : StandardEntity { emri : String; ...}

 

Skedari i zakonshëm është krijuar tashmë si parazgjedhje me një entitet të paracaktuar të emërtuar cuid.

Hartimi i UUID-ve në OData

CDS harton UUID-të në Edm.Guid, si parazgjedhje, në të gjitha modelet OData. Megjithatë, standardi OData vendos rregulla kufizuese për vlerat Edm.Guid - për shembull, lejohen vetëm vargjet me vizë - të cilat mund të bien ndesh me të dhënat ekzistuese. Prandaj, ne lejojmë që harta e paracaktuar të anashkalohet si më poshtë:

Librat e entitetit {

ID e çelësit: UUID @odata.Lloji:'Edm.String';

...

}

Nëse është e nevojshme, mund të shtoni gjithashtu shënimin @odata.MaxLength për të anashkaluar edhe veçorinë përkatëse.

Shoqatë

Përdoret për të përcaktuar marrëdhëniet midis dy entiteteve. Ashtu si ABAP CDS, edhe këtu përdorim fjalën Shoqata. Këtu, fjala kyçe shumë tregon një 0..* kardinaliteti. Kufizimet për kardinalitetin mund të shtohen si një kufizim (ku kusht) - për shembull, duke përdorur jo nul.

Perberje

Ndryshe nga Shoqata ku ne lidhim një fushë entiteti me objektet e një entiteti të tërë, kompozimet thjesht i referohen fushës specifike të një entiteti tjetër. Ai ka një avantazh shtesë të operacioneve të thella të vetë-menaxhuara (Fut/Përditëso) dhe fshirjes në kaskadë (Fshirja e tabelës shumë të varur).

// Përcaktoni urdhrat me artikujt e përmbajtur të porosisëUrdhrat e njësisë ekonomike { ID e çelësit: UUID; Artikuj : Përbërja e shumë Order_Items në Items.parent=$self;}entitet Order_Items { // do të aksesohet vetëm përmes porosive  prindi kryesor: Shoqata për porositë; libri kyç : Shoqata për Libra; sasia: Numër i plotë;}

Praktikat më të mira

  1. Mos shtoni detaje teknike në Modele, ne përdorim aspektetpër atë
  2. përdorim emra të shkurtër  modele të thjeshta të sheshta
  3. Mos e teproni me normalizimin e entiteteve në Modele
  4. Përdorni sekuenca lokale të numrave të plotë nëse merreni vërtet me ngarkesa dhe vëllime të larta. Përndryshe, preferoni UUID

Deri tani ajo që kemi mësuar: Krijimi i Modelit dhe Aspekteve në krye të tij.

Modelimi i domenit në SAP CAP

Lini një koment

Kjo faqe përdor Akismet për të reduktuar spamin. Mësoni se si përpunohet komenti juaj.