Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Relacje, Jak ustawic relacje? Klucze obce/indeksy
piratt
post
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
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
popo
post
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
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 8.10.2025 - 08:11