Počítače Windows internet

Nadväzovanie vzťahov medzi subjektmi. Návrh modelu v ERWin Erwin Príklady

Vzťah je logický vzťah medzi entitami. Každé spojenie musí byť pomenované slovesom alebo slovesnou frázou. Názov vzťahu vyjadruje určitý druh obmedzenia alebo obchodného pravidla a uľahčuje čítanie diagramu. V predvolenom nastavení sa názov prepojenia v diagrame nezobrazuje. Na logickej úrovni môžete vytvoriť identifikačný vzťah jeden k mnohým, vzťah mnoho k mnohým a neidentifikujúci vzťah jeden k mnohým. Odkaz je koncept logickej vrstvy, ktorý zodpovedá cudziemu kľúču na fyzickej vrstve. V ERwine sú vzťahy reprezentované piatimi základnými informáciami:

● typ vzťahu (identifikujúci, neidentifikujúci, úplná/neúplná kategória, nešpecifický vzťah);

● materská entita;

● detská (závislá) entita;

● komunikačná sila (kardinalita);

● prípustnosť prázdnych (nulových) hodnôt.

IDEFIX rozlišuje medzi závislými a nezávislými entitami. Typ entity je určený jej vzťahom k iným entitám. Medzi nezávislou (rodičovskou) a závislou (dieťou) entitou vzniká identifikačný vzťah. Závislá entita je nakreslená zaobleným obdĺžnikom. Keď sa vytvorí identifikačný vzťah, atribúty primárneho kľúča nadradenej entity sa automaticky prenesú do primárneho kľúča podriadenej entity. Táto operácia rozšírenia atribútov podriadenej entity pri vytváraní vzťahu sa nazýva migrácia atribútov. V podriadenej entite sú nové atribúty označené ako cudzí kľúč - FK.

Keď sa vytvorí neidentifikujúci vzťah, dieťa zostáva nezávislé a primárne kľúčové atribúty rodiča sú zahrnuté medzi nekľúčové atribúty dieťaťa. Na prepojenie nezávislých subjektov sa používa neidentifikujúci vzťah. Ak chcete definovať vzťahy ERwin, vyberte typ vzťahu a potom pomocou myši zadajte nadradenú a podradenú entitu. Identifikačný odkaz je zobrazený ako plná čiara; neidentifikujúce - s bodkovanou čiarou. Riadky sa končia bodkou zo strany podriadenej entity.

Mohutnosť – používa sa na označenie pomeru počtu inštancií nadradenej entity k počtu inštancií potomka.

Existujú štyri typy subjektov:

· Všeobecný prípad, keď jedna inštancia nadradenej entity zodpovedá 0, 1 alebo mnohým inštanciám podradenej entity; nie je označené žiadnym symbolom;

· Symbol P označuje prípad, keď jedna inštancia nadradenej entity zodpovedá 1 alebo viacerým inštanciám podradenej entity (nulová hodnota je vylúčená);

· Symbol Z označuje prípad, keď jedna inštancia nadradenej entity zodpovedá 0 alebo 1 inštancii podradenej entity (viac hodnôt sú vylúčené);

· Číslo označuje prípad presnej zhody, keď vopred určený počet výskytov podradenej entity zodpovedá jednej inštancii nadradenej entity.

· Prípustnosť prázdnych hodnôt (NULL) v neidentifikujúcich vzťahoch zobrazuje ERwin ako prázdny kosoštvorec na oblúku vzťahu zo strany nadradenej entity.

Názov vzťahu na logickej úrovni je sloveso, ktoré spája entity. Fyzický názov odkazu (ktorý sa môže líšiť od logického) pre ERWin znamená názov obmedzenia alebo indexu. Ak chcete zobraziť názov vzťahu, vyberte možnosť z ponuky: Formát / Zobrazenie vzťahu / Slovesná fráza.

Niektoré entity definujú celú kategóriu objektov rovnakého typu. V ERwin sa v tomto prípade vytvorí entita na definovanie kategórie a pre každú položku v kategórii a následne sa pre ne zavedie vzťah kategorizácie. Nadradená entita kategórie sa nazýva nadtyp a deti sa nazývajú podtyp.

Napríklad entitou „došlého dokumentu“ môže byť požiadavka alebo objednávka. Prvý a druhý majú odlišné, čiastočne sa prekrývajúce množiny atribútov (minimálnym priesečníkom podtypov je primárny kľúč). Spoločná časť týchto atribútov vrátane primárneho kľúča je umiestnená v entite nadtypu vstupného dokumentu. Rôzne časti (napríklad údaje o obsahu, odosielateľovi) sú umiestnené v podtypoch entít.

V entite supertypu sa zavádza rozlišovací atribút na rozlíšenie medzi špecifickými inštanciami entity podtypu.

V závislosti od toho, či sú v modeli zahrnuté všetky možné entity podtypu, je kategorický vzťah úplný alebo neúplný.

Obrázok 1.4 - Príklad neúplného súboru kategórií

Obrázok 1.5 - Príklad kompletnej sady kategórií

3. Entita môže byť spoločnou entitou v ľubovoľnom počte kategorizačných vzťahov.

4. Atribúty primárneho kľúča entity kategórie sa musia zhodovať s atribútmi primárneho kľúča všeobecnej entity.

5. Všetky inštancie entity-kategórie majú rovnakú hodnotu diskriminátora a všetky inštancie ostatných kategórií musia mať rozdielne hodnoty diskriminátora (pozri obr. 4 a obr. 5).

Roly.

Názov roly (funkčný názov) je synonymom pre atribút cudzieho kľúča, ktorý označuje rolu, ktorú atribút hrá v podradenej entite. Štandardne sa v zozname atribútov zobrazuje iba názov roly. Ak chcete zobraziť celý názov atribútu (funkčný názov aj názov roly), vyberte z kontextovej ponuky Formát / Zobrazenie entity a potom povoľte možnosť Názov roly / Atribút. Celý názov sa zobrazuje ako funkčný názov a základný názov oddelený bodkou. Názov roly sa nastavuje na karte Názov roly v dialógovom okne Vzťah. Toto okno sa vyvolá dvojitým kliknutím na odkaz.

Je povinné používať názvy rolí, keď sú dva alebo viac atribútov jednej entity definované v rovnakom rozsahu, t.j. majú rovnaký rozsah hodnôt, ale rozdielny význam.

zastupovanie.

Pohľady, alebo, ako sa niekedy nazývajú, dočasné alebo odvodené tabuľky, sú databázové objekty, v ktorých údaje nie sú uložené natrvalo, ako v tabuľke, ale sú generované dynamicky pri prístupe k pohľadu. Pohľad nemôže existovať sám o sebe, ale je definovaný iba v rámci jednej alebo viacerých tabuliek. Používanie pohľadov umožňuje návrhárovi databázy poskytnúť každému používateľovi alebo skupine používateľov odlišný pohľad na údaje, čím sa rieši otázka jednoduchosti použitia a bezpečnosti údajov.

dohody

Prijmime niektoré konvencie kvôli stručnosti nasledujúcej prezentácie:

