webForumDet fria alternativet
Logga in / Bli medlem

´databasdesign för hantering av dokument

Databaser & SQL

2 svar · 447 visningar · startad av inspiro

Medlem sedan sep. 2005673 inlägg
Frågan#1

Hej! Jag har tre tabeller med olika typer av reservdelar. Till varje reservdel ska det gå att koppla dokument (0 till många) som finns i en mapp så jag har skapat en genemsam tabell för dessa dokument där jag för varje dokument sparar dokumentnamnet och reservdelens id. Men eftersom det finns tre tabeller med reservdelar så måste jag ju veta i vilken tabell reservdelen finns i (olika reservdelar kan ju ha samma id-nummer!).

Att spara namnet på reservdelstabellen i dokumenttabellen skulle kanske funka, men det känns inte som en bra design. Ska man ha någon kopplingstabell emellan eller vad skulle ni ha gjort?

Medlem sedan dec. 19995 874 inlägg
#2

Ett sätt är att skapa en documentstabell som innehåller flera poster med samma documentsid men olika poster av documentid, de tillsammans utgör pk.

Sedan en tabell för dina dokument.
Till detta infogar du en referens till documentstabellen (som kan vara null) i varje reservdelstabell.

reservdeltyp1
------------------------
reservdeltyp1id - int pk
documentsId	- int fk, nullable

reservdeltyp2
------------------------
reservdeltyp2id	- int pk
documentsId	- int fk, nullable

reservdeltyp3
------------------------
reservdeltyp3id	- int pk
documentsId	- int fk, nullable

documents
------------------------
documentsId	- int pk
documentId	- int pk, fk

document
------------------------
documentid	- int pk
documentdata	- varchar(max)
Medlem sedan sep. 2005673 inlägg
#3

Ok, tack, så får det bli! :)

428 ms totalt · 4 externa anrop · v20260731065814-full.5386d3bf
176 ms — deklarationer (db)
123 ms — hämta statistik (db)
127 ms — hämta tråd, inlägg och bilagor (db)
124 ms — ändringar (db)