Articles of database Design

SQL Design Frage

Ich habe eine Tabelle mit 25 Spalten, wobei 20 Spalten Nullwerte für einige (30-40%) Zeilen haben können. Was kosten die Zeilen mit 20 Nullspalten? Ist das ok? Oder Ist es ein guter Entwurf, eine andere Tabelle zu haben, um diese 20 Spalten zu speichern und einen Verweis zur ersten Tabelle hinzuzufügen? Auf diese Weise schreibe […]

Design von databaseen zum memoryn der Details des wiederkehrenden Auftretens eines Ereignisses

Ich muss ein Feature implementieren, das dem von Microsoft Outlook ähnelt, um Ihren Besprechungstermin wiederkehrend zu machen. Ich versuche das optimierte databasedesign herauszufinden, das ich für die Implementierung dieser function benötige. Die Anforderung besteht darin, dass jeder vom Benutzer eingegebene Lauf oder jede Aufgabe auch für die Planung eines wiederkehrenden Ereignisses geeignet ist – wöchentlich, […]

Zahlenbereiche in einer relationalen database darstellen (MySQL)

Ich versuche zu verstehen, ob es Standard-Best-Practice-Ansätze für die modelierung von Zahlenbereichen in einer relationalen database gibt (in diesem Fall MySQL) und ob dies tatsächlich sinnvoll ist. Ich erkläre die Aufgabe, die die Frage nach Kontext ausgetriggers hat. Ich bin gerade dabei, eine database zu entcasting, die die Zuordnung eines Pools von Identifikatoren zu Kunden […]

Haben diese databasedesignstile (oder Antimuster) Namen?

Betrachten Sie eine database mit den Tabellen Produkte und Mitarbeiter. Es gibt eine neue Anforderung, aktuelle Produktmanager zu modellieren, da sie der einzige Mitarbeiter sind, der für ein Produkt verantwortlich ist. Einige Produkte sind einfach oder ausgereift genug, um keinen Produktmanager zu benötigen. Das heißt, jedes Produkt kann null oder einen Produktmanager haben. Ansatz 1: […]

foo.foo: Gibt man einer Tabellenspalte den gleichen Namen wie der Tabelle selbst eine schlechte Idee?

Ich habe eine sehr einfache Tabelle namens genre , die so aussieht: GENRE ===== id int genre_category varchar() genre_category hat Werte wie "narrative", " genre_category " und so weiter. genre_category scheint wie ein dummer Name für die Spalte. Die Spalte könnte genre_type oder genre_label oder genre_category . Aber es scheint überflüssig. Also, gibt es irgendeinen […]

Was muss ich über die Arbeit mit riesigen databaseen wissen?

Ich möchte wissen, welche spezifischen Probleme / Lösungen / Ratschläge / Best Practices [bestrafen mich für das Wort] entstehen, während Sie mit riesigen databaseen arbeiten. Unter riesig impliziere ich databaseen, die Tabellen mit Millionen von Zeilen und / oder databaseen mit Petabytes an data haben. Plattformorientierte Antworten werden auch großartig sein.

Würden Sie in einer database ein datesfeld oder Jahr- und Monatsfelder verwenden, wenn Sie nur Jahr und Monat benötigen?

Ich stelle einen Tisch auf, wo ich das Jahr und den Monat brauche. In MySQL glaube ich, dass ich 2 Optionen habe: (1) 2 Felder: 1 für das Jahr, 1 für den Monat oder (2) ein datesfeld (der Tag wäre immer 1). Die zwei Felder haben den Vorteil, dass sie etwas schneller sind (ich denke), […]

Ist es schlecht, sich auf die Kaskadierung von Fremdschlüsseln zu verlassen?

Der Hauptentwickler eines Projekts, an dem ich beteiligt bin, sagt, es sei eine schlechte Praxis, sich auf Kaskaden zu verlassen, um verwandte Zeilen zu löschen. Ich sehe nicht, wie das schlecht ist, aber ich würde gerne Ihre Gedanken darüber wissen, ob / warum es so ist.

databasedesign: viele Zeilen im Vergleich zu vielen Tabellen?

Ich mache dieses databasedesign-Zeug für ein System, wo ich einige Arrays variabler Länge in MySQL-database speichern muss. Die Länge der Arrays wird (höchstens) in Hunderten, wenn nicht Tausenden sein. Neue Arrays werden regelmäßig erstellt, vielleicht täglich. sollte ich diese Arrays in einer Tabelle speichern, die bald gigantisch wachsen wird oder Erstellen Sie eine neue Tabelle […]

Positive oder negative boolesche Feldnamen

Die booleschen Felder einer Tabelle können mit dem positiven gegenüber dem negativen Namen benannt werden. zum Beispiel ein Feld aufrufen: "ACTIVE" , 1=on / 0=off or "INACTIVE" , 0=on / 1=off Frage: Gibt es einen geeigneten path, um diese Art von Tischentwurfsentscheidung zu treffen, oder ist das willkürlich? Mein spezifisches Beispiel ist eine Nachrichtentabelle mit […]