· Kliknutie - stlačenie ľavého tlačidla myši.

· Kliknutie pravým tlačidlom myši - stlačenie pravého tlačidla myši.

Dvojité kliknutie – dve po sebe idúce kliknutia na tlačidlo myši

· Vybrať - presuňte kurzor na príslušný objekt (prvok diagramu, položku ponuky, ikonu) a kliknite ľavým tlačidlom myši.

Ťahať - vyberte objekt a bez uvoľnenia tlačidla myši presuňte kurzor v iná poloha.

· Záznam typu Súbor / Otvoriť znamená, že musíte vybrať položku ponuky Súbor a potom z ponuky, ktorá sa otvorí, položku Otvoriť.

Pracovná plocha ERwin

Na obr. 1 zobrazuje pracovnú plochu softvéru ERwin od Logic Works.

Obr. 1- Pracovná plocha Erwin.

Na obrázku 1 čísla označujú:

1- hlavné menu;

2- panel nástrojov;

3- sada špeciálnych nástrojov;

4- panel písiem a farieb;

5- grafové pole.

Pozrime sa bližšie na komponenty pracovnej plochy.

Hlavné menu obsahuje všeobecné príkazy. Všimnite si, že väčšina z týchto príkazov je duplikovaná buď ikonami na paneli s nástrojmi, alebo položkami ponuky, ktoré sa objavia po kliknutí pravým tlačidlom myši. Preto sa teraz zameriame na príkazy súvisiace so všeobecným pohľadom na pracovnú plochu. Položka Okno má nasledujúce podpoložky:

Panel nástrojov - panel nástrojov;

Panel s nástrojmi Písmo a farby - panel písiem a farieb;

Stavový riadok - stavový riadok;

ERwin Toolbox je sada špeciálnych nástrojov.

Ak niektorá z uvedených položiek nie je začiarknutá, príslušná položka sa na pracovnej ploche nezobrazí. Položky Možnosť / Zobraziť ponuku zobrazenia a Možnosť / Zobraziť ponuku editora pridávajú do hlavnej ponuky ďalší 1 gush, vy: Zobrazenie a Editor.

Panel nástrojov obsahuje nasledujúce skupiny ikon:

Práca so súbormi:

Vytvorte nový diagram;

Otvorte existujúci diagram;

Pošlite diagram na tlač.

Všimnite si, že tieto ikony sú duplikované príkazmi položky hlavnej ponuky Súbor.



Úrovne prezentácie modelu:

Úroveň entity;

Úroveň atribútu;

Úroveň popisu;

Fyzická vrstva (ak sa klikne na túto ikonu, potom počas demonštrácie sú ich typy označené na úrovni atribútov).

Tieto nástroje sú duplikované položkou ponuky Zobraziť. Obsahuje ďalšie úrovne prezentácie: Primary Key Level - zobrazujú sa len primárne kľúče, Physical Order Level - atribúty nie sú rozdelené na kľúčové a nekľúčové.

Mierka:

Zníženie;

Zvýšiť;

Žiadne zväčšenie;

Najmenší (ďalšie zmenšenie povedie k nečitateľnosti diagramu);

Zobraziť časť (po výbere tohto nástroja vyberte na pracovnom poli fragment, ktorý chcete zobraziť).

Všetky akcie tejto skupiny sú duplikované položkou Display / / Zoom.

Práca so serverom:

Vytvorte skript pre server;

Pripojte sa k serveru;

Vyberte server.

Sada špeciálnych nástrojov obsahuje všetky ikony potrebné na grafické zostavenie dátovej schémy. Pozostáva z nasledujúcich nástrojov:

Výber objektu;

Manipulácia s atribútmi;

Nezávislý subjekt;

Závislá entita;

Úplná kategorizácia;

Neúplná kategorizácia;

Identifikačný vzťah jeden k mnohým;

Neidentifikujúci vzťah „óda na mnohých“;

vzťah veľa k mnohým;

Textový štítok.

KONCEPČNÝ DIZAJN

Vytváranie subjektov

Entity v konceptuálnom diagrame môžu byť závislé a nezávislé. Na diagrame je každá entita znázornená obdĺžnikom. Nad ním je názov entity. Obdĺžnik je rozdelený na dve časti: horná časť je oblasť primárneho kľúča; dole - oblasť ďalších atribútov. Pri vytváraní entity je obdĺžnik na začiatku prázdny a názov má tvar E / n (napríklad E / 1, E / 2 atď.).

Ak chcete vytvoriť nezávislú entitu, musíte kliknúť na príslušnú ikonu zo sady špeciálnych nástrojov a potom kliknúť na pole diagramu v mieste, kde by sa mala nachádzať vytvorená entita. Ak chcete vytvoriť závislú entitu, vyberte nástroj Závislá entita a kliknite na pole grafu. Všimnite si, že obdĺžnik predstavujúci takúto entitu má zaoblené rohy. Pri vytváraní diagramu prakticky nie je potrebné priamo špecifikovať závislé entity, keďže ERwin konvertuje bežné entity na závislé entity pri organizovaní vzťahov alebo delení do kategórií.

Ak dizajnér nie je spokojný s pozíciou entity na poli, potom vyberte ikonu "Ukázať na objekt" zo sady špeciálnych nástrojov a presuňte entitu na nové miesto. Ak chcete odstrániť vybratú entitu, použite kláves Delete na klávesnici. Veľkosť obdĺžnika reprezentujúceho entitu môžete zmeniť výberom položky Možnosť / Veľkosť entity v hlavnom menu. Položka ponuky Option / Layout slúži na usporiadanie polohy entít na poli.

Teraz si definujme názov entity a jej charakteristické atribúty. Ak to chcete urobiť, použite položku Entity-Attribute z ponuky po kliknutí pravým tlačidlom myši. Do poľa Názov entity v otvorenom editore zadajte názov entity. Pomocou prepínača môžete zmeniť závislosť entity. Editačné pole Primárny kľúč je určené na zadávanie názvov atribútov, ktoré tvoria primárny kľúč. Pole Nekľúčové atribúty obsahuje nekľúčové atribúty. Upozorňujeme, že v oboch prípadoch sa na oddelenie atribútov používa kláves Enter na klávesnici. Na obr. 2 je znázornený príklad samostatného subjektu.

Ryža. 2 - Nezávislý subjekt

Ak chcete pridať rozšírený popis entity (Definícia) a všeobecný pohľad na všetky entity, použite Prehľadávač zostavy / entity.

ERwin poskytuje možnosť manipulovať s jednotlivými atribútmi. Ak to chcete urobiť, vyberte ikonu Manipulačné atribúty. V tomto režime môžete:

· Odstrániť atribút. Ak to chcete urobiť, vyberte individuálny atribút a stlačte kláves Delete na klávesnici.

· Presuňte atribút do entity. Ak to chcete urobiť, vyberte atribút a bez uvoľnenia tlačidla myši ho presuňte na požadované miesto. Všimnite si, že týmto spôsobom môžete presúvať atribúty v rámci kľúčových aj nekľúčových oblastí, ako aj medzi nimi.

· Presúvanie atribútov medzi entitami. Technika tejto akcie je podobná predchádzajúcej. Ak pri presúvaní atribútu stlačíte kláves Ctrl, skopíruje sa do inej entity.

Budovanie odkazov

Uvažujme o konštrukcii vzťahov jeden k mnohým. Ak to chcete urobiť, vyberte príslušnú ikonu zo sady špeciálnych nástrojov a potom postupne kliknite na rodiča a dieťa. Identifikačný odkaz je zobrazený plnou čiarou a čiernou bodkou v obdĺžniku predstavujúcom dieťa. Tento vzťah je charakterizovaný prenosom primárneho kľúča rodiča na identifikátor dieťaťa. Na obr. 3 znázorňuje identifikačný vzťah jedna k mnohým.

Obr. - Identifikačný odkaz

Podobným spôsobom sa buduje aj neidentifikujúci vzťah. Je znázornený bodkovanou čiarou a diamantom vedľa nadradeného obdĺžnika. Takýto kosoštvorec znamená, že existencia rodiča je fakultatívna, t.j. pole cudzieho kľúča môže byť nulové. Budovanie neidentifikujúceho vzťahu v ERwin je charakterizované prenosom primárneho kľúča rodiča na nekľúčové podradené atribúty. Obrázok 4 ukazuje neidentifikujúci vzťah.

Ryža. 4. - Neidentifikovateľné spojenie

Ako už bolo uvedené, navrhnutie vzťahu mnoho k mnohým vedie k novej entite. Príklad budovania vzťahu tohto typu medzi entitami prvý a druhý je znázornený na obr. 5.

Ryža. 5. - Mnoho-to-many vzťah

Popis vzťahu môžete zobraziť a zmeniť pomocou položky Vzťah z kontextovej ponuky vzťahu po kliknutí pravým tlačidlom myši. Okno, ktoré sa otvorí, ukazuje:

· Názov odkazu (pole Slovesná fráza).

· Typ vzťahu: Identifikačný alebo Neidentifikujúci.

· Kardinalita. ERwin vám umožňuje definovať nasledujúce typy odkazov.

1. Nula, jedna alebo viac. Prítomnosť takejto mohutnosti nezavádza do diagramu ďalšie označenia.

2. Jeden alebo viac. Takéto vzťahy sú označené písmenom P vedľa obdĺžnika predstavujúceho dieťa.

3. Nula alebo jedna. Mohutnosť je označená písmenom Z.

4. Dané. V tomto prípade musí pole Presne obsahovať číslo mohutnosti. Takýto vzťah je označený číslom v obdĺžniku predstavujúcom dieťa.

· Možnosť existencie hodnôt Null (prepínač Null).

· Úloha cudzieho kľúča. V tomto prípade je názov roly zaznamenaný v poli Názov roly. V tomto prípade pole Cudzí kľúč editora obsahuje konštrukciu<имя роли>.<имя первичного ключа родителя>.

Ak diagram nezobrazuje názvy alebo mohutnosť spojenia, musíte umiestniť ukazovatele oproti položkám Display / Verb Fhrase a Display / Cardinality.

Ak chcete odkaz odstrániť, vyberte ikonu „Ukázať na objekt“, kliknite na príslušný odkaz a stlačte kláves Delete na klávesnici.

Rozdelenie entít do kategórií v ERwin je znázornené podobným spôsobom ako na obr. 6.

Ryža. 6 - Úplná kategorizácia

Ak chcete vytvoriť kategórie, musíte urobiť nasledovné:

Úplne opíšte hlavnú entitu;

Vytvoriť entity kategórie;

Vyberte ikonu pre úplnú alebo neúplnú kategorizáciu zo sady špeciálnych nástrojov;

Kliknite na hlavnú entitu;

Kliknite na jednu z kategórií;

Ak chcete vytvoriť každú nasledujúcu kategóriu, kliknite na znak kategórie a potom na príslušnú entitu.

Ak chcete odstrániť spojenie jednej z kategórií s hlavnou entitou, vyberte príslušnú vetvu a stlačte Delete na klávesnici. Ak chcete vymazať celú kategorizáciu, ukážte na znak kategórie a stlačte Delete.

LOGICKÝ DIZAJN

Logický návrh začína výberom dátového modelu. Všetky DBMS, s ktorými ERwin pracuje, sú relačné, to určuje výber dátového modelu.

Ak chcete vybrať konkrétny DBMS, kliknite na ikonu Select Server. V okne, ktoré sa otvorí, umiestnite ukazovateľ oproti zvolenému DBMS, v prípade potreby nastavte verziu. Okrem toho musíte štandardne vybrať charakteristiky polí tabuľky (typ a možnosť nulovej hodnoty).

Dôležitým krokom v logickom dizajne je definovanie stratégie na zachovanie integrity informácií. Ak chcete nastaviť predvolenú stratégiu pre rôzne typy odkazov, kliknite na tlačidlo Predvolená referenčná integrita v okne výberu DBMS. ERwin ponúka tri typy stratégií:

1. Obmedziť – zakázať. Vyznačuje sa zákazom konania so spriaznenými subjektmi.

2. Kaskáda - kaskádové. Takouto stratégiou je vykonávanie kaskádových operácií na súvisiacich subjektoch.

3. Nastavte Null - nula. Táto stratégia spočíva v nastavení hodnoty poľa na hodnotu Null.

Po výbere DBMS začnime popisovať údaje v ich podmienkach. Ak to chcete urobiť, vyberte z ponuky, ktorá sa objaví, kliknutím pravým tlačidlom myši na entitu, položku<имя выбранной СУБД>Schéma databázy. V okne, ktoré sa otvorí, môžete zadať názvy tabuliek a ich polí, ako aj charakteristiky týchto polí.

V praxi sa často stáva, že nie všetky vzťahy akéhokoľvek typu sú určené rovnakými stratégiami na udržiavanie obmedzení integrity. Ak chcete zmeniť stratégie pre konkrétny odkaz, použite položku Referenčná integrita z kontextovej ponuky odkazu po kliknutí pravým tlačidlom myši. Ak v diagrame nie sú žiadne informácie o zvolenej stratégii, umiestnite ukazovateľ vedľa položky Displej / Integrita referenda.

Ak chcete vytvoriť skript pre vybratú DBMS, kliknite na ikonu „Generovať skript pre server“. ERwin zároveň zostavuje databázovú schému podľa určitých tabuliek. Ak vybraný DBMS podporuje zapisovacie spúšťače, potom sú zostavené v závislosti od zvolených stratégií na podporu obmedzení integrity.

FYZICKÝ DIZAJN

V tejto fáze návrhu pridáme do výsledného obvodu ďalšie indexy. Ak to chcete urobiť, použite položku<имя СУБД>Index ponuky, ktorá sa zobrazí po kliknutí pravým tlačidlom myši na entitu. V okne, ktoré sa otvorí, kliknite na tlačidlo Nový na vytvorenie nového indexu a potom preň zadajte atribút kliknutím na vizuálny obrázok tohto atribútu. Všimnite si, že teraz na všeobecnom diagrame sú atribúty, podľa ktorých sú indexy konštruované, označené písmenami AK. To znamená, že ide o alternatívne kľúče.

