Sammanfattning: Modellering i ERwin. Modelldesign i ERWin Logisk datamodell erwin


För att skapa relationer mellan enheter och skapa utländska nycklar ger ERWin möjligheten att dela upp relationerna i flera alternativ:

  • ett identifierande förhållande är ett förhållande som definierar en en-till-en-korrespondens av en förekomst av en enhet till en enstaka förekomst av en relaterad enhet och som regel beskriver en 1: 1-relation, men vid implementering av en kedjad primär nyckel kan den implementera en en-till-många-relation (1: JV);
  • icke-identifierande relation - en relation som implementerar en en-till-många relationstyp (1 : N), presentera en främmande nyckel i en relaterad enhet som ett enkelt attribut som kan vara föremål för vissa ytterligare begränsningar jämfört med vanliga informationsattribut;
  • multipel relation - ett förhållande som implementerar en många-till-många relationstyp (LG: M), presenteras endast på den logiska modellnivån, vilket illustrerar sambandet mellan enheter, men skapar inte främmande nycklar i relaterade enheter;
  • kategorisering - en relation som ger länkningen av entitetsgemenskapen med entitetskategorier efter typen av relation en-mot-en (1: 1) och samtidigt skapar en främmande primärnyckel i entitetskategorierna som är associerade med entitetsgemenskapens primära nyckel.

När du skapar en relation mellan två enheter räcker det att välja ikonen för relationstypen och sedan ange överordnad och relaterad enhet i följd. Som ett resultat skapas en relation och, om den tillhandahålls av relationstypen, skapas nödvändiga främmande nycklar i den relaterade enheten. I fallet när utvecklaren inte definierade den primära nyckeln till moderföretaget och upprättade en relation, till exempel utan att identifiera, kommer skapandet av den utländska nyckeln inte att ske, men så snart den primära nyckeln anges i moderföretaget kommer den omedelbart att återspeglas i den relaterade enheten av den utländska nyckeln i enlighet med med förhållandet mellan dessa enheter i modellen.

ERWin-verktyget definierar två typer av enheter när relationer mellan enheter skapas:

  • parent (Parent) - är basenheten, vars primära nyckel kan migreras till den relaterade enheten;
  • child (Child) - definieras av en enhet som vid upprättandet av en relation tar emot en främmande nyckel bildad från den primära enhetens migrerande primära nyckel.

Denna uppdelning ser ganska logisk ut, eftersom informationen som beskrivs av den moderna enheten sammanställs i förhållande till de uppgifter som beskrivs av den underordnade enheten baserat på särdragen med att bygga relationer och domänens logik. Till exempel, med tanke på förhållandet mellan enheterna "Kund" och "Beställning", en specifik kund, representerad av en instans av enheten "Kund", förenar (aggregerar) en uppsättning beställningar som han skapade i e-butiken.

zine. Som ett resultat kan orderenheten i förhållande till kundenheten ses som ett barn och kundenheten kan betraktas som förälder.

Beskrivningen av förhållanden innehåller, i jämförelse med enheter och attribut, färre egenskaper som behöver beskrivas, men de är också, och ibland viktigare, eftersom de låter dig beskriva och konfigurera referensintegritetsregler, vilket säkerställer att datalagring är korrekt när den implementeras i databasen ... En av egenskaperna är namnet på förhållandet som används i databasmodellen och definierar huvudbetydelsen för det etablerade förhållandet mellan enheter (fig 3.15).

Figur: 3.15. Grundläggande kommunikationsbeskrivning i ERWin


Kolumnen "Namn" i beskrivningen av länken ger utvecklaren möjlighet att ange ett namn som återspeglar länkens semantiska belastning. Detta är en viktig komponent i modellen, som låter dig entydigt förstå kärnan och innebörden av det etablerade förhållandet, vilket i slutändan bör hjälpa till att normalisera databasmodellen korrekt genom att omfördela enskilda attribut korrekt mellan enheter.

Det är viktigt att förstå att namnen på relationer ska vara så unika som möjligt över hela databasmodellen, inte bara på nivån för ett enskilt diagram. Närvaron av samma namn på länkar kan leda till oförmåga att korrekt identifiera motsvarande länk och i slutändan bygga en effektiv modell. Andra egenskaper som beskriver förhållandet mellan enheter i dialogrutan finns under listan över modellförhållanden och innehåller regler för kardinalitet (kardinalitet), byte av namn på den genererade främmande nyckeln (roll) och säkerställande av referensintegritet.

De tre viktigaste grundegenskaperna för en länk (Fig. 3.16), som utgör huvuddelen av en länk, beskrivs i den första fliken "Allmänt" och representerar typen av länk, länkens namn, kardinalitet (kraft). Dessa kommunikationsparametrar måste alltid definieras och beskrivas korrekt. Förutom namnet på länken kommer resten av egenskaperna att överföras med lämplig omvandling till den fysiska modellen och sedan till databasen.

Den första egenskapen hos en anslutning avgör dess typ (Bild 3.17): identifierande eller icke-identifierande. Samtidigt som utvecklaren väljer lämplig typ av relation har utvecklaren möjlighet (för en icke-identifierande relation) att ange frånvaron av en instans av moderföretaget och därmed låta den utländska nyckeln ange det tomma värdet "NULL".

Figur: 3.16. Grundläggande kommunikationsegenskaper i RZ Win


Normalt är "Nullalternativet" inställt på "Nullar ej tillåtet" (NULL är ogiltigt) när man skapar en icke-identifierande relation. Detta bestäms av särdragen med att arbeta med data, i enlighet med vilken den underordnade instansen måste associeras med den överordnade instansen. Men ibland finns det tillfällen då detta inte respekteras. Som regel uppstår en sådan situation när föremålen för ämnesområdet, förenade genom denna anslutning, är ekvivalenta och det är omöjligt att entydigt bestämma prioriteten för förekomsten av en instans av en viss enhet. Därefter sätts värdet till "Null Tillåtet" (NULL är tillåtet), som visas i exemplet (se figur 3.17).


Eftersom en-till-en och en-till-många relationer är relaterade och skillnaderna i dem bara ligger i kardinalitet och några strängare krav kan du växla mellan dessa typer av förhållanden inom ramen för dialogrutan för relationsinställningar och överföra förhållandet från "Inte identifierar "till typen" Identifierar ". I det här fallet är parametern "Null Option" inte tillgänglig

för inställningar. Detta förklaras av det faktum att den främmande nyckeln som erhålls i den underordnade enheten vid etablering av en identifierande relation samtidigt är den primära nyckeln och att den primära nyckeln inte kan lagra ett tomt värde enligt reglerna för databaskonstruktion. Därför är den resulterande utländska nyckeln inställd på "Null ej tillåtet".

En annan egenskap som gör det möjligt att gå från en-till-en-relation till en-till-många-relation och vice versa är kardinalitet. Att fastställa kardinaliteten (kardinaliteten) i en relation inom egenskaperna "Kardinalitet" och "Kardinalitet" anger reglerna för att fylla den underordnade enheten med instanser (Fig. 3.18). Det finns fyra kardinalitetsalternativ definierade av ERWin:

  • Noll, en eller flera (noll, en eller många) - för en underenhet är vilket antal instanser som är associerade med en instans av moderföretaget möjligt, inklusive möjligheten att inga förekomster;
  • (P) En eller flera (en eller flera) - antalet förekomster av en underenhet som är associerad med en förekomst av den överordnade enheten kan vara vilken som helst, men när en instans skapas i den överordnade enheten i den underordnade enheten måste instanserna redan existera, vilket kräver inställning av "Nollalternativet "till värdet" Nullar tillåtna ", vilket möjliggör lagring av ett nullvärde" NULL "i den främmande nyckeln som erhållits under anslutningen;
  • (Z) Noll eller en (noll eller en) - en en-till-en-relation definieras, vilket gör att högst en datainstans kan existera i en underenhet;
  • Kardinalitetsvärde - specificerar det exakta antalet relaterade förekomster i den underordnade enheten, vilket endast kan realiseras om parametern "Null Option" är inställd på "Nulls Tillåtna", den första skapandet av instanser i den underordnade enheten och deras efterföljande länk till en instans i den överordnade enheten ...

Som ett resultat av indikationen på anslutningens kardinalitet (effekt) på modellen kommer dess alfanumeriska beteckning att visas i diagrammet. Om kardinalitetsalternativet (kardinalitet) är valt i alternativet "En eller flera" visas bokstaven "P" för kardinaliteten "Noll eller en" - bokstaven "Z", om ett exakt numeriskt värde anges - det angivna värdet, i andra alternativ inga beteckningar visas på modellen.

En annan egenskap hos anslutningen beskrivs som den viktigaste - det semantiska innehållet i anslutningen (Fig. 3.19), indikerat av verbformen.

Denna beskrivning, liksom i alla modeller av databasen på vilken nivå som helst, visar den speciella interaktionen mellan instanser av enheter i enlighet med särdragen i ämnesområdet. Beskrivningen ska vara en fras som anger förhållandet mellan en överordnad entitetsinstans och en underordnad entitetsinstans, eller vice versa, som representerar ett uttryck som innehåller ett åtgärdsverb.


När relationer upprättas en-till-en och en-till-många, som diskuterats ovan, migrerar den primära nyckeln till den överordnade enheten till den underordnade enheten och skapar motsvarande främmande nyckel (Figur 3.20). Ofta, särskilt när man använder namngivningskonventionen för modellelement, kan identiska primära nycklar i olika enheter ha samma namn, vilket orsakar vissa svårigheter att skapa relationer, uttryckt i behovet av att spegla främmande nycklar med namn som redan finns i enheten. Ett annat alternativ, när det är nödvändigt att använda namngivningsmekanismen för nyckelmigrationsregeln, kan vara behovet av en mer exakt formulering av attributet som beskriver motsvarande främmande nyckel.


Lösningen på dessa problem implementeras genom "Rollnamn" -mekanismen, där utvecklaren anger namnet på attributet för den främmande nyckeln, eftersom den ska representeras i databasmodellen och, som ett resultat av transformationen, i databasen. Området "Rollnamn" innehåller två kolumner:

  • Migrated Attribute - visar attributet för den överordnade enheten, som representeras av den främmande nyckeln i den associerade underenheten (kan inte ändras);
  • Rollnamn - Indikerar det nya värdet för det främmande nyckelattributnamnet som ska användas istället för det migrerande attributnamnet.

Om du anger önskat attributnamn i kolumnen "Rollnamn" byter du namn på attributet för främmande nycklar och använder sedan det nya attributnamnet i alla element i databasmodellen, vid behov.

Definition av referensintegritetsregler (Figur 3.21) är ett steg i den fysiska modelleringen av databasen. Detta beror på att vissa regler för vissa DBMS kanske inte är tillgängliga. I det skede av logisk modellering ger ERWin ändå en möjlighet att specificera referensintegritetsreglerna för de bildade länkarna. I detta skede erbjuds utvecklaren den maximala uppsättningen regler:

  • Ingen - en regel som antar någon användaråtgärd utan att påverka andra delar av databasen;
  • Ingen åtgärd (ingen åtgärd) - en regel som antar åtgärder som definierats av utvecklaren;
  • Restrict är en regel som förbjuder utförandet av en operation på data om testvillkoret är uppfyllt.
  • Cascade (cascading) - en regel som utför sekventiella åtgärder på relaterade data i enlighet med den åtgärd som utförs på de data som denna regel är definierad till;
  • Set Null är en regel som anger den främmande nyckeln till NULL för relaterade instanser.
  • Ställ in standard - Regeln som anger standardvärdet definierat för den främmande nyckeln för den länkade instansen.

Referensintegritetsregler syftar till att säkerställa att uppgifterna är korrekta när de ändras. Således måste dessa regler följas om databasen implementerar operationer, men lägger till, modifierar och tar bort data. ERWin implementerar operationerna med begränsningar för referensintegritet i maximal version, med tanke på utförandet av motsvarande operationer inte bara av de viktigaste alternativen som påverkar förändringar i databasen, utan också av operationer som inte bör orsaka betydande förändringar i databasen. Som ett resultat uppmanas utvecklaren att specificera referensintegritetsreglerna när han utför åtgärder på data när de ändrar dessa instanser i både föräldra- och underordnade enheter. Därefter kommer alla dessa åtgärder, om de inte finns med i DBMS, att konverteras till programvarumoduler för automatisk körning (utlösare) och associerade med åtgärder som utförs på data. Om DBMS innehåller de angivna referensintegritetsåtgärderna deklareras de av motsvarande regler när de beskriver datatabeller.


