Vinnaren i pepparkakshustävlingen!
2012-01-25, 17:09
  #1
Medlem
Hejsan alla. Jag har en stjärnmodellerad databas där jag skulle vilja ta reda på vilken tabell som är faktatabell, dvs den tabell som länkar ihop alla dimensionerna. Jag använder SQL-Server 2008 R2. Logiskt bör man kunna hitta den tabell som har flest FK-Constraints men jag vet inte riktigt hur det ska göras. Jag vet att metadatan finns i INFORMATION.SCHEMAS tabellerna men jag hittar inte det jag behöver. Har någon några förslag skulle jag bli glad!
Citera
2012-01-25, 17:52
  #2
Medlem
Stjärnmodellerad? Dimensioner? får jag fråga vilken utbildning/skola du pluggar vid? När man trodde man hade hört alla olika defenitioner på databasmodeller :P
Vill du bara ha ut dina Constraints kan du köra denna..

Kod:
USE Dittdatabasnamn
SELECT f.name AS ForeignKey,
OBJECT_NAME(f.parent_object_id) AS TableName,
COL_NAME(fc.parent_object_id,
fc.parent_column_id) AS ColumnName,
OBJECT_NAME (f.referenced_object_id) AS ReferenceTableName,
COL_NAME(fc.referenced_object_id,
fc.referenced_column_id) AS ReferenceColumnName
FROM sys.foreign_keys AS f
INNER JOIN sys.foreign_key_columns AS fc
ON f.OBJECT_ID = fc.constraint_object_id
ORDER BY TableName
Citera
2012-01-25, 21:05
  #3
Medlem
Tack för ditt svar Horowitzer. Jag ber om ursäkt att jag inte använde den korrekta terminologin. Ditt svar var hjälpsamt.
Citera
2012-01-26, 12:23
  #4
Medlem
Citat:
Ursprungligen postat av Horowitzer
Stjärnmodellerad? Dimensioner? får jag fråga vilken utbildning/skola du pluggar vid? När man trodde man hade hört alla olika defenitioner på databasmodeller :P
Vill du bara ha ut dina Constraints kan du köra denna..

I ett Data Warehouse är en stjärnmodell den kanske vanligaste arkitekturen. Du har en eller flera fakta-tabeller som har relationer till en eller flera dimensioner. Syftet är bla. att bygga OLAP-kuber på DW:et.

Definitioner som jag använder dagligen i mitt jobb som konsult, läs mer här:
http://en.wikipedia.org/wiki/Data_warehouse
Citera
2012-01-26, 12:30
  #5
Medlem
desmoduss avatar
Använd diagramverktyget för att skapa ett diagram och lägg till alla tabeller du vet är antingen dimensioner eller faktatabeller (och bryggor). Högerklicka och välj "Arrange tables". Leta efter tabellerna med högst fan-in.

Ingen vattentät metod och det kan bli rörigt om det är en snöflinga istället för en stjärna, men borde ge dig en fingervisning.
Citera
2012-01-26, 13:48
  #6
Medlem
Tack PerWi. Jag vet att begreppen finns och projektet jag sysslar med är inom just BI och Datawarehousing. Jag var bara osugen på att ta diskussionen med Horowitzer. Hans ton var lite för nedlåtande för min smak.

Desmodus tack för ditt svar. Jag känner till att man kan göra ett diagram men jag vill göra det med en query. Jag har kommit fram till att den tabell som håller flest FK-Constraints är faktatabellen. Jag får jobba vidare med det antar jag.
Citera
2012-01-26, 15:18
  #7
Medlem
Citat:
Ursprungligen postat av knfittoega
Tack PerWi. Jag vet att begreppen finns och projektet jag sysslar med är inom just BI och Datawarehousing. Jag var bara osugen på att ta diskussionen med Horowitzer. Hans ton var lite för nedlåtande för min smak.

Desmodus tack för ditt svar. Jag känner till att man kan göra ett diagram men jag vill göra det med en query. Jag har kommit fram till att den tabell som håller flest FK-Constraints är faktatabellen. Jag får jobba vidare med det antar jag.

Förstår det! Ni döpar inte tabellerna enligt någon standard då? Jag brukar alltid döpa dom till tex. DimProduct och FactProduction så man håller koll på det.

Har du en kub på DW:et kan du ju lätt se vilka som är fakta tabellerna.
Citera
2012-01-26, 17:55
  #8
Medlem
Jo tabellerna namnges med samma konvention som du beskriver. Jag vill dock hitta en "universallösning" som funkar på olika DW. Jag tror det bästa är att leta efter de tabeller som håller flest FK-constraints som tidigare nämnts, det bör alltid vara faktatabellen förutsatt att det faktiskt är ett stjärnschema.
Citera

Stöd Flashback

Flashback finansieras genom donationer från våra medlemmar och besökare. Det är med hjälp av dig vi kan fortsätta erbjuda en fri samhällsdebatt. Tack för ditt stöd!

Stöd Flashback