CVIČENIE

1. Vytvorte koncepčnú databázovú schému pre certifikačný orgán pomocou ERwin. Opis predmetnej oblasti je uvedený nižšie.

Certifikačný orgán je akreditovaný na vydávanie certifikátov pre určité typy produktov. Každý druh výrobku je popísaný kódom (podľa klasifikátora), názvom typu (napríklad mliečne výrobky) a druhom (napríklad mlieko). Pre každý typ produktu môže existovať niekoľko regulačných dokumentov a účinok každého regulačného dokumentu sa vzťahuje na niekoľko typov produktov. Regulačný dokument je charakterizovaný svojou úrovňou (GOST, OST atď.), číslom a názvom.

Certifikát sa vydáva len pre jeden typ produktu a len pre jedného klienta. Jeden a ten istý klient môže kontaktovať certifikačný orgán viackrát, preto je potrebné uchovávať informácie o klientoch (kód organizácie, jej názov, adresu a telefónne číslo).

Klient môže požiadať certifikačný orgán jedným z dvoch typov žiadosti o certifikáciu: žiadosťou alebo vyhlásením. V závislosti od toho sa zostavujú rôzne typy internej dokumentácie a uchovávajú sa rôzne informácie (Tabuľka 1)

stôl 1

V tomto prípade je číslovanie žiadostí a vyhlásení priebežné. To znamená, že ak existuje žiadosť s číslom, potom by pod týmto číslom nemalo byť vyhlásenie.

Certifikačný orgán uchováva informácie o svojich zamestnancoch (rodné číslo, priezvisko, pozícia a adresa). Okrem toho musíte vedieť, akú prácu a na akom výpise zamestnanec vykonával. Práca vykonaná na žiadosti môže byť štyroch druhov: vyplniť žiadosť, rozhodnúť o žiadosti, rozhodnúť o vydaní certifikátu, vydať certifikát. Pre rovnakú aplikáciu môžu rôzni zamestnanci vykonávať rôzne druhy práce. V koncepčnom diagrame musí byť rozdelenie do kategórií. Okrem toho je potrebné použiť roly cudzieho kľúča.

2. Konvertujte konceptuálnu schému na tabuľky vybranej DBMS pomocou ERwin. Vytvorte spúšťače.

3. Vytvorte troch používateľov databázy s nasledujúcimi právami:

1) "Správy" - právo čítať všetky informácie (žiadne iné práva neexistujú);

2) "Adresáre" - všetky práva na informácie o zamestnancoch, zákazníkoch, produktoch a regulačných dokumentoch;

3) "Dokumentácia" - všetky práva na informácie o internej dokumentácii certifikačného orgánu a klientov; právo čítať údaje o produkte a regulačné údaje.

Správa by mala obsahovať:

Výtlačok koncepčného diagramu z ERwin;

Odôvodnenie výberu stratégií na podporu obmedzení integrity základne;

Štruktúra tabuliek a spúšťačov;

Popis prostriedkov na vytváranie databázových užívateľov.

KONTROLNÉ OTÁZKY

1. Aké typy vzťahov môžu existovať v predmetnej oblasti?

2. Ako odstrániť vzťah many-to-many zo schémy databázy?

3. Aký je rozdiel medzi identifikovateľnými a neidentifikovateľnými odkazmi?

4. Kedy je potrebné opísať úlohy cudzích kľúčov?

5. Ako môžete zdôvodniť výber kategórií?

6. Aký je rozdiel medzi úplnou a neúplnou kategorizáciou?

7. Aké druhy stratégií na udržiavanie obmedzení integrity boli použité v laboratóriu?


Bibliografia

1. Dátum K.J. Úvod do databázových systémov - Učebnica. príspevok: Preložené z angličtiny. - 6. vyd. - M. a ďalší: Williams, 2000 .-- 846 s.

2. Robinson S. Microsoft Access 2000: učebnica. kurz: per. z angličtiny - SPB .: Peter, 2001 .-- 511 s.

3. Kuznecov S.D. Základy databáz: Priebeh prednášok: Učebnica. manual.M .: Internet un-t Inform. technológie, 2005.-484 s.

4. Hoffman V.E., Chomonenko A.D. Práca s databázami v Delphi. Petrohrad: Dhv, 2002.-656 s.

5. Maklakov S.V. Bpwin a Erwin. Case-tools for development of information systems.-M.: Dialogue-Mifi, 2003.-254s.

6. Malykhina M.P. Databázy: základy, dizajn, použitie: Učebnica. príručka pre univerzity.-2. vyd.-SPB.: BHV-Petersburg, 2006.-517 s.

Poďme sa pozrieť na vývojový cyklus pomocou príkladu uvedeného v Coddovom článku.
V krátkosti si pripomeňme podstatnú stránku problému. Zamestnanci sú evidovaní. Pre každého zamestnanca sú uložené informácie o deťoch a zoznam pozícií, ktoré tento zamestnanec zastáva. Pre pracovné miesta sa ukladajú informácie o stanovených platoch pošty.
Najprv vytvorte logickú vrstvu modelu. Za týmto účelom nastavte režim zobrazenia pre entity (Display / Entity Level). Pomocou panela nástrojov vytvorte entity "zamestnanec", "deti", "pracovná história", "mzdová história". Entity pomenujeme v ruštine.
Po výbere každej entity nastavte jej podrobný popis v ruštine v editore "Definícia entity". Tento popis sa objaví v správach ERwin a možno ho zobraziť v diagrame.
Naznačme vzťahy medzi entitami. Napríklad „zamestnanec“ je spojený s identitou „rodič“ s entitou „deti“. Popis vzťahu sa zadáva v Editore / Editor vzťahov.
Výsledok práce je zobrazený na ERwin diagrame (obr. 2).

Ryža. 2. Diagram úrovne entity

Teraz sa prepnime do režimu nastavenia atribútov (Display / Atribute Level). V editore "Entity / Attribute" nastavte názvy kľúčových a nekľúčových atribútov v ruštine. Všimnite si, že atribút kľúča čísla zamestnanca nie je manuálne zadaný pre podriadenú entitu potomka. ERwin zabezpečuje migráciu z materskej entity. To isté sa deje s inými podriadenými entitami.
Pri atribúte „meno“ entity „zamestnanec“ označíme, že ide o alternatívny kľúč (budeme predpokladať, že všetci zamestnanci majú jedinečné mená / priezviská). Ak to chcete urobiť, za názov atribútu umiestnite ukazovateľ AK1 do zátvoriek.
Výsledok práce je zobrazený na ERwin diagrame (obr. 3) v notácii IDEF1X.

Ryža. 3. Diagram úrovne atribútov v notácii IDEF1X

Pohľad na rovnaký diagram v notácii IE (Information Engineering) je na obrázku 4.

Ryža. 4. Diagram úrovne atribútov v notácii IE

Keďže názvy atribútov a entít sme nastavili v ruštine, aby ste mohli prejsť na fyzickú úroveň modelu, mali by ste im priradiť identifikátory tabuliek, stĺpcov a obmedzení, ktoré spĺňajú pravidlá cieľového DBMS (zvyčajne to znamená používanie latinských písmen, číslic a niektorých špeciálnych znakov).
V editore "Schéma databázy" zadajte zodpovedajúci názov tabuľky pre každú entitu. Potom v editore "Definícia atribútov" nastavte názvy stĺpcov tabuľky zodpovedajúce atribútom entít. ERwin tu tiež migruje názvy stĺpcov do podriadených tabuliek.
V tomto bode môžete tiež použiť editor "Extended Attributes" na definovanie rozšírených atribútov PowerBuildera (formát zobrazenia, maska ​​úprav, pravidlá ovládania, zarovnanie, nadpisy a komentáre).
Editor definícií vzťahov špecifikuje fyzický názov vzťahu, ktorý sa zhoduje s názvom obmedzenia, ktoré ERwin vytvorí v databáze.
Teraz je všetko pripravené na vytvorenie databázy a musíte vybrať cieľovú DBMS (ak ste tak neurobili predtým). Vyberme si napríklad Sybase System 10.
V editore SYBASE Database Schema nastavíme dátové typy pre stĺpce tabuľky.
Dialóg, v ktorom sa volí typ údajov, je znázornený na obr.

Ryža. 5. Určenie fyzikálneho modelu

Teraz môžete prejsť k vytvoreniu databázy. Na tento účel sa vykoná príkaz "Generovanie schémy Sybase". ERwin vytvorí balík SQL príkazov na generovanie databázy. Obrázok 6 zobrazuje dialóg pre výber parametrov pre generovanie balíka pre generovanie databázy. Obrázok ukazuje, že je možné nastaviť filter (generovanie nie všetkých tabuliek), balík SQL príkazov prezerať (preview), vytlačiť, uložiť do súboru (report) a vygenerovať (generovať).

Ryža. 6. Výber parametrov pre generovanie databázy

Pokročilé funkcie ERwin

LABORATÓRNE PRÁCE č.3. Databázové modelovanie s Erwinom

účel práce- získanie praktických zručností študentov pri vytváraní logických a fyzických dátových modelov pomocou CASE - nástrojov vývoja informačných systémov.

Základné informácie

ERwin podporuje dopredné a spätné modelovanie databázy. Pri priamom modelovaní je schéma databázy opísaná priamo pomocou diagramu vzťahov medzi entitou. Entity v diagrame sú znázornené obdĺžnikmi. Každý obdĺžnik môže mať rôzne vizuálne atribúty. Každá entita musí mať priradený jedinečný názov. Názvy entít musia byť v jednotnom čísle. Je to dané tým, že systém vždy funguje na samostatných inštanciách entity. V tomto prípade sa jednotlivé inštancie entity považujú za objekty a entity za triedu objektov. Ak boli entity opísané počas modelovania v BPwin, potom ich možno jednoducho importovať do ERwin. Príklad diagramu s vytvorenými entitami je na obrázku.

Obrázok 4 - Príklad diagramu s vytvorenými entitami

Stavba modelu v ERwine

Existujú dva možné uhly pohľadu na informačný model, a teda dve úrovne modelu. Prvou je logická rovina (pohľad používateľa) znamená priame zobrazenie faktov z reálneho života. Napríklad ľudia, stoly, oddelenia, psy a počítače sú skutočné predmety. Sú pomenované v prirodzenom jazyku, s ľubovoľnými oddeľovačmi slov (medzery, čiarky atď.). Na fyzickej úrovni modelu sa uvažuje o použití konkrétneho DBMS, určujú sa dátové typy (napríklad celé číslo alebo reálne číslo), indexy pre tabuľky.

ERwin poskytuje možnosť vytvárať a spravovať tieto dve rôzne úrovne prezentácie jedného diagramu (modelu), ako aj veľa možností zobrazenia na každej úrovni. Pojem „logická vrstva“ v ERwin nasleduje koncepčný model.

Etapy budovania informačného modelu.

  • definícia entít;
  • definovanie závislostí medzi entitami;
  • nastavenie primárneho a alternatívneho kľúča;
  • definovanie atribútov entity;
  • uvedenie modelu na požadovanú úroveň normálnej formy;
  • prechod na fyzický popis modelu: priradenie korešpondencií názov entity - názov tabuľky, atribút entity - atribút tabuľky;
  • nastavenie spúšťačov, postupov a obmedzení;
  • generovanie databázy.

Erwin vytvorí vizuálnu reprezentáciu (dátový model) pre riešený problém. Toto zobrazenie možno použiť na podrobnú analýzu, spresnenie a šírenie dokumentácie potrebnej počas vývojového cyklu. ERwin však zďaleka nie je len nástrojom na kreslenie. ERwin automaticky vytvorí databázu (tabuľky, indexy, uložené procedúry, spúšťače referenčnej integrity a ďalšie objekty potrebné na správu údajov).

Vytvorenie entity.

Ak chcete pridať entitu do modelu, musíte kliknúť na tlačidlo entity na paneli nástrojov (Erwin Toolbox), potom na miesto v diagrame, kam chcete umiestniť novú entitu. Kliknutím pravým tlačidlom myši na entitu a výberom položky Editor entity z rozbaľovacej ponuky môžete otvoriť dialógové okno Editor entity, ktoré definuje názov, popis a komentáre entity.

Každá entita musí byť úplne definovaná pomocou textového popisu v záložke Definícia. Tieto definície sú užitočné na logickej úrovni, pretože vám umožňujú pochopiť, o aký druh objektu ide, ako aj na fyzickej úrovni, pretože ich možno exportovať ako súčasť schémy a použiť v skutočnej databáze ( VYTVORIŤ KOMENTÁR k entity_name). Záložky Note, Note2, Note3, UDP (User Defined Properties) slúžia na pridávanie ďalších komentárov a definícií k entite.

Na karte Ikona každej entity môžete priradiť obrázok, ktorý sa zobrazí v režime zobrazenia modelu na úrovni ikony, a obrázok, ktorý sa zobrazí na všetkých ostatných úrovniach.

Záložka UDP v dialógovom okne Entity Editor sa používa na definovanie užívateľom definovaných vlastností (User - Defined Properties). Po kliknutí na tlačidlo tejto záložky sa vyvolá dialóg User - Defined Property Editor (tiež vyvolaný z menu Edit / UDPs). V ňom musíte určiť typ objektu, pre ktorý sa UDP spúšťa (diagram ako celok, entita, atribút atď.) a typ údajov. Ak chcete pridať novú vlastnosť, kliknite na tlačidlo v tabuľke a zadajte názov, typ údajov, predvolenú hodnotu a definíciu.

Tvorba atribútov.

