erwini loogiline andmemudel. Üldised tööpõhimõtted erwinis. Joonis 1. Sidevõimsuse tähistus IE tähistuses

Suhe on loogiline suhe olemite vahel. Iga suhet tuleks nimetada tegusõnaks või verbifraasiks. Seose nimi väljendab mõnda piirangut või ärireeglit ja muudab diagrammi hõlpsamini loetavaks. Vaikimisi ühenduse nime diagrammil ei kuvata. Loogilisel tasandil saate luua üks-mitmele tuvastava suhte, mitu-mitmele seose ja üks-mitmele mitteidentifitseeriva suhte. Suhe on loogilise tasandi mõiste, millele füüsilisel tasandil vastab võõrvõti. ERwinis on suhted esindatud viie peamise teabega:

● ühenduse tüüp (tuvastav, mitteidentifitseeriv, täielik/mittetäielik kategooria, mittespetsiifiline ühendus);

● emaüksus;

● laps (ülalpeetav) üksus;

● suhtlusjõud (kardinaalsus);

● tühjade (null) väärtuste aktsepteeritavus.

IDEFIX eristab sõltuvaid ja sõltumatuid üksusi. Olemi tüübi määrab selle seos teiste üksustega. Iseseisva (vanem) ja ülalpeetava (laps) üksuse vahel luuakse tuvastav suhe. Sõltuv olem on kujutatud ümarate nurkadega ristkülikuna. Identifitseeriva seose loomisel kantakse ülemolemi primaarvõtme atribuudid automaatselt üle alamolemi primaarvõtmesse. Seda alamolemile atribuutide lisamise toimingut seose loomisel nimetatakse atribuutide migreerimiseks. Alamolemis märgitakse uued atribuudid võõrvõtmeks - FK.

Kui luuakse mitteidentifitseeriv seos, jääb alamolemik sõltumatuks ja ülemolemi esmase võtme atribuudid kaasatakse alamolemi mittevõtmeatribuutidesse. Sõltumatute üksuste linkimiseks kasutatakse mitteidentifitseerivat seost. ERwin-suhete määratlemiseks valite suhte tüübi ja seejärel kasutage hiirt, et valida ülem- ja alamolemid. Identifitseerimislink on kujutatud pideva joonena; mitteidentifitseeriv – punktiirjoon. Jooned lõpevad punktiga alamolemi küljel.

Kardinaalsus – näitab emaüksuse eksemplaride arvu suhet lapse eksemplaride arvusse.

Olemeid on nelja tüüpi:

· üldine juhtum, kui üks emaüksuse eksemplar vastab 0, 1 või mitmele alamolemi eksemplarile; ei ole tähistatud ühegi sümboliga;

· sümbol P tähistab juhtumit, kui üks emaolemi eksemplar vastab 1 või mitmele alamolemi eksemplarile (null väärtus on välistatud);

· sümbol Z tähistab juhtumit, kui üks emaolemi eksemplar vastab alamolemi eksemplarile 0 või 1 (mitmed väärtused on välistatud);

· arv tähistab täpset vastet, kui üks emaolemi eksemplar vastab etteantud arvule alamolemi eksemplaridele.

· tühjade (NULL) väärtuste lubatavust mitteidentifitseerivates suhetes on ERwin kujutanud tühja rombina suhtekaarel emaüksuse poolelt.

Ühenduse nimi loogilisel tasandil on üksusi ühendav tegusõna. ERWini füüsilise lingi nimi (mis võib erineda loogilisest linginimest) tähendab piirangu või indeksi nime. Seose nime kuvamiseks valige menüüst suvand: Vorming/Seosekuva/Verbifraas.

Mõned olemid määratlevad terve sama tüüpi objektide kategooria. ERwinis luuakse sel juhul olem kategooria määratlemiseks ja iga kategooria elemendi jaoks ning seejärel võetakse nende jaoks kasutusele kategoriseerimissuhe. Kategooria emaolemit nimetatakse supertüübiks ja selle alatüüpe alamtüübiks.

Näiteks olem "sissetulev dokument" võib olla nii päring kui ka tellimus. Esimesel ja teisel on erinevad, osaliselt kattuvad atribuutide komplektid (alamtüüpide minimaalne ristumiskoht on primaarvõti). Nende atribuutide ühine osa, sealhulgas primaarvõti, paigutatakse supertüüpi olemisse "sissetulev dokument". Alamtüübi olemitesse paigutatakse erinevad osad (näiteks andmed sisu, saatja kohta).

Supertüüp-olemi puhul võetakse kasutusele atribuut diskriminaator, mis võimaldab eristada olemi konkreetseid eksemplare – alamtüüpi.

Sõltuvalt sellest, kas mudelisse on kaasatud kõik võimalikud alamtüübi olemid, on kategooriline seos täielik või mittetäielik.

Joonis 1.4 – Näide mittetäielikust kategooriate komplektist

Joonis 1.5 – kategooriate täieliku komplekti näide

3. Üksus võib olla üldine olem mis tahes arvus kategoriseerimissuhetes.

4. Kategooriaolemi primaarvõtme atribuudid peavad ühtima üldolemi primaarvõtme atribuutidega.

5. Kategooriaolemi kõigil eksemplaridel on sama diskrimineerija väärtus ja kõigil teiste kategooriate eksemplaridel peavad olema erinevad diskrimineerimisväärtused (vt joonis 4 ja joonis 5).

Rollid.

Rolli nimi (funktsionaalne nimi) on võõrvõtme atribuudi sünonüüm, mis näitab, millist rolli atribuut alamolemi juures mängib. Vaikimisi kuvatakse atribuutide loendis ainult rolli nimi. Atribuudi täisnime (nii funktsionaalse nime kui ka rollinime) kuvamiseks valige kontekstimenüüst Vorming/Olemi kuva ja seejärel lubage valik Rollinimi/Atribuut. Täisnimi kuvatakse funktsionaalse nimena ja põhinimena, eraldatuna punktiga. Rolli nimi on määratud dialoogiboksi Seos vahekaardil Rollinimi. See aken avatakse ühendusliinil topeltklõpsuga.

