Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: pozbyie się redundacji danych i stworzenie relacji
Forum PHP.pl > Forum > Bazy danych > MySQL
Fixer
Witam
Szukam narzędzie które przeanalizuje mi wszystkie rekordy w tabeli i tworząć tabele relacyjne z danych które się powtarzają
Dla przykładu podam:

obecnie mam tak:
imie nazwisko miasto
----------------------------------------
Imie1 | Nazwisko1 | Miasto1
Imie2 | Nazwisko2 | Miasto1

a chce mieć tak:
imie nazwisko id_miasta
----------------------------------------
Imie1 | Nazwisko1 | 1
Imie2 | Nazwisko2 | 1

a potem w tabeli MIASTA
id_miasta nazwa
----------------------------------------
1 | Miasto1
2 | Miasto2

Do tej pory robiłem to w accessie (narzędzia> analizuj>tabela) i wszystko było ładnie pięknie do czasu jak przetwarzałem 5000 rekordów.
Teraz mnie czeka 8 mln rekordów i access wymięka, wiesza się, znacie jakieś inne narzędzie do tych celów?
dr_bonzo
To w koncu access czy mysql ?

Zawsze mozesz napisac skrypt, dodac kolumny, i zamieniac Miasto na jego ID
Aztech
To co zasugerował dr_bonzo jest chyba najoptymalniejszym rozwiązaniem. Robisz to mniej więcej tak:
1) Tworzysz zapytanie który wybierze Ci unikalne nazwy miast.
2) Na postawie zapytania 1) tworzysz sobie zapytanko z CREATE, które utworzy Ci tabelkę z ID + miasto
3) Dodajesz do tabelki, która ma: imie nazwisko miasto pole imie nazwisko miasto id_miasta
4) Używając MODIFY aktualizujesz wartości w id_miasta wartościami id z tabelki MIASTA
5) Usuwasz zbędną kolumnę w miasto i voila! smile.gif
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-2024 Invision Power Services, Inc.