Avatar billede bjornhart Nybegynder
04. september 2010 - 00:10 Der er 8 kommentarer og
1 løsning

design af materieldatabase

Hej

Jeg er i gang med at lave en database som skal indeholde data om alt vores edb-udstyr på mit arbejde.

I forbindelse med designet af databasen hænger jeg lidt fast i om jeg skal oprettte en tabel for hvert type edb-udstyr(en printer-tabel, en pc-tabel, mobiltelefon-tabel ..ect) eller om alt skal puttes i samme tabel(udstyr-tabel).

Er der nogen der har en mening om det?
Avatar billede bjornhart Nybegynder
04. september 2010 - 00:20 #1
Dette spørgsmål skulle nok have været oprettet i generelt-kategorien. beklager, men håber stadig at nogen kan svare mig.
Avatar billede keysersoze Guru
04. september 2010 - 00:32 #2
det virker meget ufleksibelt at lave en tabel til hver type - en tabel med type og en tabel med udstyr samt evt en tabel med egenskaber og en relation mellem de to sidste såfremt der skal egenskaber på.
Avatar billede muddi Praktikant
04. september 2010 - 01:19 #3
Enig med keysersoze, du skal sørge for at normalisere dine data, så du senere kan udvide med nye kategorier og enheder. Hvis du følger det råd, vil det spare dig for meget bøvl og besværlige løsninger i fremtiden, når du skal udvide og videreudvikle dit system.

Du skal også overveje, om nogen af enhederne kan tilhøre flere forskellige kategorier, f.eks for at gøre det lettere at søge på dem. I så fald skal du bruge en mange-til-mange relation, ellers kan du klare dig med en en-til-mange relation mellem tabellerne.
Avatar billede bjornhart Nybegynder
04. september 2010 - 10:30 #4
Ok. En tabel til det hele. Er det dårligt design, hvis man laver felter i tabellen som kun bruges af en speciel type ex. mobiltelefon som har et imei nr. eller vil det være mere hensigtsmæssigt at lave egenskabstabeller for de enkelte typer som keysersoze hentyder til?
Vedr. egenskabstabeller for de enkelte typer mobiltlf., pc'er, printer ect. Er man så ikke næsten tilbage til udgangspunktet med at lave en tabel for hver type?
Avatar billede keysersoze Guru
04. september 2010 - 10:44 #5
Der vil altid være tilfælde der kan bryde reglen - men som udgangspunkt er det en dårlig idé med imei nummer i en tabel hvor kun nogle typer benytter.

Jeg taler ikke om egenskabstabeller for hver type men derimid én tabel med alle egenskaber i - det er relationstabellen mellem egenskaber og udstyr hvor selve værdierne ligger i.
Avatar billede bjornhart Nybegynder
04. september 2010 - 11:35 #6
Ok, men jeg må indrømme jeg ikke kan forstå det med en egenskabstabel.
Hvilke oplysninger skal der gemmes i denne tabel? Hvis den ikke er type specifik vil der vel være en masse felter i den som har en null-værdi, og så kunne man vel ligeså lægge dataerne direkte i udstyrs tabellen.

Keysersoze kan du give mig et eksempel på hvordan dataerne ville være repræsenteret i tabellerne for en mobiltelefon(navn, imei), en pc(navn, mac-adresse, ipadresse) og en printer(navn,mac-adresse, ipadresse, sharenavn).
Avatar billede keysersoze Guru
04. september 2010 - 12:12 #7
din egenskabs-tabel indeholder ikke andet end mulige egenskaber

ID, NAVN
1, imei
2, ipadresse
3, macadresse
4, sharenavn
...

og relationstabellen mellem udstyr og egenskaber indeholder værdien på de for det specikke udstyr relevante værdier

UDSTYRID, EGENSKABID, VALUE
1, 1, 4564866816
2, 2, 192.168.1.1
2, 3, 18634384MLKF
3, 2, 192.168.1.1
3, 3, 18634384MLKF
3, 4, printer_i_rum1

navn på udstyr er globalt og bør derfor ligge i udstyr-tabellen.
Avatar billede bjornhart Nybegynder
04. september 2010 - 23:42 #8
->Keysersoze tak for det nu forstår jeg hvad du mener med en egenskabstabel og relationstabellen Udstyr_egenskaber.

Tror dog at jeg vil lave egenskabsfelterne direkte i udstyrtabellen og acceptere at nogle egenskabsværdier er null. Jeg synes det virker noget nemmere at implementere.

Tak for jeres input, send venligst et svar så jeg kan få lukket spørgsmålet.
Avatar billede keysersoze Guru
05. september 2010 - 00:39 #9
Der er ingen tvivl om at det formentlig gør det lettere at implementere - til gengæld bliver det et helvede at udvidde :)
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester