Olemite ja nendevaheliste suhete tuvastamine. Andmebaasi teemavaldkond ja selle mudel Määrab, kas atribuut on valikuline

3 . Andmemudeli komponendid

Üksus, olemi määratlus, olemite kohta teabe allikad

Andmemudel – ainevaldkonna kontseptuaalne kirjeldus – on andmebaasi kujundamise kõige abstraktsem tasand. Andmemudel koosneb olemitest, atribuutidest, domeenidest ja suhetest. Lisaks - iga elemendi kohta üksikasjalikult.

3.1 Üksused

Olem on midagi, mille kohta tuleb teavet andmebaasi salvestada.

Andmebaaside kujundamisel piisab hetkeolukorra kirjeldamisest – ja enamik nimisõnu ja mõningaid tegusõnu on üksuste kandidaadid. Näiteks: "Kliendid ostavad kaupu. Töötajad müüvad kaupu klientidele. Tarnijad tarnivad kaupu" - kliendid, kaubad, töötajad ja tarnijad on üksused. Tegusõnad "ostma" ja "müüma" on samuti üksused (kuigi need võivad olla samad, ostja ja müüja vaatepunktist erinevad).

Andmebaasi kujundamisel on peamiseks teabeallikaks olemite kohta vestlus kliendiga, et mõista tema äriprotsesse. Lisaks analüüsitakse äriprotsessides kasutatavaid standarddokumente: blankette, aruandeid, juhiseid jne. Pärast sellise loendi saamist on vaja kontrollida selle täielikkust ja sidusust, samuti tuvastada duplikaadid - identsed olemid, mida nimetatakse erinevate sõnadega, ja olemid, mis on tegelikult erinevad, kuid mida kirjeldatakse sama terminiga.

Üksused saavad modelleerida konkreetseid mõisteid (kliendid, kaubad, kõned) ja abstraktseid (agent vastutab kliendi eest, üliõpilane on kursusele registreeritud).

ER mudeli kontseptsioon. Olemi mõiste. atribuudid. Atribuutide tüübid

1. Millised probleemid võivad tekkida arendajal andmebaasi kujundamisel?

Andmebaasi kujundamisel ja tarkvaratoote arendamisel on kõige olulisem probleem arendaja ja kliendi vahelise suhtluse probleem. Arendaja ülesandeks on andmebaasihaldustarkvara toote väljatöötamisel kõige täpsemini taasluua kliendi soovid. Peamine probleem, mida arendaja peab lahendama, on andmebaasi õige ülesehitus, õigemini andmebaasi skeem (struktuur).

Lisaks tekib arendajal ka muid raskusi, sealhulgas:

  • tõhusate algoritmide otsimine;
  • sobivate andmestruktuuride valik;
  • keeruka koodi silumine ja testimine;
  • rakenduse liidese disain ja kasutatavus.

Arengu etapis tarkvara andmebaasi haldaja, peab arendaja üksikasjalikult tundma kliendi nõudeid. Andmebaas peaks olema kujundatud nii, et see oleks arusaadav, kajastaks kõige täpsemalt lahendatavat probleemi ega sisaldaks andmetes liiasust.

Andmebaasi arendamise (disaini) protsessi hõlbustamiseks nn semantilised mudelid andmeid. Sest erinevad tüübid Tuntuim andmebaas on ER andmemudel (Entity-Relationship model).

2. Mis on ER-mudel (Entity-relationship model)? Miks on vaja ER mudelit välja töötada?

ER-mudel (Entity-relationship model või Entity-relationship diagram) on semantiline andmemudel, mis on loodud andmebaasi kujundamise protsessi lihtsustamiseks. ER mudelist saab genereerida igat tüüpi andmebaase: relatsiooniline, hierarhiline, võrk, objekt. ER-mudel põhineb mõistetel "üksus", "suhe" ja "atribuut".

Suurte andmebaaside puhul väldib ER-mudeli koostamine projekteerimisvigu, mida on äärmiselt raske parandada, eriti kui andmebaas on juba töös või testimisjärgus. Andmebaasi struktuuri ülesehituses tehtud vead võivad viia andmebaasi haldava tarkvara koodi muutmiseni. Selle tulemusena kasutatakse aega, raha ja inimressurssi ebaefektiivselt.

ER-mudel on andmebaasi esitus visuaalsete graafiliste diagrammide kujul. ER-mudel visualiseerib protsessi, mis määratleb teatud teemavaldkonna. Olemi-seoste diagramm on diagramm, mis kujutab graafiliselt oleme, atribuute ja seoseid.

