Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL] Powiązania tabel
The Night Shadow
post
Post #1





Grupa: Zarejestrowani
Postów: 495
Pomógł: 2
Dołączył: 5.02.2006
Skąd: Wrocław

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


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?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 5)
Master Miko
post
Post #2





Grupa: Zarejestrowani
Postów: 530
Pomógł: 0
Dołączył: 15.01.2005
Skąd: Warszawa

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


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 )

Ten post edytował Master Miko 17.04.2006, 21:35:16
Go to the top of the page
+Quote Post
Adiasz
post
Post #3





Grupa: Zarejestrowani
Postów: 155
Pomógł: 0
Dołączył: 28.02.2004

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


mysql :: JOIN
Go to the top of the page
+Quote Post
The Night Shadow
post
Post #4





Grupa: Zarejestrowani
Postów: 495
Pomógł: 2
Dołączył: 5.02.2006
Skąd: Wrocław

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


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
Go to the top of the page
+Quote Post
bigZbig
post
Post #5





Grupa: Zarejestrowani
Postów: 740
Pomógł: 15
Dołączył: 23.08.2004
Skąd: Poznań

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


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.
Go to the top of the page
+Quote Post
The Night Shadow
post
Post #6





Grupa: Zarejestrowani
Postów: 495
Pomógł: 2
Dołączył: 5.02.2006
Skąd: Wrocław

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


Wielkie dzięki :- )
Go to the top of the page
+Quote Post

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: 22.08.2025 - 16:34