Model entitete povezave univerzitetne knjižnice. Model entiteta-razmerje

Model "Entiteta - povezava"

Polno ime

Bayramov Alexander Mavleevich

kraj dela

MBOU Srednja šola št. 6, Vyazma, Smolenska regija

Naziv delovnega mesta

Postavka

računalništvo in IKT

Ta stran opisuje in ponazarja uporabo modela entiteta-razmerje, ki ga je predstavil Peter Chen leta 1976. V tem članku je Chen postavil temelje za model, ki so ga od takrat razširili in spremenili Chen sam in mnogi drugi. Poleg tega je bil model Entity-Relationship vključen v številna orodja CASE, ki so prav tako prispevala k njegovemu razvoju. Danes ni enotnega splošno sprejetega standarda za model Entity-Relationship, obstaja pa niz splošnih konstruktov, ki so osnova večine različic tega modela. To poglavje je namenjeno opisu teh splošnih struktur in prikazu njihove uporabe. Simboli, ki se uporabljajo za grafično predstavitev modela Entity-Relationship, so precej različni. Ne bomo razpravljali le o tradicionalnih simbolih, temveč tudi o simbolih UML (Unified Model Language), oblikovalskem orodju, ki postaja vse bolj priljubljeno med programerji OOP in vključuje model Entity-Relationship.

Ključni elementi modela Entity-Relationship so:

    bistvo

    atributi

    identifikatorji

    komunikacije

Entitete

Entiteta je nek predmet, ki ga je mogoče identificirati v uporabnikovem delovnem okolju, nekaj, kar bi uporabnik rad opazoval. Primeri entitet so DELAVCA Mary Doe, STRANKA 12345, NAROČILO 1000, PRODAJALEC John Smith ali IZDELEK A4200. Entitete istega tipa so združene v razrede entitet. Tako je razred entitete EMPLOYEE zbirka vseh entitet EMPLOYEE. V besedilu knjige so razredi entitet označeni z velikimi tiskanimi črkami.

Pomembno je razumeti razliko med razredom entitete in primerkom entitete. Razred entitete je zbirka entitet in je opisan s strukturo ali obliko entitet, ki sestavljajo razred. Primerek entitete predstavlja določeno entiteto, kot je CLIENT 12345; opisujejo ga vrednosti atributov dane entitete. Običajno razred entitete vsebuje veliko primerkov entitete. Na primer, razred CLIENT vsebuje veliko primerkov, enega za vsako stranko, za katero obstaja zapis v bazi podatkov. Primer razreda entitete in dveh primerkov entitete je prikazan na sliki. 1.

riž. 1. STRANKA: primer subjekta

Atributi

Entitete imajo atribute ali lastnosti, kot jih včasih imenujemo, ki opisujejo značilnosti entitete. Primeri atributov vključujejo EmployeeName, HireDate in QualificationID. V besedilu tega mesta so atributi navedeni z velikimi in malimi črkami. Model entiteta-relacija predpostavlja, da imajo vsi primerki danega razreda entitet enake atribute.

Prvotna definicija modela entiteta-relacija vključujesestavljeno sestavljeni atributi invečpomensko atributi (atributi z več vrednostmi).

Primer sestavljenega atributa je atribut Naslov, ki je sestavljen iz skupine atributov (ulica, mesto, država, poštna številka). Primer atributa z več vrednostmi je atribut ProxyName entitete CLIENT, ki lahko vsebuje imena več posrednikov za danega odjemalca.

Atribut je lahko hkratitako sestavljeni kot večvredni - na primer sestavljeni atribut Telefon, sestavljen iz skupine atributov (Area Code, Local Number), je lahko večvrednostni, kar vam bo omogočilo, da imate v bazi podatkov več telefonskih številk iste osebe. Večina implementacij modela entiteta-relacija ne upošteva sestavljenih atributov z eno vrednostjo in zahteva, da se atributi z več vrednostmi (sestavljeni ali ne) pretvorijo v entitete, kot je opisano spodaj.

Identifikatorji

Primerki entitet imajo identifikatorje – atribute, po katerih so ti primerki poimenovani ali identificirani. Na primer, primerke entitet razreda EMPLOYEE je mogoče identificirati z atributi številka socialnega zavarovanja, osebna številka zaposlenega ali ime zaposlenega. Atributi, kot sta Salary ali HireDate, verjetno ne bodo služili kot identifikatorji za primerke entitet razreda EMPLOYEE, saj se ti atributi običajno ne uporabljajo za enolično identifikacijo določenega zaposlenega. Podobno je mogoče entitete razreda CLIENT identificirati z atributoma CustomerNumber ali CustomerName, entitete razreda ORDER pa z atributom OrderNumber.

Identifikator primerka entitete je sestavljen iz enega ali več atributov entitete. ID je lahkoedinstveno (unikatno) ozneedinstven (needinstveno).

Če je identifikator edinstven, bo njegova vrednost kazala na en in samo en primerek entitete.

Če identifikator ni enoličen, bo njegova vrednost kazala na določen niz primerkov. EmployeePersonnelNumber je najverjetneje enoličen identifikator, medtem ko je EmployeeName neenoličen identifikator (na primer, lahko je več zaposlenih z imenom John Smith).

Pokličejo se identifikatorji, sestavljeni iz več atributovsestavljeno sestavljeni identifikatorji. Primeri vključujejo zbirke obrazcev (regijska koda, lokalna številka), (ime projekta, ime opravila) in (ime, priimek, interna telefonska številka).

Povezave

Odnosi med entitetami so izraženi z odnosi. Model entiteta-relacija vključuje razrede odnosov in primerke odnosov. Razredi odnosov so odnosi med razredi entitet, primerki odnosov pa so odnosi med primerki entitet. Odnosi imajo lahko atribute.

Razred odnosa lahko zajema več razredov entitet. Število razredov entitet, vključenih v odnos, se imenuje stopnja odnosa. Prikazano na sl. 2, razmerje PRODAJALEC-NAROČILO pa ima stopnjo 2, saj vključuje dva razreda entitet: PRODAJALEC in NAROČILO. Povezava PARENT na sl. 2; b ima stopnjo 3, saj vključuje tri razrede entitet: MATI, OČE in OTROK. Razmerja stopnje 2 so zelo pogosta in se pogosto imenujejo binarna razmerja.

Slika 2. Različne stopnje povezav: a - povezava stopnje 2; b - povezava stopnje 3

Tri vrste binarnih vezi

Na sl. Slika 3 prikazuje tri vrste binarnih vezi. V razmerju 1:1 (»ena proti ena«) je en sam primerek entitete ene vrste povezan z enim primerkom entitete druge vrste. Na sl. 3, razmerje EMPLOYEE_VEHICLE pa povezuje eno samo entiteto razreda EMPLOYEE z eno samo entiteto razreda CAR. V skladu s to tabelo nobenemu zaposlenemu ni dodeljeno več kot eno vozilo in nobeno vozilo ni dodeljeno več kot enemu zaposlenemu.

riž. 3. Tri vrste binarnih vezi: a - binarna vez 1:1; b - binarna vez 1:N; c - binarna vez N:M; d - predstavitev komunikacije z uporabo vej

Na sl. 3, b prikazuje drugo vrsto povezave, 1:N (»ena proti N« ali »ena proti več«). V tem razmerju, imenovanem DORMS-RESIDENT, je en sam primerek entitete razreda HOSTEL povezan s številnimi primerki entitete razreda STUDENT. Glede na to sliko je veliko študentov, ki živijo v študentskem domu, vendar vsak študent živi samo v enem domu.

Položaj, kjer se pojavita 1 in N, je pomemben. Enota stoji na strani priključka, kjer se nahaja HOSTEL, N pa na strani priključka, kjer se nahaja ŠTUDENT. Če bi 1 in N zamenjali in razmerje zapisali kot N:l, bi to povzročilo, da bi en študent živel v študentskem domu, pri čemer bi vsak študent živel v več študentskih domovih. To seveda ne drži.

Na sl. 3, c prikazuje tretjo vrsto binarnega razmerja, N:M (beri »N proti M« ali »mnogo proti mnogo«). To razmerje se imenuje ŠTUDENT-KLUB in povezuje primerke entitet razreda STUDENT s primerki entitet razreda KLUB. En učenec je lahko član več krožkov, en klub pa ima lahko več tečajnikov.

Številke znotraj diamanta, ki predstavljajo povezavo, predstavljajo največje število entitet na vsaki strani povezave. Te omejitve se imenujejo največja kardinalna števila, kombinacija dveh takšnih omejitev za obe strani povezave pa se imenuje največja kardinalnost povezave. Na primer o povezavi, prikazani na sl. 3, b, pravijo, da ima največjo kardinalnost 1:N. Kardinalna števila imajo lahko vrednosti, ki niso samo 1 in N. Na primer, razmerje med entitetama BASKETBALL_TEAM in PLAYER ima lahko kardinalnost 1:5, kar nam pove, da ima lahko košarkarska ekipa največ pet igralcev.

