I have an important question so I searched and found similar question, read them and couldn't find good reason. so asked in comment and no one answered me. Thus I'm sorry if this is duplicate and I'll write two duplicate find by myself, but please help if you could.
These are two similar questions I found but not helped me:
I have many (about 200) tables in a SQL Server database and I need some attribute for some of these (about 50). I know the correct way for many to many relationship is create a new table but the problem is I don't know the exact number of property any table may need. I create two table first for attribute type and second for attribute values. Then thought about create 40 tables needing for many to many relation and about 240 tables in my DB just for now and couldn't guess DB size in next year. You may think DB Design in week but that is not, just the system is huge. Finally I decided to store attribute items from tables first and second like comma separated string in additional column in each table and save from adding more than 40 new table.
I know that need cost to interpret and parse in application side and may some trouble in queries. Additionally I wrote a function that get comma separated string and return table with one column and When I want to search something in this string use the IN operator from function result, but important issue I found that is not a normalized DB with this approach. is this wrong way? Appreciate any help.