29. august 2006 - 10:39Der er
7 kommentarer og 1 løsning
Hjælp til design - hvilken løsning er bedst?
Først vil jeg lige beklage titlen, men at koge mit problem ned til en kort sætning er ikke lige så nemt ;)
Jeg er i gang med at designe en større database, og jeg har en del værdier hvor på der skal være en deadline, status mm. på hver enkelt.
Sådan som jeg ser det har jeg to muligheder, hvoraf en ene er besværlig at lave, og en nemmere (i hvert fald hurtigere) løsning, men hvor jeg er meget i tvivl om det designmæssigt er i orden.
Som jeg nævnte har jeg en række værdier der skal ind, og hver enkelt har noget tilhørende info, som fx deadline for udfyldelse af værdien osv.
Hvordan bruger du data? eksempelvis vil forskeligge opslag i den første udgave kræve flere forskellige indexes, hvor den anden løsning kan du benytte samme indexes uanset typen af oplsag. Men hvis du alligevel benytter alle data på én gang hvergang så kan du sagtens holde dig til den første løsning. Hvis du skal bruge indexes på mange af kolonnerne i første løsning vil inserts/updates jo tage længere tid, men det ved jeg ikke om det har nogen betydning for dig? du kan jo evt. placere data "pænt" i din anden løsning og dernæste lave et view der viser dig data i layout tilsvarende din første løsning.
Okay, nu har jeg faktisk aldrig rigtig arbejdet med views før. Hvordan laver jeg det smartest med løsning nr 2, et view til hver ting (isp, downloadhastighed osv) eller et samlet view for det hele?
Hvis du danner to tabeller i stedet for én skal du sådan set bare left outer joine info tabellen tre gange på datalinier tabellen. Jeg skal lige se om jeg ikke får tid senere til at komme med et eksempel, hvis ikke en anden har svaret inden...
D.Isp, I.Deadline AS IspDeadline, I.VisDeadline AS IspVisDeadline, I.Afsluttet AS IspAfsluttet, I.Ansvar AS IspAnsvar, I.Status AS IspStatus, I.Synlig AS IspSynlig,
D.DownloadHastighed, I1.Deadline AS DownloadHastighedDeadline, I1.VisDeadline AS DownloadHastighedVisDeadline, I1.Afsluttet AS DownloadHastighedAfsluttet, I1.Ansvar AS DownloadHastighedAnsvar, I1.Status AS DownloadHastighedStatus, I1.Synlig AS DownloadHastighedSynlig
FROM tblDatalinier AS D
LEFT JOIN tblDataInfo AS I ON I.ID = D.IspInfoID
LEFT JOIN tblDataInfo AS I1 ON I1.ID = DownloadHastighedInfoID
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.