Subjektas prieš atributą
Subjektų santykių modeliavimo (ERM) technika plačiai naudojama duomenų bazėms modeliuoti. Esybės ir santykių modeliavimas yra abstraktaus ir konceptualaus duomenų pateikimo procesas. Vienas iš pagrindinių ERM elementų yra subjektas. Esybė reprezentuoja realaus pasaulio objektą arba daiktą, kuris gali stovėti savarankiškai ir gali būti unikaliai identifikuojamas. Atributai yra šių objektų savybės. ER diagramos yra esybės ir santykių modeliavimo produktas. ER diagramos braižomos naudojant esybes, atributus ir kitus simbolius (pvz., ryšius).
Kas yra subjektas?
Subjektas reiškia dalyką, kuris gali egzistuoti savarankiškai ir kurį galima identifikuoti vienareikšmiškai. Tiksliau sakant, subjektas dažnai reiškia panašių objektų klasę, grupę ar kategoriją. Dažniausiai subjektas yra realaus pasaulio objektas, pavyzdžiui, automobilis ar darbuotojas. Esybės gali būti kaip daiktavardžiai, atsirandantys aprašant sprendžiamą problemą. Reliacinėse duomenų bazėse esybės vaizduojamos kaip lentelės. Paprastai kiekvienas objektas bus susietas su tiksliai viena lentelės duomenų bazėje. Atskiros lentelių eilutės atitinka faktinius objekto/dalyko, kurį reprezentuoja esybė, egzempliorius. Pavyzdžiui, darbuotojų duomenų bazėje kiekviena eilutė atitinka atskirų įmonės darbuotojų įrašus.
Kas yra atributas?
Esių santykių modeliavime objektų savybės vadinamos atributais. Kitaip tariant, atributai yra objekto, kurį reprezentuoja subjektas, informacijos pogrupis. Atributai apibrėžia atskirus atvejus ir padeda atskirti kiekvieną atvejį, aprašydami jų charakteristikas. Svarbu pažymėti, kad atributai negali būti nustatyti vertės ir jie turi būti atominiai. Reliacinėse duomenų bazėse, kuriose objektai realizuojami kaip lentelės, kiekvienas stulpelis atspindi šių objektų atributus. Pavyzdžiui, lentelėje Darbuotojai tokie stulpeliai kaip skyrius, rangas ir atlyginimas yra darbuotojų atributų pavyzdžiai. Norint atskirti atskirus objekto egzempliorius, kaip raktą galima pasirinkti vieną ar daugiau atributų laukų su unikaliomis reikšmėmis (visiems egzemplioriams). Pavyzdžiui, socialinio draudimo numerio atributas (kuris yra unikalus visiems darbuotojams) dažnai naudojamas kaip pagrindinis lentelės Darbuotojas raktas. Kartais keli atributai gali sudaryti ir pirminį raktą.
Kuo skiriasi subjektas ir atributas?
Esių santykių modeliavime subjektai atstovauja realaus pasaulio objektus/dalykus, kuriuos galima identifikuoti kaip unikalius ir nepriklausomus, o atributai atspindi tų objektų savybes. Reliacinėse duomenų bazėse subjektai tampa lentelėmis (kiekviena eilutė reiškia atskirus atvejus), o atributai tampa atitinkamų lentelių stulpeliais. Kuriant duomenų bazes dažnai kyla painiavos pasirenkant objektą ir atributą, vaizduojantį tam tikrą tikrojo žodžio objektą. Pavyzdžiui, ar darbuotojo adresas turėtų būti pateikiamas kaip atributas ar kitas subjektas (susijęs su darbuotojo subjektu per ryšį)? Bendra nykščio taisyklė yra tokia, kad jei darbuotojas turi daugiau nei vieną adresą, adresas turi būti subjektas (nes atributai nėra nustatomi). Panašiai, jei svarbu užfiksuoti adreso struktūrą, adresas vėl turėtų būti esybė (nes atributai yra atominiai).