Articles of database Design

Was ist der beste path, um One-to-Many- oder Many-to-Many-Beziehungen in PostgreSQL zu speichern?

Ich bin derzeit dabei, einen Open-Source-Chat (AJAX-Chat) in ein anderes Projekt zu integrieren. Jetzt erhält der Chat standardmäßig seine gültigen Benutzer und gültigen Kanäle aus einer file, aber offensichtlich ist dies nicht ideal, wenn Sie eine database mit sich ständig ändernden Benutzern haben. Also möchte ich es so machen, dass der Chat Benutzer- und Kanalinformationen […]

Wie definiert man eine Spalte in einer database mit mehreren Werten, die in einer anderen Tabelle referenziert werden?

Ich arbeite auf einer Website, einige der functionen sind Stackoverflow ähnlich. Eine davon ist, dass es mehrere Items eines Typs gibt (in SO angenommen, mehrere Fragen). Jeder Gegenstand steht in Zusammenhang mit mehreren Werten eines anderen Typs (Stadt). (In SO nehme an, dass jede Queston sich auf mehrere Tags bezieht. Ein Tag ist der Eintrag […]

SQL: Vermeiden Sie zirkuläre Abhängigkeiten

Ich sehe, dass die meisten Leute nur eine zirkuläre Abhängigkeit im databasedesign hassen. Und da die Unterstützung dafür in den meisten database-Engines "knifflig" ist, habe ich mich gefragt, ob es einen path um dieses Design gibt: Ich habe eine Benutzer-Tabelle und eine imageer-Tabelle Jedes image hat eine userId (der Benutzer, der es eingefügt hat) Jeder […]

Sollte ich EAV-database-Design-model oder viele Tabellen verwenden

Ich habe eine neue Anwendung gestartet und jetzt schaue ich auf zwei Pfade und weiß nicht, welcher path gut ist. Ich baue so etwas wie E-Commerce- Site. Ich habe eine Kategorien und Unterkategorien . Das Problem ist, dass es verschiedene Arten von Produkten vor Ort gibt und jede unterschiedliche properties hat . Und die Site […]

databasespeicherung von Formeln mit variables

Das ist ein wenig kompliziert, also ertragen Sie mit mir. Mein Arbeitgeber möchte ein System erstellen, das Aufgabeniterationen aus einer Reihe von variables berechnet. Jede Aufgabe in einem Projekt hat eine spezifische Formel, die verwendet wird, um die Anzahl der Aufgaben zu berechnen, die ausgeführt werden müssen ("Iterationen"). Die Formel könnte sich auf Konstanten, variables […]

databasemodellierung für Aktienkurse

Ich habe kürzlich die Aufgabe erhalten, eine database zu modellieren, die geeignet ist, Aktienkurse für über 140 Unternehmen zu speichern. Die data werden alle 15 Minuten für 8,5 Stunden jeden Tag von all diesen Firmen gesammelt. Das Problem, mit dem ich gerade konfrontiert bin, ist, wie man die database aufbaut, um bei diesen data ein […]

Was ist der beste path, historische 1: M-Beziehungen in einer relationalen database zu speichern (und darauf zuzugreifen)?

Hypothetisches Beispiel: Ich habe Autos und Besitzer. Jedes Auto gehört zu einem bestimmten timepunkt einem (und nur einem) Besitzer, aber das Eigentum kann übertragen werden. Eigentümer können zu keiner time null oder mehr Autos besitzen. Ich möchte die historischen Beziehungen in einer MySQL-database speichern, so dass ich zu einem beliebigen timepunkt die aktuelle Zuordnung von […]

Welche Art von Return-on-Investment gibt es beim Lernen der Set Theory in Bezug auf databasedesign und Abfrage?

Ich lerne gerade database – und einige der Fragen werden einfach verrückt. Ich weiß, dass Sie während der Abfrageoptimization manchmal Abfragen auf verschiedene Arten neu schreiben können, um bestimmte Dinge zu minimieren. Ich schaue mir ein korreliertes Unterabfrage-Beispiel an und sehe, dass es das gleiche Resultset wie ein LEFT JOIN ergibt. Ich denke, dass sie […]

Wie speichert man die Log-in-database?

Meine Anwendung ermöglicht es Benutzern, fileen aneinander zu senden. Normale Benutzer können ihre Kontakte bearbeiten, das Passwort ändern usw. Außerdem können Administratoren Benutzer hinzufügen / entfernen und das Protokoll der Ereignisse anzeigen. Meine Frage ist, wie man dieses Protokoll in der MySQL-database speichert? Ich dachte, das Protokoll so zu speichern: log_id time user_id action_type description […]

Wie lässt man nur eine Zeile für eine Tabelle zu?

Ich habe einen Tisch, an dem ich nur einen Eintrag möchte. Wenn also jemand versucht, eine andere Zeile einzufügen, sollte dies nicht erlaubt sein, nur nachdem jemand die vorher existierende Zeile gelöscht hat. Wie lege ich eine Regel für eine Tabelle wie diese fest?