Ich habe einen Multizonen-Musik-Player (mit C# und SQL) gemacht, der in der Firma, in der ich arbeite, Musik in den Sereval-Zonen spielt. Verschiedene vordefinierte Wiedergabelisten werden automatisch zu geplanten Zeiten geladen.Music daypart Datenbankdesign
Ich bin jetzt dabei, die Playlists ein wenig schlauer zu machen. Ich möchte in der Lage sein, ein Lied mit einem oder mehreren Tagesteilen (z. B. Morgen, Mittag, Nacht) zu verbinden.
Was ich erreichen möchte, ist es, Playlisten "on the fly" zu bestimmten Zeiten jeden Tag zu generieren, anstatt die vordefinierten Playlists zu verwenden. So wird das Hinzufügen von Songs zu meiner Musikbibliothek, die die "erlaubten" Dayparts einstellen, ausreichend ... kein stundenlanges Hinsetzen mehr ...
Ich habe momentan einen Musiktisch, eine Playlist-Tabelle und eine Tabelle, die diese beiden Tabellen verbindet, um die tatsächlichen Wiedergabelisten zu speichern.
Ich habe die Tendenz, Dinge übermäßig kompliziert zu machen, also dachte ich, ich würde euch um ein paar Tipps bitten, wie man die Datenbank auf effiziente Weise gestaltet ... (und vielleicht ein paar Zeilen C# -Code dazu) Erstellen Sie die Wiedergabelisten)
sagen Sie Sie einen bestimmten Song mit einem „Tagesabschnitt“ markieren möchten. Kann ein Lied mehrere Teile haben? Warum nicht eingebaute MP3-Tagging verwenden, um dies auf der eigentlichen Datei zu speichern? –
Ja und ja, ein Lied kann mehrere Teile haben. Ich möchte alle diese Daten in der Datenbank behalten, falls ich Musikdateien ersetzen/wiederherstellen muss ... – Liknes
Sie könnten ein Byte speichern, wobei jedes Bit für einen zulässigen Tagesteil steht. Ot eine Zeichenfolge mit x Buchstaben, jeweils für einen Tag. Ein anderer Tagestisch klingt für mich nach Overkill; manchmal ist eine De-Normalisierung der Weg zu gehen .. - Ich würde es nicht 'Daypart' nennen, aber vielleicht 'Gelegenheit', um 'festlich', 'feierlich', 'saisonal' usw. zuzulassen. – TaW