Domeinuen modelizazioa SAP CAP-en

Sarrera

SAP CAP-en domeinu-eredu bat arazo-domeinu baten datu-alderdi estatikoak deskribatzen dituen eredua da, entitate-erlazio-ereduen arabera. Artikulu honetan SAP CAP-en Domeinuen Modelizazioa zehatz-mehatz aztertuko dugu.

Domeinuen modelizazioa

Hitz sinpleetan, SAP CAP-en CDS batek domeinu-eredua sortzen du, negozio-arazoa gako, eremu eta oharpenen arabera definitzen duen moduan. Domeinu-eredu bat sortzeko kodea CDS eskema batean idatzita dago (db/schema.cds). Domeinu-eredu hauek Zerbitzuen definizioetan, iraunkortasun-ereduetan, datu-baseetan erabil daitezke edo beste domeinu-eredu batean berrerabili.

Adibidea:

Namespace empInfo; {Currency, managed} erabiliz '@sap/cds/common'-tik; entitatea Langileak: kudeatutako { gako ID: Integer; izena: lokalizatutako String (111); abizena: lokalizatutako String (1111); kudeatzailea: Kudeatzaileen Elkartea; batzearen data: Integer; soldata: Hamartarra (9,2); moneta: Moneda; }

 

Adibide honetan schema.cds fitxategi bat sortu dugu, non Langileen entitate bat sortu dugun, Langile baten oinarrizko xehetasunak biltzen dituena.

Eskema honi izen-espazio bat eman zaio, hau da, empInfo

Eskema honek datu mota estandar bat erabiltzen du, hau da, Moneta. Horrelako datu-mota estandarra erabiltzeak horri lotutako balio-laguntza guztiak ekartzen laguntzen digu.

Eredu bat sortzeko CDS erabiltzen dugu. CDS horretan, erabiltzen dugu

  1. Objektu berezien multzoa irudikatzeko entitateak adibidez:
    1. Langilearen oinarrizko informazioa
    2. Langileen Komunikazio Informazioa
    3. Langileen soldatari buruzko informazioa
  2. Harremanak definitzeko elkarteak
    1. Kudeatzaileen elkartea Kudeatzaileen zerrenda guztiak izango dituen beste entitate bati

Izendatzeko Hitzarmena eta Gomendioak

  1. Entitatearen izenak letra larriz hasi behar du eta gizakiak irakurtzeko modukoa izan behar du eta berez azaltzeko modukoa izan behar du (adibidez, Langileak).
  2. Hasi elementuak letra xehe batekin, adibidez, izena
  3. Entitateen forma plurala erabiltzea gomendatzen da, adibidez, Langileak
  4. Moten forma singularra erabiltzea gomendatzen da, adibidez, Moneta
  5. ez errepikatu testuinguruak; adibidez, Employees.name Employees.EmployeeName-ren ordez.
  6. nahiago hitz bakarreko izenak; adibidez, soldata soldata Zenbatekoaren ordez
  7. erabili ID gako nagusi teknikoetarako, adibidez, Langile IDrako IDa
  8. Namespace erabil dezakezu zure entitateak bakarrak egiteko. SAP-en bezeroaren kontzeptua bezalakoa da, non eskema bikoiztuak (cds fitxategiak) izan ditzakezun Namespace esklusiboarekin horiek bereizteko. Izen-espazioak aukerakoak dira, erabili izen-espazioak zure ereduak beste proiektu batzuetan berrerabiliko badira. Azken finean, aurrizkiak besterik ez dira, fitxategi bateko izen garrantzitsu guztiei automatikoki aplikatzen zaizkienak. - adibidez,

namespace ordenagailu eramangarria;Dell entitatea {}

..… honen baliokidea da:

entitate eramangarria.Dell {}

  1. Testuinguruak erabil ditzakezu habiaraturiko izen-espazioen ataletarako. - adibidez,

namespace ordenagailu eramangarria;Dell entitatea {}           //> ordenagailu eramangarria.Delltestuingurua Apple { entitatea MacBookPro {}       //> ordenagailu eramangarria.Apple.MacBookPro     MacBookAir entitatea {} }

 

erakundeak

Entitateak gako nagusiak dituzten taulak bezalakoak dira. CRUD eragiketa egin dezakegu Entitate hauek erabiliz. Mantendu ahalik eta lauena. Ez normalizatu gehiegi. Ez erabili berrerabil daitezkeen motak. Atal hau modelatzeko soilik da, eremu indibidualekin lotutako oharrak bakarrik gehitu behar dira eta ez da xehetasun teknikorik (logika) gehitu behar.

