Javascript-форум (https://javascript.ru/forum/)
-   Серверные языки и технологии (https://javascript.ru/forum/server/)
-   -   Данные пользователя (https://javascript.ru/forum/server/9659-dannye-polzovatelya.html)

mycoding 30.05.2010 17:21

Данные пользователя
 
Подскажите, пожалуйста.
Вот если надо хранить данные о пользователя, а именно изображений в среднем 100 штук (но у некоторых может быть 1 а у других 1000), всякие статьи. То как лучше это делать? База данных mysql одна.
Надо ли для каждого пользователя делать отдельную таблицу?
Просто если записывать всё в одной, то предположим ситуация на сайте 1000 пользователей и и все активно пишут статьи удаляют изменяют и это идёт через одну таблицу , база данных не зависнет?
И как лучше хранить изображения надо ли ли делать для пользователя отдельную папку и туда все его изображения помещать или в базе данных хранить?

B@rmaley.e><e 30.05.2010 17:31

Цитата:

Сообщение от mycoding
Надо ли для каждого пользователя делать отдельную таблицу?

О, ужас...

Отдельная таблица для статей, отдельная таблица для юзеров, возможно отдельная таблица для картинок.

e1f 30.05.2010 17:33

Для картинок таблица связей -- id пользователя <=> id картинки, картинки хранятся в многоуровневой структуре папок вида /site/images/ac/3e/ac3ea1a3a4a5a6a7a.jpg

mycoding 30.05.2010 18:07

Т.е следует сделать папку с именем пользователя.
И вот думаю следует ли туда поместить ещё index.php для вывода всех данных пользователя? Просто если предположить что у нас 1000000 пользователей и index.php весит около 7 кб получается около 6 гигабайт?
Наверное это слишком.

Gvozd 30.05.2010 18:16

Цитата:

Сообщение от mycoding
Т.е следует сделать папку с именем пользователя.

где вы это увидели?
такой путь - /site/images/ac/3e/ac3ea1a3a4a5a6a7a.jpg позволяет снизить нагрузку на ФС
ac/3e - это первые 4 символа имени, а не имя пользователя.
в свою очередь имя файла-это какой-нибудь хеш.
как правило используется md5 от содержимого файла
Цитата:

Сообщение от mycoding
И вот думаю следует ли туда поместить ещё index.php для вывода всех данных пользователя?

apache mod_rewrite

Kolyaj 30.05.2010 20:50

Цитата:

Сообщение от mycoding
Просто если предположить что у нас 1000000 пользователей

Если у вашего сайта будет 1 000 000 пользователей, то у вас будут деньги на нормальных программистов. Не волнуйтесь :)

micscr 31.05.2010 08:35

Вообще, если не знаком с законами нормализации БД - вперед изучать. Без этого никак.
Например пользователь грузит себе картинки. Надо три таблицы:
пользователи
idp Вся информация о пользователе(ник, ящик, хеш пароля ...)
1 petia petiaгав-гавmail.ru uyte87458rtui87483475 ...
...
картинки
idim name
1 x.gif
2 y.gif
картинки пользователей
idp idim
1 1
1 2

Gvozd 01.06.2010 07:32

micscr,
учитывая, что одну картинку может загрузить только один пользователь, то необъодимость в вашей третьей таблице отпадает, и ее данные вполне хорошо ложатся в таблицу картинок

micscr 01.06.2010 07:52

да держать загрузившего картинку в таблице картинок надо.
А картинки пользователей - это я предполагал общий случай, а не загруженные лично им. Например пользователь составляет свои галереи - картинки от друзей, товарищей, ...

e1f 01.06.2010 09:55

Gvozd, ай-яй-яй :) Это сейчас надобности нет, а потом она вполне себе может появится :) micscr все правильно написал.


Часовой пояс GMT +3, время: 15:00.