Recently我问过一个关于设计数据库架构以支持多种类型用户及其间互动的最佳方式的问题,one of the answers建议我为每个用户使用一个表输入Distributed Keys。
事情是我积极使用的唯一数据库是MySQL和SQLite,我总是在编程方面完成这种维护数据库完整性的工作,而不是直接在数据库中,有人可以指向我关于外键,参考文献和相关主题的详细而易于理解的指南?
提前致谢!
编辑:我对MySQL的使用示例和文档感兴趣,我already searched in the MySQL manual但没有任何用处。
答案 0 :(得分: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日]
答案 1 :(得分:1)
试试这个:Relational Database Design Basics或Wiki。也可以给this读一读。
与MySQL特别相关:
此stackoverflow问题:MYSQL and RDBMS
答案 2 :(得分:1)
试试这些:
http://en.wikipedia.org/wiki/Relational_database(包含有关约束,外键,存储过程,指数等文章的链接)
答案 3 :(得分:0)
如果您想阅读图书,请尝试 Clare Churcher Beginning Database Design: From Novice to Professional。你可以看看谷歌书籍。
答案 4 :(得分:0)
Hugh Darwen已经公开并免费提供关系代数/数据库技术课程。在http://www.thethirdmanifesto.com
上搜索“关系数据库理论简介”这是介绍性的,所以没有“先进的”,但至少你不会被告知任何完全违反理论的事情。