Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Relacje pomiędzy tabelami
Forum PHP.pl > Forum > Bazy danych > MySQL
Ryder
Więc tak mam 4 tabele ( 1 główną taryfy i 3 ze szczegółami dotyczącymi opłat za prąd, wode, gaz)

Tabela taryfy
np.
1  G11  prąd   1
2  A     woda  2
3  B     gaz     3

  1. CREATE TABLE taryfa(
  2. id_taryfa int(6) UNSIGNED NOT NULL AUTO_INCREMENT,
  3. nazwa varchar(30) DEFAULT NULL,
  4. opis varchar(30) DEFAULT NULL,
  5. PRIMARY KEY (id_tafyra),
  6.  
  7. i teraz nie wiem jak tu zrobic.
  8. czy mozna powiązac 1 pole (klucz obcy) do 3 bael
  9. id_szczegoly int(6)
  10. );


Teraz ma 3 tabele

Tabela energia
  1. CREATE TABLE energia(
  2. id_szczegoly INT(6) NOT NULL AUTO_INCREMENT PRIMARY KEY ,
  3. nazwa VARCHAR(5) NOT NULL ,
  4. stala FLOAT(10,4) DEFAULT '0' NOT NULL ,
  5. abonamentowa FLOAT(10,4) DEFAULT '0' NOT NULL ,
  6. energia_czynna FLOAT(10,4) DEFAULT '0' NOT NULL ,
  7. zmienna_przesylowa FLOAT(10,4) DEFAULT '0' NOT NULL ,
  8. ) ENGINE = InnoDB ;


Tabela woda
  1. CREATE TABLE woda(
  2. id_szczegoly INT(6) NOT NULL AUTO_INCREMENT PRIMARY KEY ,
  3. nazwa VARCHAR(5) NOT NULL ,
  4. stala FLOAT(10,4) DEFAULT '0' NOT NULL ,
  5. ...
  6. ) ENGINE = InnoDB ;


Tabela gaz
  1. CREATE TABLE gaz(
  2. id_szczegoly INT(6) NOT NULL AUTO_INCREMENT PRIMARY KEY ,
  3. nazwa VARCHAR(5) NOT NULL ,
  4. stala FLOAT(10,4) DEFAULT '0' NOT NULL ,
  5. abonamentowa FLOAT(10,4) DEFAULT '0' NOT NUL,
  6. ...
  7. ) ENGINE = InnoDB ;


Nie wiem jak najlepiej powiązac te 3 tabele z tabela taryfy. Jakies pomysły?
kitol
skoro 3 tabele woda, prąd i gaz mają taką samą strukturę powinieneś połączyć ją w jedną tabelę z dodatkową kolumną rozróżniającą - najlepiej ENUM('woda','prąd','gaz')
Ryder
Tak by było najlepiej tylko że nie wszystkie pola się powtarzają
mwaloos
a moze inaczje a co bys chcial otrzymac...jesli np. koszty to dodatklowa kolumna koszty; ilosc danego surowca z calosci wydanej kwoty na olpaty
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2024 Invision Power Services, Inc.