När man bildar ett förhållande mellan många och många ger utvecklaren möjlighet att specificera minsta uppsättning kommunikationsegenskaper, inklusive definitionen av semantisk belastning. Inga andra regler och egenskaper för denna typ av relation fastställs, eftersom i övergången till en fysisk modell måste ett sådant förhållande normaliseras och representeras av en-till-många-förhållanden (Figur 3.22).


  • vid den första indikationen av förhållandet, välj ikonen för förhållandet och välj sekventiellt enhetsgemenskapen och en av enhetskategorierna;
  • andra kategorienheter med samma kategoriseringslänkikon, anslut genom sekventiellt val av grafikobjektet och nästa kategorienhet.

Som ett resultat av dessa åtgärder i databasmodellen kommer det att finnas en anslutningsrepresentation som liknar exemplet ovan (se figur 3.22).

Kategoriseringsförhållandet är av två typer, varav en måste bestämmas när denna typ av relation fastställs (Figur 3.23). För att indikera skillnader i typen av kategoriseringsförhållande presenteras beteckningen av ett grafiskt element med två rader eller en rad (tabell 3.1).




För kategoriseringslänken i sig definieras inga andra egenskaper och utvecklaren ges endast möjlighet att se strukturen för kategoriseringslänken (Figur 3.24). Denna beskrivning gör det möjligt att se vilka kategorienheter som definieras av undertyper och vilken enhet-generalitet som representeras av en supertyp.

Länkarna själva från det grafiska kategoriseringselementet till enheter är en-till-en-länkar, och som regel definieras fasta egenskaper för dem. Utvecklaren ges möjlighet att endast ange det semantiska innehållet i länkarna, namnet på attributet för främmande nycklar och referensintegritetsreglerna.

Figur: 3.24. Beskrivning av kategoriseringsförhållandet i EHIB

  • En detaljerad diskussion om referensintegritetsregler behandlas i avsnitt 3.2.

Laborationer nr 4. Definiera relationer mellan enheter i ERwin

Som nämnts i övning 3, för att bygga en logisk datamodell måste du först definiera en uppsättning enheter och definiera relationer mellan dem. I övning 3 skapades ett diagram som innehåller fyra enheter (figur 4.1). Vi kommer att titta på metoden för att bestämma förhållandet mellan dem i den aktuella övningen.

https://pandia.ru/text/78/177/images/image002_182.gif "width \u003d" 123 "height \u003d" 128 src \u003d "\u003e den standardgenererade verbfrasen är" R / 1 "(figur 4.2).

Figur 4.2 - Icke-identifierande relation

Steg 3.Gå till attributnivån och märk att "Training Place" -enheten har ett primärt nyckelattribut från "Class" -enheten och är markerat med bokstäverna "FK". Attributet sägs vara "migrerat", och FK (främmande nyckel) betyder att attributet är en del av en främmande nyckel (figur 4.3). För en identifierande relation ingår den främmande nyckeln alltid i barnets primära nyckel.

enhet, för icke-identifiering ingår inte.

Figur 4.3 - Migrering av attribut

Steg 4.Tilldela en länk till en verbfras. För att göra detta, välj förhållandet genom att klicka på det med muspekaren, högerklicka sedan och välj "Relationsegenskaper ..." i snabbmenyn.

Den allmänna vyn i länkredigeringsfönstret visas i figur 4.4.

Databaser "href \u003d" / text / category / bazi_dannih / "rel \u003d" bookmark "\u003e databaser. I vårt exempel, eftersom vi i analysen av ämnesområdet upptäckte att studieplatsen inte kan existera separat från klassen, ställ in detta ne - omkopplaren till positionen "No Nulls." Således ställs ett villkor att en befintlig instans av en arbetsstation alltid måste ha en referens till den klass den tillhör.

Flik “ Definition "(definition).

På den här sidan anger du definitionen av förhållandet. Texten till definitionen av förhållandet, som i fallet med enheten, beror på de standarder som företaget har antagit och bör underlätta uppfattningen av modellen.

Fliken Rolename

Rollnamn (rolename) är en ytterligare egenskap som kan

matchas med det migrerande primära nyckelattributet (Figur 4.5).

https://pandia.ru/text/78/177/images/image006_79.gif "width \u003d" 358 "height \u003d" 221 src \u003d "\u003e

Figur 4.6 - snabbmenyn i diagrammet för att visa migrerande attribut för enheter

Fliken RI-åtgärder

Fliken är avsedd för att ställa in parametrar för projektets referensintegritet.

databasen som körs (Figur 4.7).

Referensintegritetsinställningar är logiska konstruktioner som uttrycker affärsreglerna för användning av data. De bestämmer vilka åtgärder DBMS ska vidta när man tar bort, infogar eller ändrar en tabellrad (entitetsinstans). Åtgärder som definieras på detta sätt kan användas senare vid automatisk generering av utlösare som bibehåller dataintegritet

Det finns följande typer av åtgärder eller regler som definieras i den logiska modellen:

1 RESTRICT - förbjuder radering, infogning eller modifiering av en enhetsinstans

2 CASCADE - när du tar bort en instans av en överordnad enhet, tar du bort alla instanser av en underenhet som hänvisar till den borttagna överordnade instansen.

3 SET NULL - när du tar bort en instans av den överordnade enheten tilldelas de främmande nyckelattributen för alla instanser av den underordnade enheten värdet NULL.

4 STÄLL IN STANDARD - samma som i föregående fall, men istället för NULL-värdet tilldelas ett standardvärde.

5 INGEN - inga åtgärder vidtas.

Figur 4.7 - Flik "RI-åtgärder" (inställningar för referensintegritet)

