2016-06-03 10 views
0

Ich versuche, mein Gehirn herum zu wickeln Datenbank erstellen für die Verfolgung Elemente der Einrichtung bezogen werden: Zum Beispiel:Datenbank für Gebäude und Anlagen Artikel

  1. Elektrische Geräte: Platten, Sicherheits Leser, Rauchmelder, Lautsprecher/Gongs usw.
  2. Sanitär-Geräte: Sprinklerköpfe, geschlossen offs, Hydranten usw.
  3. Flooring Aufzeichnungen
  4. Gemälde Aufzeichnungen
  5. Hazmat Test/Materialien

... .. und andere zu viele um sie hier aufzulisten

Die einzige Gemeinsamkeit zwischen ihnen, ihre Lage ist. Jede/jeder von ihnen könnte bei befinden:

  • Website (nicht zu Gebäuden angebracht)
  • An Gebäuden (außen): möglich (aber nicht garantiert den Boden/Ebene kennen und oder Raum).
  • Innen Gebäude (innen):

    • Einzeltisch mit (für Spalten): Der genaue Raum wird

    Mit meiner begrenzten Erfahrung in der Entwicklung von Datenbanktabellen Ich denke, es gibt zwei mögliche Szenarien bekannt sein: Website, Gebäude, Ebene, Zimmer. Jedes unbekannte oder nicht zutreffende Feld ist Null. Es wird ein Tisch sein, aber viele Nulls.

  • 3x Separate Tische: Nur Standort, Außengebäude, Interieur. Und Aufzeichnungen über nur relevante Daten führen. Geben Sie für die Site-Tabelle nur die Site-ID ein. Für die innere Aufzeichnung der Zimmer ID nur. Für das Äußere des Gebäudes würde ich die Gebäude-ID (und die Ebene oder den Raum, falls verfügbar) aufzeichnen.

Lange Rede kurzer Sinn, kochen, meine Fragen zu 2 wichtigsten Fragen unten:

  • Muss ich mit jedem Thema/Gruppe Standorten beschäftigen getrennt oder versuchen, sie zu einer Gruppe?
  • Erstelle ich eine einzelne Tabelle mit vielen Nulls oder 3X drei separaten Tabellen?

Hier sind die möglichen Kombinationen für 5 Fächer:

  • Einzeltisch für alle Fächer und alle Standorte zusammengefasst: Tabelle Count = 1
  • Einzeltisch für jedes Fach und alle Standorte zusammengefasst: Tabelle Count = 5
  • Einzel Tabelle pro Fach und jeder Standort: Table Count = 15.

ich hoffe, das macht keinen Sinn? Ich würde mich über jeden Kommentar freuen. Vielen Dank

+1

Sie haben uns nicht genügend Informationen über Ihre "Artikel" und Ihre "Standorte" gegeben, damit wir Sie beraten können. Was Sie zu tun versuchen, heißt [Datenbanknormalisierung] (https://en.wikipedia.org/wiki/Database_normalization) und ist ein schwieriger Prozess. Lesen Sie den Artikel. Wenden Sie die normalen Formulare nacheinander an. Wenn Sie in Schwierigkeiten geraten, bearbeiten Sie Ihren Beitrag, um zu zeigen, was Sie haben. –

+0

Das hat nichts mit "Normalisierung" zu tun. Die Standortmöglichkeiten sind übersichtlich dargestellt: 1. Nur Standort (nicht am Gebäude angebracht (zum Beispiel in der Nähe des Haupttors) 2. Extern an einem Gebäude angebracht (optional möglich, um Ebene/Stockwerk und Raum anzugeben (zum Beispiel: außerhalb/2. Stock/Klassenzimmer 122) 3. Intern gelegen (zum Beispiel: Klassenzimmer 121) PS: Kennen Sie den Raum natürlich kennen Sie das richtige Stockwerk/Gebäude/Standort – Drafter

+0

Auch die folgenden imaginären Tabellen sind verwandt: Standorte/Gebäude/Etagen/Zimmer – Drafter

Antwort

0

Normalerweise hängt die Antwort zum Entwerfen einer Datenbank von den Fragen ab, die an die Daten gestellt werden. Möchten Sie alle Hazmat-Materialien an einer bestimmten Stelle kennenlernen?Dann, wie in den Kommentaren vorgeschlagen, benötigen Sie eine normalisierte Datenbank.

Eine Problemumgehung wäre die Erstellung einer Standorttabelle mit Beschreibung, Standorttyp (Standort/Gebäude/Stockwerk/etc.) Und Standort-ID. Dann könnten Sie ein ParentLocation-Feld hinzufügen, um den Raum mit dem Stockwerk, dem Stockwerk mit dem Gebäude usw. zu verknüpfen. Der Vorteil ist, dass Sie Ebenen hinzufügen/entfernen können, ohne Tabellen zu ändern. Sie könnten die verschiedenen IDs im Artikeldatensatz speichern und die Elterninformationen wären automatisch verfügbar.

Wenn für jeden Standorttyp bestimmte Felder vorhanden sind, möchten Sie dennoch separate Tabellen erstellen.

+0

JJ32.Typischerweise hängt die Antwort auf, wie man eine Datenbank entwirft, von den Fragen ab, die von den Daten gestellt werden.Dieser erste Satz holt Sie meine Stimme. Der Positionsteil macht auch etwas Sinn, aber ich denke nicht, dass es auf meine Situation zutrifft. Danke – Drafter