/ Forside/ Teknologi / Udvikling / ASP / Spørgsmål
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
Kategorier i Database til intranet
Fra : sorenm
Vist : 638 gange
60 point
Dato : 25-10-01 14:58

Hej Eksperter.

I er nødt til at hjælpe mig med at designe den ultimative (mest korrekte) indholdsdatabase.
Jeg skal bruge databasen til at gemme artikler i til et intranet. Siden skal være afdelingsopbygget.
Altså jeg klikker på en afdeling. Til denne afdeling skal der så være en menu med undermenu.

Eksempel:

Afdeling: Administration
Menu: Strategi og planer
Undermenu: IT
Artikel 1: Hvad vil vi?
Artikel 2: Hvordan?


tblAfdeling
afdelingID (nøgle)
afdelingnavn

tblMenu
menuID (nøgle)
menunavn
undermenuID (fremmednøgle)

tblUndermenu
undermenuID (nøgle)
undermenunavn

tblArtikel
ArtikelID, afdelingID (sammensat nøgle)
MenuID (fremmednøgle)
Artikelnavn
Artikelindhold

Ser ovenstående rigtig ud??
Kan designet opbygges anderledes??



 
 
Kommentar
Fra : gandalf


Dato : 25-10-01 15:30

Hej Sorenm
Hvis jeg forstår dig rigtig, så søger vil du bygge en træ struktur f.eks :

Afdeling
- Menu
- Undermenu
- Artikel
- Artikel
- Artikel
- Undermenu
- Artikel
- Artikel
- Artikel
- Menu
- Undermenu
- Artikel
- Artikel
- Undermenu
- Artikel
- Artikel
- Artikel

Hvis dette er tilfældet så virker din DB ikke, for i dit eksempel kan du kun have en undermenu inde under en menu.

Her er hvordan jeg ville bygge det op.

Gandalf

************************************************************
tblAfdeling
afdelingID (nøgle)
afdelingnavn

tblMenu
menuID (nøgle)
menunavn
afdelingID (fremmednøgle)

tblUndermenu
undermenuID (nøgle)
undermenunavn
menuID (fremmednøgle)

tblArtikel
ArtikelID (nøgle)
UnderMenuID (fremmednøgle)
Artikelnavn
Artikelindhold


Kommentar
Fra : sorenm


Dato : 25-10-01 20:25

Hej Gandalf

Tak for din præcisering. Det er netop træstrukturen jeg vil have i min menu.
Men jeg vil også gerne kunne relatere artikler til tbl menu.

Det er jo ikke sikkert der til hvert menupunkt er en undemenu.

OVenstående fremgik ikke klart ud af mit første indlæg. Men jeg Håber at du/I kan hjælpe alligevel.

Accepteret svar
Fra : gandalf

Modtaget 60 point
Dato : 25-10-01 22:27

Hej igen,
Nu er jeg med på hvad du vil, du vil lave en træstruktur i en database. Så skal du droppe undermenuer, og i stedet have menuer til at pege på sig selv også kaldet recusiv tabeller. Dette gøres med en ekstra tabel som holder styr på hvilke menuer som høre sammen. På denne måde kan du altid teste om der er andre menuer under en specifik menu.

tblAfdeling
afdelingID (nøgle)
afdelingnavn

tblMenu
menuID (nøgle)
menunavn
afdelingID (fremmednøgle)

tblMenuRecusiv
HovedMenuID (sammensag nøgle)
UnderMenuID (sammensat nøgle)

tblArtikel
ArtikelID (nøgle)
MenuID (fremmednøgle)
Artikelnavn
Artikelindhold

Når du nu vil checke hvilke menuer som ligger under en specifik menu, gøres dette nemt via :

select * from tblMenu a, tblMenuRecusiv b
where b.HovedMenuID=1 and
b.UnderMenuID=a.menuID

Dette skulle klare dit job.

Mvh Gandalf

Kommentar
Fra : sorenm


Dato : 26-10-01 07:13

Hej Gandalf

Du skriver:

Så skal du droppe undermenuer, og i stedet have menuer til at pege på sig selv også kaldet recusiv tabeller. Dette

--Skal jeg slette tabellen tblUndermenu

tblAfdeling
afdelingID (nøgle)
afdelingnavn

tblMenu
menuID (nøgle)
menunavn
afdelingID (fremmednøgle)

tblMenuRecusiv
HovedMenuID (sammensag nøgle)
UnderMenuID (sammensat nøgle)

---Hvis jeg skal droppe tblUndermenu, hvor kommer UnderMenuID så fra??

Jeg har bibeholdt min tabel tblUndermenu
Jeg har lavet en ny tabel:

tblRecusiv
tblRecusivID (sammensat nøgle)
UndermenuID(sammensat nøgle)

Er det det du mener??

Må jeg evt maile dig databasen??




Kommentar
Fra : gandalf


Dato : 26-10-01 08:36

Hej Sorenm

Når du dropper tblUndermenu, så vil undermenuerne bestå af menuer og det vil sige du kan have lige så mange niveauer i dit træ som du måtte ønske, og du kan have artikler på alle niveauer således :

Afdeling
- Menu(1)
|- Artikel (MenuID=1)
|- Artikel (MenuID=1)
|- Menu(2) (HovedMenuid peger på menu(1))
| |- Artikel (MenuID=2)
| |- Artikel (MenuID=2)
|- Menu(3) (HovedMenuid peger på menu(1))
|- Menu(4) (HovedMenuid peger på menu(1))
|- Artikel (MenuID=4)
|- Artikel (MenuID=4)
|- Menu(5) (HovedMenumenuid peger på menu(4))
|- Menu(6) (HovedMenumenuid peger på menu(4))

Hvis dit træ så således ud, så ville tblMenuRecusiv se sådanne ud :

tblMenuRecusiv
HovedMenuID UnderMenuID
------------- ------------
1 2
1 3
1 4
4 5
4 6

Kan du se logikken?

Gandalf

Kommentar
Fra : sorenm


Dato : 26-10-01 12:42

Hej Gandalf

Jeg er ved at gå ned.

Jeg fatter logikken og så fatter jeg den ikke alligevel.

Jeg er ved at indsætte konkrete punkter i databasen, men går hele tiden i stå.

HJÆÆÆÆÆÆÆlp

mvh Søren M

Kommentar
Fra : sorenm


Dato : 26-10-01 14:26

Hej Gandalf

Jeg har et andet bud på en løsning, må jeg maile et skræmdump.
Svar gerne på smh@begavet.dk


Kommentar
Fra : JAA


Dato : 19-12-01 12:55

Jeg kiggede bare

Du har følgende muligheder
Eftersom du ikke er logget ind i systemet, kan du ikke skrive et indlæg til dette spørgsmål.

Hvis du ikke allerede er registreret, kan du gratis blive medlem, ved at trykke på "Bliv medlem" ude i menuen.
Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408914
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste