Schema

邏輯模式與物理模式的範例?

  • January 30, 2021

我已經閱讀了多個問答,試圖直覺地理解邏輯模式和物理模式之間的區別。

不幸的是,我只能去掉以下模糊的定義。

  • 邏輯是指數據的高級定義,包括表、數據類型等。
  • 物理是指“實現”,即數據實際儲存的方式。

它是否正確?如果是這樣,是否有一個或兩個具體的例子可以推動這些定義?

編輯:我知道這個問題可能已經被問過很多次了,但我特別要求一個有啟發性的例子。

我認為這個StackOverflow 答案可能很好地定義了兩者之間的區別。

具體是這兩點:

邏輯模式是數據的概念模型。在關係數據庫中,它通常與平台無關——即邏輯模式原則上可以在任何 SQL 數據庫上實現。

物理模式將邏輯模式轉換為適用於特定數據庫平台的實現。有時,這在很大程度上是一種機械練習,將正確的數據類型應用於屬性……

所以換句話說,如果你有一個表示 的模式MovieTheaters,你可能會有幾個表Movies, TicketSales, ConcessionSnacks. 該TicketSales表可能有一個TicketId列、一個Price列和一個MovieId列。這個高級細節本質上是您的邏輯模式。

一旦您開始在特定數據庫系統上實現此模式,以 Microsoft SQL Server 為例,並使用 Microsoft SQL Server 特定的功能和數據類型,它就成為物理模式。例如,您的TicketSales表的TicketId列可能是帶有主鍵INT的數據類型,並且可能是帶有多對一外鍵的欄位,並且列可能是. 並且該表可以對列具有唯一約束,以防止將重複的電影插入其中。MovieId``BIGINT``Price``DECIMAL(4,2)``Movies``MovieTitle

引用自:https://dba.stackexchange.com/questions/284342