官术网_书友最值得收藏!

Entity integrity constraint

In the relational model, a relation is defined as a set of tuples. This means that all the tuples in a relation must be distinct. The entity integrity constraint is enforced by having a primary key which is an attribute/set of attributes having the following characteristics:

  • The attribute should be unique
  • The attributes should be not null

Each relation must have only one primary key, but can have many unique keys. A candidate key is a minimal set of attributes that can identify a tuple. All unique, not null attributes can be candidate keys. The set of all attributes form a super key. In practice, we often pick up a single attribute to be a primary key instead of a compound key ( a key that consists of two or more attributes that uniquely identify a tuple) to ease the joining of the relations with each other.

If the primary key is generated by the DBMS, then it is called a surrogate key or synthetic key . Otherwise, it is called a natural key. The surrogate key candidates can be sequences and universal unique identifiers (UUID). A surrogate key has many advantages such as performance, requirement change tolerance, agility, and compatibility with object relational mappers. The chief disadvantage of surrogate keys is that , it makes redundant tuples possible. 

主站蜘蛛池模板: 大埔县| 遵义市| 昌黎县| 红桥区| 云南省| 郎溪县| 皮山县| 安远县| 特克斯县| 青阳县| 宾川县| 娄底市| 榆社县| 三亚市| 杨浦区| 温宿县| 双江| 钟山县| 和平县| 锦屏县| 周至县| 突泉县| 凤阳县| 龙南县| 达拉特旗| 昆山市| 朝阳市| 辽源市| 通化市| 赤水市| 北安市| 保定市| 陕西省| 郸城县| 左权县| 岚皋县| 双辽市| 凭祥市| 无为县| 利川市| 台北市|