En vanlig term som används i databasdesign är en "relationell databas". Men en databasrelation är inte samma sak och innebär inte, som namnet antyder, ett förhållande mellan tabeller. Snarare refererar en databasrelation till en enskild tabell i en relationsdatabas.
I en relationsdatabas är tabellen en relation eftersom den lagrar förhållandet mellan data i dess kolumnradformat. Kolumnerna är tabellens attribut, medan raderna representerar dataposterna. En enda rad är känd som en tuple till databasdesigners.
Definitionen och egenskaperna för ett förhållande
En relation eller tabell i en relationsdatabas har vissa egenskaper. Först måste namnet vara unikt i databasen, dvs en databas kan inte innehålla flera tabeller med samma namn. Därefter måste varje relation ha en uppsättning kolumner eller attribut, och den måste ha en rad rader som innehåller data. Som med tabellnamnen kan inga attribut ha samma namn.
Därefter kan ingen tuple (eller rad) vara en dubblett. I praktiken kan en databas faktiskt innehålla dubbla rader, men det bör finnas rutiner för att undvika detta, till exempel användningen av unika primära nycklar (nästa upp).
Med tanke på att en tuple inte kan vara en dubblett följer det att en relation måste innehålla minst ett attribut (eller kolumn) som identifierar varje tupel (eller rad) unikt. Detta är vanligtvis den primära nyckeln. Den här primära nyckeln kan inte dupliceras. Det betyder att ingen tupel kan ha samma unika, primära nyckel. Nyckeln kan inte ha ett NULL-värde, vilket helt enkelt betyder att värdet måste vara känt.
Vidare måste varje cell eller fält innehålla ett enda värde. Du kan till exempel inte skriva in något som "Tom Smith" och förvänta dig att databasen förstår att du har för- och efternamn; snarare kommer databasen att förstå att värdet på den cellen är exakt vad som har skrivits in.
Slutligen måste alla attribut eller kolumner vara av samma domän, vilket innebär att de måste ha samma datatyp. Du kan inte blanda en sträng och ett tal i en enda cell.
Alla dessa egenskaper, eller begränsningar, tjänar till att säkerställa dataintegritet, viktigt för att upprätthålla dataens noggrannhet.