webForumDet fria alternativet

Databasstruktur?

Webbutveckling

9 svar · 492 visningar · startad av Jesper T

Medlem sedan nov. 20017 144 inlägg
Frågan#1

Försöker att sammanställa en kalender efter aktiviteter i flera databastabeller. Jag har gjort flera försök(postade i sqlforumet)
men jag har svårt att få till själva stukturen på det hela.

Jag tror att jag är tvungen att ha det mesta i olika tabeller för att spara på onödig kolumnplats(tomma kolumnfält).

Det jag nu vill göra är att markera ut i kalendern med iconer när jag har händelser i de olika tabellerna på ett visst datum och relaterat till u.ID_U Users u

Ungefär som på bilden:

Mina tabeller och kolumner kommer säkerligen att bli flera men för tillfället ser det ut ungefär så här:

Agenda_P
--------------------------
Datum_P | ID_P | Text_P

Agenda_A
--------------------------
Datum_A | ID_A | Text_A | Note_A

Traning
--------------------------
Datum_T | ID_T | AktivitetId_T | Text_T

Users
--------------------------
Namn_U | ID_U | Adress_U | Tel_U | Gata_U | Ort_U | Mnummer_U

Chatmote
--------------------------
Datum_C | ID_C | Text_C | Tid_C

Har ni några idéer hur man strukturerar upp detta? :q

Medlem sedan nov. 20017 144 inlägg
#2

Är det fortfarande ingen som har något tips hur man löser detta?

Medlem sedan nov. 20017 144 inlägg
#3

Nu så ser sql:en ut så här, är den effektiv?

 Id = request("Id")
d = request("datum")
SQL = "SELECT Count(chatmote.CM_Id) AS Inlchatmote,"&_
" (SELECT Count(Agenda.A_id) FROM Agenda WHERE Agenda.A_datum = #" & d & "# AND Agenda.A_id="& Id &")  AS InlAgenda ,"&_
" (SELECT Count(Calendar.C_id) FROM Calendar WHERE Calendar.C_datum = #" & d & "# AND Calendar.C_id="& Id &") AS InlCalendar FROM chatmote"&_
" WHERE chatmote.CM_Id="& Id &" AND chatmote.CM_datum = #" & d & "#"
Medlem sedan nov. 20017 144 inlägg
#4

Är den effektiv i prestanda syfte?
Kan ingen svara mig*känner mig åsidosatt*? :l ;)

Medlem sedan nov. 20017 144 inlägg
#5

Fortfarande inga förslag?

Medlem sedan nov. 20017 144 inlägg
#6

Ingen?

Medlem sedan nov. 20017 144 inlägg
#7

Är det någon som bara skulle kunna ge en hint? ;)

Medlem sedan juni 20003 076 inlägg
#8

Är ingen sql master men man bör väl kunna referera till första tabellens värden,
samt att du sätter alias på tabellnamnen för att korta ner strängen. :)

SQL = "SELECT Count(ch.CM_Id) AS Inlchatmote," & _
"(SELECT Count(a.A_id) FROM Agenda a WHERE a.A_datum = ch.CM_datum AND a.A_id = ch.CM_Id)  AS InlAgenda , " & _
"(SELECT Count(c.C_id) FROM Calendar c WHERE c.C_datum = ch.CM_datum AND c.C_id = ch.CM_Id) AS InlCalendar " & _
"FROM chatmote ch WHERE ch.CM_Id="& Id &" AND ch.CM_datum = #" & d & "# "
Medlem sedan nov. 20017 144 inlägg
#9

Tack, men jag undrar om detta är det mest effektiva sättet att hämta info ur flera tabeller, eller skall jag göra på något annat sätt?

Medlem sedan nov. 20017 144 inlägg
#10

Detta verkar ju vara oerhört komplext, går det inte att lösa detta på ett smidigare sätt?

262 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
123 ms — deklarationer (db)
0 ms — hämta statistik (cache)
136 ms — hämta tråd, inlägg och bilagor (db)
122 ms — ändringar (db)