powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Подскажите плиз
23 сообщений из 48, страница 2 из 2
Подскажите плиз
    #36624813
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Senya_LКроме "пипцов" будет адекватная критика?
Ну извиняй, какая есть.
...
Рейтинг: 0 / 0
Подскажите плиз
    #36624886
Senya_L
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
krvsaSenya_LКроме "пипцов" будет адекватная критика?
Ну извиняй, какая есть. А у меня есть

Твоя идея напоминает EAV, когда атрибуты сущности "размазаны" по нескольким строкам. Как правильно заметил mcureenab, контроль целостности ничем не проще. Простой пример: говоришь не требуется контроля целостности? Как бы не так! А проверку на двойное вхождение в одну и ту же группу? а те же самые проверки на непересекаемость интервалов членства в группе? А вот запросы на выборку однозначно станут сложнее.
А то ж как все просто получается: убери EndDT, потому как оно не нравится krvsa, и будет тебе счастье :)

ЗЫ. Так что аккуратнее с критикой, пожалуйста. Если не хотите прослыть злобным троллем, то высмеивание принято подверждать аргументами.
...
Рейтинг: 0 / 0
Подскажите плиз
    #36625745
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Senya_LТак что аккуратнее с критикой, пожалуйста. Если не хотите прослыть злобным троллем, то высмеивание принято подверждать аргументами.
Думай что хочешь... Это твоё право.

Только наличие пресловутого поля EndDT только добавляет проблем с целостностью к тем проблемам что ты уже описал.

Но в любом случае каждый будет решать для себя на чем ему остановиться. Т.ч. на один и тот же вопрос может быть несколько вариантов решения. Причем выбрать могут не самы лучший.
...
Рейтинг: 0 / 0
Подскажите плиз
    #36625984
Фотография orunbek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
krvsa,

EndDT нужен в любом случае, потому как участник может выйти из состава определенной группы и не принадлежать к какой-либо группе
...
Рейтинг: 0 / 0
Подскажите плиз
    #36626026
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
orunbek , я уже описвал вариант как это сделать без EndDT...
...
Рейтинг: 0 / 0
Подскажите плиз
    #36626033
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот этот вариант...

krvsaSenya_LИ даже если у мембера есть перерывы в участии в группе?
Добавь в табличку "истории участия" запись с пустым Group_ID - получишь "просто выход их группы".
...
Рейтинг: 0 / 0
Подскажите плиз
    #36626574
Фотография orunbek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
krvsaВот этот вариант...

krvsaSenya_LИ даже если у мембера есть перерывы в участии в группе?
Добавь в табличку "истории участия" запись с пустым Group_ID - получишь "просто выход их группы".

ну а где хранить инфу когда именно он выходил из группы?
...
Рейтинг: 0 / 0
Подскажите плиз
    #36626754
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
orunbekну а где хранить инфу когда именно он выходил из группы?
В StartDT конечно!
...
Рейтинг: 0 / 0
Подскажите плиз
    #36626784
Senya_L
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
krvsaorunbekну а где хранить инфу когда именно он выходил из группы?
В StartDT конечно! krvsa, Для тебя повторю:
meЗЫ. Так что аккуратнее с критикой, пожалуйста. Если не хотите прослыть злобным троллем, то высмеивание принято подверждать аргументами.Где аргументы, уважаемый? Советовать туфту и не подкреплять это аргументами - нефуево добрые советы. Вы не ответили про целостность данных, кстати
...
Рейтинг: 0 / 0
Подскажите плиз
    #36626809
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
no comment...
...
Рейтинг: 0 / 0
Подскажите плиз
    #36626820
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дабы показать свою точку зрения на хранение лично я взял бы вот какую структуру

Таблица участниковКодпрочие поля/характеристики
Таблица группКодпрочие поля/характеристики
Таблица истории участияКодДатаКод участникаКод группы

А использовать её или нет - решать конечному разработчику.
...
Рейтинг: 0 / 0
Подскажите плиз
    #36626826
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как примечание...
При выходе изгруппы в таблице "истории участия" заполняются только первые 3 поля.

