Ich versuche, keine SQL-Datenbank für intelligente Heizgeräte Mietshaus Überwachungssystem zu entwerfen. Das Gebäude verfügt über ein Hauptheizsystem, das jede Wohnung durch Temperaturüberwachung in der Wohnung beheizt. Aus diesem Grund hat jede Wohnung ein Thermometer, das konstant eine Temperatur an das Hauptsystem sendet. Die Idee ist, einen Administrator zu haben, der alle Berichte vom Hauptsystem verfolgen kann und die Temperatur für jede Wohnung getrennt sehen kann. Der Mieter konnte nur seine eigene Wohnungstemperatur sehen. Der Administrator kann viele Gebäude verwalten und ein Gebäude kann viele Wohnungen und nur eine zentrale intelligente Heizung haben. Für jetzt nehme ich an, dass eine Wohnung nur ein Thermometer haben kann. Ich konnte db mit sql entwerfen, aber ich muss NoSql verwenden, und ich habe nicht viel Erfahrung, die diese komplexe nosql db entwirft. Ich habe versucht, Gebäude Sammlung zu entwerfen, aber ich denke, es ist völlig falsch. Sollte ich Sammlungen für Admin und Mieter getrennt haben, dann für Gebäude und Wohnungen, wenn ja, wie dann? Vielleicht kennt jemand ein Beispiel, dass ich einen Blick darauf werfen und ein paar Ideen haben kann? `{ Gebäude: 1, Adresse: 'Adresse hier', Wohnung: [ {no: '1', Etage: '0'},
{no: '2', Etage: '1'} , {no: '3', Etage: '2'}Entwerfen NoSql-Datenbank für Smart-Gerät-Management-System
],
thermometer : [
{ id : ObjectID('AAAA'), apartmentNo: '3'},
{ id: ObjectID('F17C'), apartmentNo: '2'},
{ id: ObjectID('D2AA'), apartmentNo: '1'}
],
mainHeatingSys: [
{ thermId : ObjectID('AAAA')},
{ thermId: ObjectID('F17C')},
{ thermId: ObjectID('D2AA')
// etc
]
} `
Es gibt * viele * Möglichkeiten, ein Dokument-orient zu entwerfen Die Datenbank hängt von den Abfrageanforderungen Ihrer App ab. Eine sehr breite, meinungsfordernde Art von Fragen und Off-Topic für StackOverflow. Zur Info: Ihre Frage ist dokumentenzentriert; Es gibt kein "Nosql" -Schema, da es viele Varianten von NoSQL-Datenbanken gibt: Schlüssel/Wert, Dokument, Spalte, Grafik. –
Verstehen Sie nicht "abhängig von den Abfrageanforderungen Ihrer App"? Ich habe beschrieben, was ich brauche und was Admin und Mieter von db bekommen sollten. Wenn ich Daten nach der Regel abrufen kann, die ich definiert habe (der Administrator sollte Hauptsysteme und alle Wohnungsdaten erhalten, nur seine eigenen Wohnungsdaten), ist es mir egal, welchen Weg ich nutze, wenn es meine Anwendung effizienter macht. Von dieser Information, die ich zur Verfügung stelle, kann man leicht mysql Datenbank erstellen, also dachte ich, dass das gleiche mit NoSql ist. – Vytautas