![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 25 Pomógł: 0 Dołączył: 31.07.2009 Ostrzeżenie: (0%) ![]() ![]() |
Witam
Mam do napisania stronę z bazą (mysql), która będzie zarządzana z poziomu phpmyadmin'a. Tak bardzo ogólnikowo, to ta strona ma być pewnego rodzaju bazą osób. W jednej tabeli będą dane osób (imię, nazwisko,...) w kolejnej jakieś wizyta (data wizyty, cel, ...), w ostatniej palcówka (nazwa, adres). Problem w tym, że te tabele muszą posiadać relacje. Próbowałem wzorowzć się na tym => http://dev.mysql.com/doc/refman/5.0/en/inn...onstraints.html ale nie działało mi to. Podam przykłady tych tabel: Tabela pierwsza: osoba #pesel (pk) *imię *nazwisko *data urodzenia Tabela druga: wizyta: #lp (pk) *data_wizyty *cel Tabela trzecia: placowka #numer_palcowki *adres (oczywiście podział na ulicę, kod...) *nazwa Teraz gdy będzie dodana jakaś wizyta dla danej osoby, to muszą być one powiązane relacją, aby konkretnej osobie odpowiadały konkretne wizyty (tabela druga) oraz informacja, że miało to miejsce w konkretnej placówce (tabela trzecia). Pytanie tylko gdzie w tych przykładowych tabelach musi być foreign key (fk) tak, aby połączył te tabele? Tu musi być relacja jeden (po stronie osoby) do wiele (po stronie wizyty). Tak samo w przypadku osoba-placówka. Da się to zrobić w phpmyadminie? Ten post edytował joka13 31.07.2009, 19:16:42 |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 2 Dołączył: 28.04.2008 Ostrzeżenie: (0%) ![]() ![]() |
Doradzam pobrać Ci programik, który jest na stronie MySQL, nazywa się <a href="http://dev.mysql.com/downloads/workbench/5.1.html" target="_blank">MySQL Workbench</a>. W graficzny sposób możesz stworzyć tabele i powiązać je relacjami, a następnie wygenerować kod SQL, który wklejasz w okienku SQL w phpmyadmin. Chyba najprostrzy sposób.
Ten post edytował Norr 3.08.2009, 07:55:15 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 25 Pomógł: 0 Dołączył: 31.07.2009 Ostrzeżenie: (0%) ![]() ![]() |
Doradzam pobrać Ci programik, który jest na stronie MySQL, nazywa się <a href="http://dev.mysql.com/downloads/workbench/5.1.html" target="_blank">MySQL Workbench</a>. W graficzny sposób możesz stworzyć tabele i powiązać je relacjami, a następnie wygenerować kod SQL, który wklejasz w okienku SQL w phpmyadmin. Chyba najprostrzy sposób. Dzięki, bardzo fajna aplikacja. Jeszcze tak, żeby się upewnić, że dobrze myślę... tabele będą wyglądały tak (już z kluczami obcymi): Tabela pierwsza: osoba #pesel (pk) *imię *nazwisko *data urodzenia Tabela druga: wizyta: #lp (pk) *pesel (fk) *data_wizyty *cel Tabela trzecia: placowka #numer_palcowki *pesel (fk) *adres (oczywiście podział na ulicę, kod...) *nazwa Tak powinno to wyglądać ? |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 17 Pomógł: 1 Dołączył: 19.02.2006 Ostrzeżenie: (0%) ![]() ![]() |
Nie tak.
Ale tak jest już dobrze Tabela pierwsza: (w takeli osoba w zasadzie pesel może być PK to już jak wolisz nie jeden pewnie przyczepi się i powie że po co dodatkowa kolumna z daną skoro pesel jest unikatową wartością ale z kolei jeżeli wstawisz kolumnę id_osoba dasz jej auto increment to masz pewność że wartość nigdy się nie powturzy a tak przy peselu musiałbyś sprawdzać czy dany numer już nie występuje, w sumie i tak musiałbyś to sprawdzać ![]() osoba id_osoba (PK) pesel imię nazwisko data urodzenia Tabela druga: wizyta: id_wizyta (PK) id_osoba (FK) id_placowka (FK) data_wizyty cel Tabela trzecia: placowka id_placowka (PK) nazwa ulica miasto kod itd... (zależy jakie dane chcesz trzymać o tej placówce) Powodzenia ![]() |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 25 Pomógł: 0 Dołączył: 31.07.2009 Ostrzeżenie: (0%) ![]() ![]() |
simi20, dzięki.
Tabele oczywiście podałem przykładowe, żeby poglądowo dowiedzieć się jak z tymi FK to wygląda. Już wiem co i jak z kluczami. Teraz muszę jeszcze dopieścić/dopracować tabele, bo to podstawa i można brać się za pisanie w php. Dzięki jeszcze raz wszystkim, za pomoc. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 10:06 |