Diese Frage bezieht sich auf meine previous question. Basierend auf meinen Anforderungen habe ich einige Korrekturen an meiner Datenbank vorgenommen, aber ich bin mir immer noch nicht sicher, wie ich Untermenüs erstellen kann (die aus einer anderen Tabelle als der Haupttabelle erstellt werden müssen.Datenbank-Design für Website (CMS) Berücksichtigung und Vorschlag für Datenbank-Menüs
Ich halte Seiteninformationen In pg_Pages
von wo ich meine Menüs erstellen kann Mein Problem ist, dass ich Untermenüs für "Über uns" und "Multimedia" leicht erstellen kann, da ich diese Seiten in der pg_Pages
Tabelle speichern, aber ich muss Untermenüs für News
erstellen von der News Category
Tabelle und verknüpfen sie mit dem richtigen Seite Handler. & Ausgabe von magazine
Tabelle.
Menüs Beispiel
Beispieldaten
pg_Pages Table
PageID PageName LangID PagePositionNo PageURL PageInheritance
1 Home 1 10 Default.aspx 0
2 About Us 1 20 Page.aspx 0
3 PageOne 1 10 Page.aspx 2
4 PageTwo 1 20 Page.aspx 2
5 Multimedia 1 30 Page.aspx 0
6 Video 1 10 Videos.aspx 5
7 PhotoGallery 1 20 Gallery.aspx 5
8 News 1 40 News.aspx 0
9 Issues 1 50 # 0
10 Publication 1 60 Page.aspx 0
11 SpanishHome 2 10 Default.aspx 0
12 SpanisAbout Us 2 20 Page.aspx 0
------------------------------------------------------------------------------
Magazine
MagazineID MagazineIssueCode LangID MagazineTitle MagazineLiveIssue(CurrentIssue)
1 101 1 Mag Title 0
2 102 1 Mag Title 1
3 101 2 SpanisgMag Title 0
4 102 2 Mag Title 1
------------------------------------------------------------------------------
art_Article Table
ArticleID ArticleTitle ArticleCatID MagazineID Language TYPE
1 Article one 100 1 1 Artile
2 Article two 100 1 1 Artile
3 Article three 200 1 1 Artile
4 Article four 300 1 1 Artile
5 Article Five 100 2 1 Artile
6 EditorMessage 300 2 1 EditorMessage
7 Article seven 200 2 2 Somthing
------------------------------------------------------------------------------
Ich möchte mein Design flexibel genug sein, Menüs aus verschiedenen Tabellen zu lesen. Welche Vorgehensweise/Änderungen sollte ich ergreifen/tun, um es ordnungsgemäß zu erledigen, statt eine separate Tabelle für alle Menüs zu erstellen, die sie mit den Seiten verknüpfen? Bitte schlagen Sie den besten Ansatz für dieses Szenario vor.
Ich möchte System sehr flexibel sein und lesen Sie Menüinformationen direkt aus der Datenbank statt statische Verbindungen erstellen und Abfragen basierend auf IssueID
oder eine andere ID.
News Menu
grundsätzlich Kategorien von Artikel, Weitere ich brauche eine Abfrage, die nur Kategorien unter News
Menü, die Artikel für dieses spezielle Problem hat. Angenommen, die Ausgabe 102 hat keinen Artikel, der sich auf Kultur bezieht, dann sollte das Untermenü Kultur nicht unter Nachrichten erscheinen.
ich würde nicht ein "Menü" in einem Datenmodell zu modellieren versuchen. Das einzige, was Sie jemals mit den Informationen tun werden, ist die Anzeige der Menüs. Sie werden Ihr Leben viel einfacher machen, wenn Sie einfach die Menüobjekte (zB mit json.net) serialisieren und speichern. –
@Filip, Meinst du, ich sollte eine separate 'Menu' Tabelle mit Feldern wie, MenuID, MenuName, PageID usw. erstellen. Können Sie mir bitte ein Beispiel geben, wenn ich falsch liege – Learning
Ich würde eine Datei in Ihrer Webanwendung machen menu.json und lege die gesamte Struktur dort ab. –