![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 15.10.2014 Ostrzeżenie: (0%) ![]() ![]() |
Witam serdecznie.
Tworzyłem sobie bazę i stronę do tego w php i w miarę jak ją pisałem, kolumn zaczęło przybywać. Wymyślałem kolejne rzeczy które by mi pomogły zarządzać rekordami i pracowałem tylko na jednej tabeli w której teraz jest około 200 kolumn. Wydawało mi się że przy około 500 rekordach nie będzie żadnego problemu, ale ostatnio rozmawiałem ze znajomym i mnie trochę nastraszył. Co sądzicie, czy taka baza ma prawo poprawnie działać czy przerobić ją i całą stronę w PHP na mniejsze tabele? Jeśli tak to poprosiłbym o polecenie jakieś materiałów na temat powiązań tablic itd, bo nie ukrywam że słyszałem wcześniej o takim czymś tylko z niewiedzy i zlekceważenia tego aspektu zrobiłem wszystko w jednej. Pozdrawiam |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 246 Pomógł: 79 Dołączył: 25.05.2010 Ostrzeżenie: (0%) ![]() ![]() |
Szukaj haseł: projektowanie baz danych, relacje, postacie normalne, normalizacja bazy danych
-------------------- Jeśli ten post pomógł to kliknij przycisk
![]() Nie pomagam przez PW, GG, e-mail, faks, telegram, znaki dymne, ... |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 15.10.2014 Ostrzeżenie: (0%) ![]() ![]() |
Czyli rozumiem że mam przerobić tak?
![]() |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 1 240 Pomógł: 278 Dołączył: 11.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
Jeżeli wiążesz jakąkolwiek przyszłość z tą stroną to musisz ją przerobić.
-------------------- |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 15.10.2014 Ostrzeżenie: (0%) ![]() ![]() |
Dziękuję bardzo!
Zaraz się zabieram do czytania. |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
Nie podałeś ŻADNYCH konkretów co do tabeli.
200 kolumn typu tinyint to nic, 200 kolumn typu text to już coś, kolumny które można zastąpić czymś w innej bazie... Można gdybać. Ogólnie nie jest wskazane aby nadmiernie przepakowywać ilość kolumn, ale to zależy od sytuacji. Jak pokażesz strukturę to można pomyśleć. |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 15.10.2014 Ostrzeżenie: (0%) ![]() ![]() |
Struktura wygląda tak:
60 x varchar(4) 60 x varchar(25) 60 x varchar(20) + 11 innych pól na adres, imie, nazwisko, tel, id itd. Co myślisz? |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 655 Pomógł: 73 Dołączył: 2.05.2014 Ostrzeżenie: (0%) ![]() ![]() |
Może łatwiej było by np. te 60x varchar(4) zrobić jedno pole typu text i serialize/deserialize? ;] Po kluczu odpowiednim jechać. Więcej roboty w samym php ale zdaje mi się, że jest to bardziej "lepsze" rozwiązanie.
Joiny tutaj dużo nie zmienią - można rozbić na kilka tabel po kilkadziesiąt kolumn i pobierać daną tabele tylko i wyłącznie gdy na prawdę jest potrzebna - dobrze to rozegrać i będzie gitara. Na pewno nie potrzebujesz tych 200 pól za każdym razem gdy odwołujesz się do użytkownika. -------------------- Overwatch24 - najbardziej zaawansowany Polski portal Overwatch od fanów dla fanów.
Fachowo.co Behance.net/fachowo |
|
|
![]()
Post
#9
|
|
![]() Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
Na moje oko to tutaj będzie max 15 kolum + 3 dodatkowe tabelki po 3 kolumny czyli razem 18
![]() ![]() |
|
|
![]()
Post
#10
|
|
![]() Grupa: Zarejestrowani Postów: 655 Pomógł: 73 Dołączył: 2.05.2014 Ostrzeżenie: (0%) ![]() ![]() |
Na moje oko to tutaj będzie max 15 kolum + 3 dodatkowe tabelki po 3 kolumny czyli razem 18 ![]() ![]() Rozwiń myśl ![]() -------------------- Overwatch24 - najbardziej zaawansowany Polski portal Overwatch od fanów dla fanów.
Fachowo.co Behance.net/fachowo |
|
|
![]()
Post
#11
|
|
![]() Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
Skoro ma po 60 szt. kolum w 3 rodzajach to domniemam że są one ponumerowane od 1-60.
Co za tym idzie utworzenie tabeli z 4 kolumnami (3 wyciągnięte jako rodzaj) + 1 na określenie numery kolumny z poprzedniej tabeli + jakieś FK + ID jak AI no to 7 kolumn (jedna tabelka). + kolejna tabelka z pozostałości po poprzedniej co daje nam razem 2 tabele i 18 kolumn razem ![]() |
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 15.10.2014 Ostrzeżenie: (0%) ![]() ![]() |
Nie pomyliłeś się dużo.
Podsyłam kod, ale sądząc po waszej reakcji nie ma tragedii z tym, tak? http://pastebin.com/BFCa9Suj |
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 1 421 Pomógł: 310 Dołączył: 18.04.2012 Ostrzeżenie: (0%) ![]() ![]() |
Szzaleństwo... Nazwisko VARCHAR(15) - BRZĘCZYSZCZYKIEWICZ nie wejdzie. Telefon - 50, email również... Zaszalałeś... Pola `m`, `d`, `kto` to poracha zupelna
|
|
|
![]()
Post
#14
|
|
![]() Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
No to już rozwiązanie dostałeś
![]() A tymczasem uciekam na HotS'a ![]() |
|
|
![]()
Post
#15
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 15.10.2014 Ostrzeżenie: (0%) ![]() ![]() |
Szzaleństwo... Nazwisko VARCHAR(15) - BRZĘCZYSZCZYKIEWICZ nie wejdzie. Telefon - 50, email również... Zaszalałeś... Pola `m`, `d`, `kto` to poracha zupelna Rozumiem, zmienię to. Dzięki 15 na tel, 25 email i 35 na nazwisko będzie ok? Skoro ma po 60 szt. kolum w 3 rodzajach to domniemam że są one ponumerowane od 1-60. Co za tym idzie utworzenie tabeli z 4 kolumnami (3 wyciągnięte jako rodzaj) + 1 na określenie numery kolumny z poprzedniej tabeli + jakieś FK + ID jak AI no to 7 kolumn (jedna tabelka). + kolejna tabelka z pozostałości po poprzedniej co daje nam razem 2 tabele i 18 kolumn razem ![]() Mógłbyś jaśniej, bo naprawdę nic nie załapałem. Chociaż jakiś obrazek, albo trochę bardziej szczegółowo. Dzięki |
|
|
![]()
Post
#16
|
|
![]() Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
50 email, 50 nazwisko - więcej nie ma chyba sensu
Tabela 1 - id, imie, nazwisko .... Tabela 2 - id - tabel1_id - numerek (1-60) - m - d - kto |
|
|
![]() ![]() |
![]() |
Aktualny czas: 19.08.2025 - 19:17 |