ER-mudel on vaid modelleerimise kontseptuaalne tasand. ER-mudel ei sisalda rakendamise üksikasju. Sama ER-mudeli puhul võivad selle rakendamise üksikasjad erineda.

3. Mis on üksus andmebaasis? Näited

Andmebaasi olem on mis tahes objekt andmebaasis, mida saab eristada selle ainevaldkonna olemuse alusel, mille jaoks seda andmebaasi arendatakse. Andmebaasi kujundaja peab suutma oleme õigesti määratleda.

Näide 1 Raamatupoe andmebaasis saab eristada järgmisi üksusi:

  • raamat;
  • pakkuja;
  • poe paigutus.

Näide 2 Mõne õppeasutuse õppeprotsessi arvestuse andmebaasis saab eristada järgmisi üksusi:

  • üliõpilased (õpilased);
  • õpetajad;
  • rühmad;
  • õpitavad erialad.
4. Millised on olemitüüpide variandid? Olemitüüpide määramine ER mudelis

Mudelis "olem" - "suhe" on kahte tüüpi olemitüüpe:

  • nõrk tüüp. See olemitüüp sõltub tugevast olemist;
  • tugev tüüp. See on sõltumatut tüüpi üksus, mis ei sõltu kellestki.

Joonis 1 näitab nõrkade ja tugevate olemitüüpide tähistusi ER mudelis.

Riis. 1. Tugevate ja nõrkade olemitüüpide määramine

5. Milleks on atribuudid? Atribuutide tüübid. Atribuutide määramine ER mudelil

Igal olemitüübil on kindel atribuutide komplekt. Atribuudid on mõeldud konkreetse olemi kirjeldamiseks.

Seal on järgmist tüüpi atribuute:

  • lihtne atribuudid. Need on atribuudid, mis võivad olla osa atribuutidest. Need atribuudid koosnevad ühest komponendist. Näiteks lihtsate atribuutide hulka kuuluvad: raamatukogus oleva raamatu või õppeasutuse üliõpilaste kursuse kood;
  • komposiit atribuudid. Need on atribuudid, mis koosnevad mitmest lihtsast atribuudist. Näiteks võib elukoha aadress sisaldada riigi nime, paikkonda, tänavat, maja numbrit;
  • üheselt mõistetav atribuudid. Need on atribuudid, mis sisaldavad mõne olemi jaoks ainult ühte väärtust. Näiteks olemitüübi "Õpilane" atribuut "Hinneraamatu number" on üheselt mõistetav, kuna õpilasel võib olla ainult üks hinneraamatu number (üks väärtus);
  • polüsemantiline atribuudid. Need on atribuudid, mis võivad sisaldada mitut väärtust. Näiteks olemi "Õpilane" mitme väärtusega atribuut "Telefoninumber", kuna õpilasel võib olla mitu telefoninumbrit (kodu, mobiil jne);
  • meelevaldne atribuudid. Need on atribuudid, mille väärtus kujuneb teiste atribuutide väärtuste põhjal. Näiteks saab üliõpilase jooksvat õppeaastat arvutada jooksva õppeaasta ja üliõpilase õppeaastasse sisseastumisaasta vahe järgi. haridusasutus(kui õpilasel ei olnud õpingutega probleeme ja ta õppis hästi distsipliini "Andmebaaside ja teadmiste korrastamine").

ER diagrammil on atribuudid tähistatud nii, nagu on näidatud joonisel 2. Nagu jooniselt näha, on iga atribuut tähistatud ellipsina, mille nimi on ellipsi sees. Kui atribuut on primaarvõti, on selle nimi alla joonitud.

Joonis 2. Atribuutide esitus ER mudeli diagrammidel

6. Kuidas realiseeritakse ER mudeli olemitüüpe ja atribuute reaalsetes andmebaasides ja nende hallatavates programmides?

Andmebaasihaldusprogrammide väljatöötamisel saab olemitüüpe ja nende atribuute esitada erineval viisil, järgides samal ajal mitut lähenemisviisi:

  • vali andmeallikaks tuntud tehnoloogia (näiteks Microsoft SQL Server, Oracle Database, Microsoft Access, Microsoft ODBC Data Source jne), mida on juba uuritud, testitud, standarditud ja millel on tohutu hulk andmebaasihaldusvõimalusi tööriistad;
  • arendage välja oma andmebaasivorming ja rakendage selle töötlemise meetodeid ning rakendage teadaolevate andmeallikatega suhtlemist spetsiaalsete käskude kujul, nagu Import/Export. Sel juhul peate programmeerima kogu rutiinse töö, et säilitada ja tagada andmebaasi usaldusväärne töö oma kätega;
  • rakendada kahe ülaltoodud lähenemisviisi kombinatsiooni. Kaasaegsetel tarkvaraarendustööriistadel on võimas teekide komplekt keerukate komplektide töötlemiseks ja neis olevate andmete visualiseerimiseks (kogud, massiivid, visualiseerimiskomponendid jne).

