Hello,
I’m sorry that my question is long, but I’m beginner in databases and I need serious help
My problem is that’s my first professional program, it’s shop management system, but I’ve a few experience in databases
I built this program with (C# & SQL Server 2014)
I’m afraid of the data handling on windows form (datagridview) specially after 1 or 2 years there will be a huge number of records in the database
I see win Forms dealing with data in a perfect way while database contains a few records just for testing, it's perfect in searching using sql statements and everything, but i don't know what will be the situation after years of data inserting
What I have tried:
I tried to follow the data normalization theory in some tables
This is a simple explain to my project, for anyone with experience read and tell me I’m on the right way or what:
I’ve table for products, and a table for sell bills(invoices) including some columns: (Invoice ID\ Client ID, total price, payed, remains, Date)
And another table named (Bill Content) this table contains products ID’s that linked to specific bill by bill id (this table will be huge, let’s say user will insert 300 bills per day and every bill contains about 1-5 records in the content table, this is what I’m afraid of) and using (JOIN) to retrieve bill content, to avoid data repeat and reduce data size
Is that’s right? Is that’s the concept of data normalization?
but for some reason I’ve to break this role in the activity table that every action (Deposit, withdrawal, sell operation, etc. ) every action will be inserted with nvarchar(MAX) cell to describe this operation (sell or buy or salary)
can I do that or repeated text cell will affects the database performance? specially after 1 or 2 years there will be a huge number of records.