29. november 2004 - 14:05
Der er
7 kommentarer og 1 løsning
Tabeller i en database - normalisering
Jeg skal gemme nogle oplysninger om en genstand, og har blandt andet disse tabeller: Genstand -ID (PK) -kategoriID (FK) -subkategoriID (FK) -producentID (FK) De tre sidste tabeller har alle ID som PK, og en beskrivelse. En kategori har en eller flere subkategorier. En subkategori har en eller flere producenter. En producent kan optræde i en eller flere subkategorier. Hvordan skal databasen se ud, med de nødvændige relationer, og normaliseret?
Annonceindlæg fra Trustworks
Tillid i en Zero-Trust verden
Med voksende trusler, nye EU-krav og øget kompleksitet er cybersikkerhed nu en central ledelsesopgave på linje med strategi og økonomi.
29. november 2004 - 14:44
#1
Hvis jeg har forstået dig rigtigt: Genstand -------- ID (PK) subkategoriID (FK) producentID (FK) ... Producent --------- ID (PK) ... Subkategori ----------- ID (PK) kategoriID (FK) ... Kategori -------- ID (PK) ...
29. november 2004 - 15:02
#2
Delvist. En genstand skal også have en kategoriID (FK), det er nemt nok. Men til en producent, skal der også være muligt at se hvilke subkategorier den findes i. Fx kan producenten "Canon" tilhøre både subkategori "Kamera" og subkategori "Printer".
29. november 2004 - 15:08
#3
Jeg havde lavet 2 antagelser. 1) at en sub kategori kun kunne tilhøre en kategori og i så fald er det unødvendigt at angive kategori i Genstand, da den er givet ved subkategori 2) at sammenknytningen mellem producenter og subkategorier udelukkende sker gennem genstande Det er ikke sikert at det giver den hurtigste SQL. Men du bad jo eksplicit om noget normaliseret.
29. november 2004 - 15:59
#4
OK, antagelse 1 er korrekt, og det er selvfølgelig nok at angive kategori i genstand. Til antagelse 2 kan jeg tilføje at til en given genstand skal der vælges kategori, subkategori og producent, i nævnte rækkefølge. Dvs. at valg af kategori A giver subkategorier Aa, Ab og Ac, og valg af subkategori Ab giver producenter Ab1, Ab2 og Ab3. Da får jeg en ny tabel Producent-subkategori ------- producentID (PK) subkategoriID (PK) hvor det er nemt ud fra en subkategori at finde de tilhørende producenter. Giver det mening?
29. november 2004 - 16:08
#5
Ja absolut
29. november 2004 - 16:11
#6
Men teoretisk skulle: Genstand -------- ID (PK) subkategoriID (FK) producentID (FK) ... ProducentSubkategori ------- producentID (PK,FK) subkategoriID (PK,FK) måske være: Genstand -------- ID (PK) producentsubkategoriID (FK) ... ProducentSubkategori ------- ID (PK) producentID (FK) subkategoriID (FK)
29. november 2004 - 17:09
#7
Da har jeg: 1. Genstand -------- ID (PK) producentsubkategoriID (FK) ... 2. Kategori -------- ID (PK) ... 3. Subkategori ----------- ID (PK) kategoriID (FK) ... 4. Producent --------- ID (PK) ... 5. ProducentSubkategori ------- ID (PK) producentID (FK) subkategoriID (FK) Det ser I mine øjne ud som en ok løsning, så den giver jeg lige et forsøg. (og jeg har vel 14 dages returret? ;O) Tak for hjælp, arne_v.
29. november 2004 - 17:15
#8
jeg ligger et svar så
Computerworld tilbyder specialiserede kurser i database-management