2009-08-14 39 views
2

Recently我问一个关于最好的方法问题去设计一个DB模式支持多种类型的他们之间的用户和相互作用,one of the answers建议我用一个表中的每个用户类型和Distributed Keys在哪里学习SQL参考和用于模式设计的外键?

事情是我积极使用的唯一数据库是MySQL和SQLite,并且我一直在编程方面做这种维护数据库完整性的工作,并且从不直接在数据库中工作,有人可以指出我到关于外键,引用和相关主题的详细而易懂的指南?

在此先感谢!

编辑:我特别感兴趣的MySQL使用示例和文档,我already searched in the MySQL manual但没有什么有用的出现。

+1

不仅限于搜索MySQL特定的文章。你所追求的基本概念:表,索引,约束,外键等都存在于所有关系数据库中。实现时可能会有稍微不同的语法,但是当您了解它们是什么,如何使用它们以及设计时,数据库引擎并不重要。 – 2009-08-14 15:02:17

回答

2

这不是MySQL特定的,但在这里 http://www.simple-talk.com/sql/database-administration/ten-common-database-design-mistakes/

一些好东西,我不同意他关于使用自然键与代理键。我发现代理键在一般情况下可以更好地用于主键,但如果您有一个自然键,则应该在其上放置一个唯一索引以防止数据重复。要特别注意的部分上:

- 不使用SQL设施,以保护数据的完整性

- 尝试编写通用的T-SQL对象

- 一个表来保存所有域值

另一个很好的起点是: http://www.deeptraining.com/litwin/dbdesign/FundamentalsOfRelationalDatabaseDesign.aspx [死链接2015年2月17日]

+0

+1000,试图编写泛型T-SQL对象 – 2009-08-14 18:33:07

1

试试这个:Relational Database Design BasicsWiki。给this也读。

具体涉及到MySQL:

而且这个计算器的问题:MYSQL and RDBMS

+0

我正在寻找更详细的信息。 – 2009-08-14 14:10:51

+0

也许这个SO链接也可以提供帮助:http://stackoverflow.com/questions/362839/mysql-and-rdbms – 2009-08-14 14:19:37

+0

添加了一些与MySQL特别相关的URL,希望它有帮助。 – 2009-08-14 14:26:34

0

Hugh Darwen在公共和免费提供关系代数/数据库技术课程。在http://www.thethirdmanifesto.com

上搜索“关系数据库理论入门”这是介绍性的,所以没有什么“先进的”,但至少你不会被告知任何违反理论的行为。