Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php] tabele w bazie danych
max_mcee
post
Post #1





Grupa: Zarejestrowani
Postów: 156
Pomógł: 1
Dołączył: 25.09.2007

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


Doświadczeni koledzy. Chcę przygotować bazę danych na 600 klientów. I teraz każdy z nich będzie miał dostęp do faktur, dodawania nowych newsów, dodawanie podstron, itp.
Jak optymalnie zbudować bazę danych? Czy lepiej dla każdego klienta tworzyć oddzielną tabelkę w bazie danych, czy poprostu, lepiej zbudować tabele odpowiednio do faktur, newsów, itd. i za pomocą zapytań wyszukiwać rekordy potrzebne do zwrócenia
np: SELECT * FROM tabelka WHERE user='$user';

Jak uważacie ?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 1)
Hazel
post
Post #2





Grupa: Zarejestrowani
Postów: 492
Pomógł: 33
Dołączył: 16.08.2007
Skąd: Wrocław

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


Jasne że to drugie, gdybyś chciał budowac oddzielną tabelę dla każdego klienta, to w bazie masz 600 tabel. W przeciwnym przypadku masz kilka tabel z max 600 rekordami. Wydajność jest nieporównywalna. Poza tym, żeby dla każdego zarejestrowanego klienta utworzyć tabelę, musiałbyś nadać przywilej SQL CREATE każdemu (nawet jeszcze niezarejestrowanemu) użytkownikowi, a to po prostu wieje grozą. Proponuję Ci taką strukturę bazy:

Kod
Klienci (id, nazwisko, imię, adres)
Faktury (id, faktura_id foreign key(Faktury_klientow))
Faktury_klientow (faktura_id primary key, faktura)
Newsy (id, news_id foreign key(Newsy_klientow))
Newsy_klientow (news_id primary key, news)


To w przypadku kiedy jeden klient może mieć więcej niż jedną fakturę lub newsa lub coś tam. Oczywiście taką strukturę bazy dostosowujesz do swoich potrzeb. Pozdrawiam.
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 21.12.2025 - 15:17