Povezave treh vrst, predstavljenih na sl. 3 včasih imenujemo razmerja IMA-A. Ta izraz se uporablja, ker ima ena entiteta razmerje z drugo entiteto. Na primer: zaposleni ima avto, študent ima študentski dom, klub ima študente.

Vezja, prikazana na sl. 3 se imenujejo diagrami entiteta-relacija ali ER-diagrami. Takšni diagrami so standardizirani, vendar ne preveč togi. V skladu s tem standardom so razredi entitet označeni s pravokotniki, odnosi so označeni z diamanti, največje kardinalno število vsakega odnosa pa je označeno znotraj diamanta. Ime entitete je prikazano znotraj pravokotnika, ime razmerja pa je prikazano poleg diamanta. Čeprav nekateri diagrami ER vključujejo ime razmerja znotraj diamanta, lahko nastali diagram izgleda grdo, ker morajo biti diamanti veliki in premajhni, da bi se lahko prilagodili. ime razmerja. Da bi se temu izognili, so imena povezav včasih napisana nad diamantom. Ko je ime postavljeno znotraj ali na vrh diamanta, je kardinalnost razmerja prikazana z vejami na črtah, ki povezujejo entiteto (ali entitete) z večstransko stranjo razmerja. Na sl. 3, d prikazuje povezave HOSTEL-RESIDENT in ŠTUDENT-KLUB s takimi podružnicami.

Kot smo že povedali, največja kardinalnost prikazuje največje število entitet, ki lahko sodelujejo v razmerju. Zgornji diagrami ne kažejo, kakšno je najmanjše število takih entitet. Na primer, sl. 3, b je razvidno, da lahko študent biva največ v enem domu, vendar iz nje ni razvidno, ali mora študent bivati ​​v katerem koli domu.

Najmanjšo kardinalnost lahko določite na več načinov. Eden od njih, prikazan na sl. 4.

riž. 4. Razmerje z določeno najmanjšo kardinalnostjo

Ta metoda je naslednja: za prikaz, da je subjekt dolžan sodelovati pri povezavi, se na povezovalno črto postavi pravokotna črta, za prikaz, da subjekt lahko (ni pa dolžan) sodelovati pri povezavi, pa oval je nameščen na priključni liniji. V skladu s tem sl. Slika 4 kaže, da mora biti entiteta HOSTEL povezana z vsaj eno entiteto STUDENT, ni pa nujno, da je entiteta STUDENT povezana z entiteto HOSTEL. Celoten nabor omejitev, naloženih razmerju, je, da ima DORMS minimalno kardinalno število ena in največjo kardinalnost "mnogih" entitet STUDENT. STUDENT ima najmanjšo kardinalno številko nič in največjo kardinalno številko en primerek entitete HOSTEL.

Med entitetami istega razreda lahko obstaja razmerje. Na primer, za entitete razreda STUDENT je mogoče definirati razmerje SOBNI SOSED. Ta povezava je prikazana na sl. 5, a in na sl. Slika 5b prikazuje primere subjektov, ki jih pokriva ta odnos. Odnosi med entitetami istega razreda se včasih imenujejo rekurzivni odnosi.

Slika 5 Rekurzivna komunikacija

Pri dejanskem načrtovanju strukture baze podatkov se uporablja metoda - ti pomensko modeliranje. Semantično modeliranje je modeliranje strukture podatkov na podlagi pomena teh podatkov. Kot orodje za semantično modeliranje se uporabljajo različne možnosti diagrami entiteta-relacija(ER - entiteta-odnos).

Prvo različico modela entiteta-razmerje je leta 1976 predlagal Peter Ping-Sheng Chen. Pozneje je veliko avtorjev razvilo lastne različice takih modelov (Martinova notacija, IDEF1X notacija, Barkerjeva notacija itd.). Poleg tega se lahko različna programska orodja, ki izvajajo isti zapis, razlikujejo po svojih zmogljivostih. Pravzaprav vse različice diagramov entiteta-relacija izhajajo iz iste ideje – risba je vedno jasnejša od besedilnega opisa. Vsi takšni diagrami uporabljajo grafično predstavitev domenskih entitet, njihovih lastnosti (atributov) in odnosov med entitetami.

Delo z ER diagrami, ki so blizu Barkerjevemu zapisu, bomo opisali kot precej enostavno za razumevanje osnovnih idej. To poglavje je bolj ilustracija tehnik semantičnega modeliranja kot popoln uvod v to področje.

Osnovni koncepti ER diagramov

Definicija 1: Esenca je razred predmetov iste vrste, informacije o katerih je treba upoštevati v modelu.
Vsaka entiteta mora imeti ime, izraženo z samostalnikom v ednini. Primeri entitet so lahko predmetni razredi, kot so "Dobavitelj", "Zaposleni", "Račun". Vsaka entiteta v modelu je prikazana kot pravokotnik z imenom:

riž. 1

Definicija 2: Primerek entitete je specifičen predstavnik dane entitete.
Na primer, predstavnik subjekta "Zaposleni" je lahko "Zaposleni Ivanov". Primerki entitet morajo biti razločljivi, tj. entitete morajo imeti nekatere lastnosti, ki so edinstvene za vsak primerek te entitete.

Definicija 3: Atribut entitete je poimenovana značilnost, ki je lastnost entitete.
Ime lastnosti mora biti izraženo kot samostalnik v ednini (lahko z značilnimi pridevniki). Primeri atributov entitete »Zaposleni« so lahko atributi, kot so »Personalna številka«, »Priimek«, »Ime«, »Patronim«, »Položaj«, »Plača« itd. Atributi so prikazani znotraj pravokotnika, ki definira entiteto:

riž. 2

Definicija 4: Ključ entitete je neredundanten nabor atributov, katerih vrednosti so skupaj edinstvene za vsak primerek entitete. Neodvečnost pomeni, da odstranitev katerega koli atributa iz ključa prekine njegovo edinstvenost. Entiteta ima lahko več različnih ključev. Ključni atributi so na diagramu podčrtani:

riž. 3

Definicija 5: Povezava- to je neka povezava med dvema entitetama. Ena entiteta je lahko povezana z drugo entiteto ali sama s seboj.
Odnosi omogočajo eni entiteti, da najde druge entitete, ki so z njo povezane. Na primer, povezave med subjekti lahko izrazimo z naslednjimi stavki - "ZAPOSLENI ima lahko več OTROK", "Vsak ZAPOSLENI mora biti vpisan na točno en ODDELEK". Grafično je razmerje prikazano s črto, ki povezuje dve entiteti:

riž. 4

Vsaka povezava ima dva konca in eno ali dve imeni. Ime je običajno izraženo v nedoločni besedni obliki: "imeti", "pripadati" itd. Vsako ime se nanaša na svoj konec povezave. Včasih imena niso zapisana, ker so očitna.

Vsaka povezava ima lahko eno od naslednjega vrste komunikacije:

riž. 5

Vrsta komunikacije ena proti ena pomeni, da je en primerek prve entitete (levo) povezan z enim primerkom druge entitete (desno). Razmerje ena proti ena najpogosteje nakazuje, da imamo dejansko samo eno entiteto, napačno razdeljeno na dve.

Vrsta komunikacije ena proti mnogo pomeni, da je en primerek prve entitete (levo) povezan z več primerki druge entitete (desno). To je najpogosteje uporabljena vrsta komunikacije. Pokliče se leva entiteta (na "eni" strani). starševski, desno (s strani »mnogo«) - hčerinsko podjetje. Tipičen primer takšne povezave je prikazan na sl. 4.

Vrsta komunikacije mnogo-proti-mnogim pomeni, da je lahko vsak primerek prve entitete povezan z več primerki druge entitete in vsak primerek druge entitete je lahko povezan z več primerki prve entitete. Vrsta razmerja veliko proti mnogo je začasna vrsta razmerja, ki je sprejemljiva v zgodnjih fazah razvoja modela. V prihodnosti je treba to vrsto razmerja nadomestiti z dvema razmerjema ena proti mnogo z ustvarjanjem vmesne entitete.

Vsaka povezava ima lahko enega od dveh komunikacijske modalitete:

riž. 6

način" mogoče« pomeni, da je lahko primerek ene entitete povezan z enim ali več primerki druge entitete ali pa ni povezan z nobenim primerkom.
način" mora« pomeni, da mora biti primerek ene entitete povezan z vsaj enim primerkom druge entitete.
Povezava ima lahko različne modalitete na različnih koncih (kot na sliki 4). Opisana grafična sintaksa vam omogoča nedvoumno branje diagramov z uporabo naslednje frazne strukture:

<Каждый экземпляр СУЩНОСТИ 1> <МОДАЛЬНОСТЬ СВЯЗИ> <НАИМЕНОВАНИЕ СВЯЗИ> <ТИП СВЯЗИ> <экземпляр СУЩНОСТИ 2>