motak

Motak SAP ABAP-en Domeinua bezalakoak dira, Datu-elementuen idatziak definitzeko erabiltzen zen.

alderdiak

Alderdiak Ereduen luzapenak dira eta lehendik dauden definizioak eta oharrak zabaltzeko erabiltzen dira batez ere. Eredu bat definitu ondoren, cd fitxategi desberdinak erabil ditzakegu (Aspect) horien gainean oharrak gehitzeko zeregin zehatzetarako.

Adibidez-

  • CDak- zure oinarrizko domeinu-eredua, garbi, sinplea eta ulergarria
  • auditoria-eredua.cds– Fitxategi batean ikuskatzeko beharrezkoak diren eremu gehigarriak gehitzen ditu
  • auth-model.cds– baimena emateko oharrak gehitzen ditu.

Lehen gakoak

SAP ABAPen taulak eta CD-ak bezala, Entitaterako gako nagusiak mantentzen ditugu gako-hitza erabiliz gakoa.

Lehen gako bat eredu osoan berrerabili daiteke definizio arrunten metodologia erabiliz.

common.cds Eredu bat sor dezakegu, non ohiko definizio guztiak gorde daitezkeen.

// definizio arruntak

entitatea StandardEntity { gako IDa : UUID; } Orain definizio arrunt hauek behean berrerabili daitezke: { StandardEntity } './common'-tik erabiliz; entitatea Langilea : StandardEntity { name : String; ... } entity Manager : StandardEntity { name : String; ...}

 

Fitxategi arrunta lehenespenez sortuta dago aurrez zehaztutako entitate batekin kuid.

UUIDak OData-rekin mapatzea

CDS-k UUID-ak Edm.Guid-era mapatzen ditu, lehenespenez, OData eredu guztietan. Hala ere, OData estandarrak Edm.Guid balioetarako arau murriztaileak ezartzen ditu (adibidez, kateak marratxoak soilik onartzen dira), lehendik dauden datuekin gatazkan egon daitezkeenak. Horregatik, lehenetsitako mapak honela gainidaztea onartzen dugu:

entitate Liburuak {

gako IDa: UUID @odata.Mota: 'Edm.String';

...

}

Beharrezkoa izanez gero, @odata.MaxLength oharpena ere gehi dezakezu dagokion propietatea gainidazteko.

Elkartea

Bi entitateen arteko harremana definitzeko erabiltzen da. ABAP CDS bezala, hemen ere hitza erabiltzen dugu Elkartea. Hemen, gakoa asko a adierazten du 0.* kardinaltasuna. Kardinalitatearen murrizketak murrizketa gisa gehi daitezke (non baldintza) - adibidez, erabiliz ez nulua.

Konposizioak

Elkarteak ez bezala, non entitate-eremu bat entitate oso baten objektuekin lotzen dugun, konposizioek beste entitate baten eremu zehatz bati egiten diote erreferentzia besterik ez. Eragiketa sakon autogestionatuek (Txertatu/Eguneratu) eta kaskadako ezabapenek (Mendeko hainbat taula ezabatzeko) abantailak ditu.

// Definitu ordenak edukiak dituzten OrderItemsentitate Aginduak { gako IDa : UUID; Elementuak : Order_Items askoren osaera Items.parent=$self;}Erkidego_Elementuak { // Aginduen bidez soilik sartuko da  guraso gakoa: Aginduetara Elkartea; gako-liburua : Liburuen Elkartea; kantitatea: Osoa;}

Praktika Egokiak

  1. Ez gehitu xehetasun teknikoak ereduetan, guk erabiltzen dugu alderdiakhorretarako
  2. Erabili izen laburrak  eredu lau sinpleak
  3. Ez normalizatu gehiegi Ereduetako entitateak
  4. Erabili tokiko osoko sekuentziak karga eta bolumen handiei aurre egiten bazaie. Bestela, nahiago UUIDak

Orain arte ikasi duguna: Eredua eta Alderdiak sortzea gainean.

Domeinuen modelizazioa SAP CAP-en

Iruzkin bat

Gune honek Akismet-ek spam erabiltzen du. Ikasi zure iruzkina nola prozesatu den.