Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> DATABASE dla każdego
Pogo
post 27.04.2008, 21:43:13
Post #1





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 4.09.2007
Skąd: Z nienacka

Ostrzeżenie: (0%)
-----


Witam.

Od niedawna zastanawiam się nad strukturą pewnej bazy, a raczej nad pomysłem na nią.

Powiedzmy że istnieje X użytkowników, każdy użytkownik posiada powiedzmy 10 danych kontaktowych, 10 danych administracyjnych, 10 danych dodatkowych Y i 10 danych dodatkowych Z, a każda z Y oraz Z posiada swoich 10 kolejnych właności.

Rozwiązanie takiej bazy jest dosyć proste.
tabela Users
tabela Y
tabela Z

i wybieranie z Y oraz Z danych przy pomocy selekcji ID usera.

Takie jednak rozwiązanie wprowadza troche chaosu do bazy,
w tabeli Y (tudzież Z) mamy wpisy wszystkich użytkowników, a tabela Users ma 2m.
dużo bardziej przyjemnie i przejżyście byłoby, gdyby każdy z użytkowników miał swoją DATABASE,
a w niej odpowiednie tabele, KONTAKT, ADMINISTRATE, Y, Z, itd
funkcje php były by bardziej przejżyste, tablice przeglądało by się szybciej i prościej, i cały świat byłby znów trochę piękniejszy.

No i teraz pytanie... czy takie rozwiązanie ma sens ?
Czy MySql ma ograniczenie co to ilości DATABASE ?
Czy taki układ bardziej obciąża system ?
Jeżeli to głupie, to dlaczego ? (nasłuchałem się już : "bo tak się nie robi" i "nie, tak nie można", ale nikt nie jest w stanie mi wytłumaczyć dlaczego, więc darujcie sobie zbędne komentarze)

Może ktoś już tak próbował ?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
kaminskp
post 27.04.2008, 22:11:44
Post #2





Grupa: Zarejestrowani
Postów: 98
Pomógł: 0
Dołączył: 18.03.2008
Skąd: Olsztyn

Ostrzeżenie: (20%)
X----


Moim zdaniem ja bym to załatwił dwiema tabelami.

nazwa_czlowieka
id_czlo
nazwa

adresy
id_adresu
id_czlo
adres

Samo zapytanie w SQL może niech ktoś inny wymyśli.
Ale kiedy zapytasz o adresy Kowalskiego o id_czlo = 2 to powinny się wyświetlić.
Go to the top of the page
+Quote Post
nevt
post 27.04.2008, 22:29:45
Post #3





Grupa: Przyjaciele php.pl
Postów: 1 595
Pomógł: 282
Dołączył: 24.09.2007
Skąd: Reda, Pomorskie.

Ostrzeżenie: (0%)
-----


Cytat
No i teraz pytanie... czy takie rozwiązanie ma sens ?
Czy MySql ma ograniczenie co to ilości DATABASE ?
Czy taki układ bardziej obciąża system ?
Jeżeli to głupie, to dlaczego ? (nasłuchałem się już : "bo tak się nie robi" i "nie, tak nie można", ale nikt nie jest w stanie mi wytłumaczyć dlaczego, więc darujcie sobie zbędne komentarze)


1. nie ma sensu.

2. odpal skrypt:
  1. <?php
  2. $db = mysql_connect('server', 'user', 'password');
  3. $i=0;
  4. while(true)
  5. {
  6. mysql_query("CREATE DATABASE db_$i;");
  7. echo $i++;
  8. echo '<br />';
  9. }
  10. ?>
i zobacz kiedy się wysypie ...

3. taki układ uniemożliwia normalne korzystanie ze zgromadzonych danych.

4. jest to tak samo mądre, jak napisanie pracy magisterskiej w edytorze, ale tak że każdy akapit będzie w osobnym pliku. albo arkusza danych tak, że każdy wiersz tabelki z danymi będzie w osobnym arkuszu. spróbuj na początek tak korzystać z komputera: każdy plik jaki tworzysz, wrzucaj do nowego katalogu na C:\ ... spróbuj tym w jakikolwiek sposób zarządzać ... spróbuj to ogarnąć po pół roku używania i wygenerowaniu 100 000 plików. może zrozumiesz, dlaczego tak się nie robi ...


--------------------

-
Oh no, my young coder. You will find that it is you who are mistaken, about a great many things... -
Go to the top of the page
+Quote Post
Sedziwoj
post 27.04.2008, 22:58:01
Post #4





Grupa: Zarejestrowani
Postów: 793
Pomógł: 32
Dołączył: 23.11.2006
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Cytat(nevt @ 27.04.2008, 23:29:45 ) *
4. jest to tak samo mądre, jak napisanie pracy magisterskiej w edytorze, ale tak że każdy akapit będzie w osobnym pliku. albo arkusza danych tak, że każdy wiersz tabelki z danymi będzie w osobnym arkuszu. spróbuj na początek tak korzystać z komputera: każdy plik jaki tworzysz, wrzucaj do nowego katalogu na C:\ ... spróbuj tym w jakikolwiek sposób zarządzać ... spróbuj to ogarnąć po pół roku używania i wygenerowaniu 100 000 plików. może zrozumiesz, dlaczego tak się nie robi ...


Lub jak instalowanie kolejnego programu pocztowego, dla każdego kontaktu...
(bo przecież tak kontakty są na jednej liście)

A swoją drogą, jak się człowiek na czymś nie zna, a ci co już coś wiedzą (wszyscy), że tak się nie robi, to taka osoba przyjmuje to, najwyżej jak się czegoś nauczy i będzie miała dalej wątpliwości, to już z konkretami może dyskutować.


--------------------
Algorytmy w PHP, czy ktoś o tym słyszał?
Dlaczego tak mało kobiet programuje? ponieważ nie zajmują się głupotami.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 01:05