Conceptual Database Design 1

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.
  • 16
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值