sql >> Databasteknik >  >> RDS >> Mysql

Designa en databas:Vilket är det bästa tillvägagångssättet?

Detta är en typisk smal tabell (attributbaserad) kontra bred tabelldiskussion. Problemet med tillvägagångssätt #2 är att du förmodligen kommer att behöva pivotera data, för att få den till en form som användaren kan arbeta med (tillbaka till ett format med bred vy). Detta kan vara mycket resurskrävande när antalet rader växer och när antalet attribut växer. Det är också svårt att titta på tabellen, i rå tabellvy, och se vad som händer.

Vi har haft den här diskussionen många gånger på vårt företag. Vi har några tabeller som lämpar sig mycket väl för ett attributtypsschema. Vi har alltid bestämt oss för det på grund av nödvändigheten att pivotera data och oförmågan att se data och få det att vara vettigt (men detta är uthyraren av de två problemen för oss - vi vill bara inte pivotera miljontals rader med data).

BTW, jag skulle inte lagra ålder som ett nummer. Jag skulle spara födelsedatumet, om du har det. Jag vet inte heller vad "Modersmål" syftar på, men om det är språket som mamman talar, skulle jag lagra detta som en FK i en mästarspråkstabell. Det är mer effektivt och minskar problemet med dålig data på grund av ett felstavat språk.



  1. Vad är det rätta sättet att lagra denna data i ett MySQL-schema?

  2. Hur binder man parametrar till en rå DB-fråga i Laravel som används på en modell?

  3. Hur man ändrar färg och teckensnitt i SQL Server Management Studio (SSMS) - SQL Server / TSQL självstudie del 12

  4. Hur man kör en Java-applikation med MySQL DB på en dator utan MySQL installerad?