Vsako povezavo je mogoče brati od leve proti desni ali od desne proti levi. Povezava na sl. 4 se glasi takole:

Od leve proti desni: "vsak zaposleni ima lahko več otrok."
Od desne proti levi: "Vsak otrok mora pripadati točno enemu zaposlenemu."

Primer razvoja enostavnega modela ER

Pri razvoju modelov ER moramo pridobiti naslednje informacije o predmetnem področju:

  1. Seznam domenskih entitet.
  2. Seznam atributov entitete.
  3. Opis odnosov med entitetami.

Diagrami ER so priročni, ker se postopek identifikacije entitet, atributov in odnosov ponavlja. Ko smo razvili prvo približno različico diagramov, jih izpopolnimo z intervjuji s strokovnjaki za predmet. V tem primeru so dokumentacija, v katero so zapisani rezultati pogovorov, sami diagrami ER.

Predpostavimo, da smo pred nalogo razvoja informacijskega sistema za določeno veletrgovsko podjetje. Najprej moramo preučiti predmetno področje in procese, ki se v njem pojavljajo. Za to opravimo razgovore z zaposlenimi v podjetju, preberemo dokumentacijo, preučimo naročilnice, račune itd.

Na primer, med pogovorom z vodjo prodaje se je izkazalo, da on (vodja) meni, da bi sistem, ki se načrtuje, moral izvesti naslednja dejanja:

  • Shranite podatke o strankah.
  • Natisnite račune za sproščeno blago.
  • Spremljajte razpoložljivost blaga v skladišču.

Izberimo vse samostalnike v teh stavkih – ti bodo potencialni kandidati za entitete in atribute in jih analizirajmo (nejasne pojme bomo označili z vprašajem):

  • Kupec je jasen kandidat za subjekt.
  • Račun je jasen kandidat za subjekt.
  • Izdelek je jasen kandidat za subjekt
  • (?) Skladišče - na splošno, koliko skladišč ima podjetje? Če jih je več, potem bo kandidat za novo organizacijo.
  • (?) Dostopnost izdelka je najverjetneje atribut, a atribut katere entitete?

Med subjekti se takoj pojavi očitna povezava - "kupci lahko kupijo veliko blaga" in "blago se lahko proda številnim kupcem." Prva različica diagrama izgleda takole:

riž. 7

Po dodatnih vprašanjih upravitelju smo ugotovili, da ima podjetje več skladišč. Poleg tega se lahko vsak izdelek hrani v več skladiščih in se prodaja iz katerega koli skladišča.

Kam naj postavim entiteti “Račun” in “Skladišče” in s čim ju povežem? Vprašajmo se, kako so ti subjekti povezani med seboj in z entitetama »Kupec« in »Izdelek«? Kupci kupijo blago in prejmejo račune, ki vsebujejo podatke o količini in ceni kupljenega blaga. Vsak kupec lahko prejme več računov. Vsak račun mora biti izdan enemu kupcu. Vsak račun mora vsebovati več blaga (praznih računov ni). Vsak izdelek pa se lahko proda več kupcem prek več računov. Poleg tega mora biti vsak račun izdan iz določenega skladišča, veliko računov pa je mogoče izdati iz katerega koli skladišča. Tako bo po razjasnitvi diagram videti takole:

riž. 8

Čas je, da razmislimo o atributih entitet. V pogovoru z zaposlenimi v podjetju smo izvedeli naslednje:

  • Vsak kupec je pravna oseba in ima ime, naslov in bančne podatke.
  • Vsak izdelek ima ime, ceno, označen pa je tudi z merskimi enotami.
  • Vsak račun ima edinstveno številko, datum izstavitve, seznam blaga s količinami in cenami ter skupni znesek računa. Račun se izda iz določenega skladišča in določenemu kupcu.
  • Vsako skladišče ima svoje ime.
  • Zapišimo vse samostalnike, ki bodo ponovno potencialni atributi in jih analizirajmo:
  • Pravna oseba je retoričen izraz; Ne posvečamo pozornosti.
  • Ime kupca je jasna lastnost kupca.
  • Naslov je jasna lastnost kupca.
  • Bančni podatki so jasna značilnost kupca.
  • Ime izdelka je jasna značilnost izdelka.
  • (?) Cena izdelka - zdi se, da je to značilnost izdelka. Ali se ta lastnost razlikuje od cene na računu?
  • Merska enota je jasna značilnost izdelka.
  • Številka računa je jasna edinstvena značilnost računa.
  • Datum računa je jasna značilnost računa.
  • (?) Seznam blaga na računu - seznam ne more biti atribut. Verjetno boste morali ta seznam ločiti v ločeno entiteto.
  • (?) Količina blaga na računu je očitna lastnost, a lastnost česa? To ni lastnost le »izdelka«, ampak »izdelka na računu«.
  • (?) Cena izdelka na računu - zopet, to naj ne bo samo lastnost izdelka, ampak lastnost izdelka na računu. Toda cena izdelka je bila že videna zgoraj - je to ista stvar?
  • Znesek računa je eksplicitna lastnost računa. Ta lastnost ni neodvisna. Znesek računa je enak vsoti stroškov vsega blaga, ki je vključeno v račun.
  • Ime skladišča je jasna značilnost skladišča.

V dodatnem pogovoru z vodjo je bilo mogoče razjasniti različne koncepte cen. Izkazalo se je, da ima vsak izdelek določeno trenutno ceno. To je cena, po kateri se izdelek trenutno prodaja. Seveda se lahko ta cena sčasoma spremeni. Cena istega izdelka na različnih računih, izdanih ob različnih časih, je lahko različna. Tako obstajata dve ceni - cena blaga na računu in trenutna cena blaga.

Z nastajajočim konceptom "Seznam blaga na računu" je vse povsem jasno. Entiteti »Račun« in »Izdelek« sta med seboj povezani z razmerjem mnogo proti mnogo. Tako razmerje, kot smo že omenili, je treba razdeliti na dve razmerji ena proti mnogo. To zahteva dodatno entiteto. Ta entiteta bo entiteta "Seznam blaga na računu". Njegovo povezavo s entitetama “Račun” in “Izdelek” označujejo naslednje fraze - “vsak račun mora imeti več vnosov iz seznama blaga na računu”, “vsak vnos iz seznama blaga na računu mora biti vključen. na točno enem računu”, “vsak izdelek je lahko vključen v več vnosov iz seznama blaga na računu”, “vsak vnos iz seznama blaga na računu mora biti povezan z natanko enim izdelkom.” Atributa »Količina blaga na računu« in »Cena blaga na računu« sta atributa entitete »Seznam blaga na računu«.

Enako bomo naredili s povezavo, ki povezuje entiteti “Skladišče” in “Izdelek”. Uvedimo dodatno entiteto "Artikel na skladišču". Atribut te entitete bo »Količina blaga na zalogi«. Tako bo izdelek naveden v katerem koli skladišču in njegova količina v vsakem skladišču bo drugačna.

Zdaj lahko vse to postavite v diagram:

riž. 9

Konceptualni in fizični modeli ER

Zgoraj razvit diagram ER je primer konceptualni diagram. To pomeni, da diagram ne upošteva značilnosti določenega DBMS. Iz tega konceptualnega diagrama lahko sestavite fizični diagram, ki bo že upošteval takšne značilnosti DBMS, kot so dovoljene vrste in imena polj in tabel, omejitve celovitosti itd. Fizična različica diagrama, prikazanega na sl. 9 bi lahko izgledal takole, na primer:

riž. 10

V tem diagramu vsaka entiteta predstavlja tabelo baze podatkov, vsak atribut postane stolpec ustrezne tabele. Upoštevajte, da so se v številnih tabelah, na primer "CUST_DETAIL" in "PROD_IN_SKLAD", ki ustrezata entitetama "Zapis seznama računov" in "Postavka v skladišču", pojavili novi atributi, ki niso bili v konceptualnem modelu - to so ključni atributi nadrejenih tabel, preselili v podrejene tabele, da zagotovite relacije med tabelami z uporabo tujih ključev.

Preprosto je opaziti, da so nastale tabele takoj v 3NF.

Sklepi

Pravo sredstvo modeliranja podatkov ni formalna metoda normalizacije odnosov, temveč t.i pomensko modeliranje.

Kot orodje za semantično modeliranje se uporabljajo različne možnosti diagrami entiteta-relacija(ER - entiteta-odnos).

Diagrami entiteta-relacija vam omogočajo uporabo vizualnih grafičnih zapisov za modeliranje entitet in njihovih odnosov.

Razlikovati konceptualno in fizično ER diagrami. Konceptualni diagrami ne upoštevajo posebnih značilnosti posameznih DBMS. Fizični diagrami so zgrajeni na konceptualnih in predstavljajo prototip določene podatkovne baze. Entitete, definirane v konceptualnem diagramu, postanejo tabele, atributi postanejo stolpci tabele (ob upoštevanju tipov podatkov in imen stolpcev, dovoljenih za dani DBMS), povezave izvajajo migracije ključni atributi nadrejenih entitet in ustvarjanje tujih ključev.

Če so entitete pravilno definirane, bodo nastale tabele takoj v 3NF. Glavna prednost metode je, da je model zgrajen z zaporednimi izboljšavami začetnih diagramov.

To poglavje, ki je ilustracija metod modeliranja ER, ne zajema bolj zapletenih vidikov diagramiranja, kot so podtipi, vloge, izključna razmerja, neprenosljiva razmerja, identifikacijski odnosi itd.

Model entiteta-atribut-relacija je leta 1976 predlagal Peter Ping-Shen Chenow. Večina sodobnih pristopov k načrtovanju baze podatkov (predvsem relacijskih) temelji na uporabi različic modela ER. Domensko modeliranje temelji na uporabi grafičnih diagramov, ki vključujejo majhno število heterogenih komponent. Zaradi jasnosti predstavitve konceptualnih diagramov baze podatkov se modeli ER pogosto uporabljajo v sistemih CASE, ki podpirajo avtomatizirano načrtovanje relacijskih baz podatkov.

Osnovni koncepti modela ER so entiteta, atribut in odnos.

Esenca– je resničen ali namišljen predmet, informacije o katerem so zanimive. V diagramih modela ER je entiteta predstavljena kot pravokotnik, ki vsebuje ime entitete. V tem primeru je ime entitete ime tipa in ne določenega predmeta - primerka tega tipa. Vsak primerek entitete se mora razlikovati od vseh drugih primerkov iste entitete.

Odnos je grafično predstavljena povezava, vzpostavljena med dvema entitetama. Ta povezava je vedno binarna in lahko obstaja med dvema različnima entitetama ali med entiteto in samo seboj (rekurzivno razmerje). V kateri koli povezavi sta identificirana dva konca (v skladu s parom povezanih entitet), od katerih vsak označuje ime konca povezave, stopnjo konca povezave (koliko primerkov te entitete je povezanih) , obvezna narava povezave (tj. ali mora kateri koli primerek te entitete sodelovati v tej povezavi).

Povezava je predstavljena kot črta, ki povezuje dve entiteti ali vodi od entitete do same sebe. V tem primeru se na mestu, kjer se povezava »združi« z entiteto, uporabi tritočkovni vnos v pravokotnik entitete, če je za to entiteto v povezavi mogoče uporabiti veliko primerkov entitete, in enotočkovni vnos vnos, če lahko v povezavi sodeluje le en primerek entitete. Obvezni konec povezave je prikazan s polno črto, neobvezni konec pa s črtkano črto.

Tako kot entiteta je razmerje generični koncept; za vse primerke obeh parov povezanih entitet veljajo pravila povezovanja. Na sl. 1. Podan je primer slike entitet in razmerja med njimi. Ta diagram je mogoče razlagati na naslednji način:

Vsak ŠTUDENT študira le v eni SKUPINI;

Katera koli SKUPINA je sestavljena iz enega ali več ŠTUDENTOV.

riž. 1. Odnos med subjekti

Na sl. 2 prikazuje bistvo ČLOVEKA z rekurzivno povezavo, ki ga povezuje s samim seboj. Lakonična ustna razlaga prikazanega diagrama je naslednja:

Vsaka OSEBA je sin ene in samo ene OSEBE;

Vsaka OSEBA je lahko oče ene ali več LJUDI (»LJUDI«).

riž. 2. Rekurzivna komunikacija

Atribut entitete je vsaka podrobnost, ki služi za pojasnitev, identifikacijo, klasifikacijo, kvantifikacijo ali izražanje stanja entitete. Imena atributov so vpisana v pravokotnik, ki predstavlja entiteto, pod imenom entitete in so prikazana z malimi črkami:

Edinstveni identifikator entitete je atribut, kombinacija atributov, kombinacija odnosov ali kombinacija odnosov in atributov, ki edinstveno razlikuje kateri koli primerek entitete od drugih primerkov iste vrste entitete. To so najpomembnejši pojmi v podatkovnem modelu ER. Kompleksnejši elementi modela vključujejo naslednje.

Odnosi mnogo proti mnogo. Včasih je treba entitete povezati tako, da je lahko na obeh koncih povezave več primerkov entitete (na primer vsi člani zadruge so lastniki lastnine zadruge). Da bi to naredili, je uveden tip odnosa "mnogo proti mnogo".

Določljive stopnje povezave. Včasih je koristno definirati možno število instanc entitete, ki sodelujejo v danem razmerju (na primer, zaposlenemu je dovoljeno sodelovati pri največ treh projektih hkrati). Za izražanje te semantične omejitve je dovoljeno na koncu povezave navesti njeno največjo ali obvezno stopnjo.

Kaskadno brisanje primerkov entitet. Nekatere relacije so tako močne (seveda v primeru relacije ena proti mnogo), da morate, ko izbrišete primerek referenčne entitete (ki ustreza "enemu" koncu relacije), izbrisati tudi vse primerke entitete, ki ustrezajo do "mnogo" konca odnosa. Ustrezno zahtevo za "kaskadno brisanje" je mogoče oblikovati pri definiranju entitete.

Domene. Kot pri relacijskem podatkovnem modelu je koristno, da lahko definirate potencialno veljaven nabor vrednosti za atribut entitete (domene).

Zaradi teh in drugih kompleksnejših elementov podatkovnega modela entiteta-relacija je močnejši, a tudi nekoliko težji za uporabo. Ko dejansko uporabljate diagrame ER za načrtovanje baze podatkov, se morate seveda seznaniti z vsemi možnostmi.

Najpogosteje se v praksi modeliranje ER uporablja na prvi stopnji načrtovanja baze podatkov. Njegov rezultat je praviloma konceptualni model predmetnega področja, izražen v modelu ER.

Pri prehodu na naslednjo stopnjo - modeliranje sheme baze podatkov - se razvijalec sooča s problemom izražanja konceptualnega modela domene v smislu uporabljenega podatkovnega modela (na primer relacijskega). Obstajajo trije pristopi k reševanju tega problema.

Prvi pristop sestoji iz ročne pretvorbe konceptualnega modela predmetnega področja v shemo podatkovne baze, izvedene po metodah, v katerih so vse stopnje takšne pretvorbe precej jasno določene.

Pri drugem pristopu Izvedena je avtomatizirana kompilacija konceptualnega modela predmetnega področja v shemo baze podatkov (najpogosteje relacijsko). Obstajata dve vrsti pristopa:

pristop, ki temelji na eksplicitni predstavitvi konceptualnega modela predmetnega področja kot izhodiščne informacije za kompilacijo;

pristop, osredotočen na izgradnjo celostnih projektantskih sistemov z avtomatsko izdelavo konceptualnega modela predmetnega področja na podlagi intervjujev s predmetnimi strokovnjaki.

V obeh primerih je rezultat shema relacijske baze podatkov v tretji normalni obliki.

končno, tretji pristop - To je neposredno delo z bazo podatkov v semantičnem modelu, tj. uporaba DBMS na osnovi semantičnih podatkovnih modelov. Spet se obravnavata dve možnosti.

Prva možnost je zagotoviti uporabniški vmesnik, ki temelji na semantičnem podatkovnem modelu s samodejnim preslikavo konstruktov v relacijski podatkovni model (to je naloga približno enake stopnje kompleksnosti kot samodejno sestavljanje konceptualnega modela domene v shemo baze podatkov ).

Druga možnost je neposredna implementacija DBMS, ki temelji na nekem semantičnem podatkovnem modelu.

Drugi možnosti so najbližje sodobni objektno usmerjeni DBMS-ji, katerih podatkovni modeli so v mnogih pogledih blizu semantičnim modelom (čeprav so v nekaterih vidikih močnejši, v drugih pa šibkejši). Čeprav na splošno lahko rečemo, da ta pristop še ni presegel raziskovalnih in eksperimentalnih projektov.

Trenutno se je na trgu programske opreme pojavilo precej univerzalnih (nevezanih na nobeno specifično DBMS) paketov za računalniško podprto načrtovanje baz podatkov, ki omogočajo konceptualno modeliranje predmetnega področja. Skoraj vsi tovrstni sistemi temeljijo na eni ali drugačni interpretaciji modela ER. Takšni sistemi so implementacija drugega od zgoraj obravnavanih pristopov. Eden najbolj priljubljenih programskih izdelkov na tem področju je Platinumov ERwin.

Podatkovni modeli

Način, kako so entitete, atributi in razmerja preslikani v podatkovne strukture, določa podatkovni model. Obstajajo 4 glavni podatkovni modeli - seznami, relacijske baze podatkov, hierarhične in mrežne strukture. Oglejmo si jih pobližje.

