Relationer i en databas
Tisdag 15 januari, 2008 |När du har ställt in olika tabeller för varje ämne i databasen behöver du ett sätt att berätta Microsoft Access hur samla in denna information igen. Det första steget i denna process är att definiera relationer mellan tabeller. Efter att ha gjort detta kan du skapa frågor, formulär och rapporter för att visa information från flera bord samtidigt.
Hur relationer?
En en-till-många
Den en-till-relation är den vanligaste typen av relation. I en en-till-relation, har en post i tabell A kan ha många matchande poster i Tabell B, men ett rekord i tabell B enda matchande post i tabell A.
En många-till-många
I ett många-till-många relation, en post i tabell A kan ha många matchande poster i Tabell B och ett rekord i Tabell B kan ha många matchande poster i tabell A. Denna typ av relation är endast möjligt genom att definiera en tredje tabell (som kallas en sammanslutning tabell) vars primärnyckel består av två fält främmande nycklar från båda tabellerna A och B. Faktum är att en många-till-många relationer är en två-till-många relation med en tredje tabell. Till exempel tabellen Order och tabellen Produkter har en många-till-många-relation som definieras genom att skapa två en-till-många till tabellen Orderdetaljer.
En ett-till-ett
I en en-till-en, varje post i tabell A kan bara ha en matchande post i tabell B och varje post i tabell B kan bara ha en matchande post i tabell A. Sådana förbindelser är inte vanligt eftersom de flesta information mycket väl vara i en enda tabell. Användningen av en en-till-en rekommenderas när du vill dela en tabell med många fält, för att isolera en del av ett bord för säkerhet eller lagra information som gäller endast en delmängd av huvudtabellen. Du kanske vill till exempel skapa en tabell för att registrera de anställda som deltar i en fotbollsmatch att samla in pengar.
Definierar relationerna
Du definierar en relation genom att lägga till de tabeller som du vill relatera till fönstret Relationer och sedan dra nyckeln på ett bord och släppa in den nyckeln i en annan tabell.
Den typ av relation som Microsoft Access skapas beror på hur de relaterade fälten är definierade:
• En en-till-många-relation skapas om endast en av de relaterade fälten är primärnyckel eller har ett unikt index.
• En en-till-en skapas när båda de relaterade fälten är primärnycklar eller har unika index.
• I själva verket är en många-till-många relationer är en två-till-många relation med en tredje tabell, vars primärnyckel består av två fält främmande nycklar för de andra två tabellerna.
Om du drar ett fält som inte är en primär nyckel och inte ha ett unikt index till ett annat fält som inte är en primär nyckel och inte ha ett unikt index, är ett obestämt relation skapas. I frågor som innehåller tabeller med en obestämd relation, visas Microsoft Access en standard ansluter linje mellan borden, men referensintegritet inte efterlevs och det finns ingen garanti för att register är unika i varje tabell.





