Kui andmebaas on realiseeritud tuntud relatsioonilises DBMS-is (näiteks Microsoft Access, Microsoft SQL Server jne), siis on olemitüübid tabelitena. ER mudeli atribuudid vastavad tabeli väljadele. Üks andmebaasi tabeli kirje tähistab ühte olemi eksemplari.

Igat tüüpi atribuuti rakendatakse järgmiselt:

  • lihtne atribuut või ühemõttelist atribuuti saab esindada ligipääsetava põhitüüpide komplektiga, mida leidub mis tahes programmeerimiskeeles. Näiteks täisarvu atribuute esindavad tüübid int , integer , uint ja nii edasi; murdosa sisaldavaid atribuute saab esitada tüübiga float, double; stringi tüübi string atribuudid jne;
  • liitatribuut on objekt, mis sisaldab mitmeid pesastatud lihtsaid atribuute. Näiteks Microsoft Accessi DBMS-is saab teatud tabeli liitatribuudi moodustada lihtsate tüüpide (väljade) komplekti alusel. Programmeerimiskeeltes realiseeritakse väljade liit struktuuride või klasside kaupa;
  • mitme väärtusega atribuut saab realiseerida lihtsate või liitatribuutide massiivi või kogumina;
  • suvaline atribuut rakendatakse täiendava väljaga, mis arvutatakse tabelile juurdepääsul. Sellist välja nimetatakse arvutusväljaks ja see moodustatakse tabeli teiste väljade põhjal;
  • atribuut, mis on primaarvõti võib olla täisarv, string või mis tahes muu järgu tüüp. Sel juhul on iga primaarvõtmele vastava tabeli lahtri väärtus kordumatu. Enamasti on primaarvõti täisarvu tüüp (int , integer ).

Kui andmebaas on realiseeritud unikaalses vormingus, on kõige mugavam esitada olemitüüpe klasside või struktuuridena. Olemi atribuudid on realiseeritud klassi väljadena (siseandmetena). Klassimeetodid rakendavad klassiväljade (atribuutide) vajalikku töötlemist. Klassidevaheline interaktsioon (suhtlus) realiseeritakse spetsiaalselt loodud liideste abil, kasutades tuntud disainimustreid.

7. Näide ER mudeli fragmendist olemitüübi „Õpilane“ jaoks

Ülaltoodud näide demonstreerib ER mudeli fragmenti olemitüübi Student jaoks.

Joonis 3. Olemitüübi "Õpilane" ER mudeli fragment

Ülaltoodud joonisel on deklareeritud järgmised atribuudid, mis DBMS-is (programmis) võivad olla järgmist tüüpi:

  • atribuut Primary key – on kordumatu täisarv, mis genereeritakse automaatselt. DBMS-is on see loenduri väli;
  • kirje aasta atribuut on lihtne atribuut, mida saab realiseerida täisarvu väärtusena (int , integer );
  • atribuut Telefoninumber on mitme väärtusega atribuut, mida saab realiseerida massiivi või kollektsioonina jne;
  • atribuut Kirje raamatu number- lihtne atribuut, mida saab realiseerida märgistringina, kuna hinneteraamatu number võib sisaldada lisaks numbritele ka tähti;
  • atribuut Riik, Linn, Tänav, Maja number on atribuudid, mis moodustavad liitatribuudi Aadress. Kõik need atribuudid võivad olla stringi (teksti) tüüpi (string , Tekst );
  • atribuut Perekonnanimi, Eesnimi, Keskmine nimi on lihtsad atribuudid, mis on osa liitatribuudist Õpilase nimi. Kõik need atribuudid võivad olla stringi (teksti) tüüpi (string , Tekst );
  • atribuut Birthday on lihtne atribuut Date tüüpi (DateTime );
  • atribuut Õpilase vanus on arvutatud väli, mis on määratletud kui erinevus praeguse (süsteemi) kuupäeva ja atribuudi Birthday väärtuse vahel.

DB mudeli "olemi-seos" (ER-mudel) põhimõisted: olemid, nendevahelised seosed ja nende atribuudid (omadused).

Essents- mis tahes konkreetne või abstraktne objekt käsitletavas ainevaldkonnas. Olemid on põhilised teabetüübid, mida andmebaasis salvestatakse (relatsiooniandmebaasis on igale olemile määratud tabel). Üksused võivad hõlmata: üliõpilasi, kliente, osakondi jne. Olemi eksemplar ja olemi tüüp on erinevad mõisted. Olemitüübi mõiste viitab homogeensete isikute, objektide või sündmuste kogumile, mis toimivad tervikuna (näiteks õpilane, klient jne). Olemi eksemplar viitab näiteks konkreetsele isikule komplektis. Olemitüüp võib olla õpilane ja eksemplar Petrov, Sidorov jne.

Atribuut on ainevaldkonnas oleva olemi omand. Selle nimi peab olema konkreetse olemitüübi jaoks kordumatu. Näiteks olemi õpilase puhul saab kasutada järgmisi atribuute: perekonnanimi, eesnimi, isanimi, sünniaeg ja -koht, passiandmed jne. Relatsiooniandmebaasis salvestatakse atribuudid tabeliväljadele.

Ühendus– ainevaldkonna üksuste vahelised suhted. Seosed on ühendused andmebaasi osade vahel (relatsioonilises andmebaasis on see ühendus tabelikirjete vahel).

Essentsid on tüübi järgi liigitatud andmed ja seosed näitavad, kuidas seda tüüpi andmed on omavahel seotud. Kui kirjeldame teatud teemavaldkonda olemi – ühenduse – terminites, siis saame selle andmebaasi jaoks olemi – seose mudeli.

nool on ühenduse sümbol: üks - paljudele.

ER-mudelite peamised eelised: * nähtavus; * mudelid võimaldavad kujundada andmebaase suure hulga objektide ja atribuutidega;

ER-mudelite põhielemendid: * objektid (olemid); * objekti atribuudid; * lingid objektide vahel.

Olemitevahelist suhet iseloomustavad: * suhte tüüp (1:1, 1:N, N:M); * liikmeklass. Klass võib olla kohustuslik või vabatahtlik. Kui olemi iga eksemplar osaleb suhtes, on liikmeklass kohustuslik, vastasel juhul on see valikuline.


Andmete normaliseerimise kontseptsioon. funktsionaalne sõltuvus.

Normaliseerimine on formaalne meetod suhete analüüsimiseks nende esmasel võtmel ja olemasolevatel suhetel. Selle ülesanne on asendada üks andmebaasiskeem (või seoste kogum) teise skeemiga, milles seosed on lihtsama ja korrapärasema struktuuriga.

funktsionaalne sõltuvus. Olgu X ja Y mingi seose kaks atribuuti. Öeldakse, et Y on funktsionaalselt sõltuv X-st, kui igal ajahetkel vastab X iga väärtus maksimaalselt ühele atribuudi Y väärtusele.

Funktsionaalne sõltuvus on tähistatud kui X -\u003e Y.

Suhteõpilane S(Ns, Fio, Ngr, Addr, Tel). Kõik atribuudid Fio, Ngr, Addr, Tel sõltuvad funktsionaalselt atribuudist Ns.

Seega on normaliseeritud relatsioonis kõik mittevõtmeatribuudid funktsionaalselt sõltuvad seose võtmest. Seose S võtmeks on atribuut Ns.

Põhireegel olemitabelite loomisel on see "iga olem - eraldi tabel".

Olemitabeli väljad võivad olla kahte tüüpi: võti Ja mittevõtme. Võtmete kasutuselevõtt tabelisse peaaegu kõigis relatsioonilistes DBMS-ides võimaldab tagada tabelikirjete väärtuste unikaalsuse võtme järgi, kiirendada tabelikirjete töötlemist ja sorteerida kirjeid automaatselt võtmeväljade väärtuste järgi.

Tavaliselt piisab määratlemisest lihtne klahv, harvem - sisestage komposiit võti. Liitvõtmega tabel võib olla näiteks tabel töötajate nimekirja (perenimi, ees- ja isanimi) salvestamiseks, milles on nimekaimud. Mõnes DBMS-is palutakse kasutajatel määratleda automaatselt genereeritud võtme nummerdamisväli (Accessis on see loenduri tüüpi väli), mis lihtsustab tabelikirjete unikaalsuse probleemi lahendust.

