=?iso-8859-2?q?klucze_obce_(bana=B3=3F)?=
=?iso-8859-2?B?TWljaGGzIErqZHJ5a2E=?= - 05-09-2007 00:21
=?iso-8859-2?q?klucze_obce_(bana=B3=3F)?=
Witam wszystkich serdecznie,
Z pewnym zaskoczeniem odkryłem, że nie umiem rozwiązać następującego problemu. Jest sobie tabela employees (stosuję nazwy angielskie, dlaczego to inny temat), oraz tabela departments. Oczywiście w tabeli emploees jest klucz obcy employee_department_id, co po prostu oznacza, że pracownik pracuje w danym dziale. Ale w bazie powinna być jeszcze informacja o tym kto jest szefem danego działu. Czyli w tabeli departments powinien być klucz obcy... department_emploee_id wskazujący szefa... I teraz jest problem, bo jeszcze nie widziałem, żeby dwie tabele były połączone więcej niż jedną relacją... A może mogą być i niepotrzebnie się tym przejmuję?
Będę wdzięczny za opinie...
Michał
Grzegorz Danowski - 05-09-2007 00:21
=?iso-8859-2?Q?Re:_klucze_obce_=28bana=B3=3F=29?=
"Michał Jędryka" <michal.jedryka@gmail.com> wrote in message news:1188937903.431268.26810@19g2000hsx.googlegrou ps.com... <cite> Z pewnym zaskoczeniem odkryłem, że nie umiem rozwiązać następującego problemu. Jest sobie tabela employees (stosuję nazwy angielskie, dlaczego to inny temat), oraz tabela departments. Oczywiście w tabeli emploees jest klucz obcy employee_department_id, co po prostu oznacza, że pracownik pracuje w danym dziale. Ale w bazie powinna być jeszcze informacja o tym kto jest szefem danego działu. Czyli w tabeli departments powinien być klucz obcy... department_emploee_id wskazujący szefa... I teraz jest problem, bo jeszcze nie widziałem, żeby dwie tabele były połączone więcej niż jedną relacją... </cite>
Może mało widziałeś :) - ja nie widzę problemu. -- Pozdrawiam Grzegorz http://gdanowski.blogspot.com/
Marcin - 05-09-2007 00:21
Michał Jędryka wrote: > Witam wszystkich serdecznie, > > Z pewnym zaskoczeniem odkryłem, że nie umiem rozwiązać następującego > problemu. > Jest sobie tabela employees (stosuję nazwy angielskie, dlaczego to > inny temat), oraz tabela departments. > Oczywiście w tabeli emploees jest klucz obcy employee_department_id, > co po prostu oznacza, że pracownik pracuje w danym dziale. > Ale w bazie powinna być jeszcze informacja o tym kto jest szefem > danego działu. Czyli w tabeli departments powinien być klucz obcy... > department_emploee_id wskazujący szefa... I teraz jest problem, bo > jeszcze nie widziałem, żeby dwie tabele były połączone więcej niż > jedną relacją... > A może mogą być i niepotrzebnie się tym przejmuję?
Może być jeszcze coś takiego; CREATE TABLE tabelka ( id INT NOT NULL, t1_id INT, t2_id INT, PRIMARY KEY (id) );
ALTER TABLE tabelka ADD FOREIGN KEY (t1_id) REFERENCES tabelka(id); ALTER TABLE tabelka ADD FOREIGN KEY (t2_id) REFERENCES tabelka(id);
M.
kenubi - 06-09-2007 00:04
Marcin wrote:
> Michał Jędryka wrote: >> Witam wszystkich serdecznie,
[ciach] > Może być jeszcze coś takiego; > CREATE TABLE tabelka > ( > id INT NOT NULL, > t1_id INT, > t2_id INT, > PRIMARY KEY (id) > );
dodam bo chyba powinno sie wspomniec: tu (miedzy CREATE a ALTER) to chyba INSERT ... (REKORD_STARTOWY) OIMW nie wstawi inaczej pierwszego rekordu. > > ALTER TABLE tabelka ADD FOREIGN KEY (t1_id) REFERENCES tabelka(id); > ALTER TABLE tabelka ADD FOREIGN KEY (t2_id) REFERENCES tabelka(id); > > > M.
m.
Thomas Olszewicki - 06-09-2007 00:04
=?iso-8859-2?q?Re:_klucze_obce_(bana=B3=3F)?=
On Sep 4, 4:31 pm, Michał Jędryka <michal.jedr...@gmail.com> wrote: > Witam wszystkich serdecznie, > > Z pewnym zaskoczeniem odkryłem, że nie umiem rozwiązać następującego > problemu. > Jest sobie tabela employees (stosuję nazwy angielskie, dlaczego to > inny temat), oraz tabela departments. > Oczywiście w tabeli emploees jest klucz obcy employee_department_id, > co po prostu oznacza, że pracownik pracuje w danym dziale. > Ale w bazie powinna być jeszcze informacja o tym kto jest szefem > danego działu. Czyli w tabeli departments powinien być klucz obcy... > department_emploee_id wskazujący szefa... I teraz jest problem, bo > jeszcze nie widziałem, żeby dwie tabele były połączone więcejniż > jedną relacją... > A może mogą być i niepotrzebnie się tym przejmuję? > > Będę wdzięczny za opinie... > > Michał
Michal, Bardzo szybko dojdziesz do nastepnych pytan. A co jezeli employee pracuje dla wielu departments. Co zrobic jezeli 1 employee pracuje w wielu departments i jest szefem w paru innych. Ja bym uzyl "join table" Employee_Department w relacji 0..n do table Employee i table Department i w tym table umiescil informacje o zatrudnieniu ( start end date , funkcja (szef, sprzedawca...) itd )
HTH Thomas
=?iso-8859-2?B?TWljaGGzIErqZHJ5a2E=?= - 06-09-2007 00:04
=?iso-8859-2?q?Re:_klucze_obce_(bana=B3=3F)?=
Dziękuję wszystkim za rady. Serdecznie pozdrawiam
Michał
zanotowane.pldoc.pisz.plpdf.pisz.pleffulla.pev.pl
|
Wydajność baz danych w zależności od poziomu izolacji ANSI/ISO
Czy zna (obsługuje) ktoś program Iso Draw ?
MYSQL - kodowanie w ISO-PL
strona plus baza w iso do utf-8
Kodowanie: z iso na utf
Jak =?windows-1250?Q?pobra=E6_szacowan=B9_wielko=9C=E6_zbiory_wy nikowego_w_MS?==?windows-1250?Q?_SQL_2005=3F?=
=?UTF-8?Q?=5Bmysql=5D_jak_pobra=C4=87_warto=C5=9B=C4=87_ AUTO=5F?==?UTF-8?Q?INCREMENT=3F?=
Konwesja znaków w dump'ie bazy danych - ISO -> utf-8 -> ISO -> utf-8
=?iso-8859-2?q?Informatyka,_Java,_EJB,_Ajax,_Spring=2E_Czy=BF by_to_koniec_=B6wiata,_czy_te=BF_nasze_uczelnie_b= EAd=B1_uczy=B3y_w_ko=F1cu!_czego_praktycznego_=2E= 2E=2E=2E?=
=?ISO-8859-2?Q?=AFegnam_si=EA=2E=2E=2E?=
zanotowane.pldoc.pisz.plpdf.pisz.plred-hacjenda.opx.pl
Cytat
Decede mihi sole - nie zasłaniaj mi słonca. Gdy kogoś kochasz, jesteś jak stworzyciel świata - na cokolwiek spojrzysz, nabiera to kształtu, wypełnia się barwą, światłem. Powietrze przytula się do ciebie, choćby był mróz, a ty masz w sobie tyle radości, że musisz ją rozdawać wokoło, bo się w tobie nie mieści Hoc fac - tak czyń. A tergo - od tyłu; z tyłu. I czarne włosy posiwieją. Safona |
|