Dessa regler är inställda för att infoga, ta bort och ändra en instans av både förälder- och barnenheter. Således måste varje länk ha en uppsättning av sex regler som anges i fält som förenas av den gemensamma rubriken "RI-åtgärder". När du lägger till en länk till ett diagram anger ERwin som standard en uppsättning regler för det, som kan redigeras i dialogrutan "Model Properties" på fliken "RI Defaults" (Figur 4.8).

genom att välja kommandot "Model" Server från huvudmenyn och dessutom

kommandot "Model Properties" (Figur 4.9).

https://pandia.ru/text/78/177/images/image009_57.gif "width \u003d" 227 "height \u003d" 289 src \u003d "\u003e

Figur 4.9 - Proceduren för att anropa dialogrutan "Model Properties"

De regler som tilldelats länken som standard kan ändras genom att välja önskat värde i listrutan (se figur 4.8). Genom att trycka på "Re-bind" -knappen överförs de nya standardinställningarna till det aktuella läget.

del, om du bara lämnar dialogrutan utan att göra en omfördelning, påverkar de ändrade inställningarna endast de nya modellerna.

Varje typ av anslutning har, beroende på typ av åtgärd, sin egen uppsättning tillåtna regler som visas i tabell 4.2.

Tabell 4.2 - En uppsättning giltiga regler för olika typer av länkar

handlingar

Relationstyp

Identifierare

Oidentifierad

