数据库表结构设计
时 间:2008-04-22 08:36:32
作 者:UMVsoft整理 ID:43 城市:江阴
摘 要:数据库表结构设计
正 文:
可以是一对一、一对多、多对多的关系。在一般情况下,它们是一对一的关系:即一张原始单据对ITPUB个人空间m6gP`_
应且只对应一个实体。在特殊情况下,它们可能是一对多或多对一的关系,即一张原始单证对应多个实ITPUB个人空间 @H7\*|w
体,或多张原始单证对应一个实体。这里的实体可以理解为基本表。明确这种对应关系后,对我们设计
:Pr1Zn s9Ge$xcw0录入界面大有好处。
7Wu ]go0 〖例1〗:一份员工履历资料,在人力资源信息系统中,就对应三个基本表:员工基本情况表、社会ITPUB个人空间"MDpJ?{-}3[
关系表、工作简历表。这就是“一张原始单证对应多个实体”的典型例子。
&?pZ&`m D+r0
g3^GhN o6C0 2. 主键与外键
/\7f)tI NP0 一般而言,一个实体不能既无主键又无外键。在E—R 图中, 处于叶子部位的实体, 可以定义主键,ITPUB个人空间wX[ D8_1\!e(D
也可以不定义主键(因为它无子孙), 但必须要有外键(因为它有父亲)。
L@9h+X@I.Gsq0 主键与外键的设计,在全局数据库的设计中,占有重要地位。当全局数据库的设计完成以后,有个
,v2lXU-yQt0美国数据库设计专家说:“键,到处都是键,除了键之外,什么也没有”,这就是他的数据库设计经验ITPUB个人空间$w t]Og{F`
之谈,也反映了他对信息系统核心(数据模型)的高度抽象思想。因为:主键是实体的高度抽象,主键与
;o2_*`tA ]2?!M)t3m|0外键的配对,表示实体之间的连接。ITPUB个人空间5c$L/H6{Ss9ow
b5quE |#}%Z:Q2DPW0 3. 基本表的性质
3s?N4nO6\J0 基本表与中间表、临时表不同,因为它具有如下四个特性:
[?u6X7Tvw0 (1) 原子性。基本表中的字段是不可再分解的。
kb ^&J H!D0 (2) 原始性。基本表中的记录是原始数据(基础数据)的记录。ITPUB个人空间&GyX5q"]M5D4W kw
(3) 演绎性。由基本表与代码表中的数据,可以派生出所有的输出数据。ITPUB个人空间 gJ2Y0xz2r{3w
(4) 稳定性。基本表的结构是相对稳定的,表中的记录是要长期保存的。ITPUB个人空间I p6H f'EL ~sx
理解基本表的性质后,在设计数据库时,就能将基本表与中间表、临时表区分开来。ITPUB个人空间f;n F2^1`
dE$L2N?`)_2t5g0 4. 范式标准ITPUB个人空间\BU3L7j5wVf;_(L
基本表及其字段之间的关系, 应尽量满足第三范式。但是,满足第三范式的数据库设计,往往不是ITPUB个人空间7Y"G#} zg ?j
最好的设计。为了提高数据库的运行效率,常常需要降低范式标准:适当增加冗余,达到以空间换时间ITPUB个人空间"bD_)bl{y/xQ
的目的。
s YQU^5Q4R(^0 〖例2〗:有一张存放商品的基本表,如表1所示。“金额”这个字段的存在,表明该表的设计不满ITPUB个人空间!Z-WL9h`yE,[
足第三范式,因为“金额”可以由“单价”乘以“数量”得到,说明“金额”是冗余字段。但是,增加
:]LsW#X"nP0“金额”这个冗余字段,可以提高查询统计的速度,这就是以空间换时间的作法。
mM$k,A5yx&}0 在Rose 2002中,规定列有两种类型:数据列和计算列。“金额”这样的列被称为“计算列”,而“ITPUB个人空间4tHjnJ%V4H)GI!g
单价”和“数量”这样的列被称为“数据列”。
J8\ [:P!i;]-m0 表1 商品表的表结构
7Sfe#X%Q3^0 商品名称 商品型号 单价 数量 金额
M co m:X!gn M2i4Fx%_0 电视机 29吋 2,500 40 100,000
O;a;i!l's{%R0 ITPUB个人空间:hRf0^+X:~"IN?w {m
5. 通俗地理解三个范式
)W NX3AR+wx_0 通俗地理解三个范式,对于数据库设计大有好处。在数据库设计中,为了更好地应用三个范式,就ITPUB个人空间4Q&l\9N0m6Ym5z{
必须通俗地理解三个范式(通俗地理解是够用的理解,并不是最科学最准确的理解):ITPU
Access软件网QQ交流群 (群号:54525238) Access源码网店
常见问答:
技术分类:
源码示例
- 【源码QQ群号19834647...(12.17)
- 统计当月之前(不含当月)的记录...(03.11)
- 【Access Inputbo...(03.03)
- 按回车键后光标移动到下一条记录...(02.12)
- 【Access Dsum示例】...(02.07)
- Access对子窗体的数据进行...(02.05)
- 【Access高效办公】上月累...(01.09)
- 【Access高效办公】上月累...(01.06)
- 【Access Inputbo...(12.23)
- 【Access Dsum示例】...(12.16)

学习心得
最新文章
- 仓库管理实战课程(9)-开发往来单...(04.02)
- 仓库管理实战课程(8)-商品信息功...(04.01)
- 仓库管理实战课程(7)-链接表(03.31)
- 仓库管理实战课程(6)-创建查询(03.29)
- 仓库管理实战课程(5)-字段属性(03.27)
- 设备装配出入库管理系统;基于Acc...(03.24)
- 仓库管理实战课程(4)-建表操作(03.22)
- 仓库管理实战课程(3)-需求设计说...(03.19)
- 仓库管理实战课程(2)-软件背景和...(03.18)
- 仓库管理实战课程(1)-讲师介绍(03.16)