设计一个简单的数据库 数据库零基础入门教学(2)
设计一个简单的数据库

表1 商品表的表结构
5. 通俗地理解三个范式
通俗地理解三个范式,对于数据库设计大有好处。在数据库设计中,为了更好地应用三个范式,就必须通俗地理解三个范式(通俗地理解是够用的理解,并不是最科学最准确的理解):
第一范式:1NF是对属性的原子性约束,要求属性具有原子性,不可再分解;第二范式:2NF是对记录的惟一性约束,要求记录有惟一标识,即实体的惟一性;第三范式:3NF是对字段冗余性的约束,即任何字段不能由其他字段派生出来,它要求字段没有冗余。没有冗余的数据库设计可以做到。但是,没有冗余的数据库未必是最好的数据库,有时为了提高运行效率,就必须降低范式标准,适当保留冗余数据。
具体做法是:在概念数据模型设计时遵守第三范式,降低范式标准的工作放到物理数据模型设计时考虑。降低范式就是增加字段,允许冗余。
6. 要善于识别与正确处理多对多的关系
若两个实体之间存在多对多的关系,则应消除这种关系。消除的办法是,在两者之间增加第三个实体。这样,原来一个多对多的关系,现在变为两个一对多的关系。要将原来两个实体的属性合理地分配到三个实体中去。
这里的第三个实体,实质上是一个较复杂的关系,它对应一张基本表。一般来讲,数据库设计工具不能识别多对多的关系,但能处理多对多的关系。
〖例3〗:在“图书馆信息系统”中,“图书”是一个实体,“读者”也是一个实体。这两个实体之间的关系,是一个典型的多对多关系:一本图书在不同时间可以被多个读者借阅,一个读者又可以借多本图书。
为此,要在二者之间增加第三个实体,该实体取名为“借还书”,它的属性为:借还时间、借还标志(0表示借书,1表示还书),另外,它还应该有两个外键(“图书”的主键,“读者”的主键),使它能与“图书”和“读者”连接。
7. 主键PK的取值方法
PK是供程序员使用的表间连接工具,可以是一无物理意义的数字串, 由程序自动加1来实现。也可以是有物理意义的字段名或字段名的组合。不过前者比后者好。当PK是字段名的组合时,建议字段的个数不要太多,多了不但索引占用空间大,而且速度也慢。
8. 正确认识数据冗余
主键与外键在多表中的重复出现, 不属于数据冗余,这个概念必须清楚,事实上有许多人还不清楚。非键字段的重复出现, 才是数据冗余!而且是一种低级冗余,即重复性的冗余。高级冗余不是字段的重复出现,而是字段的派生出现。
相关阅读
-
网络技术专业术语大全 含中英文对照及缩写 网络技术专业术语有哪些
跟大家聊一聊网络技术专业术语大全及含中英文对照及缩写的介绍,接下来小编为网友介绍。 今天不念给大家分享的是网络技术领域相关的术语大全。 自主访问控(DAC:Discretionary Access Control) 自
-
外贸营销网站制作流程 外贸网站建站和推广
这些方法你知道吗?外贸营销网站制作流程和外贸网站建站和推广的内容,下面来一起了解一下吧。 开发海外客户的一个非常有效的渠道和方式就是外贸网站,通过外贸网站,可以在全球宣传
-
网站建设哪里好做 搭建网站平台推荐
您可能不了解网站建设哪里好做和搭建网站平台推荐的电脑方面的小经验,具体内容如下: 很多想要做网站的朋友都不清楚网站建设公司哪家好?今天我们就来为大家推荐一下,并且同时带大
-
什么是 GaussDB高斯数据库 高斯数据库主要特点
今日小编为你讲解及GaussDB高斯数据库的相关知识,下面小编为您详细解答 高斯数据库(GaussDB)是华为推出的一种分布式关系数据库。 它通过软硬件一体化的设计,实现了高性能、高可用、高


