Data-Warehouse
如何找到數據倉庫的設計圖?
我有一個包含很多表的數據庫。我需要快速找出使用了什麼數據倉庫模式。具體來說,尋找維度和事實表。似乎沒有標準的命名約定。數據庫圖沒有顯示任何內容。
您可能需要一個可以執行數據庫設計逆向工程的產品。
話雖如此,我們不會在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
過去,這對你來說可能不是一個好主意,但只是我的一個想法。
當您找到相關的東西時,您可以更改表的名稱,然後為其過去的命名約定創建同義詞。然後,當您可以與需要訪問這些表名的人一起處理更改請求時,您可以在同義詞更改參考點時慢慢刪除它們。
至少,我建議啟動一個數據字典,或者您可以開始為數據庫中表的擴展屬性添加更好的命名。