Om relationer
Om du vill skapa relaterade tabeller definierar du en relation mellan två tabeller. En relation skapas när värdet i ett fält, som kallasmatchande fält (kallas ibland nyckelfält) på ena sidan av relationen stämmer överens med ett värde i det matchande fältet på relationens andra sida, enligt de villkor som du anger i relationen.
Du kan till exempel skapa en relation som innebär att när värdet i fältet StudentID i tabellen Studenter är lika med värdet i fältet StudentID i tabellen Klasser så är posterna i de två tabellerna relaterade.
Läs Arbeta med relationsdiagrammet om du vill skapa, ändra och visa relationerna i din databas.
Fält som används i relationer
Ett matchande fält kan vara ett fält eller en kombination av fält som identifierar en post i en tabell. Till exempel kan ett matchande fält innehålla datum som, när de jämförs med kriterierna i relationen, avgör om relationen lyckas.
En nyckel är en sorts matchande fält. Nycklar innehåller vanligtvis värden som används som ID (t.ex. ett produkt-ID). Det finns två typer av nycklar:
- Primärnyckel – ett fält som finns i samma tabell som posten det identifierar. Ett primärnyckelvärde måste vara unikt och får inte vara tomt (icke-null). Det finns bara en primärnyckel i en tabell, men nyckeln kan bestå av fler än ett fält. Som standard gäller att när du skapar en fil eller en tabell i dialogrutan Hantera databas så innehåller den nya tabellen ett fält för primär nyckel.
- Främmande nyckel – ett fält i en tabell som identifierar en post i en annan tabell. Värden i främmande nycklar behöver inte vara unika i tabellen, och de kan vara tomma (null). Det kan finnas flera främmande nycklar i en tabell.
I en försäljningsdatabas kan både tabellen Kunder och tabellen Fakturor använda fältet KundID för att på ett unikt sätt identifiera varje kund och inköp. Fältet KundID i tabellen Kunder är ett primärnyckelfält, eftersom fältet unikt identifierar varje kund. Fältet KundID i tabellen Fakturor är ett främmande nyckelfält, eftersom dess värden kommer från en annan tabell (i det här fallet tabellen Kunder). Men fältet KundID är matchande fält i båda tabellerna.
När de två tabellerna är relaterade genom fältet KundID, kan en post i tabellen Kunder innehålla en portal som visar varje faktura med matchande KundID. I tabellen Fakturor kan varje faktura med samma KundID visa enhetlig kundinformation.
I FileMaker Pro görs en sökning i de indexerade värdena i matchande fält i en relaterad tabell för att avgöra vilka relaterade poster som uppfyller relationskriterierna för en post i den aktuella tabellen. Därför måste de matchande fälten i den relaterade tabellen kunna indexeras.
Matchande fält måste vara av en av följande fälttyper: text, tal, datum, tid, tidsstämpel eller beräkning (med text, tal, datum, tid eller tidsstämpel som resultat).
Typer av relationer
Relationer underlättar konsekvent inmatning av data och tillämpar regler i en databas. FileMaker Pro har stöd för följande typer av relationer.
Relationstyp |
Beskrivning |
En-till-en |
En post i en tabell är kopplad till en och endast en post i en annan tabell. Mer information finns i Relationer av typen en-till-en. |
En-till-många eller |
En post i en tabell kan vara kopplad till en eller flera poster i en annan tabell. Alternativt kan en post eller flera poster i en tabell vara kopplad/kopplade till en post i en annan tabell. Mer information finns i Relationer av typen en-till-många. |
Självkopplande relation |
Båda de primära nycklarna definieras i två förekomster av samma tabell. Mer information finns i Självkopplande relationer. |
En annan typ av relation är en av typen många-till-många. Relaterade databassystem brukar inte tillåta att du använder en direkt relation av typen många-till-många mellan två tabeller. Däremot kan du designa en databas som har stöd för relationer av typen många-till-många med en tredje, mellanliggande, tabell. Mer information finns i Relationer av typen många-till-många.
Kommentarer
- Ett matchande fält som används för en relation kan vara en destination för en länk, under förutsättning att länken baseras på en annan relation.
- Eftersom globala fält inte kan indexeras kan du inte använda dem som matchande fält i en relaterad tabell. Däremot kan du använda dem som matchande fält i den aktuella tabellen.
- Med hjälp av relationer kan du också gruppera data för att få svar på komplexa sökningar. Du kan t.ex. använda relationer för att ta reda på aktuella lagersaldon, försäljningsprognoser och andra uppgifter där du måste hitta information i flera tabeller.
- Använd behörighetsinställningar i källtabellen för att begränsa eller förhindra tillgång till relaterade data. Användare måste t.ex. ha behörighet att visa ett relaterat matchande fält för att kunna visa de relaterade fälten från den relationen.