2009-08-14 60 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

上搜索「關係數據庫理論入門」這是介紹性的,所以沒有什麼「先進的」,但至少你不會被告知任何違反理論的行爲。