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

Relation

Think of a relation as a table with a header, columns, and rows. The table name and the header help in interpreting the data in the rows. Each row represents a group of related data, which points to a certain object.

A relation is represented by a set of tuples. Tuples should have the same set of ordered attributes. Attributes have a domain, that is, a type and a name:

 

The relation schema is denoted by the relation name and the relation attributes. For example, customer (customer_id, first_name, last_name, and email) is the relation schema for the customer relation. Relation state is defined by the set of relation tuples; thus, adding, deleting, and amending a tuple will change the relation to another state.

Tuple order or position in the relation is not important, and the relation is not sensitive to tuple order. The tuples in the relation could be ordered by a single attribute or a set of attributes. Also, a relation cannot have duplicate tuples.

A relation can represent entities in the real world, such as a customer, or can be used to represent an association between relations. For example, the customer could have several services and a service can be offered to several customers. This could be modeled by three relations: customer, service, and customer_service. The customer_service relation associates the customer and the service relations. Separating the data in different relations is a key concept in relational database modeling, and is called normalization. Normalization is the process of organizing relation columns and relations to reduce data redundancy. For example, assume that a collection of services is stored in the customer relation. If a service is assigned to multiple customers, this would result in data redundancy. Also, updating a certain service would require updating all its copies in the customer table.

主站蜘蛛池模板: 昌吉市| 白玉县| 陇西县| 旅游| 周口市| 隆回县| 登封市| 五大连池市| 乃东县| 瑞丽市| 灵寿县| 民丰县| 错那县| 新河县| 体育| 华宁县| 遂川县| 泰来县| 永昌县| 安仁县| 游戏| 花垣县| 磴口县| 辉县市| 景东| 保康县| 大港区| 大新县| 扬州市| 桂平市| 治多县| 阿拉善左旗| 屯门区| 石台县| 承德县| 涿鹿县| 宜春市| 蒙自县| 饶阳县| 广东省| 荣昌县|