Scenario:
Option A – the Data that can be defined as Choice Field in the Main-list

Option B – Divide it into two columns in a new list then the Code column can be defined in the Main-list so for presenting the form, can use lookup and fetch the corresponding description of the items.

(Suppose that Table1 to Table10 have different size and in a text file, totally they are around 300KB) - During the users' filling-up the forms, the description of the items should appear beside the entered codes, so for every entered code, it should make a lookup request. Also maybe you suggest to me to make a data collection and download all data in the form, while the screen is loading. Inline Question: Up to how much data size, it is good to download all data to the client PCs? (The platform is Power Apps)
Question:
Now, I would like to know/make sure in Option A because we used the Choice field, the SharePoint will normalize the Main-Table automatically and will reduce the storage size, and we reduced the number of data connection, therefore in client-side (especially in low bandwidth connection), the user gains more performance as well as easier programming. Is it a correct database design? What is your solution? (Last Question: Simply when we have a Choice Field that the size of one item is 200 Chars, Does SharePoint use 200 Char size for each time that is used in the records?)
I would appreciate it, if you divide your answers to individual questions, such as Inline question answer, main Question, and last question and design question.
Thank you in advance for your kind suggestion and spending time.😉