Mõnikord on olemitabelites väljad, mis kirjeldavad objektide omadusi või omadusi. Kui tabelis on nende väljade puhul märkimisväärne arv kordusi ja sellel teabel on märkimisväärne hulk, siis on parem eraldada need eraldi tabelisse (järgides reeglit: "iga olem - eraldi tabel"). Veelgi enam, kui omadused on omavahel seotud, tuleks moodustada täiendav tabel.

Olemitabelite töötlemisel pidage meeles järgmist. Uut olemit on lihtne lisada ja muuta, kuid selle kustutamisel tuleks kõik viited sellele lingitabelitest hävitada, vastasel juhul on lingitabelid valed. Paljud kaasaegsed DBMS-id blokeerivad sellistes toimingutes ebaõigeid toiminguid.

Sissekanded linkide tabelid on mõeldud olemite vaheliste suhete kuvamiseks, mille kohta teave asub vastavates olemitabelites.

Tavaliselt kirjeldab üks linkide tabel kahe olemi suhet. Kuna olemitabelitel on kõige lihtsamal juhul üks võtmeväli, siis kahe tabeli linkide tabelis peab olema kaks võtit, et tagada lingikirjete unikaalsus. Saate luua lingitabeli, näiteks objektide tabeli ja ilma võtmeteta, kuid siis langeb kontroll kirjete unikaalsuse üle kasutajale.

Keerulisemad ühendused (mitte binaarsed) tuleks taandada binaarseteks. N objekti seoste kirjeldamiseks on vaja N-1 seosetabelit. Transitiivseid ühendusi ei tohiks olla. Seoste liig põhjustab ebakõlasid (vt eelmise alajaotuse näidet PERSONAL-OSAKOND, PERSONAL-PROJEKTID ja OSAKOND-PROJEKTID).

Olemite tunnuseid ei tohiks seostabelitesse lisada, vastasel juhul on anomaaliad vältimatud. Parem on salvestada need eraldi olemitabelitesse.


Lingitabelite abil saab kirjeldada ka teatud tüüpi lingi - lineaarset linki ehk nõrka linki. Lineaarse seose näiteks võib pidada olemite kuuluvuse seost mõne teise kõrgemat järku olemiga (sõlmedest koosnevad süsteemid; komponentidest koosnevad ravimid; metallisulamid jne). Sel juhul piisab linkide kirjeldamiseks ühest linkide tabelist.

Lingitabelitega töötades tuleb meeles pidada, et iga kirje lingitabelist saab kergesti kustutada, kuna olemid saavad mõnda aega ilma linkideta hakkama. Tabelikirjete sisu lisamisel või muutmisel on vaja kontrollida olemasolevate objektide viidete õigsust, kuna ühendus ei saa eksisteerida ilma objektideta. Enamik kaasaegseid DBMS-e kontrollib objektiviidete kehtivust.

Under terviklikkus mõistab andmebaasi omadust, mis tähendab, et see sisaldab täielikku, järjepidevat ja adekvaatselt ainevaldkonna teavet.

Eristama füüsiline ja loogiline terviklikkus. Füüsiline terviklikkus tähendab, et andmetele on füüsiline juurdepääs ja andmed ei lähe kaduma. Loogiline terviklikkus tähendab loogikavigade puudumist andmebaasis, mis hõlmavad andmebaasi või selle objektide struktuuri rikkumist, objektide vahel loodud seoste kustutamist või muutmist jne. Edaspidi räägime loogilisest terviklikkusest.

Andmebaasi terviklikkuse säilitamine hõlmab terviklikkuse kontrollimist (kontrollimist) ja selle taastamist andmebaasis esinevate lahknevuste korral. Andmebaasi oleku terviklikkus määratakse kasutades terviklikkuse piirangud tingimuste vormis, millele andmebaasis salvestatud andmed peavad vastama.

Terviklikkuse piirangud võib jagada kahte peamist tüüpi piiranguteks: väärtuspiirangud suhte atribuudid ja struktuursed piirangud suhtekorrusteks.

Näide väärtuspiirangud Relatsiooniatribuudid on tühjade või dubleerivate väärtuste lubamatuse nõue atribuutides, samuti atribuutide väärtuste teatud vahemikku kuulumise üle. Näiteks kaadrisuhte kirjetes ei tohi atribuudi sünnikuupäev_kuupäev väärtused ületada atribuudi vastuvõtukuupäev_kuupäev väärtusi.

