webForumDet fria alternativet

Forum (databasstruktur)

ASP

11 svar · 261 visningar · startad av Skarre

Medlem sedan apr. 20012 427 inlägg
Frågan#1

Jag pular lite med ett forum till ett projekt i plugget men då jag aldrig gett mig på ett forum förut har jag lite problem med databasstrukturen. Jag har tänkt att föjande tre kolumner ska strukturera upp inlägg och trådar.

PostID (primärnyckel, räknare)
TopicID (tal)
Master (sant/falskt)

"PostID" har jag med för att kunna länka till ett specifikt inlägg genom t.ex. ankare.

"TopicID" berättar vilken diskussion inlägget hör hemma i. All inlägg i en diskussion har samma "TopicID".

"Master" håller reda på om inlägget är ett huvudinlägg eller inte.

Problemet blir när jag ska lägga till en ny diskussion. Den nya diskussionen måste ju ha ett unikt tal i "TopicID"-kolumnen som inlägg i samma diskussion kan ärva. Hur går jag tillväga? Kan man på något sätt få ut det högsta nummret i kolumnen "TopicID" och lägga på 1?

------------------
// Skarre

Medlem sedan apr. 20012 427 inlägg
#2

Jag tror att jag löste det själv:

"SELECT TOP 1 TopicID FROM tblForum ORDER BY TopicID DESC"

...och sedan lägger jag på 1.

Frågan är om detta är onödigt omständligt. Hur ser databasstrukturen för ett forum normalt ut?

------------------
// Skarre

Medlem sedan dec. 19996 522 inlägg
#3

Normalforum och normal forum. Jag har gjort ett par forum och där har jag oftast haft en tabell för topics, en tabell för replies och sen diverse andra tabeller för lite andra saker.

------------------
Real mad hiphop flavaz kickin' it right from tha street without no FEAR, Yo !

Medlem sedan mars 20014 214 inlägg
#4

Så här brukar mina tabeller se ut

tblRubriker:
rubrikID: räknare
Namn: Text
Email: Text
Rubrik: PM
Inlagg: PM
Datum: datum/tid
Antalsvar: tal
Senaste: datum/tid

tblSvar:
svarID:räknare
namn: text
email: text
datum: datum/tid
svartill: tal

------------------
Den som inte vet att tiga vet inte att tala

Medlem sedan dec. 200012 464 inlägg
#5

Om du har definierat kolumnen som räknare så behöver du inte själv hålla på och räkna ut ett nytt värde.

Det är bara att utelämna kolumnen när du gör insert så sköter dbms'et om att det blir ett nytt värde.

Dessutom är din metod inte helt säker.

------------------
essentitia preter non sans multiplicandum

Medlem sedan apr. 20012 427 inlägg
#6

Med andra ord bör jag ha separata tabeller för huvudinlägg resp. svar?

------------------
// Skarre

Medlem sedan dec. 19998 577 inlägg
#7

Varför inte ha både huvudinlägg och svar i samma?

------------------
Doesn't 'expecting the unexpected' make the unexpected expected?
webeye.nu

Medlem sedan mars 20014 214 inlägg
#8

Vide: Om man har många inlägg och många rubriker vore det då inte smartare att ha 2 tabeller då man annars måste leta igenom alla inlägg och kolla om de är rubriker eller svar?

------------------
Den som inte vet att tiga vet inte att tala

Medlem sedan dec. 19998 577 inlägg
#9

Nej, många poster är inga problem för en bra DB.

------------------
Doesn't 'expecting the unexpected' make the unexpected expected?
webeye.nu

Medlem sedan mars 20014 214 inlägg
#10

För en bra DB... räknas acces till det :OO

Jag använder det, och då kanske jag ska tänka om...?

------------------
Den som inte vet att tiga vet inte att tala

Medlem sedan dec. 19996 522 inlägg
#11

Nej access fungerar mycket bättre än vad många tror. Det är hur du skriver asp:n som spelar stor roll, framför allt hur du ansluter och öppnar db:n.

Självklart är en MS SQL server mycket bättre , men också mycket mycket dyrare. MySQL är ett alternativ som är vid vissa tillfällen gratis.

------------------
Real mad hiphop flavaz kickin' it right from tha street without no FEAR, Yo !

Medlem sedan dec. 19998 577 inlägg
#12

Access fungerar till en viss gräns, skall du inte ha 100.000 poster eller mer så funkar det bra...

------------------
Doesn't 'expecting the unexpected' make the unexpected expected?
webeye.nu

257 ms totalt · 4 externa anrop · v20260731065814-full.e96017d9
126 ms — deklarationer (db)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)
123 ms — ändringar (db)