Rollinimede kasutamine on kohustuslik, kui sama olemi kaks või enam atribuuti on määratletud samas ulatuses, s.t. neil on sama tähendusvahemik, kuid erinevad tähendused.

Esindus.

Vaated või, nagu neid mõnikord nimetatakse, ajutised või tuletatud tabelid, on andmebaasiobjektid, milles andmeid ei salvestata püsivalt, nagu tabelis, vaid need genereeritakse vaatele juurdepääsul dünaamiliselt. Vaade ei saa eksisteerida iseseisvalt, vaid on määratletud ainult ühe või mitme tabelina. Vaadete kasutamine võimaldab andmebaasi kujundajal pakkuda igale kasutajale või kasutajate rühmale andmetest erinevat vaadet, mis lahendab kasutusmugavuse ja andmeturbe probleemid.

Vaatame arendustsüklit Coddi artiklis toodud näitel.
Meenutagem lühidalt probleemi sisu. Töötajate üle peetakse arvestust. Iga töötaja kohta salvestatakse teave laste kohta ja selle töötaja ametikohtade loetelu. Ametikohtade kohta säilitatakse teave kehtestatud ametlike palkade kohta.
Kõigepealt loome mudeli loogilise taseme. Selleks määrake olemi kuvamise režiim (Display/Entity Level). Tööriistariba abil loome olemid “töötaja”, “lapsed”, “tööajalugu”, “palgaajalugu”. Nimetame üksusi vene keeles.
Pärast iga olemi valimist määrame redaktoris "Olemi definitsioon" selle üksikasjaliku venekeelse kirjelduse. See kirjeldus kuvatakse ERwini aruannetes ja seda saab kuvada diagrammil.
Näidakem seoseid olemite vahel. Näiteks "töötaja" on seotud identiteedisuhtega "on vanem" olemiga "lapsed". Suhte kirjeldus sisestatakse toimetusse "Toimetaja/Suhe".
Töö tulemus kuvatakse ERwini diagrammil (joonis 2).

Riis. 2. Olemi taseme diagramm

Nüüd läheme atribuudi seadistusrežiimi (kuva/atribuutide tase). Redaktoris "Olem/atribuut" määrame võtme- ja mittevõtmeatribuutide nimed vene keeles. Pange tähele, et alamolemi „lapsed” puhul ei ole võtmeatribuuti „töötaja number” käsitsi määratud. ERwin haldab oma migratsiooni emaüksusest. Sama juhtub ka teiste alamüksustega.
Olemi „töötaja” atribuudi „nimi” puhul näitame, et tegemist on alternatiivse võtmega (eeldame, et kõigil töötajatel on kordumatu ees-/perenimi). Selleks paneme atribuudi nime järele sulgudesse AK1 osuti.
Töö tulemus kuvatakse ERwin diagrammil (joonis 3) IDEF1X tähistusega.

Riis. 3. Atribuutide taseme diagramm IDEF1X tähistuses

Sama diagrammi vaade IE (Information Engineering) tähistuses on näidatud joonisel 4.

Riis. 4. Atribuutide taseme diagramm IE tähistuses

Kuna atribuutide ja olemite nimed täpsustasime vene keeles, tuleks mudeli füüsilisele tasemele liikumiseks määrata neile tabelite, veergude ja piirangute identifikaatorid, mis vastavad siht-DBMS-i reeglitele (tavaliselt tähendab see ladina tähtede kasutamist , numbrid ja mõned erimärgid).
Redaktoris "Andmebaasiskeem" määrake iga olemi jaoks vastav tabeli nimi. Seejärel määrame redaktoris "Atribuudi definitsioon" olemi atribuutidele vastavad tabeli veergude nimed. ERwin pakub ka veergude nimede migreerimist alamtabelitesse.
Selles etapis saate PowerBuilderi laiendatud atribuutide (kuvavorming, redigeerimismask, juhtreeglid, joondus, pealkirjad ja kommentaarid) määratlemiseks kasutada ka redaktorit "Extended Attributes".
Redaktor Relationship Definitions määrab seose füüsilise nime, mis vastab ERwini poolt andmebaasis loodud piirangu nimele.
Nüüd on kõik andmebaasi loomiseks valmis ja peate valima siht-DBMS-i (kui seda pole varem tehtud). Valime näiteks Sybase System 10.
SIBASE Database Schema redaktoris määrame tabeli veergude andmetüübid.
Dialoog, milles andmetüüp on valitud, on näidatud joonisel 5.

Riis. 5. Füüsikalise mudeli definitsioon

Nüüd saate jätkata andmebaasi loomisega. Selleks käivitage käsk "Sybase skeemi genereerimine". ERwin loob SQL-i andmebaasi genereerimise avalduste paketi. Joonis 6 näitab andmebaasi genereerimiseks paketi genereerimise parameetrite valimise dialoogi. Joonisel on näha, et saab määrata filtri (kõiki tabeleid ei genereerita), SQL-lausete paketti saab vaadata (eelvaade), printida, faili salvestada (aruanne) ja genereerida (genereerida).

Riis. 6. Andmebaasi genereerimise parameetrite valimine

ERwini täiustatud funktsioonid

Infomudelil on kaks võimalikku seisukohta ja vastavalt sellele mudeli kaks taset. Esimene – loogiline tasand (kasutaja vaatenurk) tähendab tegelikust elust pärit faktide otsest kuvamist. Näiteks inimesed, lauad, osakonnad, koerad ja arvutid on reaalsed objektid. Neid nimetatakse loomulikus keeles, mis tahes sõnade eraldajatega (tühikud, komad jne). Mudeli füüsilisel tasandil vaadeldakse konkreetse DBMS-i kasutamist, määratakse andmetüübid (näiteks täis- või reaalarv) ja tabelite indeksid.

ERwin pakub võimalust luua ja hallata ühe diagrammi (mudeli) kahte erinevat esituse taset, samuti on igal tasemel palju kuvamisvalikuid. Mõiste "loogiline tase" ERwinis vastab kontseptuaalsele mudelile.

Teabemudeli loomise etapid:

· üksuste määratlemine;

· üksuste vaheliste sõltuvuste määramine;

· primaar- ja alternatiivvõtmete seadistamine;

