Jak zrobić, by jedno zapytanie trafiło do dwóch tabel?

0

Hej,

Przepraszam, za niezrozumiałą nazwę tematu, ale nie mam za bardzo pojęcia jak to nazwać. Otóż chciałbym stworzyć sobie bazę danych drużyn, w których jest między innymi relacja Drużyny - Zawodnicy ( 1 do wielu ). Teraz mam takie podstawowe okienko w C# typu dodaj drużynę. Składa się ono z:

  • TextBox Nazwa drużyny ( tu się wprowadza nazwę drużyny )
  • 11 TextBoxów nazw zawodników
  • 11 TextBoxów pozycja, na której zawodnicy grają.

Proszę mi powiedzieć, albo chociaż mnie nakierować, jak mogę zrobić, abym w jednym momencie mógł stworzyć drużynę składającą się z tych 11 zawodników, by nie dość, że nazwa drużyny zostanie dodana do bazy danych, to jeszcze automatycznie ta drużyna zostanie połączona z zawodnikami.

Kolumny w tabeli zawodnicy: PlayerID, PlayerName, PlayerNumber, Teams_TeamID ( FK ), Positions_PositionID ( FK )
Kolumny w tabeli drużyny: TeamID, Name.

Mam nadzieje, że dosyć jasno opisałem mój problem.

Z wyrazami szacunku,

M.

@Edit

Chyba, że muszę wysłać dwa zapytania - jedno po drugim, najpierw przy pierwszym stworzyć rekord w tabeli drużyny, następnie pobrać ID tejże drużyny i wtedy wysłać zapytania o tworzeniu 11 zawodników pod ID tej drużyny?

1

Możesz tak zrobić - a nawet musisz, jeżeli PK generujesz przez bazę, a nie aplikację. Jeśli miałbyś PK ustawiane przez aplikację, to mógłbyś wysłać wszystko na raz.
Korzystasz z jakiegoś ORMa?

PS. krotności, nie relacje: https://pl.wikipedia.org/wiki/Diagram_zwi%C4%85zk%C3%B3w_encji

0

Dziękuję za odpowiedź. Model stworzyłem sobie w MySQL Workbench. Wygląda on tak:
title

1

Raczej niekoniecznie poprawny model bazy sobie stworzyłeś. Skąd wiesz, która drużyna jest home/away skoro łączysz mecz z zawodnikami i drużynami po golach?

0
Mały Kaczor napisał(a):

Raczej niekoniecznie poprawny model bazy sobie stworzyłeś. Skąd wiesz, która drużyna jest home/away skoro łączysz mecz z zawodnikami i drużynami po golach?

W sumie racja, nawet nie zwróciłem na to uwagi. Bardzo dziękuję za celną uwagę.

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