Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] tabele w bazie danych
Forum PHP.pl > Forum > PHP
max_mcee
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 ?
Hazel
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.
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-2025 Invision Power Services, Inc.