Обект срещу атрибут
Техниката за моделиране на обект-връзка (ERM) се използва широко за моделиране на бази данни. Моделирането на обект-връзка е процесът на създаване на абстрактно и концептуално представяне на данни. Един от основните градивни елементи на ERM е субект. Субектът представлява обект от реалния свят или нещо, което може да стои самостоятелно и може да бъде идентифицирано уникално. Атрибутите са свойствата на тези обекти. ER диаграмите са продукт на моделиране на същност-връзка. ER диаграмите се чертаят с помощта на обекти, атрибути и други символи (като връзки).
Какво е обект?
Обектът представлява нещо, което може да съществува независимо и което може да бъде идентифицирано уникално. По-конкретно, обектът често представлява клас, група или категория от подобни обекти. Най-често даден обект представлява обект от реалния свят, като кола или служител. Обектите могат да се разглеждат като съществителни, които се появяват по време на описанието на проблема, който трябва да бъде разрешен. Обектите се представят като таблици в релационни бази данни. Като цяло всеки обект ще се съпостави с точно една таблица в базата данни. Отделните редове в таблиците съответстват на действителните екземпляри на обекта/нещото, представени от обекта. Например в база данни за служители всеки ред съответства на записи на отделни служители на компанията.
Какво е атрибут?
В моделирането на обект-връзка свойствата на обектите се наричат атрибути. С други думи, атрибутите представляват подгрупа от информация за обекта, представен от обекта. Атрибутите определят отделните екземпляри и помагат за разграничаване на всеки екземпляр, като описват техните характеристики. Важно е да се отбележи, че атрибутите не могат да бъдат със зададени стойности и трябва да бъдат атомарни. В релационните бази данни, където обектите са реализирани като таблици, всяка колона представлява атрибутите на тези обекти. Например в таблицата Служител колони като отдел, ранг и заплата са примери за атрибути на служителите. За да се разграничат отделните екземпляри на обекта, едно или повече атрибутни полета с уникални стойности (за всички екземпляри) могат да бъдат избрани като ключ. Например атрибутът номер на социална осигуровка (който е уникален за всички служители) често се използва като първичен ключ на таблица Employee. Понякога множество атрибути също могат да съставят първичния ключ.
Каква е разликата между обект и атрибут?
При моделирането на връзката между обекти, обектите представляват обекти/неща от реалния свят, които могат да бъдат идентифицирани като уникални и независими, докато атрибутите представляват свойствата на тези обекти. В релационните бази данни обектите стават таблици (всеки ред представлява отделни екземпляри), докато атрибутите стават колони на тези съответстващи таблици. При проектирането на бази данни е обичайно да има объркване при избора на обект срещу атрибут, който да представлява определен реален словен обект. Например трябва ли адресът на служителя да бъде представен като атрибут или друг обект (свързан с обект на служител чрез връзка)? Общо правило е, че ако даден служител има повече от един адрес, тогава адресът трябва да бъде обект (тъй като атрибутите не са със зададени стойности). По същия начин, ако структурата на адреса е важна за улавяне, тогава отново адресът трябва да бъде обект (тъй като атрибутите са атомарни).