· olemi atribuutide määratlemine;

· mudeli viimine normaalvormi nõutavale tasemele;

· üleminek mudeli füüsilisele kirjeldusele: vastavuste määramine olemi nimi - tabeli nimi, olemi atribuut - tabeli atribuut;

· päästikute, protseduuride ja piirangute seadmine;

· Andmebaasi genereerimine.

Erwin loob lahendatavale probleemile visuaalse esituse (andmemudeli). Seda vaadet saab kasutada arendustsüklis vajaliku dokumentatsiooni üksikasjalikuks analüüsiks, täpsustamiseks ja levitamiseks. ERwin pole aga kaugeltki lihtsalt joonistustööriist. ERwin loob automaatselt andmebaasi (tabelid, indeksid, salvestatud protseduurid, viiteterviklikkuse päästikud ja muud andmete haldamiseks vajalikud objektid).

Olemi loomine.

Olemi lisamiseks mudelisse tuleb klõpsata tööriistaribal olemi nuppu (Erwin Toolbox), seejärel klõpsata diagrammil kohta, kuhu soovid uue olemi paigutada. Paremklõpsates olemil ja valides hüpikmenüüst Olemiredaktor, saate kuvada olemiredaktori dialoogi, kus saate määrata olemi nime, kirjelduse ja kommentaarid.

Iga olem peab olema täielikult määratletud, kasutades vahekaardil Definitsioon tekstikirjeldust. Need definitsioonid on kasulikud nii loogilisel tasandil, kuna võimaldavad teil mõista, mis olem on, kui ka füüsilisel tasandil, kuna neid saab eksportida skeemi osana ja kasutada tegelikus andmebaasis (LOO KOMMENTAAR üksuse_nimi kohta). Järjehoidjaid Note, Note2, Note3, UDP (User Defined Properties) kasutatakse olemile täiendavate kommentaaride ja definitsioonide lisamiseks.

Vahekaardil Ikoon saab igale olemile määrata pildi, mis kuvatakse mudelivaaterežiimis ikooni tasemel, ja kujutise, mida kuvatakse kõigil muudel tasanditel.

Olemiredaktori dialoogi UDP vahekaarti kasutatakse kasutaja määratud atribuutide (User - Defined Properties) määratlemiseks. Kui klõpsate selle vahekaardi nuppu, kuvatakse dialoog Kasutaja määratud atribuutide redaktor (kutsutakse ka menüüst Redigeerimine/UDP-d). Tuleb märkida objekti tüüp, mille jaoks UDP luuakse (skeem tervikuna, olem, atribuut jne) ja andmetüüp. Uue atribuudi lisamiseks klõpsake tabelis nuppu ja sisestage nimi, andmetüüp, vaikeväärtus ja määratlus.

Atribuutide loomine

Atribuutide kirjeldamiseks paremklõpsake olemil ja valige ilmuvast menüüst Atribuutide redaktor. Ilmub atribuutide redaktori dialoog.

Kui klõpsate nuppu Uus, saate ilmuvas dialoogis Uus atribuut määrata atribuudi nime, sellele füüsilises mudelis vastava veeru nime ja domeeni. Atribuudi domeeni kasutatakse veerutüübi määratlemisel füüsilise mudeli tasemel.

Primaarvõtme atribuutide jaoks peate dialoogi Atribuutide redaktori vahekaardil Üldine tegema märgistuse Primaarvõtme valimise aknas.

Vahekaardid Definition, Märkus ja UDP täidavad samu funktsioone nagu olemi määratlemisel, kuid atribuudi tasemel.

Diagrammi visuaalsemaks muutmiseks saab iga atribuudi seostada ikooniga. Seda saab teha vahekaardi Üldine ikoonivaliku loendi abil.

Väga oluline on anda atribuudile õige nimi. Atribuudid peavad olema nimetatud ainsuses ja neil peab olema selge semantiline tähendus.

IDEF1X süntaksi kohaselt peab atribuudi nimi olema mudeli sees (mitte ainult olemi sees!) kordumatu. Kui proovite lisada olemasoleva atribuudi nime, nimetab ERwin selle vaikimisi ümber. Näiteks kui atribuut Comment on mudelis juba olemas, saab teise atribuudi (teises olemis) nimeks Comment/2, seejärel Comment/3 jne.

Atribuutide ülekandmisel olemite sees ja vahel saate kasutada lohistamistehnikat, valides tööriistapaletist nupu.

Ühenduse loomine.

Uue seose loomiseks valige tööriistapaletist (ERwin Toolbox) tuvastav või mitteidentifitseeriv seos, klõpsake esmalt ülem- ja seejärel alamolemit.

Tööriistapaletis vastab nupp tuvastavale seosele, mitu-mitmele seose nupp ja mitteidentifitseerivale seosele vastav nupp. Seose atribuutide muutmiseks paremklõpsake seost ja valige kontekstimenüüst Relationship Editor.

Ilmuva dialoogiakna vahekaardil Üldine saate määrata ühenduse võimsuse, nime ja tüübi.

Sidevõimsus (kardinaalsus)- tähistab emaüksuse eksemplaride arvu ja alamjuhtumite arvu suhet.

Toiteallikaid on nelja tüüpi:

Üldjuhul, kus üks emaolemi eksemplar vastab 0-le, 1-le või paljudele alamolemi eksemplaridele, ei ole tähistatud ühegi sümboliga;

sümbol P tähistab juhtu, kui üks ülemolemi eksemplar vastab ühele või mitmele alamolemi eksemplarile (nullväärtus välja arvatud);

sümbol Z tähistab juhtumit, kui üks emaolemi eksemplar vastab 0 või 1 alamolemi eksemplarile (mitmed väärtused on välistatud);

Arv tähistab juhtumit, kui üks emaolemi eksemplar vastab etteantud arvule alamolemi eksemplaridele.

Vaikimisi lingi tugevust tähistavat sümbolit diagrammil ei kuvata. Nime kuvamiseks valige kontekstimenüüs, mis ilmub, kui paremklõpsate diagrammi mis tahes kohas, mis ei ole hõivatud mudeliobjektidega, suvand Kuvavalikud/suhe ja seejärel lubage suvand Kardinaalsus.

Ühenduse tüüp (identifitseeriv/mitteidentifitseeriv).

IDEF1X eristab sõltuvaid ja sõltumatuid üksusi. Olemi tüübi määrab selle seos teiste üksustega. Identifitseeriv suhe luuakse sõltumatu (suhte vanemots) ja sõltuva (suhte lapse lõpp) üksuse vahel. Kui tuvastatakse tuvastav suhe, muudab ERwin lapsesuhte automaatselt sõltuvaks suhteks. Sõltuv olem on kujutatud ümarate nurkadega ristkülikuna.

Sõltuva olemi eksemplar määratletakse ainult seose kaudu emaüksusega. Identifitseeriva seose loomisel kantakse ülemolemi primaarvõtme atribuudid automaatselt üle alamolemi primaarvõtmesse. Seda alamolemile atribuutide lisamise toimingut seose loomisel nimetatakse atribuutide migreerimiseks. Alamolemis on uued atribuudid märgitud võõrvõtmetena – (FK).

Kui luuakse mitteidentifitseeriv seos, jääb alamolemik sõltumatuks ja ülemolemi esmase võtme atribuudid migreeruvad alamolemi mittevõtmekomponentidele. Sõltumatute üksuste ühendamiseks kasutatakse mitteidentifitseerivat seost.

Identifitseeriv ühendus on diagrammil kujutatud pideva joonena koos paksu punktiga ühenduse alamotsas ja mitteidentifitseerivat ühendust punktiirjoonena.

Mitteidentifitseeriva seose puhul saate määrata kohustusliku (nullid dialoogi Seoste redaktori vahekaardil Üldine). Kohustusliku seose (No Nulls) korral saab andmebaasiskeemi genereerimisel võõrvõtme atribuut atribuudi NOT NULL, hoolimata sellest, et võõrvõti ei kuulu alamolemi primaarvõtmesse. Valikulise seose (Nulls Allowed) korral võib võõrvõti olla NULL. Valikuline mitteidentifitseeriv seos on tähistatud emaüksuse poolel läbipaistva teemandiga

Tegusõnafraas- fraas, mis iseloomustab vanem- ja alamüksuste vahelisi suhteid. Üks-mitmele suhte puhul, tuvastava või mitteidentifitseeriva, piisab nime määramisest, mis iseloomustab suhet vanemalt lapsele (Parent-to-Child). Mitu-mitmele suhte puhul tuleb määrata nii vanemalt lapsele kui ka lapselt vanemale nimed. Nime kuvamiseks valige kontekstimenüüs, mis ilmub, kui teete paremklõpsu diagrammil ükskõik millises kohas, kus mudeliobjektid ei ole hõivatud, suvand Kuvasuvandid/seos ja seejärel lubage suvand Verb Frase.

Rolli nimi või funktsionaalne nimi (rollinimi) on võõrvõtme atribuudi sünonüüm, mis näitab, millist rolli atribuut alamolemi puhul mängib. Rolli nime saate määrata seose redaktori dialoogi vahekaardil Rollinimi/RI toimingud.

Joonis 1. Võõrad võtmerollide nimed

Joonisel fig. 1, on töötaja võõrvõtmes Osakonnanumber olemil rollinimi "Kus töötab", mis näitab, millist rolli see atribuut olemis mängib. Vaikimisi kuvatakse atribuutide loendis ainult rolli nimi. Atribuudi täieliku nime (nii funktsionaalnime kui ka rolli nime) kuvamiseks kontekstimenüüs, mis ilmub, kui teete paremklõpsu diagrammil mis tahes kohas, kus mudeliobjektid ei ole hõivatud, valige Kuvasuvandid/olemid ja seejärel lubage rollinimi / valik Atribuut. Täisnimi kuvatakse funktsionaalse nime ja põhinimena, mis on eraldatud punktiga (joonis 1).

Rollinimede kasutamine on kohustuslik, kui sama olemi kaks või enam atribuuti on määratletud samas ulatuses, s.t. neil on sama tähendusvahemik, kuid erinevad tähendused.

Joonis 2. Kohustuslike rollinimede juhtum

Joonisel 2 sisaldab üksus Valuuta müük teavet valuutavahetusakti kohta, milles on seotud kaks valuutat – müüdud ja ostetud valuutad. Teave valuutade kohta sisaldub üksuses Valuuta. Seetõttu tuleb üksused Valuutamüük ja Valuuta kaks korda linkida ning esmane võti – Valuuta number kaks korda migreerida välisvõtmeks olemile Valuuta. Tuleb eristada neid atribuute, mis sisaldavad teavet müüdud ja ostetud valuuta numbrite kohta (neil on erinev tähendus), kuid viitavad samale Valuuta olemile (neil on ühine väärtusvahemik). Joonisel 2 olevas näites said atribuudid rollinimed Müüdud ja Ostetud.

Teine näide rollinimede kohustuslikust kasutamisest on rekursiivsed seosed, kui sama olem on nii vanem kui ka laps.

Viitamise terviklikkuse (RI) reeglid- loogilised konstruktsioonid, mis väljendavad andmete kasutamise ärireegleid ja esindavad sisestamise, asendamise ja kustutamise reegleid. Saate määrata viiteterviklikkuse reeglid dialoogi Seoseredaktori vahekaardil Rollinimi/RI toimingud.

Loogilise mudeli valikute alusel andmebaasiskeemi genereerimisel genereeritakse deklaratiivsed viiteterviklikkuse reeglid, mis tuleb iga seose jaoks ette kirjutada, ja trigerid, mis tagavad viiteterviklikkuse.

Joonis 3. Rändavad rollinimed

