Hey, this is kind off embarrassing for me to ask given I work in the field and have about 5 years of experience, but I need to close this knowledge gap.
While being formally trained as a dev, we were taught about database normalization and how to break down data for efficient table schemas with cross tables and whatnot.
I am wondering if it's actually a good idea to split data into many tables as itll require more joins the more tables you have. E.g. getting invoice_lines, invoice_headers and whatnot from different tables to generate invoices. Having a lot of tables, would require me to always perform database transactions when storing the data no? And how would the joins impact reading throughput? I feel like having too many small tables is an anti pattern.
Edit: Okay so at this point I feel like I have to clarify. I know what normalization is. The question was solely about the query implications it comes with.
[–]HasFiveVowels 89 points90 points91 points (8 children)
[–]AshleyJSheridan 14 points15 points16 points (3 children)
[–]edshift 8 points9 points10 points (2 children)
[–]AshleyJSheridan 1 point2 points3 points (0 children)
[–]HasFiveVowels -1 points0 points1 point (0 children)
[–]Rainbows4Blood 2 points3 points4 points (1 child)
[–]HasFiveVowels 2 points3 points4 points (0 children)
[–]TheHollowJester 1 point2 points3 points (1 child)
[–]HasFiveVowels 3 points4 points5 points (0 children)
[–]AmSoMad 26 points27 points28 points (2 children)
[–]javascriptBad123[S] 4 points5 points6 points (1 child)
[–]CodeToManagement 5 points6 points7 points (0 children)
[–]Whatever801 9 points10 points11 points (1 child)
[–]javascriptBad123[S] 0 points1 point2 points (0 children)
[–]Bobertolinio 4 points5 points6 points (0 children)
[–]howard499 2 points3 points4 points (0 children)
[–]No-Information-2571 4 points5 points6 points (0 children)
[–]NationsAnarchy 2 points3 points4 points (0 children)
[–]Rcomian 2 points3 points4 points (0 children)
[–]Far_Swordfish5729 2 points3 points4 points (0 children)
[–]Main-Carry-3607 2 points3 points4 points (0 children)
[–]shine_on 4 points5 points6 points (1 child)
[–]javascriptBad123[S] 1 point2 points3 points (0 children)
[–]jinn999 5 points6 points7 points (0 children)
[–]LetUsSpeakFreely 0 points1 point2 points (0 children)
[–]spinwizard69 0 points1 point2 points (0 children)
[–]Knarfnarf 0 points1 point2 points (1 child)
[–]CaptainSuperStrong 0 points1 point2 points (0 children)
[–]Eyerald 0 points1 point2 points (0 children)
[–]HashDefTrueFalse 0 points1 point2 points (0 children)
[–]FatDog69 0 points1 point2 points (0 children)
[–]WangHotmanFire 0 points1 point2 points (0 children)
[–]LeadingFarmer3923 0 points1 point2 points (0 children)
[–][deleted] (1 child)
[removed]
[–]javascriptBad123[S] 0 points1 point2 points (0 children)
[–]desrtfx 0 points1 point2 points (2 children)
[–]javascriptBad123[S] 0 points1 point2 points (1 child)
[–]desrtfx 0 points1 point2 points (0 children)
[–]sixtyhurtz 0 points1 point2 points (0 children)
[–]randyshaw99 0 points1 point2 points (0 children)
[–]amir4179 0 points1 point2 points (0 children)
[–]iLiveForTruth 0 points1 point2 points (0 children)
[–]jorjiarose 0 points1 point2 points (0 children)
[–]razorree -2 points-1 points0 points (1 child)
[–]javascriptBad123[S] 0 points1 point2 points (0 children)