Conceptual Database Design 1

构建企业级概念数据模型:ER设计的关键步骤
本文详细介绍了概念数据库设计过程,包括识别实体类型、关系类型、属性及其文档化、确定主键等步骤,使用ER模型来创建独立于特定DBMS的数据库概念模式。

1. Conceptual Database Design

The process of constructing a model of the data used in an enterprise, independent of all physical considerations.

• The goal of this phase is to produce a conceptual schema (which includes identification of the important entity types, relationship types, and attributes) for the database that is independent of a specific DBMS.

• We will use Entity Relationship (ER) modelling during this phase.

2. Build conceptual data model

2.1 Identify entity types

Identify entity types that we need to represent in the database.

Typical examples:

• People: staff, clients/customers, patients, members, owners, contacts, other individuals

• Objects: stock items, real estate, offices

• Organisations: firms (suppliers), departments, charities, clubs, committees

• Object classes: recordings, films, books, types of stock, biological species, work roles

• Events: concerts, examinations, lecture courses, consultations, sales

write it down clearly before drawing ER model

2.2 Identify relationship types

Identify the relationships between entity types that need to be recorded.

Typical examples:

• Ownership: person owns object

• Lines of command: person supervises person

• Participation: person participates in event

• Part of relationship: item is part of order; person belongs to organisation

• Location: house is located in region

• Personal: person is married to person; person is parent of person

sometimes we need to consider the time dimension of the relationship

2.3 Identify and associate attributes with entity or relationship types

Attributes can be identified where a noun or a noun phrase is a property, quality, identifier, or characteristic of one of the entity or relationship types previously found.

Identify whether attributes are:

• Simple/composite.

• Single/multi-valued.

• Derived. 

multi-valued attributes cannot be the primary key.

2.4 Documenting attributes

Record the following information for each attribute:

• attribute name and description;

• data type and length;

• any aliases that the attribute is known by;

• whether the attribute must always be specified (in other words, whether the attribute allows or disallows nulls);

• whether the attribute is multi-valued;

• whether the attribute is composite, and if so, which simple attributes make up the composite attribute;

• whether the attribute is derived and, if so, how it should be computed;

• default values for the attribute (if specified)

2.5 Determine attribute domains

A domain is a pool of values from which one or more attributes draw their values.

A domain specifies:

• allowable set of values for the attribute;

size and format of the attribute.

2.6 Guidelines for choosing a primary key

  • Select the candidate key
  • with the minimal set of attributes;
  • that is less likely to have its values changed;
  • that is less likely to lose uniqueness in the future;
  • with fewest characters (for those with textual attribute(s));
  • with the smallest maximum value (for numerical attributes);
  • that is easiest to use from the users’ point of view.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值