nollar (ej identifierande, nollar

Oidentifierad

avgörande (icke-identifierande, nr

förbindelse

(tar bort barn)

CASCADE, INGEN SET NULL,

CASCADE, INGEN STANDARDFEL

(infoga barn)

CASCADE, INGEN SET NULL,

CASCADE, INGEN STANDARDFEL

(byta barn)

CASCADE, INGEN SET

NULL, SET DE - FAULT

CASCADE, N6NE SET

(tar bort det överordnade objektet)

CASCADE, INGEN SET

CASCADE, INGEN SET

(infoga ett överordnat objekt)

CASCADE, INGEN SET NULL,

KASKAD. INGEN STANDARD

(byt förälder)

CASCADE, INGEN SET

CASCADE, INGEN SET


Standardinställningarna för förhållandet "Klass - klassrum" förbjuder infogning och ändring av en instans av en underenhet, samt borttagning och ändring av en överordnad enhet. Detta innebär att ingen radering är tillåten.

eller ändra klass, om den innehåller klassrum, samt att gå in i klassrummet utan att specificera klassen eller med hänvisning till en klass som inte finns. Således har vi uppfyllt villkoret att ett klassrum bara kan existera som en del av en klass.

Fliken UDP (användardefinierade parametrar)

Fliken - UDP, som de tidigare diagramobjekten, låter dig tilldela en egen uppsättning anpassade egenskaper till en länk.

Så vi har skapat ett icke-identifierande förhållande mellan enheterna "Klass" och

"Träningsplats" med villkoret "No Nulls". Uppenbarligen måste ett förhållande av samma typ finnas mellan enheterna "Utrustningstyp" och "Utrustning", eftersom en utrustning måste nödvändigtvis ha en typ. Lägg till denna relation i diagrammet med samma steg som i föregående fall. Ring länkredigeraren och ändra verbfrasen till "beskriver", lämna resten av länkinställningarna oförändrade. Observera att attributet "utrustningstypkod" har migrerats till icke-nyckelattributen för enheten "Träningsplats" (Figur 4.10).

Figur 4.10 - Attributet "utrustningstypkod" migrerade till icke-nyckelattributen för enheten "Träningsplats"

Låt oss nu överväga förhållandet mellan enheterna "Utbildningsplats" och "Enhetsutrustning". Som vi fick reda på under undersökningen av ämnesområdet bildar utrustningen ett visst lager av komponenter, varav några är installerade på träningsplatser. En annan del av komponenterna kan finnas i lagret, vara defekt och vänta på avskrivning, etc., det vill säga existera separat från träningsplatsen. Således är enheterna "Utbildningsplats" och "Enhetsutrustning" inte beroende av varandra och måste associeras med ett icke-identifierande förhållande.

Steg 5.Välj det icke-identifierande förhållandet i verktygspaletten och lägg till det i diagrammet, välj Seat som överordnad enhet och

"Enhetsutrustning" - dotterbolag. Ändra verbfrasen "Förälder-till-barn" i länkredigeraren till "består av". Det icke-identifierande förhållandet har två smaker - Nulls Tillåtna och No Nulls. Standardvärdet är "Tillåtna nollar", lämna detta oförändrat. Denna inställning betyder att de främmande nyckelfälten i en instans av "Utrustnings" -enheten kan ha ett nollvärde, det vill säga

det finns ingen indikation på en kopia av "Studieplatsen". Således kan en utrustning existera ”på egen hand”.

Efter att ha upprättat relationerna ser diagrammet ut på entitetsnivå

https://pandia.ru/text/78/177/images/image012_32.gif "width \u003d" 556 "height \u003d" 327 src \u003d "\u003e länkar som visas i figur 4.12.

Figur 4.12 - Bild av länkar i IDEF1X-notation

Förutom typen av länk kan diagrammet också visa inställningarna för länken

förlust - för att göra detta, välj objektet i snabbmenyn i diagrammet

Relationsvisning och referensintegritet ( Steg 6. ).

Alfabetet "href \u003d" / text / category / alfavit / "rel \u003d" bookmark "\u003e alfabetiska grupper, åtskilda av ett kolon": ". Det första tecknet anger den åtgärd som integritetsregeln gäller: D - radera, I - infoga (infoga), U - ändra (uppdatera).

Den andra gruppen betecknar regeln: R - RESTRICT, С - CASCADE, SN - SET NULL, SD - SET DEFAULT. Således betecknas förbud mot radering med D: R, och inställning av NULL på förändring betecknas U: SN. Beteckningar placeras vid förälderns eller barnets slut i förhållandet, beroende på vilken enhet de hänvisar till. Med inställningar för referensintegritet aktiverad är diagrammet

ser ut som visas i figur 4.14.

Figur 4.14 - ER-diagram med inkluderade referensintegritetsinställningar

Diagrammet definierar nu ett av de objektområden som vi har identifierat fyra av - det materiella stödet för inlärningsprocessen. Vi kommer att titta på andra objektregioner i följande övningar.

Steg 7.Spara modellen till exempel under namnet på fliken Enhetsnivå

det Lab_4_Petrov. er1.

Steg 8. Slutför en enskild uppgift för att bestämma förhållandet mellan

funktioner i ERwin för det angivna ämnesområdet (se tabell 3.4).

1. Resultat av steg 1 - 7 i lektionsprogrammet.

2. Resultat av den enskilda uppgiften.

testfrågor

1. Hur skiljer du mellan beroende och oberoende enheter i ett ERwin-diagram?

2. Vilket förhållande mellan enheter kallas icke-identifierande?

3. Vad är den fysiska och logiska datamodellen?

4. Vilket förhållande mellan enheter kallas identifiering?

5. Förklara innebörden av påståendet att vissa attribut "migrerade"?

6. Vad står FK-symbolen för i ERwin-diagrammet?

7. Vilka funktioner har länken?

8. Vad representerar länkar i IDEF1X notation?

9. Hur är beteckningen av referensintegritet i diagrammet

10. Vilka relationer mellan enheter användes vid utförande av indi-

en visuell uppgift?

6. Modellering i ERwin

ERwins plats i informationsmodellering
Uppbyggnadsprocessen för informationsmodell består av följande steg:

  • definition av enheter;
  • definiera beroenden mellan enheter;
  • ställa in primära och alternativa nycklar;
  • definiera entitetsattribut;
  • föra modellen till önskad nivå av normal form;
  • övergång till den fysiska beskrivningen av modellen: tilldelning av korrespondens entitetsnamn - tabellnamn, entitetsattribut - tabellattribut; ställa utlösare, förfaranden och begränsningar;
  • databasgenerering.

ERwin skapar en visuell representation (datamodell) för uppgiften. Denna vy kan användas för detaljerad analys, förfining och spridning som en del av den dokumentation som behövs under utvecklingscykeln. ERwin är dock långt ifrån bara ett ritverktyg. ERwin skapar automatiskt databasen (tabeller, index, lagrade procedurer, utlösare för referensintegritet och andra objekt som behövs för att hantera data).

Kartläggning av det logiska och fysiska lagret av datamodellen i ERwin

ERwin har två nivåer av presentation och modellering - logisk och fysisk. Logisk nivå betyder direkt visning av fakta från verkliga livet. Till exempel är människor, bord, avdelningar, hundar och datorer verkliga objekt. De namnges på naturligt språk, med valfria ordavgränsare (mellanslag, komma osv.). På den logiska nivån beaktas inte användningen av ett specifikt DBMS, datatyper (till exempel heltal eller reellt tal) definieras inte och index för tabeller definieras inte.
Mål-DBMS, objektnamn och datatyper, index utgör den andra (fysiska) nivån i ERwin-modellen.
ERwin ger möjlighet att skapa och hantera dessa två olika nivåer av presentation av ett enda diagram (modell), samt har många visningsalternativ på varje nivå.

ERwin-diagramkomponenter och grundläggande diagramvyer

Ett ERwin-diagram är uppbyggt av tre huvudblock - enheter, attribut och relationer. Om vi \u200b\u200bbetraktar diagrammet som en grafisk representation av domänens regler, är enheterna substantiv och anslutningarna är verb.
Valet mellan den logiska och fysiska visningsnivån görs via verktygsfältet eller menyn. Inom var och en av dessa nivåer finns följande visningslägen:

  • "Enheter" -läge - namnet på enheten (för den logiska modellen) eller namnet på tabellen (för den fysiska representationen av modellen) visas inuti rektanglarna; tjänar för att underlätta att visa ett stort diagram eller placera rektanglar av enheter på diagrammet.
  • Enhetsdefinitionsläge används för att presentera diagrammet för andra människor.
  • Attributläge. När du flyttar från ett ämnesområde till en modell måste du ange information om vad som utgör en enhet. Denna information anges genom att specificera attribut (på den fysiska nivån - tabellkolumner). I det här läget delas entitetsrektangeln av en linje i två delar - i den övre delen visas attributen (kolumnerna) som utgör den primära nyckeln och i den nedre delen de återstående attributen. Detta läge är det viktigaste när man designar på logisk och fysisk nivå.
  • Läge "primära nycklar" - inuti rektanglar - entiteter visas bara attribut / kolumner som utgör den primära nyckeln.
  • Läget "piktogram". För presentationsändamål kan varje tabell associeras med en ikon (bitmapp).
  • Verbfras visningsläge. Verbfraser som förbinder enheter (för den logiska nivån) eller främmande nyckelnamn (för det fysiska lagret) visas på länkbågarna.

Ett diagram kan sträcka sig över mer än en skärm och mer än ett ark när det skrivs ut. För att visa modellen finns, förutom att rulla på skärmen, lägen för att minska / öka bilden, visa hela modellen, visa den valda delen av modellen.

Verktyg för att skapa en modell i ERwin

De grundläggande verktygen för att skapa en modell finns både från menyn och genom verktygsfönstret. Med deras hjälp skapas oberoende och beroende enheter som identifierar och inte identifierar relationer, kompletta och ofullständiga kategorier, ospecifika förhållanden och textelement.
Om du klickar på en enhet kommer du in i en av de många ERwin-redaktörerna:

  • allmänna enhetsrelaterade redaktörer (enhetsdefinition, ytterligare information, utlösare, index, tabellegenskaper, lagrade procedurer relaterade till tabellen);
  • attributredigerare (definierar attribut, tabellkolumner i den fysiska modellvyn, 4GL-verktygsförvar, såsom utökade attribut i PowerBuilder).

Identifiering av enheter. Enheter i ERwin

I diagrammet representeras en enhet av en rektangel. Beroende på presentationsläget i diagrammet kan rektangeln innehålla enhetens namn, dess beskrivning, en lista över dess attribut och annan information.
Den rektangelns horisontella linjen delar upp enhetens attribut i två uppsättningar - attributen som utgör den primära nyckeln högst upp och andra (ingår inte i den primära nyckeln) längst ner.
En enhet är en uppsättning verkliga eller abstrakta objekt, till exempel människor, platser, händelser, fakta som har gemensamma egenskaper. Essens är ett logiskt koncept. En enhet motsvarar en tabell i en riktig DBMS. I ERwin representerar en enhet visuellt tre huvudtyper av information:

  • attributen som utgör den primära nyckeln;
  • icke-nyckelattribut;
  • enhetstyp (oberoende / beroende).

En primär nyckel är ett attribut eller en uppsättning attribut som unikt identifierar en enhetsinstans. Om flera uppsättningar attribut unikt kan identifiera en enhet, gör valet av en av dem av utvecklaren baserat på analysen av domänen.
ERwin skapar ett unikt index för varje primärnyckel när databasstrukturen genereras.
Förekomster av en oberoende enhet kan identifieras unikt utan att definiera dess relationer med andra enheter; en beroende enhet, å andra sidan, kan inte identifieras unikt utan att definiera dess relationer med andra enheter. Den beroende enheten visas i ERwin som en rundad rektangel.

Relationer i ERwin

En relation är en funktionell relation mellan två enheter (i synnerhet kan en enhet kopplas till sig själv). Det är till exempel viktigt att känna till en anställds efternamn, och det är lika viktigt att veta i vilken avdelning han arbetar. Mellan enheterna "avdelning" och "anställd" finns alltså ett förhållande "består av" (avdelningen består av anställda). En länk är ett logiskt lagerbegrepp som motsvarar en främmande nyckel i det fysiska lagret. I ERwin representeras relationer av fem grundläggande uppgifter:

  • typ av relation (identifierande, icke-identifierande, fullständig / ofullständig kategori, icke-specifik relation);
  • moderföretaget;
  • barn (beroende) enhet
  • kommunikationskraft (kardinalitet);
  • giltigheten för tomma (null) värden.

En relation sägs vara att identifiera om en förekomst av en barnenhet identifieras genom sin relation till moderföretaget. Attributen som utgör den primära nyckeln till den överordnade enheten ingår också i den primära nyckeln till den underordnade enheten. En barnenhet med en identifierande relation är alltid beroende.
En relation sägs vara icke-identifierande om en förekomst av en barnenhet identifieras annorlunda än genom en relation med en moder enhet. Attributen som utgör den huvudsakliga nyckeln till den överordnade enheten ingår också i de underordnade enhetens icke-nyckelattribut.
För att definiera ERwin-relationer, välj relationstyp och använd sedan musen för att ange föräldra- och underordnade enheter. Den identifierande länken visas som en hel linje; icke-identifierande - prickad linje. Raderna slutar med en punkt på sidan av den underordnade enheten.
När du definierar en relation migreras attributen för den primära enhetens primära nyckel till motsvarande område för underenhetens attribut. Därför anges dessa attribut inte manuellt.
Den överordnade enhetens primära nyckelattribut migreras som standard med deras namn. ERwin låter dig skriva in roller för dem, dvs. nya namn under vilka de migrerande attributen kommer att presenteras i den underordnade enheten. Om attributet migreras upprepade gånger är detta byte av namn nödvändigt. Till exempel har en enhets "mellanhandstransaktion" attributet "handelsplatsens kod" och "kundens webbplatskod". I detta fall har den primära nyckeln till entiteten "företag" ("företagskod") två roller i den underordnade enheten.
På den fysiska nivån är rollnamnet namnet på den främmande nyckelkolumnen i underordnade tabellen.
Kardinaliteten i en relation är förhållandet mellan antalet förekomster av moderföretaget och motsvarande antal förekomster av den underordnade enheten. För alla andra förhållanden än icke-specifika skrivs denna relation som 1: n.
ERwin, i enlighet med IDEF1X-metoden, ger 4 alternativ för n, som representeras av ett ytterligare tecken i den underordnade enheten: noll, en eller flera (som standard); noll eller en; exakt N, där N är ett specifikt tal.
ERwin skildrar tillåtligheten av nollvärden i icke-identifierande förhållanden med en tom diamant på förhållandets båge från moderföretagets sida.
Effektbeteckningarna respektive noll, en eller flera, en eller flera, noll eller en i IE-notering visas i fig. 1.

Figur 1. Kommunikationseffektnotering i IE-notation

Ett länknamn på logisk nivå är ett "verb" som länkar enheter. Det fysiska namnet på förhållandet (som kan skilja sig från det logiska) för ERwin betyder namnet på begränsningen eller indexet.

Redigera modellen grafiskt

Laborationer nr 5

Mål:

Uppgiften:

Arbetssekvens

Kännedom om användargränssnittet

· Ladda ner Erwin-programmet.

Välj alternativknappen i dialogrutan som visas Skapa en ny modell.En dialogruta visas på skärmen Skapa modell - Välj mall,där du måste välja simuleringsnivå.

Erwin har två nivåer av modellering: logisk och fysisk. På logisk datanivån presenteras som den visas i den verkliga världen. Objekt på logisk nivå är enheter och attribut.

fysisk Modellnivån beror på den specifika databasimplementering som användaren har valt. När en modell överförs till den fysiska nivån omvandlas enheter till tabeller och attribut till fält, därför måste alla namn och beskrivningar av den fysiska modellen uppfylla de konventioner som accepteras för det valda DBMS.

Ställ omkopplaren Logiskt / fysisktatt skapa en modell med logiska och fysiska lager.

På åkrarna Databas och Version anger typen och versionen av servern som modellen skapas för. Välj Access 2000 i listan OK.

· Huvudprogramfönstret visas på skärmen.

I den övre delen av fönstret finns en titelrad som innehåller programmets namn, modellnamnet, namnet på delmängden (ämnesområde) och den lagrade displayen (Stored Display). Huvuddelen av programutrymmet upptas av arbetsområdet där ER-diagrammet skapas.

För att växla mellan logiska och fysiska nivåer finns det en lista i verktygsfältet (Figur 1.1).

Förutom denna lista finns det knappar i verktygsfältet (se tabell 1.1).

Tabell 1.1.

Erwin verktygsfältknappar

Knapp Utnämning
Skapa, öppna, spara och skriv ut en modell
Anropar dialogrutan Rapportbläddrare för att generera rapporter
Ändra modellvynivå: Enhetsnivå, attributnivå, definitionsnivå
Ändra modellvy skala
Generering av databasschema, schemainriktning med modell- och serverval (endast tillgängligt på den fysiska modellnivån)
Växla mellan områden i modellen för ämnesområde


För direkt arbete med modellelement i programmet finns en palett med verktyg (Erwin Toolbox), som är ett "flytande fönster" (Fig. 1.2). Om det behövs kan verktygspaletten tas bort från skärmen och kallas upp genom att trycka på "CTRL-T" -tangentkombinationen.

Figur: 1.2. Logisk verktygspalett

Enheter i modellen

I det här skedet är det nödvändigt att lägga till följande enheter som identifierats som ett resultat av analysen av ämnesområdet (leverans av varor i enlighet med kontrakt) till modellen: köpare, kontrakt, faktura, varor, lager.

Välj knappen i verktygsfältet (ERwin Toolbox) Kärnan genom att klicka på den med muspekaren. Klicka sedan på platsen i diagrammet där du vill placera den nya enheten. En rektangel som representerar den nya enheten med det automatiskt genererade namnet "E / 1" kommer att visas i diagramfältet.

· Ange enhetens namn från tangentbordet " Köpare"och tryck Stiga på.

· På samma sätt infoga ytterligare fyra enheter i diagrammet: kontrakt, faktura, produkt, lager.

Genom att högerklicka på enheten och välja objektet från snabbmenyn Enhetsegenskaper, kan du ringa enhetsredigeraren Enheter(Bild 1.6), som låter dig ändra egenskaperna för den valda enheten. Enhetsredigeraren kan också anropas via huvudmenyn: Modell | Enheter.



Figur: 1.6. Enhetsredaktör

Överst i redigeringsfönstret finns en lista över alla enheter i diagrammet. Med hjälp kan du välja en enhet vars egenskaper du vill visa eller ändra. Som standard väljs den valda enheten i diagrammet och klickas på. Sedan finns det namnfältet som visar enhetens namn. Namnet kan redigeras.

Nedan i redigeringsfönstret finns det ett flik:

Definition(definition) - Den här sidan introducerar definitionen av enheten.

Not, Note2, Note3(not) - Används för att ange fritext som är associerad med en enhet, till exempel exempeldata och frågor.

UDP- användardefinierade egenskaper.

Ikon(ikon) - för tydlighetens skull kan varje enhet tilldelas en ikon som visas bredvid dess namn.

Ange en definition för varje enhet Definition.

Nyckelgrupper

Ring redaktören för nyckelgrupper Nyckelgrupper,genom att högerklicka på en enhet Köpare och välja från snabbmenyalternativet Nyckelgrupper... Nyckelgruppredigeraren kan också anropas via huvudmenyn: Modell | Nyckelgrupper.

Nyckelgruppredigeraren innehåller kontroller:

Entitet - ett fält med en listruta där du ska välja en enhet för redigering.

Fönster med en lista över nyckelgrupper. Varje grupp representeras av en separat rad, inklusive namn (nyckelgrupp), typ (typ) och definition (definition).

Dessutom innehåller dialogrutan Key Group Editor följande flikar:

ü Medlemmar. Medlemmarna i nyckelgrupper och deras ordning i gruppen är inställda.

ü Allmänt (allmänna inställningar). Växlar för att ställa in typen av nyckelgrupp. Dessa grupper är inte tillgängliga för den primära och utländska nyckeln.

ü Definition Fritextinformation relaterad till vald nyckelgrupp.

ü NoteraAnteckning till vald grupp.

ü UDP (anpassade egenskaper).

tryck på knappen Ny.

· I fönstret Ny nyckelgrupp i fält Nyckelgrupp ange namnet på nyckelgruppen - VÄRDSHUS... I fält Index indexnamnet som genereras av Erwin visas. Lämna det oförändrat.

Växla Nyckelgruppstyp anger typen av den genererade nyckeln. Det kan vara en alternativ nyckel eller en inverteringspost. Vänligen välj Alternativ nyckel och tryck OK... Den nyinmatade alternativa tangenten visas i nyckellistan.



Gå till bokmärket Medlemmar... Den nya nyckeln innehåller inga attribut ännu, så rätt lista Viktiga gruppmedlemmar (nyckelgruppmedlemmar) är tom. Välj ett attribut i den vänstra listan VÄRDSHUS och flytta den till den högra listan med hjälp av pilknappen (se bild 1.8).

Figur: 1.8. Nyckelgruppredaktör

· Skapa på samma sätt nyckelgrupper för de inversa ingångarna som visas i tabellen. 1.3.

Laborationer nr 6

Ställa in deklarativa referensintegritetsregler

· Att vara på en logisk på datamodellnivå, välj förhållandet "avslutas" mellan enheterna Köpare och Avtalet genom att klicka på det med muspekaren. Tryck sedan på höger musknapp och välj objektet Relationsegenskaper(länkredigerare).

I länkredigeringsfönstret Relation gå till fliken RI-åtgärder... Läs standardreglerna för referensintegritet för förhållandet "Köpare - kontrakt". Dessa inställningar förbjuder infogning och modifiering av en underenhetsinstans samt radering och modifiering av en överordnad enhet. Detta innebär att det inte är tillåtet att radera eller ändra köparen om databasen innehåller avtal som ingåtts med honom, liksom att ingå avtalet utan att specificera köparen eller med hänvisning till en obefintlig köpare. Således har vi uppfyllt villkoret att kontraktet endast kan existera för en viss köpare.

· Analysera de fastställda referensintegritetsreglerna för alla andra länkar.

De regler som tilldelas länken som standard kan ändras genom att välja önskat värde i listrutan.

Data normalisering

Modellen visar att köparen i huvudsak har ett multipelt attribut TEL. Kunden kan ha flera telefonnummer, vilket är ett brott mot den första normala formen, enligt vilken alla attributvärden måste vara atomära. Därför är det nödvändigt att separera TEL-attributet till en separat enhet.

· Skapa en telefonenhet som innehåller följande attribut: TEL_CODE (primärnyckel, typnummer) och TEL (typsträng).

· Länka köparen och telefonenheterna med en identifierande länk. Ställ in kommunikationseffekten - En eller flera (P)och ange namnet på förhållandet - det har.

Serverval

Kör kommandot Databas | Välj databas.

I dialogrutan Erwin / ERX - Målserver du måste ställa in servertyp - Tillgång och dess version - 2000 ... Den specificerar också standarddatatypen och NULL-satsen för nyskapade kolumner. Några av alternativen i denna dialogruta beror på vald servertyp.

När du har valt en server klickar du på OK.

Denormalisera data

Det finns två många-till-många-förhållanden på modellen: Produkt - Kontrakt och Produkt - Faktura, som måste lösas på den fysiska nivån. Resultatet av att lösa dessa länkar presenteras i tabellen. 2.1.

Tabell 2.1.

Resultat av att lösa många-till-många relationer

Många till många relationer löses automatiskt när du går till det fysiska lagret eller använder en speciell guide Många förhållanden förvandla guiden.

· För att ringa till den här guiden, välj länken "Produkt - Kontrakt" genom att klicka på den med muspekaren. Tryck sedan på höger musknapp och välj objektet Skapa associeringstabell (skapa associativ tabell). Guidans första dialogruta visas på skärmen med text om dess syfte.

Gå in i fältet Tabellnamn (tabellnamn) - Delivery_Plan... I fält Tabellkommentar (kommentarer till tabellen) skriv in texten: Information om leverans av varor enligt kontraktet.

· En ny tabell Delivery_Plan dök upp på modellen, länkad med en identifierande länk till varu- och kontraktstabellerna.

· Den nya tabellen måste kompletteras med tre kolumner (se tabell 2.1). Välj tabellen för att göra detta Delivery_Plangenom att klicka på den med muspekaren. Tryck sedan på höger musknapp och välj objektet Kolumner (kolumnredaktör) . Att arbeta med denna redaktör liknar att arbeta med attributredigeraren.

· Ange tre nya kolumner på egen hand i enlighet med tabellen. 2.1.

· På ovanstående sätt (med hjälp av guiden) förvandlar du länken "Produkt - Faktura" och kompletterar den resulterande associerande tabellförsändelsen med två kolumner enligt tabellen. 2.1.

Ställa in valideringsregler

Ange en lista med giltiga värden

I enlighet med det aktuella ämnesområdet, för fältet VAT_VAT i produkttabellen, ange en lista med acceptabla värden: 0, 10 och 18%.

Kolumner.

I redigeringsfönstret i fältet Kolumn- SKATTESATS.

Gå till fliken för det valda DBMS - Tillgång.

· Giltig.

I dialog Valideringsreglerklicka på knappen Ny.

I dialog Ny valideringsregeli fält Logisk ange regelens namn - Momsskattecheck... Klicka på knappen OK.

Gå till bokmärket Allmän... I grupp Typ ställa in alternativet Giltig värdelista.

· I fält Giltigt värde på den första raden anger du 0. På andra och tredje raden anger du värdena: 10 och 18.

Kontrollera det högst upp i redigeringsfönstret Valideringsregler en rad dök upp: Momsskattecheck (Valideringsnamn) IN (0, 10, 18) (Valideringsregeln).

Klick OK.I redigeringsfönstret Kolumner på bokmärket Tillgång i fält Giltig namnet på den skapade regeln dök upp - "Kontrollera momssatsen".

Ställa in standardvärden

Låt oss skapa en regel enligt vilken värdet på det aktuella datumet kommer att ersättas som standard i fältet DATE_Year i avtalstabellen.

Ring snabbmenyn i kontraktstabellen och välj objektet Kolumner.

I redigeringsfönstret i fältet Kolumnvälj den kolumn för vilken regeln ska ställas in - DATE_DAY.

· På fliken Tillgång klicka på knappen till höger om listrutan Standard.

I dialogrutan Standard- / initialvärdenklicka på knappen Ny.

I dialog Nytt standardvärdei fält Logisk ange regelens namn - Det aktuella datumet... Klicka på knappen OK.

· På fliken Tillgång i fält Servervärde - Åtkomst till standard stiga på Datum () (en funktion som får värdet av det aktuella datumet).

Klick OK.I redigeringsfönstret Kolumner på bokmärket Tillgång i fält Standard namnet på den skapade regeln dök upp - "Aktuellt datum".

· Ställ in samma regel för fältet SHIP_DATE i fakturatabellen. För att göra detta, i kolumnredigeringsfönstret Kolumnvälj fältet DATE_PUT och på fliken Access i fältet Standardvälj en regel i listrutan Det aktuella datumet.

Ställa in regler för validering av ingångsvärden

Låt oss skapa en regel för att kontrollera de angivna värdena för PRICE-fältet i produkttabellen, enligt vilket detta fält inte kan ha värden mindre än 0.

Ring till snabbmenyn i produkttabellen och välj objektet Kolumner.

I redigeringsfönstret i fältet Kolumnvälj den kolumn för vilken regeln ska ställas in - PRIS.

· På fliken Tillgång klicka på knappen till höger om listrutan Giltig.

I dialog Valideringsreglerklicka på knappen Ny.

I dialog Ny valideringsregeli fält Logisk ange regelens namn - Pris koll... Klicka på knappen OK.

Gå till bokmärket Allmän... I grupp Typ ställa in alternativet Min Max.

· I fält Min ange 1. Förutom den nedre gränsen för värdeområdet kan du också ange den övre gränsen ( Max).

Högst upp i redigeringsfönstret Valideringsregler en nyskapad har lagts till i listan över valideringsregler: Priskontroll\u003e \u003d 1.

tryck på knappen OK.

Laborationer nr 7

Beräkna databasens storlek

Mål:

Att behärska metoden för att beräkna databasens storlek, implementerad i Erwin.

Laborationer nr 8

Erwin-rapportering

Mål:

· Studie av typer av rapporter;

Behärskar proceduren för att skapa rapporter

Laborationer nr 5

Grunderna i Erwin. Bygga en logisk datamodell

Mål:

· Behärska arbetets färdigheter i Erwin;

· Bygga en logisk modell för ett visst ämnesområde.

Uppgiften:

Bygg en logisk informationsmodell för leverans av varor i enlighet med kontrakt med Erwin-verktyg.







2020 gtavrl.ru.