Joonisel 3 on identifitseeriv seos meeskonna ja mängija olemite vahel. Mis juhtub, kui kustutate käsu? Olemi eksemplar Player ei saa eksisteerida ilma käsuta (primaarvõtme atribuut Millises meeskonnas ta mängib? Meeskonna number ei saa võtta väärtust NULL), seetõttu peate kas keelama meeskonna kustutamise seni, kuni selles on vähemalt üks mängija, või kustutama kõik selle mängijad koos meeskonnaga. Selliseid eemaldamisreegleid (Parent Delete) nimetatakse Parent Restrict (piirang) ja Parent Cascade (kaskaad). Üksused Mängija ja Värav on omakorda ühendatud ka identifitseeriva lingiga ja kui mängija kustutamisel kehtib kõigi tema väravate kirjete kaskaadi kustutamise reegel, siis kui meeskond kustutatakse, siis kõik meeskonna mängijad. ja kõik nende mängijate löödud väravad kustutatakse.

Mitu-mitmele suhtlus on võimalik ainult loogilise andmemudeli tasemel. Sellist ühendust tähistab pidev joon, mille otstes on kaks punkti. Seose lisamiseks tuleb esmalt klõpsata tööriistapaletis (ERwin Toolbox) nupul ja seejärel klõpsata kordamööda mõlemal seotud olemil.

Mitu-mitmele suhet tuleks nimetada (Verb Frase) kahe fraasiga – mõlemas suunas. See muudab diagrammi hõlpsamini loetavaks.

Võtmete loomine.

Iga olemi eksemplar peab olema kordumatu ja teistest atribuutidest eristuv.

Esmane võti on atribuut või atribuutide rühm, mis identifitseerib üheselt olemi eksemplari. Diagrammi primaarvõtme atribuudid ei vaja eritähistust - need on atribuudid, mis on atribuutide loendis horisontaalse joone kohal. Uue atribuudi lisamisel dialoogiaknas Atribuutide redigeerija peate selle primaarvõtme atribuudiks muutmiseks lubama vahekaardi Üldine allosas märkeruudu Esmane võti. Diagrammil saab primaarvõtmele lisada võtmeatribuudi atribuudi edastusrežiimi abil (nupp tööriistapaletis).

Üks olem võib sisaldada mitut atribuuti või atribuutide komplekti, mis väidetavalt on primaarvõti. Selliseid taotlejaid kutsutakse potentsiaalsed võtmed (kandidaatvõti).

Võtmed võivad olla keerulised, s.t. sisaldab mitmeid atribuute. Komplekssed primaarvõtmed ei vaja erimärke – need on horisontaalse joone kohal olevate atribuutide loend. Primaarvõtme valikul tuleks eelistada lihtsamaid võtmeid, s.t. võtmed, mis sisaldavad vähem atribuute.

Paljudel olemitel on ainult üks kandidaatvõti. Sellest saab esmane võti. Mõnel olemil võib olla rohkem kui üks võimalik võti. Seejärel saab ühest neist esmane võti ja ülejäänud alternatiivseteks võtmeteks.

Alternatiivne võti on kandidaatvõti, millest ei ole saanud primaarvõtit.

Igal klahvil on vastav indeks, mille nimi määratakse samuti automaatselt. Võtmete ja indeksi nimesid saab soovi korral käsitsi muuta.

Diagrammil on alternatiivsete võtmete atribuudid tähistatud kui (Akn.m.), kus n on võtme seerianumber, m on võtmes oleva atribuudi seerianumber. Kui alternatiivne võti sisaldab mitut atribuuti, asetatakse iga atribuudi järele (Akn.m.).

Joonis 4. Üksus "Töötaja" koos kuvatavate võtmetega


Võõrvõtmed luuakse automaatselt, kui seos ühendab oleme: seosed moodustavad viite alamolemi primaarvõtme atribuutidele ja need atribuudid moodustavad alamolemi võõrvõtme (võtme migratsioon). Võõrvõtme atribuudid on tähistatud sümboliga (FK) nende nime järel (joonis 4). Võõrvõtme atribuudid Kus töötab Töötaja olemi osakonna number ("Where Works" on rolli nimi) on osakonna olemi primaarvõtme (PK) atribuut.

Sõltuval olemil võib olla sama võti mitmest ülemüksusest. Üksus võib saada sama võõrvõtme mitu korda samalt vanemalt mitme erineva seose kaudu. Kui ERwin tuvastab ühe neist sündmustest, tuvastab ta, et kaks atribuuti on samad, ja asetab võõrvõtme atribuudid sõltuvale olemile ainult üks kord. Seda identsete atribuutide kombinatsiooni või ühendamist nimetatakse ühendamiseks.

On juhtumeid, kui ühendamine on ebasoovitav. Näiteks kui kahel atribuudil on samad nimed, kuid tegelikult erinevad nad tähenduse poolest ja see erinevus on vajalik diagrammil. Sel juhul on vaja kasutada võõrvõtme rollinimesid (joonis 2).

Domeenid.

Domeeni saab määratleda kui väärtuste kogumit, millest atribuutide väärtused tuletatakse. Iga atribuuti saab määratleda ainult ühes domeenis, kuid igas domeenis saab määratleda mitu atribuuti. Domeeni mõiste hõlmab mitte ainult andmetüüpi, vaid ka andmeväärtuste vahemikku. Näiteks võite määratleda domeeni Vanus positiivse täisarvuna ja atribuudi Töötaja vanus sellesse domeeni kuuluvaks.

ERwinis saab domeeni määratleda ainult üks kord ja seda saab kasutada nii loogilises kui ka füüsilises mudelis.

Loogilisel tasandil saab domeene kirjeldada ilma konkreetsete füüsikaliste omadusteta. Füüsilisel tasandil saavad nad spetsiifilisi omadusi, mida saab käsitsi muuta. Seega võib domeenil "Vanus" olla loogilisel tasemel numbritüüp, domeenile määratakse tüüp INTEGER.

Loogilises mudelis domeeni loomiseks kasutage domeenisõnastiku redaktori dialoogi. Seda saab avada menüüst Redigeerimine/domeenisõnastik, kasutades nuppu, mis asub atribuutide redaktori dialoogi vahekaardi Üldine ülemises vasakus osas. Uue domeeni loomiseks dialoogis Domeenisõnastiku redaktor:

· Klõpsake nuppu Uus. Ilmub dialoog Uus domeen;

· valige loendist Domeeni vanem domeen. Uue domeeni saab luua kasutaja juba loodud domeeni või algselt olemasoleva domeeni põhjal. Vaikimisi on Erwinil neli eelmääratletud domeeni (String, Number, Blob, Datetime). Uus domeen pärib kõik emadomeeni omadused. Neid omadusi saab hiljem uuesti määratleda;

