当前位置:  开发笔记 > 前端 > 正文

SQL数据库设计的初学者指南

如何解决《SQL数据库设计的初学者指南》经验,为你挑选了5个好方法。

您是否了解如何设计SQL解决方案?

除了基本的语言语法,我正在寻找帮助我理解的东西:

    要构建哪些表以及如何链接它们

    如何设计不同规模(小客户端APP到庞大的分布式网站)

    如何编写有效/高效/优雅的SQL查询

inspite.. 60

我从这本书开始:Jan L. Harrington 明确解释了关系数据库设计(Morgan Kaufmann数据管理系统系列)(平装本),发现它非常明确和有用

当你加快速度时,数据库系统:设计,实施和管理的实用方法(国际计算机科学系列)(平装)

我认为SQL和数据库设计是不同的(但互补的)技能.



1> inspite..:

我从这本书开始:Jan L. Harrington 明确解释了关系数据库设计(Morgan Kaufmann数据管理系统系列)(平装本),发现它非常明确和有用

当你加快速度时,数据库系统:设计,实施和管理的实用方法(国际计算机科学系列)(平装)

我认为SQL和数据库设计是不同的(但互补的)技能.



2> Julius..:

我从这篇文章开始

http://en.tekstenuitleg.net/articles/software/database-design-tutorial/intro.html

与阅读整本书相比,它非常简洁,它很好地解释了数据库设计(规范化,关系类型)的基础知识.



3> JeeBee..:

经验最重要的了很多,但在表设计方面,你可以从中学到很多像Hibernate和Grails的ORM是如何运作的,看看他们为什么做的事情.此外:

    保持不同类型的数据分开 - 例如,不要在订单表中存储地址,链接到单独的地址表中的地址.

    我个人喜欢具有每个表上的整数或长代理键(即保持数据,而不是那些不同的表连接在一起,E,G,M:.1.关系),这是主键.

    我也喜欢有一个创建和修改的时间戳列.

    确保在任何查询中执行"column = val"的每个列都有一个索引.也许不是世界上数据类型最完美的索引,但至少是一个索引.

    设置外键.还设置了ON DELETE和上修改酌情要么级联或设置为null,这取决于你的对象结构的规则(所以你只需要在你的对象树的"头",删除一次,所有对象的子对象得到自动删除).

    如果你想modularise你的代码,你可能想modularise你的DB模式 - 比如,这是"客户"区域,这是"订单"面积,这就是"产品"范围,然后使用加入/链接表他们之间,即使它们是1:n的关系,也许复制的重要信息(即,重复的产品名称,代码,价格到您ORDER_DETAILS表).阅读规范化.

    对于上面的部分或全部,其他人会建议完全相反:p - 从来没有一种真正的方式做某些事情呃!



4> 小智..:

我真的很喜欢这篇文章.. http://www.codeproject.com/Articles/359654/important-database-designing-rules-which-I-fo



5> Dickon Reed..:

Head First SQL是一个很棒的介绍.

推荐阅读
N个小灰流_701
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有