Najenostavnejši tip je seznam – podatkovna struktura v obliki linearnega zaporedja.

Drevesne hierarhične strukture se pogosto uporabljajo v vsakdanjih človeških dejavnostih. Hierarhični podatkovni modeli temeljijo na uporabi grafičnih in tabelarnih oblik prikaza podatkov. V diagramu sheme grafične baze podatkov se oglišče grafa uporablja za interpretacijo vrst entitet, loki pa za interpretacijo vrst razmerij med vrstami entitet. Ko so implementirane, so vozlišča predstavljena s tabelami opisov primerkov entitet ustreznega tipa. Na sl. Slika 3 prikazuje primer hierarhične drevesne strukture baze podatkov.

riž. 3. Hierarhična drevesna struktura baze podatkov

Glavne notranje omejitve hierarhičnega podatkovnega modela so naslednje:

– vse vrste priključkov morajo biti funkcionalne, tj. 1:1, 1:M, M:1;

– struktura povezav naj bo drevesna.

Rezultat teh omejitev so številne značilnosti procesa strukturiranja podatkov v hierarhičnem modelu.

Drevesna zgradba, oz drevo, - je povezan neusmerjen graf, ki ne vsebuje ciklov. Običajno pri delu z drevesom izberemo določeno vozlišče in ga definiramo kot korenina drevo in se obravnavajo posebej - v to oglišče ne gre niti en rob. V tem primeru drevo postane usmerjeno. Orientacijo običajno določimo iz korenine.

Ukoreninjeno drevo kot usmerjen graf lahko definiramo na naslednji način:

– obstaja eno samo oglišče, imenovano koren, v katerega ne vstopa rob;

– v vsa druga oglišča vstopa le en rob, izstopa pa poljubno število robov;

– brez ciklov.

Hierarhična drevesna struktura, usmerjena iz korena, izpolnjuje naslednje pogoje:

– hierarhija se vedno začne od korenskega vozlišča;

– samo korensko vozlišče je lahko na prvi ravni hierarhije;

– na nižjih nivojih se nahajajo ustvarjena(odvisna) vozlišča;

– vsako ustvarjeno vozlišče, ki se nahaja na ravni L , neposredno povezan samo z enim original vozlišče (neposredno nadrejeno vozlišče), ki se nahaja na višji (L – 1) ravni drevesne hierarhije;

– vsako izvorno vozlišče ima lahko eno ali več neposredno generiranih vozlišč, imenovanih podobno;

– dostop do vsakega podrejenega vozlišča se izvaja prek njegovega neposrednega izvornega vozlišča;

– obstaja ena sama hierarhična dostopna pot do vozlišča, ki se začne od korena drevesa (slika 4).

riž. 4. Hierarhična pot za dostop do vozlišča

Z drugimi besedami, hierarhični model (ali drevo) predstavitve znanja je podatkovna struktura, v kateri ima vsako vozlišče samo enega »starša«, tj. dominantno vozlišče (razen najvišjega vozlišča) in neomejeno število "potomcev", tj. vozlišča, nad katerimi dano vozlišče dominira.

Omrežni podatkovni modeli temeljijo tudi na uporabi grafične oblike predstavitve podatkov. Točke grafa se uporabljajo za interpretacijo vrst entitet, loki pa za interpretacijo vrst relacij. Mrežni model predstavitve znanja je podatkovna struktura, v kateri ima lahko vsak objekt, za razliko od hierarhične predstavitve, več kot eno dominantno vozlišče (slika 5).

riž. 5. Struktura omrežja

V 70. letih so se teoretične raziskave začele aktivno izvajati relacijski podatkovni model. S pojavom osebnih računalnikov so na trgu informacijskih sistemov začeli prevladovati relacijski modeli. Relacijska predstavitev znanja– predstavitev znanja v obliki odnosov.

V skladu z relacijskim podatkovnim modelom so podatki predstavljeni kot niz tabel, na katerih se lahko izvajajo operacije, oblikovane v izrazih relacijske algebre ali relacijskega računa.

Logično oblikovanje

V predlagani metodologiji načrtovanja baze podatkov je celoten razvojni proces razdeljen na tri glavne faze: konceptualno, logično in fizično načrtovanje. Logično načrtovanje baze podatkov je proces izdelave splošnega informacijskega modela podjetja na podlagi individualnih uporabniških podatkovnih modelov, ki je neodvisen od značilnosti dejanskega DBMS in drugih fizičnih pogojev.

Na prejšnji stopnji je bil pridobljen nabor lokalnih konceptualnih podatkovnih modelov, ki odražajo uporabnikovo razumevanje predmetnega okolja. Vendar lahko ti modeli vsebujejo nekatere podatkovne strukture, ki bi jih bilo težko implementirati v običajne vrste DBMS. Na tej stopnji se takšne podatkovne strukture pretvorijo v obliko, ki ne bo povzročala težav pri implementaciji v okolje obstoječih DBMS. Opozoriti je treba, da ta dejanja niso del logične zasnove baz podatkov. Vendar pa predlagani postopek prisili razvijalca, da bolj natančno razmisli o pomenu vsakega podatkovnega elementa, kar pozitivno vpliva na natančnost predstavitve modela značilnosti določenega podjetja. Na tej stopnji se izvajajo naslednja dejanja:

1. Odstranjevanje tipskih povezav M:n.

2. Odstranjevanje kompleksnih povezav.

3. Odstranjevanje rekurzivnih povezav.

4. Odstranjevanje povezav z atributi.

5. Odstranjevanje več atributov.

6. Ponovno preverjanje povezav 1:1.

7. Odstranjevanje odvečnih povezav.

1. Odstranjevanje povezav M:N.Če konceptualni model vsebuje povezave, kot so M:n(»mnogo proti mnogo«), potem jih je treba odpraviti z definiranjem neke vmesne entitete. Vrsta komunikacije M:n se nadomesti z dvema povezavama tipa 1: M, nameščen z novo ustvarjeno entiteto.

Kot primer razmislite o naslednjem M:n komunikacija: časopis natisne oglase o oddaji nepremičnin (slika 6)

riž. 6. M:N povezava

Za razrešitev tega razmerja definiramo vmesno entiteto OBJAVA in ustvarimo dve novi zvezi tipa 1: M. Kot rezultat, povezava, kot je M:n bosta nadomestili dve vezi (slika 7).

riž. 7. Povezave tipa 1: M

2. Odstranjevanje kompleksnih povezav. Kompleksno razmerje je tisto, ki obstaja med tremi ali več vrstami entitet. Če v konceptualnem modelu obstaja zapleten odnos, ga je treba razrešiti z uporabo vmesne entitete. Kompleksna povezava se nadomesti z zahtevanim številom binarnih povezav tipa 1: M, nameščen z novo ustvarjeno entiteto. Na primer, trojno razmerje »Oddano« (prikazano z diamantom) odraža razmerje, ki obstaja med zaposlenim v podjetju, ki ureja najem, zemljiščem in najemnikom (slika 8).

riž. 8. Kompleksna komunikacija

To kompleksno razmerje je mogoče poenostaviti z uvedbo nove entitete in definiranjem binarnih odnosov med njo in vsako od prvotnih entitet v kompleksnem razmerju.

V našem primeru je mogoče razmerje »Za najem« odpraviti z uvedbo nove šibke entitete, imenovane Pogodba. Novo ustvarjena entiteta bo povezana s prvotnimi entitetami s tremi novimi binarnimi povezavami (slika 9).

riž. 9. Poenostavite kompleksno komunikacijo

3. Odstranjevanje rekurzivnih povezav. Rekurzivna razmerja so tista, v katerih entiteta določenega tipa sodeluje sama s seboj. Če konceptualni model vsebuje rekurzivne odnose, jih je treba razrešiti z definiranjem neke vmesne entitete. Na primer, za predstavitev situacije, ko eden od delavcev upravlja skupino drugih delavcev, je mogoče vzpostaviti rekurzivno razmerje ena proti mnogo (1: M).

4. Odstranjevanje povezav z atributi.Če so v konceptualnem modelu razmerja, ki imajo lastne atribute, jih je treba preoblikovati z ustvarjanjem nove entitete. Na primer, razmislite o situaciji, ko je treba zabeležiti število delovnih ur, ki jih opravi začasno osebje v vsakem oddelku podjetja. Razmerje »Delo v« ima atribut z imenom »Opravljene ure«. Preoblikujemo relacijo »Dela v« v entiteto z imenom »Razporeditev po oddelkih«, ki ji bomo dodelili atribut »Opravljene ure«, nato pa ustvarimo dve novi relaciji tipa 1: M.