· sisestage domeeninimi väljale Loogiline nimi. Väljal Füüsiline nimi saate määrata ka füüsilise domeeninime. Kui füüsilist nime pole määratud, on see vaikimisi loogiline nimi;

· klõpsake nuppu OK;

Dialoogis Domeenisõnastiku redigeerija saate domeeni siduda ikooniga, millega see kuvatakse domeenide loendis (Domeeni ikoon), ikoon, millega kuvatakse mudelis domeenis määratletud atribuut (Icon Herited atribuudi järgi).

Iga domeeni saab kirjeldada vahekaardil Definitsioon, lisada kommentaari vahekaardile Märkus või kasutaja määratud atribuudiga vahekaardil UDP.

ERwinil on spetsiaalne tööriist, mis muudab domeeni kirjelduste abil mudelis uute atribuutide loomise palju lihtsamaks – Independent Attribute Browser. Seda dialoogi kutsutakse (ja peidetakse) kiirklahvi CTRL+B abil. Selle abiga saate valida loendist domeeni ja kasutada lohistamismeetodit selle olemile ülekandmiseks. See loob uue atribuudi nimega, mis tuleks määrata domeenisõnastiku redaktori dialoogiaknas Atribuudi pärinud nimi. Kui välja väärtust pole määratud, on vaikimisi domeeninimi.

Füüsilisel tasandil võimaldab domeenisõnastiku redaktori dialoog teil redigeerida domeeni füüsilisi omadusi. Selle vahekaardi nimi sõltub valitud andmebaasiserverist. Sellel saab määrata domeenile vastava konkreetse andmetüübi, NULL väärtuste määramise reeglid, valideerimisreeglid (kehtivate väärtuste kontrollimise reeglid) ja vaikeväärtuse seadmise. Valideerimisreeglid ja vaikeväärtused peavad olema eelnevalt kirjeldatud ja nimetatud. Valideerimisreeglite ja vaikeväärtuste muutmise dialoogide avamiseks kasutage vastava valikuloendi (Kehtiv ja Vaikimisi) paremal asuvaid nuppe.

Dialoogi Domeenisõnastiku redigeerija teiste vahekaartide funktsioonid:

Kindral. Veerule sõltumatu veerusirvija abil loomisel määratud domeeni vanema ja nime määramine. Kasutades valikut Physical Only, saab domeeni määratleda ainult füüsilise mudeli tasemel.

Kommenteeri. Atribuudile kommentaari lisamine.

UDP. Kasutaja määratud omadused.

Visual Basic- PowerBuilder. Spetsiaalsete domeeniatribuutide määramine kliendirakenduse koodi genereerimiseks.

Ülesanne täita.

Varem loodud funktsionaalse mudeli ja ainevaldkonna kirjelduse põhjal koosta ERwin paketi abil loogiline mudel.

Laboritöö nr 7.
Erwini põhitõed. Füüsilise andmemudeli ettevalmistamine andmebaasi genereerimiseks

1. Töö eesmärk: füüsilise andmemudeli koostamise põhimõtete valdamine andmebaasisüsteemi kataloogi genereerimiseks.

ERwin liidese kirjeldus. ERwini CASE-liides koosneb kolmest põhiosast. Esimene on peamenüü ja tööriistaribad.

Tööriistaribade nupud peegeldavad mõningaid põhimenüü põhikäske. Salvestage, avage, looge uus fail, paneel nuppudega mudeli kuva skaala suurendamiseks või vähendamiseks, lülitus füüsilise ja loogilise mudeli vahel, lülitus salvestatud kuvade vahel, paneel stiili, suuruse ja värvi muutmiseks fondid, geomeetriliste kujundite konstrueerimise tööriistadega paneel ja mitmed abitööriistaribad (joon. 5.3).

Riis. 5.3.

Teine on Model Explorer. See sisaldab kolme vahekaarti: mudel, teemavaldkonnad ja domeenid. Kõige sagedamini kasutatav vahekaart Model Exploreris on Domeenid või Mudel (mis sisaldab kõiki objekte ja mudeleid). Domainides kuvatakse domeenid ja Subject Areas - kuvatavad alad (joonis 5.4).

Riis. 5.4.

Ja kolmas on objektimudeli loomiseks otseselt eraldatud ala, kus luuakse ja redigeeritakse kõiki mudelobjekte. Allosas kuvatakse järjehoidjad koos salvestatud salvestatud kuvade nimedega (Stored Displays) (joonis 5.5).


Riis. 5.5.

ERwinil on kaks mudeliandmete esituse taset: loogiline ja füüsiline. Loogika tase- see on andmete abstraktne vaade, milles andmed esitatakse nii, nagu need reaalses maailmas välja näevad, näiteks "Klient", "Töökoda" või "Töötaja nimi". Loogilisel tasemel esindatud mudelobjekte nimetatakse olemiteks ja atribuutideks. Loogilise andmemudeli saab ehitada mõne teise loogilise mudeli, näiteks protsessimudeli peale. Loogiline andmemudel on universaalne ega ole kuidagi seotud konkreetse DBMS-i juurutamisega.

Füüsiline mudel andmed, vastupidi, sõltuvad konkreetsest DBMS-ist, olles tegelikult süsteemikataloogi peegeldus. Füüsiline mudel sisaldab teavet kõigi andmebaasiobjektide kohta. Kuna andmebaasiobjektide standardid puuduvad (näiteks puudub andmetüüpide standard), sõltub füüsiline mudel DBMS-i konkreetsest teostusest. Järelikult võib samale loogilisele mudelile vastata mitu erinevat füüsilist mudelit. Kui loogilise mudeli puhul pole vahet, mis konkreetsel andmetüübil atribuut on, siis füüsilises mudelis on oluline kirjeldada kogu infot konkreetsete füüsiliste objektide kohta – tabelid, veerud, indeksid, protseduurid jne. Mudeli jagamine loogilisteks ja füüsiline võimaldab lahendada paljusid olulisi ülesandeid.

