sql >> Databasteknik >  >> RDS >> Oracle

Försöker du förstå kardinalitet i ett entitetsrelationsdiagram?

ERD:er är ett fantastiskt verktyg och jag är säker på att när du väl tar dig runt dem kommer du att hålla med.

Relationerna är alltid viktiga att upprätthålla. I din databas är relationen mellan klient och ärende en 1 till många. Detta innebär att varje ärende måste ha en och endast en klient men varje klient måste ha minst ett ärende men de kan ha många. I det här fallet bör varje klient ha ett client_id som är primärnyckeln och måste vara unikt etc. Detta kommer att refereras till i casetabellen som en främmande nyckel så att casetabellen kommer att ha ett client_id för varje case. Detta kommer att upprätthålla 1 till många-relationen mellan de två tabellerna.

Som du kan se är de flesta av relationerna i detta diagram 1 till många, vilket är hur en väldesignad databas bör vara för att upprätthålla referensintegritet. Den enda inkonsekvensen med detta är förhållandet mellan ärende och företagsärende där förhållandet är 1 till noll eller 1. Detta betyder att ett ärende kanske inte har ett företag tilldelat sig och att om det gör det måste det bara ha 1. I detta case Jag skulle rekommendera att använda en PK i corporate case och länka den till en FK i fall.

Om du behöver mer information om hur dessa relationer översätts till engelska kan den här sidan hjälpa http://www.informit.com/articles/article.aspx?p=27281&seqNum=3

Lycka till.



  1. Hur använder man MySQL DECIMAL?

  2. är MySql bra för stora databaser?

  3. Bästa sättet att förhindra dubbletter av data på kopia csv postgresql

  4. Varför returnerar SELECT ... WHERE id =a ett resultat om värdet är 0