The hardest part is collecting the requirements and deeply analyzing what you need. It may be that you’ve done it well, it may not. If it’s not well done, we can’t help precisely.
Any reason to create as few tables as possible? I see no reason and it seems very wrong. I’ve seen whole complex systems in a single table, it was at the same time one of the most tragic and comical things I’ve ever seen in IT.
Knows normalization? Need to know to model database tables.
On top, and I don’t know if this is useful, it would really be the ones that stood out, but only because it was described like this:
- Students
- Disciplines
- Subjects X Semesters
- Evidence
- Notes
I am considering that has only one course and the semesters do not have relevant information and are considered implicitly without precise registration, the application will deal with it.
The data will be obtained according to the normalization, in many cases using JOIN
considering the FK. In fact this does not seem to be a difficult problem to solve, requiring something exceptional, unless the collection of requirements and analysis is wrong.
You talked good practice to the wrong person, I hate that, and I think it does a lot of damage to people’s minds, because deep down they want a universal cake recipe that solves their problem without having to think. In software development if this exists, you don’t have to hire people just to apply it, you’d have everything ready. You have to learn the basics, understand everything how it works, the contexts, deeply analyze and apply every basic knowledge to find the best solution to the specific problem within that context.
Anyway this is what you can answer, the model depends and would do for you, the code would not even make sense because nothing indicates that there is code in it. That’s why I don’t like good practice, it seems that the phrase was formulesca, did not consider the context.
If you have any specific problem you can ask.
Did the answer solve your question? Do you think you can accept it? See [tour] if you don’t know how you do it. This would help a lot to indicate that the solution was useful to you. You can also vote on any question or answer you find useful on the entire site
– Maniero