2013-09-02 4 views
1

Я создаю веб-приложение, которое позволит создавать и управлять проектами, но когда дело доходило до создания базы данных и таблиц, я задавался вопросом, было ли что-то не так, создав базу данных для пользователей (myapp_users) поэтому каждая таблица будет каждый пользователь, а столбец будет представлять собой проект.База данных MySQL для пользователей

+0

Для получения более точных и лучших ответов, чем у меня, см .: [Эффективность базы данных - таблица для каждого пользователя и таблицы пользователей] (http://stackoverflow.com/questions/7544544/database-efficiency-table-per-user-vs -стол-оф-пользователей) – Jim

ответ

0

Да, с этим что-то не так. Призрак Эдгара Кодда будет преследовать вас, и ваша база данных будет незащищенной и незаметной.

Если вы когда-либо находите необходимость в X-таблицах для каждого элемента, а предметы являются произвольными, то, вероятно, они нуждаются в таблице для себя.

В этом случае у вас будет таблица users со всей информацией для конкретных пользователей в каждой строке и таблица projects, которая может ссылаться на таблицу users.

Это позволяет использовать БД так, как он предназначен, и упрощает работу с такими вещами, как подсчет пользователей или получение списка всех проектов, данных конкретному пользователю (плюс изменение имени пользователя требует обновления строки, а не переименования таблицы).

Смежные вопросы