Struktura tabeli bazy danych, a klasa

0

Witam,
Jakie jest prawidłowe podejście w poniższym problemie?

mam dwie tabele:

  • Szablon
  • ID
  • Nazwa
  • Datautworzenia
  • KomponentySzablonu
  • ID
  • IDSzablonu
  • SymbolKomponentu

Jak takie tabele przekształcić na kod w programie? Jak powinna wyglądać ich klasa?
Czy powinny być to klasy 1 do 1 odzwierciedlające tabele?
czyli

Szablon
{
 private int ID;
 private string nazwa;
 private DateTime dataUtworzenia;
}

KomponentSzablonu
{
 private int ID
 private int IDSzablonu
 private string SymbolKomponentu
}

czy też może powinien być to nieco bardziej wyszukany sposób odzwierciedlający logikę działania?:

Szablon
{
 private int ID;
 private string nazwa;
 private DateTime dataUtworzenia;
 private List<KomponentSzablonu> komponenty = null;
}

KomponentSzablonu
{
 private int ID
 private string SymbolKomponentu
}

Jakie podejście jest prawidłowe?
W pierwszym pobierając dane, nie tworzymy skomplikowanego zapytania oraz wykonujemy tylko jedno zapytanie. Działa to szybko, ale nie odzwierciedla całkowicie logiki i problematyki.

W drugim przypadku select jest skomplikowany a w skrajnym przypadku może być nawet kilka selectów co pobieranie danych wydłuży. Zajmie więcej miejsca w pamięci itd. Z drugiej strony problematyka jest lepiej widoczna a klasa bardziej biznesowa.

Co w takiej sytuacji radzicie?
Pozdrawiam.

0

Jeśli programujesz obiektowo, to rozwiązanie drugie.
Użyj jakiegoś ORM i nie martw się o selecty.

1 użytkowników online, w tym zalogowanych: 0, gości: 1