Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Таблицы с отношениями один-к-одному / 8 сообщений из 8, страница 1 из 1
17.05.2010, 14:24
    #36632149
avb1987
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Таблицы с отношениями один-к-одному
Здравствуйте,

Предположим несколько сущностей:

1) Аккаунт пользователя (данные для идентификации - логин/пароль/e-mail)
2) Баланс пользователя
3) Профайл пользователя (Персональные данные - имя/фамилия/отчество/телефон/пол и т.п.)

Одному пользователю может соответствовать один баланс и один профайл.

Как лучше сделать?

1) Сделать три таблицы: accounts, statements, profiles, при этом в таблицах statements и profiles внешние ключи, которые ссылаются на первичный ключ (account_id) в таблице с аккаунтами.

2) Те же три таблицы, но в этом случае в таблице accounts будут внешние ключи которые ссылаются на первичные ключи в таблицах profiles и statements (т.е. в таблице accounts будут поля (account_id, profile_id, statement_id, login, password...))

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

Спасибо.
...
Рейтинг: 0 / 0
17.05.2010, 14:26
    #36632155
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Таблицы с отношениями один-к-одному
а при каких-либо условиях свойства и требования к этим таблицам могут различаться?
...
Рейтинг: 0 / 0
17.05.2010, 14:29
    #36632161
avb1987
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Таблицы с отношениями один-к-одному
Если я правильно понял ваш вопрос, то - нет.

Тип пользователей только один - физические лица, соответственно набор полей в профайле одинаковый для всех, и если будет меняться то для всех сразу.

Что касается балансов - аналогично.
...
Рейтинг: 0 / 0
17.05.2010, 14:32
    #36632168
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Таблицы с отношениями один-к-одному
Речь не про категории записей в таблицах, а про сами таблицы.
Например, потребуются ли различные настройки прав на чтение разных таблиц разными пользователями?
Или понадобится ли реплицировать одну из таблиц при запрете реплицировать другую?
...
Рейтинг: 0 / 0
17.05.2010, 14:35
    #36632175
avb1987
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Таблицы с отношениями один-к-одному
miksoftРечь не про категории записей в таблицах, а про сами таблицы.
Например, потребуются ли различные настройки прав на чтение разных таблиц разными пользователями?
Или понадобится ли реплицировать одну из таблиц при запрете реплицировать другую?

В обоих случаях - нет.
...
Рейтинг: 0 / 0
19.05.2010, 19:06
    #36637592
A1ek5andr0
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Таблицы с отношениями один-к-одному
avb19873) Не мучиться с отношениями, и сделать одну таблицу в которой будут все эти данные, т.к. все-равно одному аккаунту соответствует только один баланс и профайл (т.е. сделать все поля свойствами аккаунта а не разделять на три сущности).

Предлагаю этот вариант, ибо это есть одна сущность - пользователь.
ID NAME SEX PHONE LOGIN PASS E_MAIL BALANCE1 avb1987 M 12345 avb1987 qwerty avb1987@avb1987.ru 12345
...
Рейтинг: 0 / 0
20.05.2010, 15:56
    #36639469
mcureenab
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Таблицы с отношениями один-к-одному
avb1987Здравствуйте,

Предположим несколько сущностей:
...


Вообще говоря первые два варинта не отражают модель данных, потому что в какие то моменты времени у вас неизбежно будут отсутствовать один или два обязательных объекта. Обойти это можно отложенной проверкой ограничений целостности, или вообще их не создавать, что не есть good.

Если не предполагается дальнейшее усложнение системы (например совместное пользвание одного Л/С - типа семейный тариф), то проще всего свалить все сущности в одну таблицу.

2, A1ek5andr0. В исходной модели сущности "Пользователь" нет. В противном случае и вопроса бы не возникло.
...
Рейтинг: 0 / 0
21.05.2010, 21:41
    #36642593
avb1987
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Таблицы с отношениями один-к-одному
Всем спасибо. Было решено все объединить в одну таблицу.
...
Рейтинг: 0 / 0
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Таблицы с отношениями один-к-одному / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]