Prosta relacja miedzy 2 tabelami (MS SQL)

Odpowiedz Nowy wątek
2008-07-07 11:22
iryek99
0

Witam mam pytanie dopiero zaczynam zabawe z bazami i nie zababardzo wiem jak rozwiac ten problem :

Mam dwie tabele

  1. Tabela Stanowiska (komputerowe)

Id_stanowiska - PK
Nr_komputera
Procesor
Pamiec
Dysk

  1. Tabela Pracownicy

Id_pracownika PK
Imie
Nazwisko

Chcialem przypisac tabele pracownicy do tabeli komputer , problem w tym ze z jednego stanowisku (komputerze) moze korzystac kilka osob . I chcialem podlaczyc tabele pracownicy do tabeli stanowiska w ten sposob Id_pracownika -> Nr_komputera ale jesli na jendym komputerze moze byc kilka osob to w tabeli Pracownicy bylo by kilka osob z tym samym Id_pracownika ? I nie moze tak byc bo to PK .
Nie wiem czy dobrze rozumuje . Jesli tak to niech ktos powie jak moge wybrnac z danej sytuacji za pomoc z gory dzieki

Pozostało 580 znaków

2008-07-07 12:44
0
  1. Tabela Stanowiska_Pracownicy

ID_Stanowiska
ID_Pracownicy

Obie kolumny są PK tej tabeli, a do tego każda jest FK do jednej z pozostałych Twoich tabel. W ten sposób łączysz w pary Stanowisko-Pracownik jak chcesz.


"HUMAN BEINGS MAKE LIFE SO INTERESTING. DO YOU KNOW, THAT IN A UNIVERSE SO FULL OF WONDERS, THEY HAVE MANAGED TO INVENT BOREDOM."

Pozostało 580 znaków

2008-07-30 23:54
0

tworzysz jeszcze jedna tabele polaczeniowa np stanowisko_pracownik
i w niej przechowujesz relacje miedzy identyfikatorami kluczy glownych wymienionych przez Ciebie tabel
czyli cos takiego

CREATE TABLE stanowisko_pracownik
(stanowisko_pracownikId INT NOT NULL IDENTITY(1,1),
ID_Stanowiska INT NOT NULL,
ID_Pracownicy INT NOT NULL
)

Ja bym jeszcze zrobil na polach ID_Stanowiska oraz ID_Pracownicy foreinkey.

I w tej tabeli przechowujesz info np:
dla stanowiska o id = 1 masz przyporzadkowane id pracownikow 1,2,4 - wtedy dane w tabeli polaczeniowej wygladaja tak

stanowisko_pracownikId | ID_Stanowiska | ID_Pracownicy 
 1                               | 1                  | 1   
 2                               | 1                  | 2
3                                | 1                  | 4

Tomasz Andrzejewski
Delphi (XE3-XE7) framework engineer @ InterLan
MCP: Microsoft SQL Server 2008, Implementation and Maintenance

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

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