数据库设计概念(4)

2019-03-29 17:05

在这种情况下,每个实体都将解析为一个表。每个角色将变为指向另一个表的外键。

Inventory 实体借用 Parts 和 Warehouse 表中的标识符,因为它与这两个表都有依赖关系。经过解析后,这些借用的标识符将成为 Inventory 表的主键。

第 5 步:验证设计

实施设计之前,需要确保该设计能够满足您的需要。检查在设计过程之初确定的活动,确保可以访问这些活动所需要的数据。

? ? ?

能否找到一条获取所需信息的途径? 设计是否满足您的需求? 能否获得所需要的全部数据?

如果您对上述所有问题的回答都是肯定的,那么就可以实现您的设计了。 最终设计

按照第 1 步到第 3 步为前面提到的小公司设计数据库,将得到以下实体关系图。这个数据库现在处于第三范式。

相应的物理数据模型如下所示。

设计数据库表属性

数据库设计将确定需要哪些表,以及每个表中包含哪些列。本节介绍如何指定每个列的属性。

对于每一列,必须确定列名、数据类型和大小、是否允许空值,以及是否希望数据库限制该列中允许包含的值。

选择列名

选择列的数据类型 选择约束

选择列名

列名中可以是任何字母、数字或符号的组合。但是,如果列名包含字母、数字或下划线之外的字符,不以字母开头,或者与关键字相同,则必须将列名用双引号引起来。

选择列的数据类型

Adaptive Server Anywhere 中的可用数据类型有:

? ? ? ? ? ? ?

整数数据类型 小数数据类型 浮点数据类型 字符数据类型 二进制数据类型 日期/时间数据类型 域(用户定义的数据类型)

有关数据类型的详细信息,请参见 SQL 数据类型。

长二进制数据类型可用于在数据库中存储诸如图像(例如,存储为位图)或字处理文档等信息。这些类型的信息通常称为二进制大对象,或 BLOBS。

有关每种数据类型的详细信息,请参见 SQL 数据类型。 NULL 和 NOT NULL

如果记录中要求某列必须有值,应将该列定义为 NOT NULL。否则,该列可以包含 NULL 值,表示没有值。SQL 中的缺省设置是允许 NULL 值,但如果没有充分的理由来允许 NULL 值,则应将列显式声明为 NOT NULL。

有关 NULL 值的详细信息,请参见 NULL 值。有关在比较中使用 NULL 的信息,请参见搜索条件。

选择约束

虽然列的数据类型可以限制该列中允许包含的值(例如,只允许包含数字或只允许包含日期),但可能需要进一步限制允许的值。

可以通过指定 CHECK 约束来限制任何列的值。可以使用可能出现在 WHERE 子句中的任何有效条件来限制所允许的值。大多数 CHECK 约束都使用 BETWEEN 或 IN 条件。

有关有效条件的详细信息,请参见搜索条件。有关为表和列指派约束的详细信息,请参见确保数据完整性。 示例

示例数据库有一个名为 Department 的表,该表具有名为 dept_id、dept_name 和 dept_head_id 的列。它的定义如下所示:

列 数据类型 大小 NULL/NOT NULL 约束 dept_id dept_name integer char — 40 — NOT NULL NOT NULL NULL 无 无 无 dept_head_id integer 如果指定 NOT NULL,则必须为该表中的每一行提供值。


数据库设计概念(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:Java实训报告总结与心得

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: