[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Правильная Организация таблиц в БД
zvezda_t
Здравствуйте!

Подскажите мне пожалуйста, какой из вариантов правильный:

Задача - записать данные в таблицу, о хобби мужчин и женщин, так что список возможных хобби мужчины находиться в одном справочнике, а список хобби женщин находится в другом справочнике,а в таблице user очень много других одинаковых для обоих полов полей)))

Есть две таблицы справочников хобби:
1)hobby_m
id
hobby varchar()

2)hobby_w
id
hobby varchar()

Как правильно должна выглядить таблица user?

Два варианта:
1)user
_______
type //принадлежность к полу -m или w
hobby - id элемента из соответствующего справочника
....

2)user
_______
type //принадлежность к полу -m или w
hobby_m - id элемента из справочника hobby_m
hobby_w - id элемента из справочника hobby_w
....

Меня смущает первый вариант тем, что
1)будут ли правильно работать представления с двумя справочниками?
2) Если вдруг хобби мужчины потребуется включить отдельным блоком и для женщины, тогда у меня путаница начнется с одним полем.

А второй вариант мне не нравится тем, что в любом случае для одного из них одно поле будет пустовать...

Вот. rolleyes.gif Если кто-нибудь меня понял, подскажите пожалуйста, как правильно smile.gif



Спустя 20 минут, 14 секунд (20.10.2010 - 12:49) Adil написал(а):
hobby
id
user_id
sex
hobby varchar()

Спустя 23 минуты, 20 секунд (20.10.2010 - 13:12) linker написал(а):
user
id
...
sex
hobby

hobby
id
name

Хобби должно быть одинаковым для всех, ибо ничто не мешает мужику увлекаться бисероплетением, а женщине - схемотехникой. Пол мужской или женский определяется полем sex в таблице user. Вообще у одного человека может быть несколько хобби, тогда нужно вводить отдельную таблицу, где будет соответствие id пользователя к id хобби.

Спустя 34 минуты, 9 секунд (20.10.2010 - 13:46) zvezda_t написал(а):
блин... так и думала что не правильный пример подобрала...
В общем у меня есть два абсолютно разных справочника, который используются - один с одним типом пользователей, другой с другим типом пользователей, и нет гарантии что в будущем оба справочника будут использоваться обоими пользователями.

можно мне на одно поле - два справочника посадить (каждому типу пользователей свой справочник)??? rolleyes.gif

Спустя 8 минут, 38 секунд (20.10.2010 - 13:55) linker написал(а):
Ну смотри на поле sex, если по нему опознается мужик, то используй один справочник, иначе второй.

Спустя 1 минута, 53 секунды (20.10.2010 - 13:57) zvezda_t написал(а):
Цитата
Ну смотри на поле sex, если по нему опознается мужик, то используй один справочник, иначе второй.

вот. спасибо, linker, что понял меня, я так и хочу.
Скажи мне пожалуйста, а если представления использовать - там же нужно устанавливать связь между полем таблицы и справочником - проблем не возникнет? rolleyes.gif

Спустя 34 минуты, 24 секунды (20.10.2010 - 14:31) linker написал(а):
Нет, проблем не будет, ведь ты знаешь точно какой пол у пользователя, а значит знаешь с каким хобби из какого справочника присутствует связь.


_____________

Что ты сделал сегодня - для завтра?
"Приидите ко Мне вси труждающиеся и обремененнии и Аз упокою вы, возмите иго Мое на себе и научитеся от Мене яко кроток есмь и смирен сердцем и обрящете покой душам вашим, иго бо Мое благо и бремя Мое легко есть."(Мф. 11:28-30)
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.