5. Odstranjevanje več atributov. Več atributov je tistih, ki imajo lahko več vrednosti za isti primerek entitete. Če je v konceptualnem modelu prisoten več atributov, ga je treba pretvoriti z definiranjem nove entitete. Na primer, za predstavitev situacije, v kateri ima ista podružnica podjetja več telefonskih številk, je konceptualni model definiral večkratni atribut »telefonska številka«, povezan z entiteto »podružnica podjetja«. Ta večkratni atribut je treba odstraniti tako, da definirate novo telefonsko entiteto, ki ima en sam preprost atribut telefonske številke, in ustvarite novo razmerje tipa 1.

6. Ponovno preverjanje tipskih povezav 1:1. Postopek definiranja entitete je morda ustvaril dve različni entiteti, ki dejansko predstavljata isti objekt v domeni aplikacije. Ustvarite lahko na primer dve entiteti »Oddelek« in »Oddelek«, ki dejansko predstavljata isto vrsto predmeta. Z drugimi besedami, ime »Oddelek« je sinonim za ime »Oddelek«. V tem primeru je treba ti dve entiteti združiti v eno. Če so primarni ključi entitet, ki jih združujete, različni, izberite enega od njih kot primarni ključ, drugega pa določite kot nadomestni ključ.

7. Odstranjevanje odvečnih povezav. Povezava je redundantna, če je iste informacije mogoče pridobiti ne samo prek nje, ampak tudi prek druge povezave. Vedno si morate prizadevati za ustvarjanje minimalnih podatkovnih modelov in zato, če redundantno povezovanje ni očitno potrebno, ga je treba odstraniti. Ugotovitev, da obstaja več kot en odnos med dvema entitetama, je precej preprosta. Vendar iz tega še ne izhaja, da je ena od obeh povezav nujno redundantna, saj lahko obe predstavljata različni asociaciji, ki dejansko obstajata v organizaciji.

Pri odpravljanju redundance dostopa je časovna razporeditev zelo pomembna. Na primer, razmislite o situaciji, ko je treba modelirati odnose med entitetami "Moški", "Ženska" in "Otrok". Očitno je, da obstajata dve dostopni poti med entitetama »Človek« in »Otrok«: ena je prek neposredne komunikacije. Je oče« in drugo – prek zvez Poročen z« in »Je mati«. Na prvi pogled se zdi, da povezava Je oče« odveč. Vendar je ta izjava morda napačna iz dveh razlogov. Prvič, oče ima lahko otroke iz prejšnjega zakona, vendar modeliramo samo očetov trenutni zakon (prek razmerja 1:1). Drugič, oče in mati morda sploh nista poročena ali pa je oče poročen z žensko, ki ni otrokova mati (ali pa je mati poročena z moškim, ki ni otrokov oče). Zato vseh obstoječih odnosov ni mogoče modelirati brez uporabe odnosa »Je oče« (slika 10).

riž. 10. Razmerje med subjekti »Moški«, »Ženska«, »Otrok«


Povezane informacije.


PREDAVANJE

Model entiteta-razmerje.

Osnovni pojmi: Bistvo, Lastnosti, Odnosi.

Predstavitev entitet, lastnosti, odnosov

9.1. Model "Entiteta-odnos"

Najpogostejše sredstvo za modeliranje predmetnega področja sistemov, osredotočenih na obdelavo dejanskih informacij, je model "entiteta-razmerje" ( Entiteta – model razmerja – ER M), ki ga je prvič predlagal Peter Ping-Sheng Chen leta 1976. Ta model se tradicionalno uporablja v strukturni analizi in oblikovanju, vendar v bistvu izvaja objektno zasnovan pristop k domenskemu modeliranju.

Model entiteta-relacija je osnova za precejšnje število komercialnih izdelkov CASE, ki podpirajo celoten razvojni cikel sistemov baz podatkov ali njegove posamezne stopnje. Hkrati mnogi od njih ne samo podpirajo stopnjo konceptualne zasnove predmetnega področja sistema, ki se razvija, ampak tudi omogočajo izvedbo faze logičnega načrtovanja na podlagi modela, ki je bil izdelan z njihovimi sredstvi, s samodejnim ustvarjanjem konceptualno shemo baze podatkov za izbrano DBMS, na primer shemo baze podatkov za nek strežnik SQL ali objekt DBMS.

Modeliranje predmetnega področja v tem primeru temelji na uporabi grafičnih diagramov, ki vključujejo relativno majhno število komponent. (diapozitiv 2) in kar je najpomembneje - gradbena tehnologija takšni diagrami.

Pomenska osnova Urgenca - modeli dajejo naslednje predpostavke:

- tisti del resničnega sveta (niz med seboj povezanih objektov), ​​informacije o katerem je treba dati v bazo podatkov, je lahko predstavljeno kot celota subjekti;

- Vsaka entiteta ima značilne lastnosti (atribute), ki jo razlikujejo od drugih entitet in ji to omogočajo identificirati;

- Entitete je mogoče razvrstiti glede na tipe entitet: vsak primerek entitete (ki predstavlja nek predmet) je mogoče dodeliti razredu - vrsta subjekti, katerih vsak primerek ima lastnosti, ki so jim skupne in jih razlikuje od entitet drugih razredov;

- sistematizacija predstavitev na podlagi razreda na splošno predpostavlja hierarhično odvisnost tipov: entiteta tipa A je podvrsta bistvoB, če vsak primerek tipa A je primerek entitete tipaB;

- odnose med objekti lahko predstavimo kot komunikacije– entitete, ki služijo evidentiranju (predstavljanju) soodvisnosti dveh ali več entitet.

Pri tem moramo še enkrat poudariti informativnost koncepta bistvo in njegov odnos z materialnimi ali imaginarnimi objekti predmetnega področja. Vsak objekt predmetne domene ima lastnosti, od katerih so nekatere označene kot značilne - pomembne z vidika uporabljene naloge. V tem primeru, na primer, v procesu analize in sistematizacije predmetnega področja, razredi– zbirka objektov, ki imajo enak nabor lastnosti, navedenih v obrazcu nabori atributov(vrednosti atributov za predmete istega razreda se lahko seveda razlikujejo). Skladno s tem na ravni reprezentacije predmetnega področja (tj. njegovega infološkega modela) predmet, obravnavan kot koncept (objekt v človekovem umu), ustreza konceptu bistvo; predmet, kot del materialnega sveta (in obstaja neodvisno od človekove zavesti), ustreza konceptu primerek entitete; razred predmetov ustreza pojmu tip entitete.

Ker v nadaljevanju infološki model ne obravnava posameznih primerkov objektov, ampak razrede, v nadaljevanju ne bomo razlikovali med ustreznimi koncepti teh dveh ravni, tj. prevzeli bomo istovetnost pojmov predmet in bistvo, lastnost predmeta in premoženje subjekta.

Vklopljeno diapozitiv 3 To je primer predstavitve entitete, ki ni popolna in ne trdi, da je natančna ujemanje s katero koli različico konstrukcije diagramov ER.

Model ER mora kot opis predmetnega področja definirati objekte in odnose med njimi, t.j. vzpostavite povezave naslednjih dveh vrst:

1. povezave med predmeti in nizi značilnih lastnosti in s tem definirajo predmete same;

2. povezave med predmeti, ki določajo naravo in funkcionalno naravo njihove soodvisnosti.

Kot že omenjeno, ER modeliranje predmetnega področja temelji na uporabi grafičnih diagramov kot enostavnega (znanega), vizualnega in hkrati informativnega ter večdimenzionalnega načina prikaza komponent projekta.

Esenca. Entiteta, s katero je modeliran razred podobnih objektov, je opredeljena kot "predmet, ki ga je mogoče jasno identificirati." Tako kot je vsak predmet edinstveno označen z nizom vrednosti lastnosti, mora entiteta biti odločen takole nabor atributov, kar bi omogočilo razlikovanje med posameznimi primerki entitete. Vsak primerek entitete se mora razlikovati od vseh drugih primerkov iste entitete (ta zahteva je podobna zahtevi, da v relacijskih tabelah ni podvojenih tupl). Na primer, za edinstveno identifikacijo vsakega primerka entitete »Employee« je uveden atribut »Tab.number«, ki bo zaradi svoje narave vedno imel edinstveno vrednost v podjetju. To pomeni, da je enolični identifikator entitete lahko atribut, kombinacija atributov, kombinacija odnosov ali kombinacija odnosov in atributov, ki edinstveno razlikuje kateri koli primerek entitete od drugih primerkov entitete istega tipa.

Entiteta ima Ime, edinstven znotraj modela. Ob istem času ime entitete- To ime tipa, in ne kakšen konkreten primer.

Entitete so razdeljene na močan in šibka. Entiteta je šibka, če je njen obstoj odvisen od druge entitete – močne v odnosu do nje. Na primer, entiteta »Podrejeni« je šibka glede na entiteto »Zaposleni«: če se izbriše zapis, ki ustreza nekemu zaposlenemu, ki ima podrejene, je treba izbrisati tudi podatke o podrejenosti.

Lastnosti ( diapozitiv 4)