Ďalším krokom pri vytváraní modelu je nastavenie atribútov pre každú entitu. Pri zadávaní typu atribútu je možné použiť domény. Doména je abstraktný typ definovaný používateľom, ktorý je priradený k akémukoľvek fyzickému typu údajov. Okrem toho môže mať každá doména svoje vlastné predvolené hodnoty a pravidlá na overovanie vstupných údajov. ERwin poskytuje možnosť zdokumentovať všetky kroky spojené s vytváraním vlastných dátových typov. Pomocou konceptu domény je databáza prenosná naprieč rôznymi hardvérovými platformami.

Obrázok 5 - Vytvorenie novej domény Obrázok 6 - Určenie vlastností novej domény

Obrázok 7 – Predvolená hodnota pre novú doménu

Obrázok 8 – Použitie domény na označenie typu údajov atribútu.

Ak chcete opísať atribúty, kliknite pravým tlačidlom myši na entitu a zo zobrazenej ponuky vyberte položku Editor atribútov. Zobrazí sa dialógové okno Editor atribútov.

Ak kliknete na tlačidlo Nový, v zobrazenom dialógovom okne Nový atribút môžete zadať názov atribútu, názov stĺpca, ktorý mu zodpovedá vo fyzickom modeli, a doménu. Doména atribútu sa použije pri definovaní typu stĺpca na úrovni fyzického modelu.

Pre atribúty primárneho kľúča na karte Všeobecné v editore atribútov musíte začiarknuť políčko výberu primárneho kľúča.
Záložky Definícia, Poznámka a UDP majú rovnakú funkčnosť ako pri definovaní entity, ale na úrovni atribútov.

Pre lepšiu prehľadnosť diagramu môže byť každý atribút spojený s ikonou. Môžete to urobiť pomocou výberového zoznamu ikon na karte Všeobecné.

Je veľmi dôležité dať atribútu správny názov. Atribúty by mali byť pomenované v jednotnom čísle a mali by mať jasný sémantický význam.

Podľa syntaxe IDEF1X musí byť názov atribútu jedinečný v rámci modelu (nielen v rámci entity!). Štandardne, keď sa pokúsite zadať existujúci názov atribútu, ERwin ho premenuje. Napríklad, ak už v modeli existuje atribút Comment, ďalší atribút (v inej entite) bude mať názov Komentár / 2, potom Komentár / 3 atď.
Pri prenose atribútov v rámci a medzi entitami môžete použiť techniku ​​drag & drop výberom tlačidla na palete nástrojov.

Ak chcete vytvoriť nový vzťah, vyberte v paneli nástrojov (ERwin Toolbox) identifikačný alebo neidentifikujúci vzťah, kliknite najprv na nadradenú a potom na podriadenú entitu.
Na palete nástrojov tlačidlo zodpovedá identifikačnému vzťahu, tlačidlo vzťahu mnoho k mnohým a tlačidlo zodpovedá neidentifikačnému vzťahu. Ak chcete upraviť vlastnosti vzťahu, kliknite pravým tlačidlom myši na vzťah a z kontextovej ponuky vyberte položku Editor vzťahov.

Na karte Všeobecné v dialógovom okne, ktoré sa zobrazí, môžete nastaviť mohutnosť, názov a typ pripojenia.

Komunikačná sila (kardinalita)- slúži na označenie pomeru počtu inštancií nadradenej entity k počtu inštancií potomka.
Existujú štyri typy výkonu:

· Všeobecný prípad, keď jedna inštancia nadradenej entity zodpovedá 0, 1 alebo mnohým inštanciám podradenej entity, nie je označená žiadnym symbolom;

· Symbol P označuje prípad, keď jedna inštancia nadradenej entity zodpovedá 1 alebo viacerým inštanciám podradenej entity (nulová hodnota je vylúčená);

· Symbol Z označuje prípad, keď jedna inštancia nadradenej entity zodpovedá 0 alebo 1 inštancii podradenej entity (viac hodnôt sú vylúčené);

· Číslo označuje prípad, keď jedna inštancia nadradenej entity zodpovedá vopred určenému počtu inštancií podradenej entity.

Štandardne nie je v diagrame zobrazený symbol komunikačného výkonu. Ak chcete zobraziť názov, postupujte podľa kontextovej ponuky, ktorá sa zobrazí, ak kliknete pravým tlačidlom myši na ľubovoľné miesto v diagrame, ktoré nie je obsadené objektmi modelu, vyberte položku Možnosti zobrazenia / Vzťah a potom povoľte možnosť Mohutnosť.

Typ odkazu (identifikujúci / neidentifikujúci).

IDEF1X rozlišuje medzi závislými a nezávislými entitami. Typ entity je určený jej vzťahom k iným entitám. Medzi nezávislými (rodičovský koniec vzťahu) a závislými (podriadený koniec vzťahu) entitami sa vytvorí identifikačný vzťah. Keď sa vytvorí identifikačný vzťah, ERwin automaticky prevedie vzťah dieťaťa na závislý. Závislá entita je nakreslená zaobleným obdĺžnikom.

Inštancia závislej entity je definovaná iba prostredníctvom vzťahu k nadradenej entite. Keď sa vytvorí identifikačný vzťah, atribúty primárneho kľúča nadradenej entity sa automaticky prenesú do primárneho kľúča podriadenej entity. Táto operácia rozšírenia atribútov podriadenej entity pri vytváraní vzťahu sa nazýva migrácia atribútov. V podradenej entite sú nové atribúty označené ako cudzie kľúče - (FK).

Keď sa vytvorí neidentifikujúci vzťah, dieťa zostáva nezávislé, zatiaľ čo primárne kľúčové atribúty rodiča sa migrujú do nekľúčových komponentov dieťaťa. Na prepojenie nezávislých subjektov sa používa neidentifikujúci vzťah.

Identifikačný odkaz je v diagrame zobrazený ako plná čiara s tučným bodom na podradenom konci odkazu a neidentifikujúcim bodom - prerušovaným.

Pre neidentifikujúci vzťah môžete zadať povinné (Null na karte Všeobecné v dialógovom okne Editor vzťahov). V prípade povinného vzťahu (No Nulls) pri generovaní databázovej schémy dostane atribút cudzieho kľúča znak NOT NULL aj napriek tomu, že cudzí kľúč nebude zahrnutý v primárnom kľúči podriadenej entity. V prípade voliteľného vzťahu (povolené hodnoty Null) môže byť cudzí kľúč NULL. Voliteľný neidentifikujúci vzťah je označený priehľadným diamantom na strane nadradenej entity

Názov odkazu (slovesná fráza)- slovné spojenie, ktoré charakterizuje vzťah medzi nadradenými a podriadenými entitami. Pre vzťah typu one-to-many, ktorý je identifikačný alebo neidentifikujúci, stačí zadať meno, ktoré charakterizuje vzťah od rodiča k dieťaťu (Parent-to-Child). Pre vzťah typu many-to-many musíte zadať mená Parent-to-Child a Child-to-Parent. Ak chcete zobraziť názov, postupujte podľa kontextovej ponuky, ktorá sa zobrazí, ak kliknete pravým tlačidlom myši na ľubovoľné miesto v diagrame, ktoré nie je obsadené objektmi modelu, vyberte Možnosti zobrazenia / Vzťah a potom povoľte možnosť Slovesná fráza.

