![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 162 Pomógł: 13 Dołączył: 16.06.2007 Ostrzeżenie: (0%) ![]() ![]() |
Witam!
Otóż stworzyłem bazę danych, po jej stworzeniu chciałem za pomocą DBDesigner 4 zrobić układ graficzny (potrzebny do dokumentacji). W bazie nie zakładałem kluczy obcych - po prostu w zapytaniach łączyłem tabele po odpowiednich kolumnach. W phpMyAdmin nigdzie nie ma opcji klucza obcego. Czy można teraz jakoś dodać te klucze, czy dodanie kluczy obcych nie wpłynie negatywnie na bazę danych? Pozdrawiam |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 295 Pomógł: 7 Dołączył: 26.03.2004 Skąd: Opole Ostrzeżenie: (0%) ![]() ![]() |
Klucze obce są w mysql. Trochę gorzej z szeroko rozumianymi relacjami. W innych systemach relacje zajmują doniosłe miejsce w administracji bazami, w mysql natomiast relacje są jak duch święty, cholernie dużo robią ale ich nie wiadać
![]() Klucze obce trzeba definiować na etapie tworzenia tabel - nie można nałozyc kluczy na istniejących tabelach tak jak można to zrobić ze zwykłymi indeksami (ochrona integralności) - przynajmniej ja nie potrafię. Poszukaj w manualu mysql FOREIGN KEYS. Jak będziesz miał problem ze znalezieniem to napisz to wrzuce z pracy kilka takich powiązanych tabel. Klucze obce to bardzo mądra i przydatna rzecz chroniąca logicznie baze przed głupotami typu pozycje faktury bez nagłówka faktury, czyli "ochrona wdów i sierot" ![]() -------------------- |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 31 Pomógł: 0 Dołączył: 11.07.2006 Skąd: Olsztyn Ostrzeżenie: (0%) ![]() ![]() |
Cytat Klucze obce trzeba definiować na etapie tworzenia tabel - nie można nałozyc kluczy na istniejących tabelach tak jak można to zrobić ze zwykłymi indeksami (ochrona integralności) - przynajmniej ja nie potrafię. mozna np napisac w sql:
c - tabela w ktorej ma byc klucz obcy d - rekord tabeli b. kluczem obcym b - tabela z kluczem glownym a - klucz glowny do ktorego laczy klucz obcy |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 26.04.2025 - 02:54 |