![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 20 Pomógł: 0 Dołączył: 28.09.2005 Ostrzeżenie: (0%) ![]() ![]() |
Witam
Cala baze danych tworze poprzez wykonanie pliku .sql Mam nastepujace pytania: 1. Czy plik .sql mozna wykonac poprzez php? 2. Czy mozna tworzyc relacje bezposrednio .sql'em? 3. Jak dokladnie dziala 'Widok relacyjny' z phpMyAdmina? Chodzi mi konkretnie o 'wewnetrzne relacje', 'innoDB', 'wybierz wyswietlane pole'? W ktora strone dzialaja ktore relacje? Od tabeli "przegladanej" do tych pozostalych? Czy odwrotnie? Co oznacza dymek "brak zdefiniowanego indeksu"? Bo juz sie troche pogubilem(do tej pory intuicyjnie korzystalem z kluczy obcych o tych samych nazwach co klucz z tabeli 'obcej' ale teraz mi zalezy zeby ta nazwa byla inna) a nigdzie nie moge znalezc pomocy na ten temat. Ma ktos moze jakis gotowy przyklad/opis ustawiania tych relacji? Z gory dziekuje za odpowiedz Pozdrawiam Michał Malus Ten post edytował piratt 4.10.2005, 21:02:42 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 85 Pomógł: 0 Dołączył: 15.07.2005 Ostrzeżenie: (0%) ![]() ![]() |
erm (IMG:http://forum.php.pl/style_emoticons/default/dry.gif) relacje - zaleznosci pomiedzy tabelami
przy tworzeniu tabel mozna okreslic relacje (constraint) pomiedzy nimi i wtedy baza pilnuje zebys wprowadzajac, usuwajac i modyfikujac czegos nie zepsul np nie pozwala usunac rekordu do ktorego odwolujemy sie w inej tabeli a co do odpowiedzi na pytanie to mysql obsluguje przynajmniej czesciowo relacje ad 2 tak np. ALTER TABLE `xxx` ADD CONSTRAINT `nazwarelacji` FOREIGN KEY (`pole_w_xxx`) REFERENCES `yyy` (`pole_w_yyy`); ad 3 co do tego dymka to pola powiazane relacja w obu tabelach musza miec indeksy no i byc tego samego typu (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) aby w phpmyadminie ustawic relacje pomiedzy 2 tabelami musisz wejsc na tabele ktora ma sie odwolywac do wartosci z innej tabeli w moim przykladzie xxx wchodzisz w widok relacyjny i pokazuja ci sie wszystkie pola ktore mozesz wykorzystac do stworzenia relacji w kolumnie z innodb wybierasz z menu tabele i pole z ktorego wartosci maja byc pobierane (yyy->pole_w_yyy) nastepnie tryb relacji standartowo jest restrict (jak nic nie wybierzesz tez o ile dobrze pamietam) po stworzeniu relacji nie uda ci sie dodac wartosci do pole_w_xxx jesli nie bedzie ona wystepowala w pole_w_yyy jesli oczywiscie ustawiles typ relacji na restrict ale o tym jak toto dziala w mysqlu jest w manualu od tejrze bazy btw obsluga widoku relacyjnego phpmyadmina jest w helpie od phpmyadmina opisane Edit widze ze ciutke wolno to pisalem (2 posty wskoczyly) ale opis uzycia phpmyadmina chyba sie do czegos przyda Ten post edytował popo 4.10.2005, 22:47:35 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 8.10.2025 - 08:11 |