Názov roly alebo funkčný názov (Rolename) je synonymum pre atribút cudzieho kľúča, ktorý označuje úlohu atribútu v podradenej entite. Názov roly môžete nastaviť na karte Rolename / RI Actions v dialógovom okne Relationship Editor.

Vytváranie kľúčov.

Každá inštancia entity musí byť jedinečná a odlišná od ostatných atribútov.

Primárny kľúč je atribút alebo skupina atribútov, ktoré jedinečne identifikujú inštanciu entity. Atribúty primárneho kľúča v diagrame nevyžadujú špeciálne označenie - sú to atribúty, ktoré sú v zozname atribútov nad vodorovnou čiarou. Keď pridávate nový atribút v dialógovom okne Editor atribútov, aby ste z neho urobili atribút primárneho kľúča, musíte začiarknuť políčko Primárny kľúč v spodnej časti karty Všeobecné. Na diagrame možno atribút kľúča pridať k primárnemu kľúču pomocou režimu prenosu atribútov (tlačidlo na palete nástrojov).

Jedna entita môže obsahovať niekoľko atribútov alebo množín atribútov, ktoré tvrdia, že sú primárnym kľúčom. Takíto žiadatelia sú tzv potenciálne kľúče (kľúč kandidáta).

Klávesy môžu byť zložité, t.j. obsahujúce viacero atribútov. Komplexné primárne kľúče nevyžadujú špeciálnu notáciu – sú to zoznam atribútov nad vodorovnou čiarou. Pri výbere primárneho kľúča treba dať prednosť jednoduchším kľúčom, t.j. kľúče s menším počtom atribútov.

Mnoho subjektov má iba jeden potenciálny kľúč. Tento kľúč sa stáva primárnym. Niektoré entity môžu mať viac ako jeden možný kľúč. Potom sa jeden z nich stane primárnym a zvyšok - alternatívne kľúče.

Alternatívny kľúč je potenciálny kľúč, ktorý sa nestal primárnym.

Každý kľúč má priradený index, ktorého názov je tiež priradený automaticky. Názvy kľúčov a indexov je možné v prípade potreby manuálne zmeniť.

V diagrame sú alternatívne kľúčové atribúty označené ako (Akn.m.), kde n je poradové číslo kľúča, m je poradové číslo atribútu v kľúči. Keď alternatívny kľúč obsahuje viacero atribútov, (Akn.m.) sa umiestni za každým.

Cudzí kľúč sa vytvárajú automaticky, keď vzťah spája entity: vzťahy tvoria odkaz na atribúty primárneho kľúča v podradenej entite a tieto atribúty tvoria cudzí kľúč v podradenej entite (migrácia kľúča). Atribúty cudzieho kľúča sú označené znakom (FK) za ich názvom.

Závislá entita môže mať rovnaký kľúč od viacerých nadradených entít. Účtovná jednotka môže tiež prijať rovnaký cudzí kľúč viackrát od toho istého rodiča prostredníctvom niekoľkých rôznych vzťahov. Keď ERwin zistí jednu z týchto udalostí, rozpozná, že tieto dva atribúty sú rovnaké a atribúty cudzieho kľúča umiestni do závislej entity iba raz. Táto kombinácia alebo splynutie rovnakých atribútov sa nazýva zjednotenie.

Sú chvíle, keď je zjednotenie nežiaduce. Napríklad, keď dva atribúty majú rovnaký názov, ale v skutočnosti sa líšia významom a je potrebné, aby sa tento rozdiel prejavil v diagrame. V tomto prípade musíte použiť názvy rolí cudzieho kľúča.

Vzťahy v diagrame sú znázornené čiarami prechádzajúcimi od jednej entity (tabuľky) k druhej. Každému odkazu je priradený jedinečný názov. Prepojené tabuľky sú rozdelené na nadradené a podradené tabuľky. Nadradené tabuľky sú zobrazené ako obdĺžniky s pravými rohmi, podradené tabuľky sú zobrazené so zaoblenými rohmi.

Po zadaní všetkých atribútov formátu dát je potrebné transformovať vytvorený logický model na fyzický. Na to musíte Nástroje vybrať Odvodiť nový model, kde ako Cieľové databázy vyberte ODBC / Generic(pre použitie v MySQL DBMS) pozri obrázok 9. Náš model (pozri obrázok 4) sa skonvertuje do podoby pozri obrázok 11.

Obrázok 9 - Prevod logického modelu na fyzický

Obrázok 10 - Fyzický model označujúci formát údajov.

Obrázok 11 - Generovanie SQL kódu

Cvičenie

1. Vytvorte diagram s danými entitami (priame modelovanie) pre danú tematickú oblasť.

2. Nastavte atribúty pre každú definovanú entitu. Pri nastavovaní atribútov používajte domény.

3. Zadajte vzťahy medzi entitami. Dajte odkazom jedinečné názvy.

4. Pomocou DBMS MYSQL sa rozhodnite priamo vygenerovať databázu pre projektované informácie.

5. Správa by mala obsahovať koncepčný model a fyzickú databázu v MYSQL DBMS.

Kontrolné otázky

1. Aký je rozdiel medzi logickou a fyzickou úrovňou prezentácie dátových modelov pomocou ERwin?

2. Aký je rozdiel medzi dátovými modelmi prezentovanými vo forme entitno-relačného diagramu, založeného na kľúčoch, a vo forme kompletného atribútového modelu?

3. Aké sú hlavné komponenty dátových modelov prezentovaných podľa metodiky IDEF1X?


Zoznam typov údajov podporovaných DBMS by ste si mali overiť u výrobcu

Potrebujeme pojem anomálie – nesúlad medzi integritnými obmedzeniami koncepčných a logických (ako aj fyzických) dátových schém. Cieľom normalizácie je práve eliminácia anomálií, ktoré sa objavujú pri zapínaní, aktualizácii a odstraňovaní údajov.

Štyri prvé normálne formy (presnejšie prvá, druhá, tretia a Boyes-Codd) sú spojené do jednej skupiny, pretože ich definície sú založené na klasickom koncepte funkcie uvedenej na diagrame vzťahov a na Heathovej vete.

Dve ďalšie normálne formy (štvrtá a piata) používajú upravené funkčné závislosti... Posledný normálna forma- doménový kľúč - znamená návrat k počiatkom - logický prístup k teórii vzťahov.

Odporúča sa praktický spôsob získania schémy bázy v prvých štyroch normálnych formách, takmer vždy poskytne konečnú verziu schémy. Správnosť tejto konštrukcie bude potrebné skontrolovať formálnymi metódami, to znamená, že sú potrebné heuristické techniky aj teória normalizácie.

