2012-11-04 21 views
7

Ich habe Microsofts Adventure Works 2012-Datenbank untersucht. Ich wäre sehr interessiert, wenn es Informationen gibt, die erklären, warum die Tabellen so erstellt wurden, wie sie sind. Irgendeine Art von Schemaübersicht, denke ich.Adventure Works Erläuterung

Zum Beispiel:

Warum sie eine BusinessEntity Tabelle als eine Art Basisklasse für Person, Mitarbeiter usw.

meisten Daten erstellen möchten so normiert ist, warum sie die CountryRegionCode setzen wählte Feld in die StateProvince Tabelle anstelle einer ID in eine separate Tabelle.

Jedenfalls bin ich sehr daran interessiert, mehr über die Entscheidungen zu erfahren, die in das Design der Datenbanken einflossen. Weiß jemand eine Ressource, die sich auf so etwas einlässt?

Antwort

7

Mir ist keine offizielle Design-Dokumentation für AdventureWorks bekannt, aber ich bin Trainer und nutze AdventureWorks-Datenbanken ausgiebig für Demos und Labs, also bin ich ziemlich vertraut damit.

Die BusinessEntity-Tabelle ist ein klassisches Beispiel für ein SuperType/SubType-Design, das die Datenredundanz reduziert, da Kunden auch zu Lieferanten, Mitarbeiter zu Kunden und jeder anderen Kombination werden können. Außerdem bedeutet dies, dass Sie nicht alle Details in Bezug auf alle Entitäten in separaten Tabellen speichern, um den Aufwand bei Codeänderungen zu minimieren.

Die CountryRegionCode ich nicht positiv bin über, aber ich würde eine von drei Gründe vermuten:

  1. Es gibt nicht genügend verschiedene Kombinationen eine zusätzliche Tabelle auf Kosten der Berichterstattung Leistung zu rechtfertigen (Diese mit könnte validiert einige einfache COUNT (*) GROUP BY-Anweisungen)
  2. sie wollten es in der gleichen Tabelle, so dass sie in Zukunft die Flexibilität, eine Hierarchiestruktur mit hierarchyid (Dies ist die am wenigsten likeley Option)
  3. es war eine Normalisierung zu modellieren hatte Error! (Mein Geld ist auf dieser Option!)
+0

Vielen Dank für Ihre Einblicke. – user1705507

3

Dieses Bild hat mir geholfen, auch wenn es für 2008.

+0

Ich war auf der Suche nach den Diagrammen und fand dies auf der offiziellen Website (nicht sicher, ob es die gleiche Version ist): http://www.microsoft.com/en-us/download/details.aspx?id=10331 –