Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Wykorzystanie relacji w bazie
AniaR
post
Post #1





Grupa: Zarejestrowani
Postów: 92
Pomógł: 0
Dołączył: 6.05.2009
Skąd: warszawa

Ostrzeżenie: (0%)
-----


Projektuje teraz dość dużą bazę i chcialabym sie upewnic czy dobrze rozumiem pojęcie realcji i kluczy obcych..
Majac dwie tabele:


  1. CREATE TABLE `okregi` (
  2. `id` int(11) NOT NULL AUTO_INCREMENT,
  3. `nazwa` varchar(200) NOT NULL,
  4. PRIMARY KEY (`id`)
  5. ) ENGINE=InnoDB DEFAULT CHARSET=latin2 AUTO_INCREMENT=20 ;



  1. CREATE TABLE `o_biogramy` (
  2. `id` int(11) NOT NULL AUTO_INCREMENT,
  3. `id_okregu` int(11) NOT NULL,
  4. `imie` varchar(200) NOT NULL
  5. PRIMARY KEY (`id`),
  6. KEY `biogramy_id_okregu_IND` (`id_okregu`)
  7. ) ENGINE=InnoDB DEFAULT CHARSET=latin2 AUTO_INCREMENT=5 ;
  8.  
  9. --
  10. -- Ograniczenia dla tabeli `o_biogramy`
  11. --
  12. ALTER TABLE `o_biogramy`
  13. ADD CONSTRAINT `biogramy_id_okregu_FK` FOREIGN KEY (`id_okregu`) REFERENCES `okregi` (`id`);


Tabele o_biogramy polaczylam z tabela okregi nadajac polu id_okregu najpierw INDEX a potem FOREIGN KEY.
To znaczy ze juz utworzylam relacje miedzy tymi tabelami?
Czy pole id w tabeli okregi nie powinno sie nazywac id_okregu? tak samo jak w tabeli o_biogramy?

Chodzi mi o to ze nadajac te relacje w bazie czyli ten klucz obcy i tak dane do bazy wprowadzam w taki sam sposob jak by nie bylo tej relacji.. Czyli:

najpierw odczytuje id okregu ktore jest mi potrzebne a potem
  1. <?php
  2. $query= "INSERT INTO  o_biogramy (id, id_okregu, imie ) values (null, '$id','$imie')";
  3. ?>


Czy nie po to sie tworzy te relacje aby nie trzeba bylo juz podawac samemu tego id_okregu do bazy o_biogramy ?

Bo jezeli nie to jaka jest roznica czy da sie ten FK czy nie skoro i tak wprowadzam i odczytuje dane z bazy w taki sam sposob?

Czy konieczne jest tworzenie kluczy obcych jezeli do tej pory radzilam dobie bez nich?
Go to the top of the page
+Quote Post

Posty w temacie
- AniaR   Wykorzystanie relacji w bazie   8.07.2009, 15:09:18
- - omeck   Cytat(AniaR @ 8.07.2009, 16:09:18 ) P...   8.07.2009, 21:14:10
- - AniaR   Ok, dzieki:)   9.07.2009, 09:01:12


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: 24.12.2025 - 10:10