2011-03-06 75 views
3

來自問題「Relation」 versus 「relationship」RDBMS/SQL中的「關係」與「關係」?

什麼是RDBMS(或數據庫理論)中「關係」與「關係」的定義?

更新:
我是有點評論困惑我的問題:

「的關係是表的代名詞,並 因而具有存儲在 模式的 方面非常精確的含義計算機」

UPDATE2:
如果我不正確地回答了這個問題,在RDBMS而言,具有寫入的關係是一個邊方向單數連接依賴鏈接,
即從一個表到另一個表,而關係意味着(不一定明確地)在一個方向上(從一個表到另一個)的多於一個的鏈接連接?

+0

好問題,但是對於SO來說過於技術性。根據學術問題和定義,任何好的答案都會被拒絕並被那些代表性很高,沒有學術背景的人所主張。 – PerformanceDBA 2011-03-06 07:25:37

+0

@PerformanceDBA,我開始懷疑你的遠見卓識的能力,B/C它沒有被低估,但[我有一個1000天的禁令,沒有任何以前的警告在英語.stackExhange.com](http://english.stackexchange .com/users/3085/vgv8) – 2011-03-11 06:08:49

+2

你是一個有趣的人,對你的學習很認真。不要太認真對待。每當我指出錯誤信息時,我都會被禁止,儘管我所做的只是支持常見問題「最重要的是誠實......正確的錯誤信息」。該網站無法解除其低科技形象。聲譽是瞳孔的結果,而不是技術的準確性。我根本沒有發現你的冒犯。 – PerformanceDBA 2011-03-11 08:43:36

回答

8

的一個關係是一組域(http://mathworld.wolfram.com/Relation.html)的笛卡爾積的子集。在日常用語中,關係(或者更具體地說是關係變量)是大多數人稱爲表格的數據結構(儘管SQL中的表格不一定具有關係)。

關係是關係數據庫模型的基礎。

關係是不同的東西。關係是一種語義上的「事物之間的關聯」。

+1

非常感謝!我想等待@PerfomanceDBA – 2011-03-06 11:54:42

+0

@ vgv8的回答。謝謝你的稱讚。 – PerformanceDBA 2011-03-11 08:41:22

+0

我可以建議,爲觀衆中的非理論人士詳細闡述一下。 – PerformanceDBA 2011-03-11 08:42:19

5

關係是一個數學術語,referring to a concept from set theory。基本上,在RDBMS世界中,「關係」方面是數據組織成表格,這反映了每一行(元組)與所有其他行相關的事實。他們都是相同類型的信息。

但後來,你有ER(實體關係),這是在你識別物體和他們在現實世界關係的建模方法。然後將每個對象建模爲一個表,並將每個關係建模爲僅包含外鍵的表。

舉例來說,如果你有3個實體:教師,學生,類;那麼你也可以創建幾個表來記錄這兩個關係:TaughtBy和StudyingIn。 TaughtBy表將會有一個記錄,其中包含一個教師ID和一個班級ID,用於記錄該班級由該教師授課。 StudyingIn表中將有一個學生ID和一個班級ID來反映學生正在上這門課。

這樣,每個學生可以在許多課程中,每個教師可以在許多課程中,而不需要在任何記錄中包含一個包含課程ID的列表的字段。 SQL無法處理包含事物列表的字段。

+0

很棒的解釋... – 2015-03-09 14:37:20

0

一個關係是與列和行的表。 和 關係是關係/表 之間的關聯,例如員工表在分支中具有員工表和分支表之間的所謂關係