Hensigtsmæssig databasestruktur og SQL-forespørgsler?
Jeg er i gang at lave en side, hvor jeg skal lægge billeder på (ASPImage). Men inden vil jeg gerne have databasestrukturen på plads til menuerne/sitemap, så jeg undgår at skulle lave det hele om midt i processen (er allerede gjort én gang). Så jeg har tænkt mig at oprette 3 tabeller i MySQL: 1. mainarea - 2. topcat - 3. subcat.1. mainarea skal bruges til menugruppe, som f.eks. "Din profil" eller "Debatforum" eller "Billeder" el.lign.
2. Hver menugruppe har hovedmenuer, som f.eks. "Om ...." eller "Kontakt os" eller "Debat" etc.
3. Nogle af hovedmenuer har så undermenuer, som f.eks. "Opret nyt debatemne" eller "Se alle debatemner" etc.
Her er den tiltænkte menustruktur, som vi alle kender:
Menupunkt 1
Hovedmenu 1.1
Hovedmenu 1.2
Undermenu 1.2.1
Hovedmenu 1.3
Hovedmenu 1.4
Undermenu 1.4.1
Undermenu 1.4.2
Undermenu 1.4.3
Hovedmenu 1.5
Hovedmenu 1.6
Menupunkt 2
Hovedmenu 2.1
Hovedmenu 2.2
Undermenu 2.2.1
Undermenu 2.2.2
Undermenu 2.2.3
Undermenu 2.2.4
Hovedmenu 2.3
Undermenu 2.3.1
Hovedmenu 2.4
De skal så trækkes ud gennem en løkke (Do Until RS.EOF .... Loop), så der kan laves menu/sitemap:
Menupunkt 1
<a href=”#”>Hovedmenu 1.1</a>
<a href=”#”>Hovedmenu 1.2</a>
<a href=”#”>Undermenu 1.2.1</a>
<a href=”#”>Hovedmenu 1.3</a>
<a href=”#”>Hovedmenu 1.4</a>
<a href=”#”>Undermenu 1.4.1</a>
<a href=”#”>Undermenu 1.4.2</a>
<a href=”#”>Undermenu 1.4.3</a>
<a href=”#”>Hovedmenu 1.5</a>
<a href=”#”>Hovedmenu 1.6</a>
Menupunkt 2
<a href=”#”>Hovedmenu 2.1</a>
<a href=”#”>Hovedmenu 2.2</a>
<a href=”#”>Undermenu 2.2.1</a>
<a href=”#”>Undermenu 2.2.2</a>
<a href=”#”>Undermenu 2.2.3</a>
<a href=”#”>Undermenu 2.2.4</a>
<a href=”#”>Hovedmenu 2.3</a>
<a href=”#”>Undermenu 2.3.1</a>
<a href=”#”>Hovedmenu 2.4</a>
Og til det havde jeg tænkt mig at bruge 3 tabeller i databasen (jeg ved ikke om tabuleringer kommer til at stå ordentligt):
Menupunkt:
ssmainareaID (ID på mainarea)
ssordermainareaby (Sorteringsorden på mainarea)
ssmainareatitle (Titel på mainarea)
ssmainareadescription (Beskrivelse af mainarea)
ssmainareaurl (Link til mainarea)
ssmainareapicurl (Link til mappe med billeder)
Hovedmenu:
sstopcatID (ID på topkategori)
sstopcatattachtomainarea (Knyt topkategori til mainarea)
sstopcatorderby (Sorteringsorden på topkategori)
sstopcattitle (Titel på topkategori)
sstopcatdescription (Beskrivelse af topkategori)
sstopcatdocurl (Link til dokument, hvor data trækkes ud af DB)
sstopcatpicurl (Link til mappe med billeder)
Undermenu:
sssubcatID (ID på underkategori)
sssubcatattachtotopcat (Knyt underkategori til topkategori)
ssordersubcatby (Sorteringsorden på underkategorier)
sssubcattitle (Titel på underkategori)
sssubcatdescription (Beskrivelse af underkategori)
sssubcatdocurl (Link til dokument, hvor data trækkes ud af DB)
sssubcatpicurl (Link til mappe med billeder)
Og det hele skal så trækkes gennem løkken, så der er disse relationer (håber det kommer til at stå ordentligt):
ssmainareaID <-> sstopcatattachtomainarea <-> sssubcatattachtotopcat
ssmainareatitle sstopcattitle ssordersubcatby
ssordermainareaby sstopcatdocurl sssubcattitle
sstopcatpicurl sssubcatdocurl
sssubcatpicurl
Jeg kunne godt tænke mig at høre din mening. Er det hensigtsmæssigt at lave det på denne måde, eller er der en meget bedre måde?