Kõige paindlikumad vahendid atribuudi väärtuse kontrolli rakendamiseks on salvestatud protseduurid Ja käivitajad, saadaval mõnes DBMS-is.

Struktuursed piirangud määratleda nõuded olemi terviklikkus Ja lingi terviklikkus. Igal relatsioonis esindatud olemi eksemplaril on ainult üks korteežidest. Nõue olemi terviklikkus on see, et relatsiooni mis tahes korteež peab eristuma selle relatsiooni kõigist teistest korteežidest, st teisisõnu, igal relatsioonil peab olema primaarvõti.

Referentsiaalse terviklikkuse nõude sõnastus on mõistega tihedalt seotud võõrvõti. Tuletame meelde, et võõrvõtmeid kasutatakse suhete (andmebaasitabelite) omavaheliseks linkimiseks. Sel juhul nimetatakse ühe suhte (vanema) atribuuti võõrvõti see suhe, kui see on esmane teise suhte (lapse) võti. Väidetavalt viitab seos, milles võõrvõti on määratletud, relatsioonile, mille primaarvõti on sama atribuut.

Viiteterviklikkuse nõue on see, et iga ülemtabeli võõrvõtme väärtuse jaoks peab alamtabelis olema rida sama primaarvõtme väärtusega. Näiteks kui seos R1 sisaldab infot osakonna töötajate kohta ja selle seose atribuut Must on seose R2 primaarvõti, siis selles seoses peaks iga ametikoha kohta alates R1-st olema rida vastava palgaga.

Paljudes kaasaegsetes DBMS-ides on olemas vahendid andmebaasi terviklikkuse kontrollimiseks.

Üksus on reaalne või abstraktne üksus, mis on domeeni jaoks oluline. Olemil peab olema nimi, mida väljendab nimisõna ainsuses

Mitteametlik viis olemite tuvastamiseks on otsida objekte, protsesse, rolle ja muid mõisteid kirjeldavaid abstraktsioone. Formaalne viis olemite tuvastamiseks on analüüsida ainevaldkonna tekstilisi kirjeldusi, eraldada nimisõnad ja valida need abstraktsioonideks.

Olemi eksemplar on selle olemi konkreetne eksemplar. Näiteks töötaja Ivanov võib olla töötaja olemi eksemplar.

Igal olemil peavad olema järgmised omadused:

omama ainulaadset nime;

neil on üks või mitu atribuuti, mis kuuluvad olemile või on päritud seose kaudu;

neil on üks või mitu atribuuti, mis tuvastavad iga olemi eksemplari kordumatult.

Atribuut – olemi tunnus, mis on vaadeldava teemavaldkonna jaoks oluline ja mille eesmärk on identifitseerida, klassifitseerida, kvantifitseerida või väljendada olemi seisundit.

Seal on järgmist tüüpi atribuute:

lihtne – koosneb ühest andmeelemendist;

komposiit – koosneb mitmest andmeelemendist;

üheselt mõistetav – sisaldab ühe olemi jaoks ühte väärtust;

mitme väärtusega - sisaldab ühe olemi jaoks mitut väärtust;

valikuline – võib olla tühi (määratlemata) väärtus;

tuletatud – teise atribuudi väärtusest tuletatud väärtus.

Unikaalne identifikaator on atribuutide kogum, mille väärtused on iga olemi eksemplari jaoks kordumatud. Mis tahes atribuudi eemaldamine identifikaatorist rikub selle unikaalsust. Unikaalsed identifikaatorid on diagrammil alla joonitud.

Igal olemil võib olla suvaline arv seoseid teiste olemitega.

Olemitevahelised suhted

Seos on nimeline seos olemite vahel, mis on kõnealuse domeeni jaoks tähendusrikas.

Seose aste on suhtes osalevate üksuste arv.

Lingi võimsus – lingis osalevate olemi eksemplaride arv.

Sõltuvalt võimsuse väärtusest võib ühendus olla kolme tüüpi:

üks-ühele (tähistatud 1:1).

üks-mitmele (tähistatud 1:N).

palju-paljudele (tähistatakse M:N).

Üks ühele. Tähendab, et sellises suhtes vastab ühe rolliga olem alati mitte rohkem kui ühele teise rolliga olemile. Kuna iga olemi ühendusaste on 1, on need ühendatud ühe joonega.

Üks-mitmele.Ühe rolliga olemile saab sobitada suvaline arv erineva rolliga olemeid.

Paljud-mitmele. Sel juhul saab iga seotud olemit esitada suvalise arvu eksemplaridega.