Narava nepremičnine, kako narava povezave lastnosti z entiteto (predmetom) so lahko drugačne. Oglejmo si glavne vrste nepremičnin.

Nepremičnina je lahko večkratno oz samski– tj. atribut, ki določa lastnost, ima lahko hkrati več vrednosti ali, v skladu s tem, samo eno. Na primer, zaposleni ima lahko več specialitet, vendar je edina vrednost »Tab. številka".

Nepremičnina je lahko preprosto(ni predmet nadaljnje delitve z vidika aplikativnih nalog) oz sestavljeno– če je njegova vrednost sestavljena iz vrednosti enostavnih lastnosti. Na primer, lastnost "Leto rojstva" je preprosta, lastnost "Naslov" pa je sestavljena, ker vključuje vrednosti preprostih lastnosti "Mesto", "Ulica", "Hiša".

V nekaterih primerih je koristno razlikovati osnovni in izvedenke lastnosti. Na primer, »Dobavitelj« ima lahko lastnost »Skupno število dobavljenih delov«, ki se izračuna tako, da sešteje število delov, ki jih dobavi za projekt.

Če prisotnost neke lastnosti za vse primerke entitete ni obvezna, se taka lastnost pokliče pogojno. Na primer, vsi zaposleni nimajo lastnosti "akademska diploma".

Vrednosti lastnosti so lahko konstantne - statična, oz dinamično, tj. spremeniti skozi čas. Na primer, lastnost »Tab. številka« je statična, »naslov« pa dinamičen. Nepremičnina je lahko negotova, če je dinamičen, vendar njegova trenutna vrednost še ni nastavljena.

Nepremičnina se lahko šteje za ključ, če je njegov pomen edinstven in morda v določenem kontekstu enolično identificira entiteto. Na primer, podrejeni določenega zaposlenega.

Povezave Infološki model poleg povezav med objektom in njegovimi lastnostmi odraža povezave med objekti različnih razredov. Povezava je definiran kot »združenje, ki združuje več subjektov«. Ta povezava lahko vedno obstaja med različnimi entitetami ali med entiteto in samo seboj (rekurzivno razmerje).

Tako kot bistvo je povezava vrsta nov koncept, tj. za vse primerke povezanih entitet veljajo pravila vezave vrste. Temeljna razlika med vrstami odnosov med vrstami in primerki je ponazorjena v diapozitivi.

Entitete, ki jih združuje razmerje, se imenujejo udeležencev. Stopnja povezave določeno s številom udeležencev komunikacije.

Če vsak primerek entitete sodeluje v vsaj enem primerku razmerja, se takšno sodelovanje te entitete imenuje popolna(oz obvezno); drugače – nepopolna(oz izbirno).

Določena je kvantitativna narava udeležbe instanc subjekta (ena ali več). vrsto povezave(oz komunikacijska moč). Možne so naslednje vrste: "ena na ena"(1:1), "eden proti mnogim"(1: M) , "mnogo proti enemu"(M:1) , "mnogo proti mnogim"(MM) (Diapozitivi 5, 6, 7).

Opozoriti je treba, da je orodje za povezave sredstvo za predstavljanje kompleksne predmete, od katerih lahko vsako obravnavamo kot niz medsebojno povezanih preprostih predmetov. Delitev na preproste in zapletene predmete, kot tudi narava razmerja, je pogojna in jo določajo posebnosti analize predmetnega področja, tj. na koncu - po naravi uporabe podatkov o objektih pri rešenih aplikativnih problemih. Še več, z vidika na primer projektanta je DEL kompleksen objekt, z vidika dobavitelja pa preprost.

Med številnimi vrstami odnosov so najpogostejši tisti hierarhičnega tipa, kot so »del-celota«, »rod-vrsta«.

Za predstavitev se uporabljajo razmerja med delom in celoto sestavljeni objekti. Na primer, STROJI so sestavljeni iz ENOT, ENOTE pa iz DELOV. Tukaj so možni odnosi "eden proti mnogim" tako in "mnogo mnogim".

Razmerje med rodom in vrsto – za reprezentacijo generalizirani predmeti. Na primer, ZAPOSLENE delimo po poklicu na OBLIKOVALCE, PROGRAMERJE, DELAVCE; PROGRAMERJI – v APLIKACIJSKE PROGRAMERJE in SISTEMSKE PROGRAMERJE. Hierarhični odnosi in zlasti » rodovno specifični", se običajno uporabljajo kot osnova za razvrščanje predmetov glede na sklope značilnih lastnosti. Še več, predmeti "vrste". dedovati"generične" lastnosti.

Druga pogosto uporabljena vrsta odnosa je združevanje - združevanje preprostih objektov v kompleksne na podlagi načela njihovega članstva. enota ali njihovo skupno sodelovanje v nekem procesu. Združevanje, ki ga tukaj obravnavamo kot splošnejši primer hierarhičnih odnosov, združuje predmete različnih narav z edino skupno lastnostjo »skupnega sodelovanja«. Zbrani predmeti so običajno poimenovani z glagolskimi samostalniki, npr. "Sestavina": DELITEV sestoji iz ZAPOSLENI; " Dobava«: DOBAVITELJ zaloge PODROBNOSTI.

Supertipi in podtipi. Entiteta se lahko razdeli na dve ali več enot, ki se med seboj izključujejo podtipi, od katerih vsak vključuje skupne atribute in/ali razmerja. Ti skupni atributi in/ali razmerja so eksplicitno definirani enkrat na višji ravni. Podtipi lahko definirajo lastne atribute in/ali razmerja. Načeloma se lahko podtipiziranje nadaljuje na nižjih ravneh, vendar največkrat zadoščajo dve ali tri ravni.

Entiteta, na podlagi katere se določajo podtipi, se imenuje supertip. Podtipi morajo tvoriti celoten sklop, tj. vsak primerek nadtipa mora pripadati nekemu podtipu. Včasih je za dokončanje nabora potrebno določiti dodaten podtip, na primer DRUGI.

Podtip podeduje lastnosti in razmerja nadtipa. Na primer, tip entitete PROGRAMMER je podtip entitete ZAPOSLEN. Programerji imajo vse lastnosti zaposlenih in sodelujejo pri vseh komunikacijah, vendar obratno ne drži.

Tip entitete, njegovi podtipi, podtipi teh podtipov itd. obliki hierarhija tipov entitet, katerega primer je podan v Diapozitiv 8.

9.2. ER diagram

Kot smo že omenili, je eden glavnih ciljev semantičnega modeliranja zagotoviti, da se rezultati analize predmetnega področja odražajo v precej preprosti, vizualni, a hkrati formalizirani in dovolj informativni obliki.

V tem smislu je diagram ER zelo dobra rešitev. Združuje funkcionalni in informacijski pristop, kar omogoča prikaz tako nabora opravljenih funkcij kot odnosov med sistemskimi elementi, ki jih določajo podatkovne strukture. Istočasno vam grafična oblika omogoča, da v kompaktni obliki (zaradi vizualnih simbolov) prikažete tipologijo in lastnosti entitet in odnosov, formalizmi, ki so podlaga za diagrame ER, pa vam omogočajo uporabo strogega normalizacijskega aparata v naslednjem koraku. oblikovanja logične strukture baze podatkov.

Entitete.Vsak tip entitete v diagramih ER je predstavljen kot pravokotnik, ki vsebuje ime entitete. Samostalniki (ali besedne zveze samostalnika) v ednini se običajno uporabljajo kot ime. Za prikaz subjektov šibkih vrst se uporabljajo pravokotniki, katerih stranice so narisane z dvojnimi črtami. Na primer v predstavljeni na diapozitiv 9 V diagramu ER je SUBJECT entiteta šibkega tipa.

Lastnosti.Lastnosti služijo za pojasnitev, identifikacijo, karakterizacijo ali izražanje stanja entitete ali razmerja. Lastnosti so prikazane kot elipse, ki vsebujejo ime lastnosti. Elipsa je s črto povezana z ustrezno entiteto ali odnosom.

Imena ključnih lastnosti so podčrtana. Na primer, lastnost »Številka tabele« entitete DELAVEC.

Če je lastnost večvrednostna, se obris elipse nariše z dvojno črto. Na primer, lastnost »speciality« entitete EMPLOYEE.

Obris elipse je narisan s črtkano črto, če je lastnost izpeljana. Na primer, lastnost »količina« entitete DOBAVITELJ.

Če je lastnost pogojna, je elipsa povezana s pikčasto črto. Na primer, nepremičnina »In.

Če je lastnost sestavljena, potem njene sestavne lastnosti prikažejo druge elipse, povezane s sestavljeno elipso. Na primer, lastnost »Naslov« entitete DELAVEC je sestavljena iz preprostih lastnosti »Mesto«, »Ulica«, »Hiša«.

PovezaveOdnos je grafično predstavljena povezava, vzpostavljena med entitetami. Vsaka vrsta povezave Urgenca - Diagram je prikazan kot diamant z imenom povezave znotraj. Glagolski samostalniki se običajno uporabljajo kot imena.

