2012-01-09 49 views
2

我真的不明白這一點。也許這是一個愚蠢的問題。SQL Azure是一個關係數據庫嗎?

SQL Azure是一個關係數據庫嗎?它的行爲就像它嗎?

使用ADO.NET和LINQ我創建了一個關係數據庫或非關係數據庫? (!我知道這些問題聽起來不可思議......)

編輯:

好,與其中一個答案,我明白一件重要的事情,我可以知道解釋更好的問題。

也就是說:我爲我的應用程序創建了一個非關係型 db。將它發佈到Azure上並在SQL Azure上加載數據庫將使數據庫成爲關係數據庫?

我認爲它仍然是非關係的主鍵和外鍵的缺失。我會收到任何錯誤嗎?

那麼表存儲服務的效用是什麼?

回答

4

是,SQL Azure是一個關係型數據庫管理系統。 SQL Azure與傳統MS SQL Server的區別在於,SQL Azure設計爲以高冗餘(即多個實例)運行。

+0

,表存儲服務是非關係數據庫存儲我認爲您的意思是說,「SQL Azure是一個關係數據庫管理系統」。 – onedaywhen 2012-01-10 10:13:55

+0

你說得對,但我認爲人們有這個要求。 – 2012-01-10 20:54:46

1

你試過谷歌嗎?對於第一個結果 「是SQL Azure的關係」:

http://msdn.microsoft.com/en-us/library/windowsazure/ee336230.aspx

微軟SQL Azure數據庫是建立在SQL Server技術基於雲的關係型數據庫平臺

+0

很明顯,我已經嘗試過,但教授給了我一個「虛假」的提示,告訴我相反的事情,並繼續在谷歌上看到我發現不同的意見。 另一個問題呢? – Enrichman 2012-01-09 17:56:45

+0

「使用ADO.NET和LINQ我創建了一個關係數據庫還是非關係數據庫?」不是一個問題。 (這取決於:你創建了一個關係型還是非關係型?ADO.NET/LINQ讓你做) – 2012-01-09 17:59:24

+0

請檢查編輯。感謝你的回答。 – Enrichman 2012-01-09 18:07:40

-1

ADO.NET和LINQ可以創建關係數據庫(模式)以及非關係數據庫。

關係數據庫必須具有包含主鍵和帶有外鍵的表的表,該外鍵引用了第一個表中的主鍵。

爲了使數據庫真正具有關係性,所有表都應該有主鍵。

你應該對標準化做一些研究。檢查Codd的規則(Edgar F. Codd)。 http://en.wikipedia.org/wiki/Edgar_F._Codd

+0

謝謝,這非常有用。也許我兩個人之間的區別並不好。請檢查問題的編輯。 – Enrichman 2012-01-09 18:08:28

+0

-1您對關係模型的描述完全不正確。 – onedaywhen 2012-01-10 09:46:51

1

我們應該區分關係數據庫管理系統RDBMS和關係數據庫。

SQL Server和SQL Azure的是RDBMS而是一種RDBMS有助於保持你的數據安全,維護您可以創建數據庫是不是關係,因爲他們沒有必要的鍵等

使用的功能數據的完整性。如果你不使用這些功能,你必須依賴你的應用程序(這大概是你寫的)

正確規範化的數據庫將消除孤立記錄,不會允許一定數量的無效數據,而不管客戶端/您正在使用的應用程序。

這裏是Codd的規則編號0-13。我不相信任何商業上可用的RDBMS(SQL Server,Oracle等)都實現了所有這些規則,但通常會實現幾個規則。

Codd's 12 rules

的這個仔細讀也可能會有所幫助 Normalization

+0

+1區分'DBMS'和'數據庫'。但是,由於我無法區分'SQL DBMS'和'真正的關係型DBMS',所以我不同意你的看法。 – onedaywhen 2012-01-10 09:40:01

1

首先,術語「數據庫」是指,而「這一術語數據庫管理系統」數據採集(「DBMS」)指的是管理數據的軟件系統。我認爲你的問題應該被框住

SQL DBMS(比如Azure)可以被認爲是關係數據庫管理系統嗎?

下面是歷史簡述:Codd發明了關係模型。出現各種實現。 SQL成爲唯一被廣泛採用的實現,但需要很長時間才能成爲關於Codd關於該術語的定義的關係完整性,到那時候它已經包含了功能(這歸功於兼容性的束縛,永遠不會被刪除)不忠於關係模型,其中有些模型是由Codd提出的,但後來被放棄(例如主鍵,零點等),而另一些模型則僅僅由於對模型的明顯誤解(例如重複行,依賴列排序等)而被放棄。 SQL標準一直有意避免使用「關係」及其派生詞這個詞,但SQL產品供應商不能這麼說。

我認爲答案很簡單,入門級的SQL-92標準(標準的,因此所有後續的迭代)被認爲是相關地完成至於這個詞的Codd的定義,但不被認爲是真正的關係是關於當前關係理論。但是,確定SQL產品是否真正實現入門級SQL-92本身是主觀的:我們是否可以依賴供應商的合規聲明。

我認爲您的老師鼓勵您採取的探究路線是測試SQL標準和產品包含不忠於關係模型的功能的假設。 Chris Date最近的書SQL and Relational Theory: How to Accurate SQL Code (2009)可以找到關於此的一個很好的信息來源。