Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL] Powiązania tabel
Forum PHP.pl > Forum > Przedszkole
The Night Shadow
Dwie tabele:
Użytkownicy
Tematy

Pobieram dane z tabeli użytkownicy, a następnie JEŚLI do jakiegoś użytkownika przypisany jest jakiś temat, wyświetlam login użytkownika. jesli nie login nie jest wyświetlany. Problem polega znowu na nadliczbowymi zapytaniami. W pętli przy każdym z uzytkowników należałoby pytać o to czy w bazie istnieją tematy do niego przyporzadkowane.

Czy da się zorganizować to jakoś bardziej wydajnie, np jednym zapytaniem?
Master Miko
Zapytania niestety muszą być dwa, bo to dwie różne tabele.
Z tematów pobierasz użtkownika, potem szukasz przez where w Użytkownikach... i tle.

Zamiast pętli, należy poprostu użyć np where id = 4

(albo odwrotnie, bo nie jestem pewien czy zrozumiałem :S )
Adiasz
mysql :: JOIN
The Night Shadow
Wiele się pisze na temat relacji tabel, a ja mam jedno pytanie. Mając tak jak w kusie, do którego link zamieścił Adiasz tabelę z listą utworów i tabelę z listą albumów do których przyporzadkowane są te utwory, została równeiż uwzględniona trzecia tabela, relacji.

Czy obserwuje się w takim przypadku naprawdę znaczący wzrost wydajności względem dwóch tabel, tabeli albumów, i tabeli utworów (w której to znajduje sie również kolumna z id albumu)

W praktyce:

1. Trzy tabele

A Albumy
- id_albumu
- tytul_album
- wykonawca

B. Utwory
- id_utworu
- tytul_utworu
- czas_utworu

C. Relacje
- id_albumu
- id_utworu

2. Dwie tabele

A Albumy
- id_albumu
- tytul_album
- wykonawca

B. Utwory
- id_utworu
- id_albumu
- tytul_utworu
- czas_utworu
bigZbig
Zabieg z dodatkowa tabela relacji robiony jest po to abys jeden utwor mogl przypisac kilku albumom i aby kazdy album mogl zawierac kilka utowrow. W wersji z dwoma tabelami jest tak ze co prawda kazdy album bedzie mogl zawierac kilka utowrow ale jeden utwor mozna przypisac tylko do jednego albumu. Co do wydajnosci - dwie tablel zawsze latwiej laczyc niz trzy.
The Night Shadow
Wielkie dzięki :- )
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-2025 Invision Power Services, Inc.