![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 27 Pomógł: 0 Dołączył: 1.08.2013 Ostrzeżenie: (0%) ![]() ![]() |
Witajcie, ma pewien problem:
w swojej bazie mam rozne firmy, kazda firma ma kilka tabel, których nazwy wyglądają tak: firma_x, firma_y itd. mam skrypta, który pozwala na edycję nazwy firmy, chciałbym też zeby zmienialy się automatycznie prefiksy tych tabel. Jak to zrobic? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 731 Pomógł: 141 Dołączył: 9.05.2011 Skąd: śląskie Ostrzeżenie: (0%) ![]() ![]() |
w połączeniu z RENAME TABLE Ten post edytował mar1aczi 17.09.2013, 11:46:39 -------------------- Szanuj innych czas! Kliknij
![]() |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Czekaj, czekaj, czekaj... masz to zrobione w najgorszy z możliwych sposobów i chcesz jeszcze bardziej utrudnić sobie życie.
Nie powinieneś w ogóle robić osobnych tabel dla każdej z firm. Dodaj po prostu jedną tabelę FIRMY z kolumnami ID, NAZWA i czymkolwiek tam jeszcze chcesz. Następnie w każdej z tabel, gdzie przechowywane są dane specyficzne dla danej firmy dodaj kolumnę ID_FIRMY, a w zapytaniach SQL pobieraj tylko te rekordy, które należą do strony, aktualnie przeglądanej firmy. Jeżeli z jakiegoś powodu nie możesz zrobić tego normalnie, w prefiksach tabel stosuj jakiś unikalny klucz, a nie nazwę firmy. Nigdy nie powinieneś nawet próbować zmieniać nazw tych tabel. Ten post edytował Crozin 17.09.2013, 11:55:00 |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 27 Pomógł: 0 Dołączył: 1.08.2013 Ostrzeżenie: (0%) ![]() ![]() |
Dzięki Panowie.. Crozin dałeś mi bardzo dobry pomysł z tymi unikalnymi prefiksami. Uważam, że potrzebuję wielu tabel a nie jednej ponieważ... hmm może inaczej napiszę do czego to potrzebne, ciekaw jestem Waszej opinii co do tego, czy wybrałem dobre rozwiązanie:
User wprowadza nazwe firmy - tworzy się tabela tej firmy. User wprowadza produkty firmy - dodany zostaje wpis do bazy firmy tworzy sie tabela z dla konkretnego produktu. Wiem, że można to wszystko wrzucić do tabeli firmy, ale później zostanie załączone cykliczne wyszukiwanie - moja apka będzie się łączyć z pewną bazą danych, będzie musiała przekopać ponad 80 mln rekordów i dodać do tabeli konkretnego produktu wszystkie znalezione podobne produkty. Dlatego doszedłem do wniosku, że lepiej zrobić to w oparciu o osobne tabele bo inaczej w tabeli firmy mialbym straszny bałagan: wszystkie produkty tej firmy a dodatkowo wyniki tego wyszukiwania.. Co o tym sądzicie? |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Źle to zrobiłeś. Potrzebujesz raptem trzy tabele i najbardziej podstawowe indeksy na kolumnach z identyfikatorami:
Kod FIRMY (id, nazwa, ...) Będziesz miał porządek, a pobieranie danych będzie szybkie. Jest to też standardowy schemat, z którym poprawnie będą współpracowały wszystkie narzędzia powiązane z bazami danych.
PRODUKTY (id, id_firmy, nazwa, ...) PODOBNE_PRODUKTY (id_produktu, id_podobnego_produktu) |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 731 Pomógł: 141 Dołączył: 9.05.2011 Skąd: śląskie Ostrzeżenie: (0%) ![]() ![]() |
Popieram wypowiedź Crozin'a całkowicie.
-------------------- Szanuj innych czas! Kliknij
![]() |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 27 Pomógł: 0 Dołączył: 1.08.2013 Ostrzeżenie: (0%) ![]() ![]() |
no tak, pomysł dobry, tylko ze pozniej po zakonczeniu tego szukania bedzie działało narzędzie, które będzie sprawdzało te wyniki na podstawie parametrow - te "wazniejsze" sprawia ze wynik bedzie uwazany za bardziej podobny. i pytanie czy to sie nie bedzie chrzanic, jak w jednej tabeli beda rekordy wszystkich firm.. ale w sumie zawsze moge wyciagnac produkty po id firmy i produktu... dobra dzięki Panowie, mega mi pomogliście!
![]() |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
W takim razie do tabeli PODOBNE_PRODUKTY dodajesz jeszcze jedną kolumnę, w której będziesz zapisywał stopień podobieństwa. Następnie pobierając podobne produkty, sortuj je po prostu względem tej kolumny.
Nic Ci się nigdzie nie wymiesza, ponieważ wszędzie masz informację (klucz obcy) co do czego należy. Ten post edytował Crozin 17.09.2013, 13:50:46 |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 04:12 |