Zaloguj się

Zobacz pełną wersję : Błędne dodawanie napisów - dwie "grupy".



leszek_b22
21-08-2010, 10:44
Dodałem wczoraj do bazy napisy do filmu "Tokijska sonata". Zrobiłem to zgodnie z procedurą, wypełniając prawidłowo wszystkie pola, podając oczywiście adres filmu w imdb.com.

Okazało się, że system założył moje napisy w osobnej, nowej "grupie". Teraz po wpisaniu w wyszukiwarkę "Tokijska sonata" otrzymuje się dwie grupy:
- grupa "stara", zawierająca dwie pozycje napisów innych autorów,
- grupa "nowa", zawierająca jedną pozycję moich napisów.

Moje napisy nie powinne wygenerować nowej grupy. Jest to błąd w systemie i tworzy on niepotrzebny bałagan.
Proszę popatrzeć na szczegóły:

moje napisy: ID 116066
Tôkyô sonata
Tokijska sonata
http://www.imdb.com/title/tt0938341
http://www.filmweb.pl/f437653/Tokijska+sonata,2008

inne napisy: ID 109973
Tôkyô sonata
Tokijska sonata
http://www.imdb.com/title/tt0938341
http://www.filmweb.pl/f437653/Tokijska+sonata,2008

Pomiędzy identyfikatorami napisów nie ma żadnej różnicy. Moje napisy nie powinne utworzyć nowej grupy, powinne się znaleźć w już utworzonej grupie.

Proszę Administratora o przeniesienie moich napisów do istniejącej już grupy oraz znalezienie i usunięcie istniejącego błędu w oprogramowaniu.

Ten błąd istnieje od dawna, bo poszukując napisów do filmów spotykałem takie przypadki "dwóch grup". Powiem szczerze, że nie analizowałem tego zjawiska - ale teraz dotknął on bezpośrednio mnie.

Usunięcie błędu polepszy działanie naszego serwisu i wzbudzi zadowolenie jego użytkowników.

Krzysztof J. Szklarski
21-08-2010, 11:27
Dziękuję Leszku za zwrócenie nam uwagi na ten problem, którym zajmiemy się już od najbliższego poniedziałku, tj od dnia 23 sierpnia. Problem ten wymaga przeprowadzenia bardzo dokładnej analizy w naszym oprogramowaniu, gdyż tzw. ręczne przenoszenie napisów byłoby rozwiązaniem doraźnym, a przecież nie o to nam wszystkim chodzi. Mam nadzieję, że uda nam się problem z Michałem rozwiązać, choć żaden z nas nie jest specjalistą w tej dziedzinie. Oj mało nas, mało nas do pieczenia chleba... ;(

leszek_b22
21-08-2010, 11:59
...choć żaden z nas nie jest specjalistą w tej dziedzinie.

To jest dość prosta sprawa. Ja co prawda nie znam się na MySQL, ale w systemach bazodanowych trochę pracowałem. Prawdopodobnie w głównej tablicy, gdzie trzymane są tytuły filmów, założony jest "nadmiarowy" unikalny indeks.
Zapewne w tej tablicy jest postawiony główny unikalny indeks na pole:
ID filmu
oraz drugi unikalny indeks na pola:
tytuł polski,
tytuł oryginalny (angielski?),
adres na imdb,
adres na filmweb,
"niepotrzebne pole".

I różnica zawartości w polu "niepotrzebne pole" dla moich napisów i napisów "starych" generuje powstawanie nowej grupy w raporcie z listą znalezionych tytułów.
Takie "nadmiarowe" unikalne indeksy czasami są pomocne, pozwalają wprowadzić "podwójne" dane do bazy. Ale nie zawsze to jest sensowne. Myślę, że te informacje pomogą w rozwiązaniu zadania. Usunięcie unikalnego indeksu i założenie go na tylko niezbędne pola pozwoli łatwo rozwiązać problem. Jeżeli coś nie jasne to proszę o przesłanie do mnie przez Skype struktury tej tablicy i jej indeksów.

Michał J. Mellin
25-08-2010, 23:05
To jest dość prosta sprawa.
To nie jest prosta sprawa, nasza baza nie jest stworzona zgodnie z zasadami normalizacji baz danych, ale za dzięki temu ma ciekawe właściwości. :)

Sprawa jest częściowo rozwiązana. Dodany przez Ciebie tytuł miał inne kodowanie (UTF), a mysql porównując ciągi znaków po bajtach uznał, że to jest inny tytuł i pogrupował je na dwie oddzielne grupy.
Zapiszę sobie, aby to kiedyś sprawdzić z czego wzięła się różnica w kodowaniu.