Najprv diskutujme o akceptovanom spôsobe prezentácie materiálu o normalizácii. Prirodzene budeme vychádzať z teórie normalizácie, vyvinutej v rámci relačného dátového modelu. Skúsenosti však ukázali, že pri takejto prezentácii majú začiatočníci problém pochopiť podstatný pojem anomálie, ktorý je definovaný ako nejaká charakteristika „nesprávnosti“ mapovania konceptuálneho obchodného modelu na databázový model. Preto

použijeme mapovanie relačného modelu na vám už známy entitno-relačný model a v ER-modeli budeme študovať normalizáciu. To prinesie sémantiku potrebnú na riešenie anomálií.

Znova sa zamyslime nad vzťahmi medzi vzťahmi, nad spájaním vzťahov a nad cudzími kľúčmi.

5.1 Vzťahy a cudzie kľúče

V predchádzajúcich kapitolách sa skúmali koncepty spájania entít a vzťahy medzi nimi. Budeme ich jasne rozlišovať. Koncept spojenia nemá algebraický charakter, pretože spojenia sú aktívne. Linky v implementáciách nastavujú štruktúru bázy, pracujú s manipuláciou s dátami a so zmenami schém. Spojenie je algebraický koncept. Význam údajov získaných pri pripojení má úplne na svedomí developer. Význam spojenia je pevne daný modelovaným biznisom.

Sémantika odkazov je dosť rozvinutá. Okrem mohutnosti koncov sa používajú také vlastnosti, ako je povinná, identifikovateľná vlastnosť. Nemôžete ich vyjadriť priamo vo vzťahovom modeli (takéto slová neexistujú). Preto sa prvé normálne formy budú posudzovať v rámci modelu „vzťah entít“.

Vzťahy medzi vzťahmi / entitami v relačných modeloch aj ER diagramoch sú tvorené obmedzením referenčnej integrity nazývaným "Foreign Key" (skrátene FK).

Aby nevznikla falošná predstava o chudobe vzťahového modelu ako nemožnosti niečoho realizovať, pamätajte, že v ňom je vzťah n:m reprezentovaný prostredníctvom dvoch vzťahov 1:n, že zložité vzťahy možno modelovať rôznymi spôsobmi. Dokonca aj agregáty môžu byť nejakým spôsobom reprezentované zavedením entít, ktoré popisujú ich zloženie. Takéto modely môžu byť efektívne implementované do programu, ale s najväčšou pravdepodobnosťou budú pre ľudí nepohodlné. Možnosti modelovania dátových štruktúr v rámci relačného modelu sú pomerne široké, ale samozrejme nie neobmedzené.

Poďme diskutovať o všeobecnom prístupe k analýze štruktúr, ktorý bude ďalej analyzovaný na príklade dvoch súvisiacich entít „Zamestnanec“ a „Oddelenie“, znázornených na obrázku 5.1. Vľavo je variant s identifikačným odkazom, vpravo s neidentifikujúcim.


Ryža. 5.1. Príklad vzťahov jeden k mnohým

Chcem vám ešte raz pripomenúť, že sme sa dohodli, že príklady budeme posudzovať tak, ako sú opísané v texte, a nie tak, ako sa to v živote deje alebo môže stať. Toto obmedzenie je potrebné na to, aby informácie vnímali všetci a vždy rovnako.

V oboch verziách schémy je každý zamestnanec zaradený do jedného z oddelení. Máme vzťah („k-mnohým“ na strane vzťahu „Zamestnanec“). Vo vzťahu k "Zamestnanec" nemôžete vybrať číslo oddelenia, ktoré neexistuje v zozname oddelení (entita "Oddelenie"). Jedno oddelenie nemôže mať nikoho, jedného, ​​dvoch alebo viacerých zamestnancov.

V súvislosti s podobným príkladom (časť 2.2.7) sme zaznamenali, že vzniká paradoxná situácia. Riaditeľ je zaradený na určité oddelenie a vedúci tohto oddelenia je riaditeľovi podriadený a zároveň bude jeho vedúcim. Ale možno sú oddelenia nákladovými strediskami a plat riaditeľa sa rozhodol účtovať do nákladov jedného z oddelení. V našich tutoriáloch by ste sa takýmito detailmi nemali zaoberať, pokiaľ, samozrejme, nie je uvedené opak. Mali by ste si zvyknúť, okrem iného, ​​hneď od začiatku myslieť aj na obchodnú stránku, no pri riešení výchovných problémov by ste nemali rozširovať úlohy o rozbor možných možností.

Aký je rozdiel medzi diagramami na obrázku 5.1? Identifikačné spojenie vás núti myslieť si zamestnanca predovšetkým ako zamestnanca oddelenia. Neidentifikačný vzťah znamená, že príslušnosť k oddeleniu je označená ako niečo sekundárne.

5.2 Typy komunikácie. Identifikačné a neidentifikujúce, povinné a voliteľné odkazy

Identifikačné a neidentifikujúce typy odkazov (pozri obrázok 5.1) nepatria do teórie relačných databáz, ale do modelovacieho štandardu IDEF1X, na ktorom je založený ERwin (alias AllFusion Data Modeller).

Ak cudzí kľúč vytvorí závislú (slabú) entitu, potom sa odovzdá skupine atribútov, ktorá tvorí primárny kľúč tejto entity. V tomto prípade sa vytvorí identifikačný odkaz. Vyžaduje sa vždy.

Neidentifikujúci vzťah sa používa na spojenie dvoch silných entít. Prenesie kľúč do oblasti nekľúčových atribútov.

Pre neidentifikujúci vzťah môžete uviesť záväzok (celý vzťah, nie jeho koniec). Ak sa vyžaduje vzťah (v ERwin je to nastavenie funkcie No Null), potom atribúty cudzieho kľúča dostanú funkciu NOT NULL, čo znamená, že nedefinované hodnoty nie sú povolené. Pre voliteľný vzťah (príznak Povolené hodnoty Null) môže byť cudzí kľúč NULL.

Potom, čo sa zoznámime s jazykom SQL v "The SQL Language" pomocou priameho inžinierstva, bude možné vygenerovať SQL skript, ktorý vytvorí fragment databázovej schémy. Ale aj teraz, ak ste už aspoň trochu oboznámení s SQL, prejdite na Nástroje> Dopredný inžinier / Generovanie schém a potom kliknite na tlačidlo Náhľad, aby ste si zobrazili vygenerovaný text.

Prečo pri zvažovaní normalizácie použijeme zložitejší model entita-vzťah namiesto toho, aby sme sa obmedzili na klasický prístup v rámci relačného modelu? Pridanie pojmov silné a slabé entity, identifikačné vzťahy, povinné a fakultatívne neidentifikujúce vzťahy totiž značne komplikuje sémantiku dátového modelu.

Zavedenie piatich vyššie uvedených konceptov vyššej úrovne poskytuje jazyk, ktorý lepšie odráža špecifiká úlohy, a preto je pre vývojárov zrozumiteľnejší. To vám umožní rýchlo a bez formálnych transformácií získať počiatočnú schému relačnej bázy v takmer úplnej forme (neskôr túto myšlienku vyjadríme presnejšie: "v tretej normálnej forme alebo Boyce-Coddovej normálnej forme").