Strani diamanta so narisane z dvojnimi črtami, če gre za povezavo med entiteto šibkega tipa in entiteto, od katere je odvisna. Na primer razmerje »Podrejenost«, ki povezuje entiteto šibkega tipa PODREJENO z entiteto ZAPOSLEN, od katere je odvisna.

Udeleženci komunikacije so v komunikacijo povezani z linijami. Dvojna črta označuje polno udeležbo subjekta v povezavi s to stranjo. Na primer razmerje »Podrejenost« s strani entitete SUBJEKT.

Razmerje je mogoče spremeniti z določitvijo vloge. Na primer, za rekurzivno povezavo "Sestava" so vloge označene: "Del sestoji iz..." in "Vključen del vključeno v …».

Vrsta povezave je označena z indeksoma "1" ali "M" nad ustrezno vrstico. Na primer, razmerje »Upravljanje« je tipa ena proti mnogo: en zaposleni lahko upravlja več projektov; Razmerje »Sodelovanje« je tipa veliko proti mnogo: en zaposleni lahko sodeluje pri številnih projektih in veliko zaposlenih lahko sodeluje pri projektu.

Primer normalizirane oblike diagrama ER je prikazan v diapozitiv 10.

Ena od vrst modela entiteta-relacija se uporablja v zapisu IDEF1X, ki je del družine standardov IDEF.

Grafični jezik modela in primer diagrama sta predstavljena na diapozitiv 11 .

Izbirni odnosi med entitetami Oddelek in Zaposleni, Zaposleni in Podrejeni imajo kardinalnost ena proti mnogo (konec razmerja »mnogo« je označen s krepko piko) in obvezno razmerje med entitetami Zaposleni in Projekt ima moč mnogo proti mnogo.

Grafični elementi glavnih zapisov modela "entiteta-razmerje" so predstavljeni v diapozitiv 12 .


Ta opredelitev povezave kot entitete posebne vrste odraža bistvo relacijskega pristopa, za katerega je značilna enotna predstavitev entitet vseh vrst, vključno s povezavami, preko relacijskih spremenljivk.

Po določilih relacijskega modela je »pravilno« razmerje le razmerje tipa » veliko mnogim", saj je za njegovo izvedbo ustvarjena ločena relacijska spremenljivka. Povezave "ena proti ena", "ena proti mnogim" je vedno mogoče predstaviti z uporabo mehanizma tujega ključa enega od relacijske spremenljivke.

predmetno področje in naloge, ki jih je treba rešiti. Torej, v relacijskem podatkovnem modelu, ki ga bomo preučevali v "Relacijskem podatkovnem modelu", je nemogoče nastaviti deklarativne omejitve celovitosti, razen primarnih, edinstvenih in tujih ključev. Opis postopkovnih omejitev je na splošno zunaj tega modela.

Spodaj obravnavani model entiteta-razmerje (diagrami ER, model ER) je poseben primer podatkovnih modelov, bogatih s semantiko. Omogoča vam opis semantike, namenjene človeški uporabi. To pomeni, da lahko vnesete opise, ki niso implementirani v programsko opremo. Po drugi strani pa beleži metapodatke in omejitve celovitosti, ki se uporabljajo za ustvarjanje skriptov, ki generirajo shemo baze podatkov.

2.1 Pomenski modeli in kognitivni vidik

2.1.1 Semantični podatkovni modeli

Kaj shranjujejo baze podatkov? Seveda podatki. Vendar pa je treba tudi za organizacijo shranjevanja podatkov upoštevati pomene, povezane z njimi. V prejšnjem razdelku je na primer opisan primarni ključ, ki preprečuje podvojene zapise v nizu. Ta lastnost definira zasebni pomen niza zapisov s primarnim ključem. Tipi podatkov, domene, metapodatki določajo druge pomene shranjenih podatkov.

Če pa so v bazi podatkov shranjeni samo podatki, kako so potem shranjeni pomeni? Prvič, pomeni so tudi podatki, povezani s podatki, katerih pomen predstavljajo.

Izpostavimo naslednje vrste pomenov:

  • Pomeni, namenjeni samo ljudem. Lahko so shranjeni v informacijskih sistemih (IS), vendar so pasivni, torej sistemu nedostopni in zato ne vplivajo na njegovo obnašanje. Pridobijo ga lahko le ljudje
  • Pomeni znotraj IS. So aktivni, torej spreminjajo ali ustvarjajo novo vedenje IS. Tipični primeri: ključi, tipi podatkov, metapodatki.
  • Zunanji pomeni, povezani s sistemi ali nalogami zunaj IS ali, ožje, baze podatkov. Ti pomeni so tudi aktivni.

Kako se kaže aktivnost notranjih pomenov? Naj bo primarni ključ. Želite zapisati zapis v niz. Vendar pa bo DBMS najprej naredil nekaj, česar niste zahtevali - preveril bo veljavnost vnesene vrednosti ključa - in šele če ta vrednost manjka, bo naredil zapis.

Primer tretje vrste pomena: Obstaja tabela z ocenami vseh študentov v vseh disciplinah. Ali je mogoče izračunati povprečno oceno? Vsekakor. Če pa poznate merilne lestvice, potem veste, da se uspešnost meri na vrstni lestvici. V njem povprečna ocena nima pomena oziroma, uradno rečeno, neustrezna statistika.

V začetni fazi izdelave aplikacije (poslovna analiza) je potrebno imeti model domene, ki podaja neformalen opis vseh bistvenih lastnosti problema, ki jih oblikovalec pozna. Hkrati lahko zavračanje podrobnosti, ki se ne ujemajo s podatkovnimi modeli, uporabljenimi v fazi izvajanja projekta, povzroči znatno izkrivljanje izjave o problemu. Na stopnji analize je treba dati prednost popolnosti informacij pred možnostjo njihovega formalnega opisa.

Semantični modeli se običajno imenujejo modeli, ki zagotavljajo predstavitev semantike podatkov. Tako kot drugi modeli lahko vključujejo strukturne, manipulativne in celostne dele. Glede na to, da je v katerem koli modelu nekakšna semantika, se lahko tisti modeli, ki vsebujejo več semantike, obravnavajo kot semantični kot "nesemantični" modeli, ki vsebujejo malo semantike. Ta psevdodefinicija je zelo nejasna. Ampak zaenkrat nam je to dovolj.

Znotraj semantičnega modela se ustvari konceptualna shema podatkovne baze, ki se običajno ročno ali samodejno (vendar ne samodejno) pretvori v shemo podatkovne baze, ki je veljavna v okviru podatkovnih modelov, implementiranih v naslednjih fazah življenjskega cikla projekta - načrtovanje, razvoj in vzdrževanje.

Semantika podatkov bo podrobneje obravnavana v predavanju Semantika baze podatkov v učbeniku.

Najbolj znan semantični model entiteta-razmerje (ER) je leta 1976 predlagal Peter Chen.

2.1.2 Kognitivni vidik

Semantični modeli so implementirani v obliki človeku berljivih diagramov. V sodobni znanosti na splošno in še posebej v računalništvu se veliko in zasluženo posveča pozornost kognitivnim vidikom. V kontekstu baz podatkov to pomeni identifikacijo dveh glavnih akterjev – ljudi in programov – ter razvoj naravnih, človeku prijaznih modelov, jezikov, vmesnikov in algoritmov za uporabniško izkušnjo. Seveda je treba upoštevati predhodno strokovno usposobljenost uporabnika, ki ob vsakodnevnem znanju določa duševni svet človeka, nabor podob (geštaltov), ​​s katerimi operira. Zakaj pričakujemo glavni meni na vrhu okna? Samo zato, ker so nas tega naučili razvijalci nekaterih uspešnih programskih izdelkov.

2.1.3 Ravni modela

Po temeljnem delu Petra Chena o diagramih entiteta-relacija razlikujemo štiri ravni predstavitve podatkovnega modela z rahlo spremenjenimi definicijami:

  1. Informacije o objektih in odnosih domene (programska oprema), izražene v programskih izrazih (konceptualni model).
  2. Strukturirane informacije o programski opremi, predstavljene v smislu informacijskih sistemov (logični model).
  3. Podatkovne strukture, ki so neodvisne od načina dostopa, torej niso povezane s podatkovnimi strukturami, iskanjem, indeksiranjem itd. (fizični model).
  4. Podatkovne strukture glede na način dostopa (model strojne opreme).

Če pogledamo naprej, ugotavljamo, da se relacijski model nanaša na ravni 2 in 3. Omrežni in hierarhični modeli, kot so obstajali pred 20 leti, delujejo predvsem na ravneh 3 in 4. UML je ravni 1, 2 in 3, vendar UML seže daleč poleg opisovanja podatkov. Model entiteta-relacija deluje na ravneh 1 in 2.



Delite