Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> MSSQL Server 2008 - optymalizacja
grudziu
post
Post #1





Grupa: Zarejestrowani
Postów: 35
Pomógł: 0
Dołączył: 25.09.2006
Skąd: Gdansk

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


Hej,
jestem na etapie wykonywania projektu na studia. Mam taki problem:

Założenia:
Jest sobie tabelka główna powiedzmy KSIĄŻKI , z nią w realcji typu JEDEN do WIELU tabelaka z osobami (relacja AUTORZY) bo założenie jest, że jedna ksiązka ma jednego autora, jeden autor moze napisać wiele książek. Dalej jest relacja WIELE do WIELU z Recenzentami. Czyli wiele osób daje recenzje dla pojedynczej książki, jeden recenzent recenzuje wiele ksiązek.

Czyli mam KSIĄZKI, w niej atrybut tytuł oraz Id_osoby.

Relacja wiele-do-wielu jest realizowana pośrednio przez tabelkę RECENZENCI, czyli mam jeszcze tabelkę RECENZENCI, a w niej relację Id_Ksiązki, Id_osoby.

Ostatnia tabelka to OSOBY z polem Id_osoby oraz Nazwisko.

Do łatwego wyświetlenia za pomocą PHP chciałem skorzystać z perspektywy z INNER JOIN, ale po pierwsze: w perspektywnie nie można dwa razy się odnośić do tego samego pola bo on nie wie które łączyć.

  1. CREATE VIEW Ksiazki_widok (
  2. Id, Tytul, A_nazwisko, R_nazwisko
  3. )
  4. AS SELECT KSIAZKI.Id_ksiazki , KSIAZKI.Tytul , Osoby.Nazwisko , Osoby.Nazwisko FROM KSIAZKI
  5.  
  6. --autorzy jeden do wielu
  7. INNER JOIN Osoby ON KSIAZKI.Id_osoby = Osoby.Id_osoby
  8. --recenzenci wiele do wielu
  9. INNER JOIN Recenzenci ON KSIAZKI.Id_ksiazki = Recenzenci.Id_ksiazki
  10. INNER JOIN Osoby ON Osoby.Id_osoby= Recenzenci.Id_osoby


Wyskauje błąd - Osoby.Id_osoby już istnieją. A więc nie nakierowałem go, że ma podmienić tylko w pierwszym wpisie Osoby.Nazwisko, a w drugim wpisie skorzystać z drugiego złączenia INNER JOIN. Czy ktoś ma pomysł jak powinienem to zrealizować?


Drugie pytanie:
Jak w łatwy sposób zrobić wyświetlenie wyników perspektywy bez dublowania poszczególnych pól? Tzn jeżeli mamy wiele recenzentów, to po inner join powstanie taka tabela jak poniżej:

TYTUL: Podstawy myslenia AUTOR: Miki Loki RECENZENT: Jan Mana
TYTUL: Podstawy myslenia AUTOR: Miki Loki RECENZENT: Kijan Minit
TYTUL: Podstawy myslenia AUTOR: Miki Loki RECENZENT: Roger Buj

Ja bym wolał mieć taki wynik w perspektywie:
TYTUL: Podstawy myslenia AUTOR: Miki Loki RECENZENT: Jan Mana, Kijan Minit, Roger Buj

Da radę to jakoś uzyskać?
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: 24.08.2025 - 23:13