Jak stworzyć z dwoch tabel trzecia

0

Witam
Jestem początkujący i mam pytanie odnośnie takiej kwestii a mianowicie mam kilka tabel i teraz chciałbym z dwóch tabel w których są kolumny . Tabela 1 Pracownik w niej pracownikId adres miasto telefon , tabela 2 Dzial w niej stanowisko - nazwa działu . W pierwszej tabeli PracownikID jest Primary Key w tabelii Dzal stanowisko jest Primary Key . Chciałbym żeby z tych dwóch tabel powstała tabela trzecia o nazwie Dane_pracownika i w niej żeby były kolumny PracownikID i stanowisko . Chciałbym żeby te dwie kolumny były Foreign Key . I tu mam problem bo za bardzo nie wiem jak to zrobić . Próbowałem tak

mój Kod :

CREATE TABLE Dane_pracownika
(
SELECT pracownik.pracownikID, Dzial.stanowisko
From pracownik , dzial ,
WHERE ADD FOREIGN KEY(pracownikID, stanowisko) ,
REFERENCES SKILLSET Dane_pracownika (pracownikID, stanowisko)
) Engine=InnoDB
;

Gdzie robię błąd . Czy jeżeli tworzę trzecia tabele z dwóch tabel gdzie kolumny są PK to czy muszę je tworzyć jako Foreign Key , czy jest to z automatu ? Za pomoc i wytłumaczenie śliczne dzięki

0

Okropnie zagmatwane. Rozumiem, że chcesz mieć sytuację, w której pracownik może mieć kilka stanowisk ( i stanowisko może być nadane kilku pracownikom) czyli relację wiele do wielu? Jeśli tak to tworzysz trzecią tabelę z dwoma kolumnami (kluczami obcymi) do istniejących tabel. Następnie wypełniasz danymi, ale nie rozumiem jak chcesz to robić na podwstawie tych dwóch istniejących tabel. Każdy pracownik do wszystkich stanowisk?

0

Dobra możne trochę namieszałem ciężko jest mi czasami wytłumaczyć (przepraszam)
Wiec tak są 2 tabele pracownik , Tabela Umiejętności ma powstać tabela zestawienie umiejętności gdzie pracownik ID (fK)
Umiejętności (fk) maja być Foreign Key .

Tabela 1
pracownik (nazwa tabeli )
pracownik ID (PK)
Nazwisko
adres
miasto
Kod pocztowy
telefon
dział
wynagrodzenie
wiek

Tabela 2
Tabela_Umiejętności (nazwa tabeli )
Kod_Umiejetnosci (pk)
Umiejętności

Tabela 3
zestawienie_umiejętności (nazwa tabeli )
pracownik ID (fK)
kod_Umiejętności (fk)

i moj kod :
CREATE TABLE zestawienie_umiejętności
(
SELECT pracownik.pracownik ID, Tabela_Umiejętności.Kod_Umiejetnosci
From pracownik , Tabela_Umiejętności,
WHERE ADD FOREIGN KEY(pracownik ID, Kod_Umiejetnosci ) ,
REFERENCES SKILLSET (pracownik, Tabela_Umiejętności)
) Engine=InnoDB ;

Może tak będzie lepiej .
Aaaa Czy jeżeli tworzę trzecia tabele z dwóch tabel gdzie kolumny są PK to czy muszę je tworzyć jako Foreign Key , czy jest to z automatu ?

0

a jak dojdzie nowy pracownik to usuniesz tą tabelę i będziesz ją na nowo tworzył?
Błąd masz w zapytaniu ale oczywiście sprawdzałeś w dokumentacji... http://dev.mysql.com/doc/refman/5.0/en/create-table-select.html
Pytanie moje (pierwsze) i poprzednika wynika z chęci dowiedzenia się dlaczego takie działanie podejmujesz ponieważ ja (i pewnie mój poprzednik) śmiem sądzić, że działanie to jest zbędne i/lub nieprawidłowe

0

Podejrzewam ze jest coś źle bo mówiłem na wstępie ze jestem początkujący. a możesz mi poradzić jak to powinno wyglądać

0
przembond napisał(a):

Tabela 3
zestawienie_umiejętności (nazwa tabeli )
pracownik ID (fK)
kod_Umiejętności (fk)

To jest OK. Utwórz taką tabelę, pustą, z dwiema kolumnami, kluczami obcymi do podanych przez Ciebie dwóch tabel.

Następnie wypełniaj ją danymi, tylko - nie możesz tego zrobić na podstawie poprzednich tabel bo w nich nie ma takiej zależności. Właśnie teraz ją tworzysz (tą zależność), zatem po utworzeniu tabeli powinieneś ją wypełnić informacjami.

0
przembond napisał(a):

Podejrzewam ze jest coś źle bo mówiłem na wstępie ze jestem początkujący. a możesz mi poradzić jak to powinno wyglądać

przecież masz linka w moim poprzednim poście do manuala jak to powinno wyglądać. Jak nie potrafisz wg instrukcji zrobić to ja nie potrafię Ci pomóc

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