Data-Warehouse

如何找到數據倉庫的設計圖?

  • May 10, 2018

我有一個包含很多表的數據庫。我需要快速找出使用了什麼數據倉庫模式。具體來說,尋找維度和事實表。似乎沒有標準的命名約定。數據庫圖沒有顯示任何內容。

您可能需要一個可以執行數據庫設計逆向工程的產品。

話雖如此,我們不會在dba.stackexchange.com上提供產品建議,因為關於您應該使用哪種工具、庫、產品或資源的問題很快就會過時,而且通常只是回答者的偏好。

如果圖表工具不適合您,這可能意味著沒有外鍵或約束會讓您感到困難。Max 已經說明了第三方工具,您說沒有類似的命名約定。對我來說,這留下了 SQL Server 中的兩個部分,它們都不是很好,你必須做一些手動工作。

我經常使用它,它對我有幫助。我在想,如果表名不一致,希望列名一致或接近。如果不是,希望您的數據類型和大小是。

SELECT t.NAME AS table_name
   ,SCHEMA_NAME(t.schema_id) AS schema_name
   ,c.NAME AS column_name
   ,st.NAME 'Data type'
   ,c.max_length 'Max Length'
   ,c.precision
   ,c.scale
   ,c.is_nullable
   ,ISNULL(i.is_primary_key, 0) 'Primary Key'
FROM sys.tables AS t
INNER JOIN sys.columns c ON t.OBJECT_ID = c.OBJECT_ID
INNER JOIN sys.types st ON c.user_type_id = st.user_type_id
LEFT JOIN sys.index_columns ic ON ic.object_id = c.object_id
   AND ic.column_id = c.column_id
LEFT JOIN sys.indexes i ON ic.object_id = i.object_id
   AND ic.index_id = i.index_id
ORDER BY schema_name
   ,table_name;

您可能需要通過或調整該ORDER BY部分,但這將有助於對數據庫中表的元數據進行排序,並且您可以找到彼此相關或相似的內容。column_name``data type

過去,這對你來說可能不是一個好主意,但只是我的一個想法。

當您找到相關的東西時,您可以更改表的名稱,然後為其過去的命名約定創建同義詞。然後,當您可以與需要訪問這些表名的人一起處理更改請求時,您可以在同義詞更改參考點時慢慢刪除它們。

至少,我建議啟動一個數據字典,或者您可以開始為數據庫中表的擴展屬性添加更好的命名。

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