Schema
邏輯模式與物理模式的範例?
我已經閱讀了多個問答,試圖直覺地理解邏輯模式和物理模式之間的區別。
不幸的是,我只能去掉以下模糊的定義。
- 邏輯是指數據的高級定義,包括表、數據類型等。
- 物理是指“實現”,即數據實際儲存的方式。
它是否正確?如果是這樣,是否有一個或兩個具體的例子可以推動這些定義?
編輯:我知道這個問題可能已經被問過很多次了,但我特別要求一個有啟發性的例子。
我認為這個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