![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 168 Pomógł: 1 Dołączył: 19.11.2005 Ostrzeżenie: (0%) ![]() ![]() |
Witam.
Przyszło mi rozbudować nieco dane przechowywane w tabelach w bazie danych ale w trakcie zacząłem zastanawiać się nad sensownością mojego pomysłu. Otóż mam tabelę zbudowaną z około 40 kolumn. Większość z nich jest typu int. Czy można jeszcze do takiej tabeli dodawać kolejne kolumny, czy też raczej lepiej stworzyć nową tabelę i tam je wrzucać? Czy ilość kolumn ma jakieś widoczne przełożenie na wydajność zapytań i całego kodu napisanego w php? Z jednej strony chyba bezsensowne jest dzielenie tabel i potem ich łącznie za pomocą JOIN, czy nawet późniejsze sklejanie tablic z rezultatami zapytań, ale z drugiej taki podział nie wydaje się całkiem pozbawiony sensu. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 898 Pomógł: 80 Dołączył: 31.05.2008 Ostrzeżenie: (20%) ![]() ![]() |
Bezsensu! Oczywiście że wszystko można rodzielać, zależy tylko czy robisz to z głową i np:
Tabela Użytkownik: idUser | userName | userPwd Tabela DaneUzytkownika idUsera | Imie | Nazwisko | nrButa | imieMatki | imieOjca | Pesel | Nip Tabela DaneTeleUzytkownika idUsera | nrTelefonu Tabela DaneAdresoweUzytkownika idUsera | adres | typAdresu (enum [zamieszkania,zameldowania,pobyt tymczasowy...]) Tabela AdresyEmailUzytkownia idUsera | adresEmail I co Ty na to? W zależności teraz jak ustawie relacje pomiędzy tabelami takie moi użytkownicy będą mieli możliwości z dodaniem danych, będą mogli mieć wiele adresów email, wiele nr telefonów, wiele adresów różnego typu. Kto napisał że dzielenie jest złe? B.dobre (IMG:style_emoticons/default/winksmiley.jpg) I teraz rzucasz sobie pkey na idUsera w każdej tabeli z refrencją na tabele uzytkownika, masz od razu btree index. I śmiaga aż hoho, a pobierasz tylko wtedy inne dane gdy Ci są potrzebne. Pamiętajmy sql nie lubi jak ma pare kolumn z czego n-x jest null. Ten post edytował cojack 11.11.2009, 17:10:40 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 7.10.2025 - 07:08 |