sql >> Databasteknik >  >> RDS >> Mysql

Databasdesign:1 tabell eller 2?

Skillnaden mellan de två designerna är främst en av flexibilitet. Om kontot och användardata delar en enda tabell måste varje användare ha ett konto och varje konto kan bara ha en användare (såvida du inte lägger till en annan tabell för att tillåta att underordnade användare kan läggas till utöver den användare som bor med kontot data, eller om du inte lägger till nya poster med dubbletter av kontouppgifter i var och en, vilket är mycket dåligt och motsatsen till vad databaser ska göra).

Med två tabeller kan du enkelt ha flera användare i varje konto, och du kan också välja att tillåta omständigheter där ett konto inte har några användare, eller där en användare inte har ett konto, om det skulle gynna ditt användningsfall.

Avvägningen är att om du vill göra något som att bestämma kontot för en användare (eller användaren/användarna på ett konto), måste du göra en join om du använder två tabeller. Om du har en tabell behöver du bara hämta raden för att få denna information.



  1. Hur man stänger sqlalchemy-anslutning i MySQL

  2. Hur man skapar index på LOWER(users.username) i Rails (med postgres)

  3. ORA-00907 Saknat problem med höger parentes - välj med ordning efter invändig infogningsfråga

  4. Varför är statisk ddl inte tillåtet i PL/SQL?