Varför har du med intKatid i tabellen Artikel? Det räcker ju att intKategori har en relation till subkategori.
Jag skulle nog lägga information om skribenter i en egen tabell.
Databaser & SQLur Databashanterare & SQL
9 svar · 521 visningar · startad av LAMP
Hej
jag skulle vilja ha lite synpunkter och förslag på följande artikelsystem. Ändringar och förbättringar?
Ny tabellstruktur: Beskrivning: Exempel:
Tabell Kategori:
* intId (räknare, mediumint, (2)) (Huvudkategori id unikt) 20
strKat (varchar, (150)) (Namn på huvudkategori) Datorer
Tabell subKategori:
intSubKatId (Räknare, mediumint, (2)) (Subkategori id unikt) 62
strSubKatNamn (varchar, (150)) (Namn på Subkategori) Hårdvara
* intKatId (mediumint, (2)) (Huvudkategori id) 20
Tabell Artikel:
intArtikelId (räknare, int(5)) (artikel id unikt)
* intKatId (mediumint, (2)) 20
intKategori (mediumint, (2)) 62
strArtikelRubrik (varchar, (150))
strSkribent (varchar, (30))
dtePubDate (datetime, (0000-00-00 00:00:00))
strText mediumtext
strSkribentEpost (varchar, (100))
* = relation
Varför har du med intKatid i tabellen Artikel? Det räcker ju att intKategori har en relation till subkategori.
Jag skulle nog lägga information om skribenter i en egen tabell.
Varför har du med intKatid i tabellen Artikel? Det räcker ju att intKategori har en relation till subkategori.
Det har du så rätt i, blind är man ibland. :)
Informationen om skribenten tål att tänkas vidare på.
Jag kom på en fundering till. Man vill helst ha med lite bilder i en artikel. Artiklarna kommer bli av förklarande karaktär.
Hur gör man på ett smart sätt (databasstrukturmässigt) för att kunna lägga in varierat antal bilder på ett enkelt sätt. mysql:s inbyggda funktioner i select-frågor är minst sagt begränsade.
Det får bli en tabell till där du har artikelID och sökväg till bilden.
mysql:s inbyggda funktioner i select-frågor är minst sagt begränsade.
Visserligen håller jag med, men hur kommer det in i bilden?
Visserligen håller jag med, men hur kommer det in i bilden?
Det blir mer komplicerat att hämta ut rätt data på ett effektivt sätt. Är då tabellstrukturen undermålig blir det ännu svårare. Därför bör man tänka till lite extra i databasstrukturen till en mysql databas för att man har sämre verktyg än med t ex sql-server.
Nu är jag tillbaka, lika frågvis som innan.
Nu blir det i följande steg:
Kategori --> Subkategori --> Artikelrubrik
Men allt eftersom sidan växer behöver man kanske:
Kategori --> Subkategori --> Subkategori2 --> Artikelrubrik
Hur bör man förändra ovanstående struktur så det är möjligt att i viss mån göra subkategorier mer flexibelt. Kan man med mysql:s select-verktyg ha.
Kategori --> Subkategori --> Subkategori2 --> Artikelrubrik
utan rekursion? Jag tänkte ha ovanstående som maxdjup. Om inte hur bör strukturen förändras och hur bygger man en sql-fråga som loopar ut:
Kategori
Subkategori
Subkategori2
Artikelrubrik
Tacksam för förslag.
Hej, jag måste få passa på att fråga detta.
Är det bättre att dela upp artikel strukturen på flera tabeller än att ha allt i en tabell? Går det snabbare kanske?
Jag använder strukturen ovan med små förändringar som du tyckte LarsG. Tack för dina synpunkter!
Nu ska jag generera en meny utifrån detta. Jag använder följande kod.
Kan man göra på ett enklare sätt?
Tacksam för synpunkter ;)
sql ="SELECT strHeader1Name, intHeader1Id FROM header1 ORDER BY strHeader1Name ASC"
arrHeader1 = con.Execute(sql).GetRows()
For I = 0 To UBound(arrHeader1,2)
strHeader1 = arrHeader1(0,I)
intHeader1Id = arrHeader1(1,I)
Response.Write "<p><b>" & strHeader1 &"</b></p>"
sqlstmt ="SELECT strHeader2Name, intCurrentHeader1Id FROM header2 WHERE intCurrentHeader1Id = "&intHeader1Id&" ORDER BY strHeader2Name ASC"
arrHeader2 = con.Execute(sqlstmt).GetRows()
For Z = 0 To UBound(arrHeader2,2)
strHeader2 = arrHeader2(0,Z)
intHeader2Id = arrHeader2(1,Z)
Response.Write "<p> " & strHeader2 &"</p>"
Next
Next
Ingen som har en synpunkt?
Varför vill du inte använda rekursion?