loading请求处理中...
手机版 新型创意托付式服务平台 全国站
VIP商铺双十二活动×
新闻
中心
任务列表:
人才列表:
免费发布任务

普通自助发布

数据库设计公司推荐

成为一品威客服务商,百万订单等您来有奖注册中

简单罗列数据库设计的6个小知识点

2014-11-19 15:32:13 阅读 13904次 0

简单罗列数据库设计的6个小知识点


    1、主键PK的取值方法

   在数据库设计中,PK是供程序员使用的表间连接工具,可以是一无物理意义的数字串, 由程序自动加1来实现。也可以是有物理意义的字段名或字段名的组合。不过前者比后者好。当PK是字段名的组合时,建议字段的个数不要太多,多了不但索引占用空间大,而且速度也慢。

  2、正确认识数据冗余

  主键与外键在多表中的重复出现, 不属于数据冗余,这个概念必须清楚,事实上有许多人还不清楚。非键字段的重复出现, 才是数据冗余!而且是一种低级冗余,即重复性的冗余。高级冗余不是字段的重复出现,而是字段的派生出现。

  如:商品中的“单价、数量、金额”三个字段,“金额”就是由“单价”乘以“数量”派生出来的,它就是冗余,而且是一种高级冗余。冗余的目的是为了提高处理速度。只有低级冗余才会增加数据的不一致性,因为同一数据,可能从不同时间、地点、角色上多次录入。因此,我们提倡高级冗余(派生性冗余),反对低级冗余(重复性冗余)。
 
    3、数据建模步凑

    1. 分析需求,画出用例图
    2. 编写用例文本,设计界面原型,模拟功能性场景
    3. 找实体
    4. 识别实体的属性
    5. 识别实体之间的关系(一对一,一对多,多对多)
    6. 画出概念数据模型(ER图)
    7. 将概念数据模型转化为物理数据模型(表格)
    8. 根据范式修改物理数据模型继续重复5
 
    4、E--R图没有标准答案

  信息系统的E--R图没有标准答案,因为它的设计与画法不是惟一的,只要它覆盖了系统需求的业务范围和功能内容,就是可行的。反之要修改E--R图。尽管它没有惟一的标准答案,并不意味着可以随意设计。好的E—R图的标准是:结构清晰、关联简洁、实体个数适中、属性分配合理、没有低级冗余。

    5、ER中的实体和OO中的领域对象的区别:

    1. domain model抽象层次更高,更加贴近于现实世界和业务,而实体贴近于数据库
    2. 一个实体必然对应一张表,而domain mode则可能是虚拟的只存在于业务层(如购物车)而不需要持久化到数据库,或者一个domain model由多张表的数据共同组合而成
    3. 当业务复杂时,使用domain model描述需求效果更好,但是相应的在domain model和数据库表之间的映射会变得十分复杂,匹配程度很低。

    4. 以数据库为出发点进行数据建模,很容易上手(即界面上要显示的数据都来自于数据库的某张表格),但是业务复杂后正确的设计需要丰富的经验。以OO为出发点进行建模,不论业务复杂与否,很容易抽象出大致的domain model,但是当业务复杂后在做domain model和数据库表之间的映射则会变得非常困难。

    6、要善于识别与正确处理多对多的关系

  若两个实体之间存在多对多的关系,则应消除这种关系。消除的办法是,在两者之间增加第三个实体。这样,原来一个多对多的关系,现在变为两个一对多的关系。要将原来两个实体的属性合理地分配到三个实体中去。这里的第三个实体,实质上是一个较复杂的关系,它对应一张基本表。一般来讲,数据库设计工具不能识别多对多的关系,但能处理多对多的关系。

  如:在“图书馆信息系统”中,“图书”是一个实体,“读者”也是一个实体。这两个实体之间的关系,是一个典型的多对多关系:一本图书在不同时间可以被多个读者借阅,一个读者又可以借多本图书。为此,要在二者之间增加第三个实体,该实体取名为“借还书”,它的属性为:借还时间、借还标志(0表示借书,1表示还书),另外,它还应该有两个外键(“图书”的主键,“读者”的主键),使它能与“图书”和“读者”连接。

 

需求/任务发布

免费发布数据库设计需求,接收报价与方案 > > >
发布任务 百万威客响应 选择满意方案 确认付款

联系客服:

在线时间:9:00——22:00

编辑:riche

小编介绍:riche是一品威客资深小编,从事编辑工作多年,创作和整理了近万篇优质文章。如果您对“简单罗列数据库设计的6个小知识点”有其它疑问或见解,可以联系riche,共同探讨,相互学习,可以通过下面的方式与之联系。

擅长领域:综合性网站 资讯型网站 团购网站 电商网站 企业网站 手机网站 程序功能开发 接口开发 服务器系统

数据库设计相关文章

留言(0 展开评论

您需要注册登录才能发表言论

数据库设计服务排行榜
SERVICE LIST 更多
数据库设计与优化
¥500元 /小时 成交5
广州全栈科技有限公司...
数据库设计
价格面议 成交2
福州原创设计
采集服务
¥0元 /一口价 成交1
adition的店铺
CRM开发
价格面议 成交0
深圳市瑜文科技
数据库设计
价格面议 成交0
夜半
sql server 性能优化、调...
¥2000元 /次 成交0
管理系统定制
服务器环境搭建
¥200元 /次 成交0
飞想空间
数据库设计
价格面议 成交0
成都久思微信息技术有限公...
MYSQL数据库部署
价格面议 成交0
练习互联网络科技有限公司...
数据库设计
价格面议 成交0
lihantc的店铺