SQL relacje, 2 tabele, join

SQL relacje, 2 tabele, join
  • Rejestracja: dni
  • Ostatnio: dni
0

Witam, proszę o podpowiedź jak to zrobić:

  • tabela1 Pracownicy [w których są dane pracowników] id/ imie/ nazwisko/ firma...itp.
  • tabela2 Samochody [informacje o autach] id/ nr rej/ stan licznika/ data przeglądu... itp.
    id jako klucz głowny w obu przypadkach

robię program w którym będzie opcja przypisz do Pracownika xxx Samochod yyy

  1. Jak przypisac do np. pracownika 2, auto nr 8
  2. wyswietlic obie tabele w 1 rekordzie
  3. jaka formuła by oddzielić pracownika 2, od auta 8 i zmienic na auto 10 ??
kate87
  • Rejestracja: dni
  • Ostatnio: dni
0

Relacja jeden do jednego, jeden do wielu, czy wiele do wielu?
W czym piszesz?

DE
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 1788
0

Które zdanie jest prawdziwe:

  • Pracownik może zajmować się wieloma samochodami, a każdy samochód może mieć tylko jednego opiekuna, wtedy dodajemy employee_id do tabelki z samochodami.
  • Pracownik może zajmować się tylko jednym samochodem, a każdy samochód może mieć wielu opiekunów, wtedy dodajemy car_id do tabelki z pracownikami.
  • Pracownik może zajmować się wieloma samochodami, a każdy samochód może mieć wielu opiekunów, wtedy tworzysz tabelę employee_car z kolumnami employee_id i car_id.
GS
  • Rejestracja: dni
  • Ostatnio: dni
1

@Desu
rozwiązanie trzecie jest najbardziej uniwersalne ponieważ zawiera w sobie dwa pierwsze.
W zależności od wariantu wystarczy narzucić odpowiednie constrainty na unikalność pól.

Wariant pierwszy : unikalne car_id
Wariant drugi : unikalne employee_id
Wariant trzeci : unikalne employee_id;car_id

EDT
do tego oczywiście odpowiednie klucze obce do tabel pracownicy i samochody

  • Rejestracja: dni
  • Ostatnio: dni
0

dzięki wielkie za informacje ! :)

  1. relacja w której pracownik może mieć kilka aut - zgadzam się, wariant 3 najbardziej praktyczny;
  2. pisze w MS SQL, apka w C#, WPF;

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.