Databas (Access) får inte rätt struktur på tabellerna

Permalänk
Medlem

Databas (Access) får inte rätt struktur på tabellerna

Hej.

Jag håller på att göra en lite databas där jag i en tabell ska lägga in olika personer. Förnamn, efternamn och grupp tillhörighet. Den tabellen är det inga problem med. Den andra tabellen ska vara en lista på olika krav som ska vara uppnådda. Jag tänkte mig att den tabellen skulle innehålla två fält, ett med kravets beskrivning och ett där man kan kryssa i ja eller nej. Så långt är färdigt. Mitt problem är att kunna koppla varje person till alla kraven så att jag kan göra ett formulär där jag kan bläddra bland personerna för att se vilka krav som de individuellt har uppnått.

Det ända sättet jag har lyckats lösa mitt problem på är att i min tabell med kraven skriva in de olika kraven att uppnå lika många gånger som jag har personer i databasen. Vilket känns onödigt. Hur kan jag på dynamisk väg koppla en person kravet för att se om de har uppnått dom.

Hoppas jag har varit tydlig annars ange för mer information ni behöver.

Visa signatur

Apple Mackbook Pro 15" Retina 2013

Permalänk

Varje person och krav bör ha ett id(primary key) nummer som är unikt för tabellen. När detta är gjort så skapar du en ny tabell som lagrar person_id och krav_id, så varje gång ett krav uppfylls så skapas en rad i den nya tabellen med person_id,krav_id.

Hur du sedan ska få detta att ske automatiskt har jag ingen aning om, personligen har jag bara kört mot SQL databaser genom program som jag själv har skrivit i Java eller C#. Det är väl något grafiskt gränssnitt som man kör mot access, du kanske kan göra något slags script för detta?

Permalänk
Medlem
Skrivet av Nulletz:

Mitt problem är att kunna koppla varje person till alla kraven så att jag kan göra ett formulär där jag kan bläddra bland personerna för att se vilka krav som de individuellt har uppnått.

I många till många-relationer vill du ha en mellanstående tabell. Du har personer och en lista på krav:

Tabell Person: ID Efternamn Förnamn Grupp Tabell Krav: Beteckning Namn Beskrivning

Notera att du inte ska ha ett ja-/nej-fält på tabell Krav. Istället ska du ha en tabell som separerar många till många-förhållandet till två stycken en till många:

PersonKrav: PersonID KravBeteckning

Här kommer lite exempeldata:

Person [ID, Efternamn, Förnamn, Grupp] 1, Gates, Bill, Microsoft 2, Jobs, Steve, Apple 3, Stallman, Richard, GNU Krav [Beteckning, Namn, Beskrivning] GÖ, Glasögon, Har glasögon KV, Visslar, Kan vissla BAL, Balett, Dansar balett

Om Bill Gates kan vissla och dansa balett så görs kopplingen i tabellen PersonKrav såhär:

PersonKrav [PersonID, KravBeteckning] 1, KV 1, BAL

På så vis får du en normaliserad databas utan dubletter i någon tabell!

Visa signatur

Kom-pa-TI-bilitet

Permalänk
Medlem

Tackar!

Ska genast sätta igång med databasen.

Visa signatur

Apple Mackbook Pro 15" Retina 2013