ERwinil on mitu diagrammi kuvamise taset: olemi tase, atribuudi tase, määratluse tase, esmase võtme tase ja ikooni tase. Tööriistariba nuppude abil saate vahetada kolme esimese taseme vahel. Teistele kuvatasemetele saate lülituda kontekstimenüü abil, mis kuvatakse, kui klõpsate diagrammi mis tahes kohas, mis pole mudeliobjektidega hõivatud. Valige kontekstimenüüst Kuvatase ja seejärel soovitud kuvatase. ERwin võimaldab teil seostada suuri ja väikeseid ikoone olemiga. Ikoonitasemele lülitumisel kuvatakse suur ikoon. Väikese ikooni kuvamiseks valige kontekstimenüüst olemi kuva/olemi ikoon. Olemi nimest vasakul kuvatakse mudelikuva kõikidel tasanditel väike ikoon.

Määrake värv ja font. Objektide fondi ja värvi määramiseks ERwinis on mitu võimalust. Esiteks kasutage objekti värvi ja fondi määramiseks tööriistariba Font and Color, mis asub põhipaneeli all. Konkreetse objekti fondi ja värvi muutmiseks paremklõpsake olemil või seosel ja valige hüpikmenüüst Objekti font ja värv..., et avada dialoogiaken Font/Color Editor, kus kuvatakse nimi, kirjeldus ja üksuse kommentaarid on määratletud. Dialoogiaknas Font/Color Editor saate valida fondi ja määrata selle suuruse, stiili ja värvi, määrata täitevärvi (Fill Color atribuut, ainult olemitele) ja joone värvi (Outline Color atribuut, ainult olemitele).

Reaalsete andmemudelite loomisel võib olemite ja atribuutide arv ulatuda sadadesse. Mugavamaks tööks suurte mudelitega pakub ERwin mudeli alamhulgad (teemad), millesse saab kaasata temaatiliselt ühiseid üksusi. Mudeli alamhulk võib sisaldada suvalist olemite, seoste ja tekstikommentaaride komplekti. Mudeli alamhulkade loomiseks, kustutamiseks või redigeerimiseks tuleb välja kutsuda dialoog Subject Areas (menüü Mudel/Teemavaldkonnad...), kus märgitakse alamhulga nimi ja selles sisalduvad olemid. Kõik mis tahes teemaalal tehtud muudatused kajastuvad automaatselt üldmudelis. Sama olemi saab lisada mitmesse teemavaldkonda.

Salvestatud ekraan- mudeli alamhulga esitus, mis kuvab andmestruktuuri konkreetset aspekti. Üks teemaala võib sisaldada mitut salvestatud vastendust. Salvestatud kuva sisaldab samu üksusi ja seoseid nagu teemaala, kuid need võivad paikneda ekraanil erinevalt, erinevatel tasanditel, erineval skaalal ja erinevate objekti- või taustavärvidega.

Salvestatud kuva loomiseks kasutage dialoogi Salvestatud kuvad (menüü Format/Stored Display Settings...). Salvestatud vaadete vahel vahetamiseks kasutage diagrammi allosas olevaid vahekaarte.

ERwini diagrammi põhikomponendid on olemid, atribuudid ja seosed. Iga olem on sarnaste üksikute objektide kogum, mida nimetatakse eksemplarideks. Iga koopia on individuaalne ja peab erinema kõigist teistest koopiatest. Atribuut väljendab objekti spetsiifilist omadust. Andmebaasi (füüsilise mudeli) seisukohalt vastab olem tabelile, olemi eksemplar vastab tabeli reale ja atribuut tabeli veerule.

Loogilise andmemudeli loomine ainevaldkonnale “Eritellimusel valmistatud mööbel”. Loodud loogiline mudel kordab kavandatud IC struktuuri. Objektimudelite loomise alal olemi loomiseks peate (peale veendumist, et olete loogilise mudeli tasemel: loogilise ja füüsilise mudeli vaheline lüliti on tööriistariba paremas servas olev rippmenüü ) „klõpsake“ tööriistaribal olemi nupul ( ERwin Toolbox) Q , seejärel „klõpsake“ diagrammil sellel kohal, kuhu soovite uue olemi paigutada. Paremklõpsates olemil ja valides hüpikmenüüst Olemi atribuudid..., saate avada dialoogi Olemid, mis määrab olemi nime, kirjelduse ja kommentaarid (näiteks olemi nimi - tarnija, kirjeldus - tarnija andmed). Iga olem määratletakse vahekaardil Definitsioon oleva tekstikirjelduse abil. Märkus, märkus 2, märkus 3, UDP (User Defined Properties) järjehoidjaid kasutatakse olemile täiendavate kommentaaride lisamiseks. Järgmine samm on olemi atribuutide loomine. Nagu eespool öeldud, salvestab iga atribuut teavet olemi konkreetse atribuudi kohta ja iga olemi eksemplar peab olema kordumatu. Atribuuti või atribuutide rühma, mis identifitseerib olemit, nimetatakse primaarvõtmeks. Atribuutide loomiseks paremklõpsake olemil ja valige ilmuvast menüüst Atribuudid.... Kui klõpsate nupul Uus..., siis ilmuvas dialoogis Uus atribuut määrake atribuudi nimi, sellele füüsilises mudelis vastava veeru nimi ja domeen (näiteks atribuudi nimi on tarnija nimi). Atribuudi domeeni kasutatakse veerutüübi määratlemisel füüsilise mudeli tasemel. Primaarvõtme atribuutide jaoks peate dialoogi Atribuudid vahekaardil Üldine tegema märgistuse esmase võtme valimise aknas.

Atribuudiikooni kuvamiseks valige kontekstimenüüst üksus Olemi kuva ja lubage kaskaadmenüüs suvand Atribuudi ikoon. Mudeli kuvamise atribuudi tasemel kuvatakse atribuudi nimest vasakul väike ikoon. Olemi nimi on näidatud olemit kujutava ristküliku kohal, olemi atribuutide loend kuvatakse ristküliku sees. Loend on jagatud horisontaalse joonega, mille kohal on primaarvõtme atribuudid, mille all on mittevõtmeatribuudid. Atribuudid peavad olema nimetatud ainsuses ja neil peab olema selge semantiline tähendus. Selle reegli järgimine võimaldab meil osaliselt lahendada andmete normaliseerimise probleemi juba atribuutide määramise etapis. Näiteks atribuudi Tarnija telefonid loomine tarnija olemis on vastuolus normaliseerimisnõuetega, kuna atribuut peab olema atomaarne, st ei tohi sisaldada mitut väärtust. IDEF1X süntaksi kohaselt peab atribuudi nimi olema mudeli sees (ja mitte ainult olemi sees!) kordumatu. Iga olemi eksemplar peab olema kordumatu ja teistest atribuutidest eristuv. Järgmine samm mudeli loomisel on suhete loomine olemite vahel. Iga seost tuleks nimetada tegusõnaks või verbifraasiks (Seostegusõnafraasid joon. 5.6). Seose nimi väljendab mõnda piirangut või ärireeglit ja muudab diagrammi hõlpsamini loetavaks, näiteks:

Iga KLIENDI TELLIMUS;

IGA TELLIMUS ON KAVANDATUD.

Riis. 5.B. Seose nimi – seose verbifraasid

Uue ühenduse loomiseks toimige järgmiselt.

  • asetage kursor tööriistapaletis soovitud nupule (tuvastav või mittetuvastav ühendus) ja vajutage hiire vasakut nuppu;
  • Klõpsake esmalt vanemal ja seejärel alamüksusel. Kui olemite vahel luuakse seosed, migreeruvad ülemolemi primaarvõtme atribuudid võõrvõtmetena alamolemile. Vaikimisi ühenduse nime diagrammil ei kuvata. Nime kuvamiseks valige kontekstimenüüs, mis ilmub, kui klõpsate vasaku nupuga diagrammi mis tahes kohas, mis ei ole hõivatud mudeliobjektidega, üksus Seoste kuvamine ja lubage kontekstimenüüs suvand Verb Frase.

Teemavaldkonna „Mööbli tellimine” loogiline andmemudel on näidatud joonisel fig. 5.7.


Riis. 5.7.

Täielik atribuudimudel esindab andmeid kolmandal normaalkujul ja sisaldab kõiki üksusi, atribuute ja seoseid ning on esitatud joonisel fig. 5.8.

Olemi tasandil on mudel esitatud joonisel fig. 5.9.

Joonisel fig. Joonis 5.10 kujutab andmemudelit definitsiooni tasemel.

Riis. 5.8.

Riis. 5.E. Andmemudeli olemikiht

Ühendus on funktsionaalne sõltuvus kahe olemi vahel (eelkõige on olemil võimalik luua ühendus iseendaga). Näiteks on oluline teada töötaja perekonnanime ja sama oluline on teada, millises osakonnas ta töötab. Seega on üksuste “osakond” ja “töötaja” vahel suhe “koosneb” (osakond koosneb töötajatest). Suhe on loogilise tasandi mõiste, millele füüsilisel tasandil vastab võõrvõti. ERwinis on suhted esindatud viie peamise teabega:

· ühenduse tüüp (tuvastav, mitteidentifitseeriv, täielik/mittetäielik kategooria, mittespetsiifiline ühendus);

· emaüksus;

· laps (ülalpeetav) üksus;

· suhtlusjõud (kardinaalsus);

· Tühjade (null-) väärtuste vastuvõetavus.

Seost peetakse tuvastavaks, kui alamolemi eksemplar tuvastatakse selle seose kaudu emaüksusega. Atribuudid, mis moodustavad ülemolemi primaarvõtme, sisalduvad ka alamolemi primaarvõtmes. Identifitseerivas suhtes olev lapsüksus on alati sõltuv.
Seost peetakse mitteidentifitseerivaks, kui alamolemi eksemplar tuvastatakse muul viisil kui seose kaudu emaüksusega. Atribuudid, mis moodustavad ülemolemi primaarvõtme, sisalduvad ka alamolemi mittevõtmeatribuutides.
ERwin-suhete määratlemiseks valite suhte tüübi ja seejärel kasutage hiirt, et valida ülem- ja alamolemid. Identifitseerimislink on kujutatud pideva joonena; mitteidentifitseeriv – punktiirjoon. Jooned lõpevad punktiga alamolemi küljel.
Seose määratlemisel migreeritakse ülemolemi primaarvõtme atribuudid alamolemi vastavasse atribuudi ulatusse. Seetõttu ei sisestata selliseid atribuute käsitsi.
Ülemolemi primaarvõtme atribuudid migreeruvad vaikimisi nende enda nimedega. ERwin võimaldab sisestada neile rolle, st. uued nimed, mille all migreeruvad atribuudid alamolemis esitatakse. Kui atribuuti migreeritakse mitu korda, on selline ümbernimetamine vajalik. Näiteks olemil „vahetehing” on atribuut „müüja ettevõtte kood” ja „ostja ettevõtte kood”. Sel juhul on olemi "ettevõte" primaarvõtmel ("ettevõtte kood") allüksuses kaks rolli.
Füüsilisel tasemel on rolli nimi alamtabelis oleva võõrvõtme veeru nimi.
Seose tugevus on emaolemi eksemplaride arvu ja alamolemi eksemplaride arvu suhe. Mis tahes seose puhul, välja arvatud mittespetsiifiline, kirjutatakse see seos kujul 1:n.
ERwin pakub vastavalt IDEF1X metoodikale n jaoks 4 võimalust, mida alamolemis tähistatakse täiendava sümboliga: null, üks või mitu (vaikimisi); null või üks; täpselt N, kus N on konkreetne arv.
Tühjade (NULL) väärtuste vastuvõetavust mitteidentifitseerivates suhetes esindab ERwin tühja teemandina suhtekaare emaüksuse poolel.
Võimsuse tähistused vastavalt null, üks või mitu, üks või mitu, null või üks on näidatud joonisel fig. 1.

Joonis 1. Sidevõimsuse tähistus IE tähistuses

Suhte nimi loogilisel tasandil on "tegusõna", mis seob üksusi. ERwini lingi füüsiline nimi (mis võib erineda loogilisest nimest) on piirangu või indeksi nimi.