Of course, your structure needs to be normalized. All you need is fields
3. Клиент 4. Контакт replaced in the field "Contact_ID", which would refer to the record in the table "Contact" with the fields "ID, Customer, Contact". Yes, you save only one field, but the structure becomes closer to normal form (and it is just more logical) - at the same time study the one-to-many relationship and the
JOIN operation :)
If there are few records, there is no point in supporting a full-fledged DBMS. You can do it on an embedded DBMS, for example, sqlite3 (as far as I remember, there is support for it in jdbc), but you can, indeed, on XML files, although I personally don’t like this solution.
To think about the number of fields as simply the number of fields is meaningless. In my practice, there was a table in which there were about a hundred fields - and it was unrealistic to improve it.
In general, I recommend reading some theory on a DBMS that is minimally tied to a specific implementation (no "Learn Oracle in 15 minutes") - for example:
- Date K. Dzh. Introduction to database systems.
- Garcia-Molina G., Ulman J., Weed J. Database Systems. Full course.
This is just what I remembered immediately.