Omstrukturering av Databas - Behöver hjälp

Permalänk
Medlem

Omstrukturering av Databas - Behöver hjälp

Hej
Vill börja med att säga att det inte är jag som gjort databasen i fråga utan jag har fått ta över från 2 andra personer, som "bara kört på".

Programet är skrivet i C#, det är gjort för transportbranschen där vi har ett egetutvecklat schema (se bild nedan) som vår transportledare planerar utifrån. Schemat är nu tänkt att bli mer funktionellt men har samtidigt blivit ytterst segt att ladda vilket jag tror beror på den urusla databasen som ligger till grund för hela programet.

ImageShack: Host and Share your Photos and Videos - schemab.png

När schemat laddas måste den för varje jobb gå in i 3 olika tabeller i 3 olika databaser. 2 av dessa är bland det värsta jag sett. De innehåller ca 200 kolumner och runt 4000 rader.

Det jag undrar är hur jag ska kunna snabba upp laddtiden på schemat, jag vet att det går att normalisera oerhört mycket, men hur mycket kommer det hjälpa?, är det effektivt?. Vill helst slippa jobba i flera månader för att sedan inte tjäna något på det.
Om jag sedan strukturerat om databasen, hur för jag smidigast över all befintlig data?.
Schemat ritas upp mha Graphics, är detta en slö och dålig lösning? finns det någon lösning som är effektivare?

Jag jobbar med Access databaser.

Permalänk
Medlem

200 kolumner!?
Finns det någon specifik anledning till att det finns så många kolumner?
Jag vet ju inte riktigt hur ni har gjort, men kan ni inte hämta alla jobb med en (1) query istället för ett anrop för varje jobb?
Hur många är ni som samtidigt hämtar data från databasen?
Jag uppfattar att Access är allmänt segt för stora databaser. msSQL borde väl vara en bättre lösning?

EDIT:
Förtydligade "en" till "en (1)"

Visa signatur

citera!

Permalänk
Medlem

det du kan göra är att joina tables. ex:

tabell 1 (produkter)
_____________________________________
|produkt id | produkt namn | beskrivning |
_____________________________________
| 1 | produkt1 | asdasd |
_____________________________________
| 2 | produkt2 | asdasd |
_____________________________________

tabell 2 (butiker)
_____________________________________
|butik id | butik namn | beskrivning |
_____________________________________
| 1 | butik1 | asdasd |
_____________________________________
| 2 | butik2 | asdasd |
_____________________________________

join table
_____________________________________
|id | produkt id | butik id |
_____________________________________
| 1 | 1 | 1 | ##betyder att produkt1 finns i butik1
_____________________________________
| 2 | 1 | 2 | ##betyder att produkt1 finns i butik2
_____________________________________
| 3 | 2 | 1 | ##betyder att produkt2 finns i butik1
_____________________________________

Gör du på det sättet så kan du korsa alla tabeller snabbt och smidigt. samt att ni kan hämta alla jobb med 1 query och sedan fetcha igenom arrayen med en simpel loop.

hör av dig via pm om du behöver hjälp!

Visa signatur

Awesome stuff can be found @ www.demonshalo.com
follow us on twitter: www.twitter.com/demonshalo_com