Jump to content

First class (computing): Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
Erik9bot (talk | contribs)
SmackBot (talk | contribs)
m remove Erik9bot category,outdated, tag and general fixes
Line 1: Line 1:
{{Unreferenced|date=December 2009}}
{{dablink|For general usage outside databases, see [[First-class object]]}}
{{Dablink|For general usage outside databases, see [[First-class object]]}}


In [[Database model|database modeling]], a '''first class''' item is one that has an [[identity (object-oriented programming)|identity]] independent of any other item. The identity allows the item to persist when its attributes change, and allows other items to claim relationships with the item.
In [[database model]]ing, a '''first class''' item is one that has an [[identity (object-oriented programming)|identity]] independent of any other item. The identity allows the item to persist when its attributes change, and allows other items to claim relationships with the item.


As a general rule, first class items represent things rather than relationships. For example, the database representations of a human and of a company are each first class items. However, the fact that the person is an employee of that company is not a first class item. Likewise, data ''about'' that relationship, e.g. information about the salary the company pays to its employee, is not a first class item.
As a general rule, first class items represent things rather than relationships. For example, the database representations of a human and of a company are each first class items. However, the fact that the person is an employee of that company is not a first class item. Likewise, data ''about'' that relationship, e.g. information about the salary the company pays to its employee, is not a first class item.
Line 11: Line 12:
In a relational database, a table representing a ''relationship'' between two or more first class items (or data about that relationship) will usually ''not'' have special identifiers for its rows. Instead these rows will be identified by an ordered [[tuple]] consisting of unique identifiers of the first class items involved in the relationship.
In a relational database, a table representing a ''relationship'' between two or more first class items (or data about that relationship) will usually ''not'' have special identifiers for its rows. Instead these rows will be identified by an ordered [[tuple]] consisting of unique identifiers of the first class items involved in the relationship.


{{DEFAULTSORT:First Class (Computing)}}
[[Category:Data modeling]]
[[Category:Data modeling]]
[[Category:Articles lacking sources (Erik9bot)]]

Revision as of 05:05, 17 December 2009

In database modeling, a first class item is one that has an identity independent of any other item. The identity allows the item to persist when its attributes change, and allows other items to claim relationships with the item.

As a general rule, first class items represent things rather than relationships. For example, the database representations of a human and of a company are each first class items. However, the fact that the person is an employee of that company is not a first class item. Likewise, data about that relationship, e.g. information about the salary the company pays to its employee, is not a first class item.

Typically, a relational database will include several tables, each of which contains rows representing first class items of a given type (e.g. a table of people, a table of companies). It will also contain other tables representing relationships between these first class items.

In a table representing first class items, one column of the table will typically contain a different integer assigned to each row (effectively, to each item) as a unique identifier: that is to say, unique for objects of this type; objects of different types, represented in different tables, can coincidentally have the same identifier, but the coincidence is meaningless.

In a relational database, a table representing a relationship between two or more first class items (or data about that relationship) will usually not have special identifiers for its rows. Instead these rows will be identified by an ordered tuple consisting of unique identifiers of the first class items involved in the relationship.