Используя такую структуру я смогу получить все ответы на вопросы касающиеся членства в группах.
...
Рейтинг: 0 / 0
Подскажите плиз
    #36626998
Senya_L
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
krvsaКак примечание...
При выходе изгруппы в таблице "истории участия" заполняются только первые 3 поля.

Используя такую структуру я смогу получить все ответы на вопросы касающиеся членства в группах.Ты нее ответил на все вопросы. Например, о контроле целостности. Какие выгоды имеются?
...
Рейтинг: 0 / 0
Подскажите плиз
    #36627033
Senya_L
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
krvsano comment...Удобно, ничего не скажешь. Т.е. за свой "базар" отвечать неохота?
...
Рейтинг: 0 / 0
Подскажите плиз
    #36627109
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
krvsaКак примечание...
При выходе изгруппы в таблице "истории участия" заполняются только первые 3 поля.

Используя такую структуру я смогу получить все ответы на вопросы касающиеся членства в группах.А как тут узнать, из какой группы вышел участник? Если он может участвовать в нескольких группах.
...
Рейтинг: 0 / 0
Подскажите плиз
    #36627122
Фотография orunbek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
krvsaКак примечание...
При выходе изгруппы в таблице "истории участия" заполняются только первые 3 поля.

Используя такую структуру я смогу получить все ответы на вопросы касающиеся членства в группах.

он участвовал в группе A

История участияУчастник ИвановГруппа А2010-05-01

Выходит из этой группы, что будет?
Новая запись в эту таблицу?
...
Рейтинг: 0 / 0
Подскажите плиз
    #36627168
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tanglirА как тут узнать, из какой группы вышел участник?
Это делается запросом, по ближайшей дате, меньшей чем у "выходной" даты...

tanglirЕсли он может участвовать в нескольких группах.
Такой задачи вроде как не ставилось
...
Рейтинг: 0 / 0
Подскажите плиз
    #36627170
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
orunbekВыходит из этой группы, что будет?
Новая запись в эту таблицу?
Да. С "пустым" значением поля "Код группы".
...
Рейтинг: 0 / 0
Подскажите плиз
    #36627173
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Senya_LТы нее ответил на все вопросы.
Я вроде как и не обязан это делать...

Если не нравится мой вариант структуры - я его и не навязываю.
...
Рейтинг: 0 / 0
Подскажите плиз
    #36627184
Фотография orunbek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
krvsaorunbekВыходит из этой группы, что будет?
Новая запись в эту таблицу?
Да. С "пустым" значением поля "Код группы".

Неее... не очень эффективный метод
Лучше если будет столбец EndDT в котором если не NULL, скажем, то уже выход
...
Рейтинг: 0 / 0
Подскажите плиз
    #36627240
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
orunbekЛучше если будет столбец EndDT ...
Каждый решает сам с чем ему работать...
...
Рейтинг: 0 / 0
Подскажите плиз
    #36627858
*
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
*
Гость
orunbekНет, поэтому и такая структура:
TblMembersIDGroup_ID - т.е. участник может быть членом только одной группы


Если в каждый момент участник входит в одну группу, то

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
#MEMBER_ID
#INI_DATE  -- дата включения в группу
 PRE_DATE  -- дата предыдущего включения в группу
 GROUP_ID

primary (MEMBER_ID, INI_DATE)
unique  (MEMBER_ID, PRE_DATE)
foreign (MEMBER_ID, PRE_DATE) references (MEMBER_ID, INI_DATE)
check   (PRE_DATE < INI_DATE)

Такая структура гарантирует, что участник в каждый момент времени входит в одну группу
или не входит ни в одну из них (GROUP_ID - NULL). Если нужно также запретить переход
из одной группы в нее же, то придется ввести фиктивную группу, а GROUP_ID включить
в превичный ключ этой таблицы.
...
Рейтинг: 0 / 0
Подскажите плиз
    #36629703
Фотография orunbek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
krvsaorunbekЛучше если будет столбец EndDT ...
Каждый решает сам с чем ему работать...

Согласен полностью
Спасибо всем, за помощь и участие в обсуждении темы
...
Рейтинг: 0 / 0
23 сообщений из 48, страница 2 из 2
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Подскажите плиз
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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