powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Помогите правильно сделать структуру БД
9 сообщений из 34, страница 2 из 2
Помогите правильно сделать структуру БД
    #37381246
Да Палыч же тролль! Ну-ка, ну-ка, цыпа, цыпа...
...
Рейтинг: 0 / 0
Помогите правильно сделать структуру БД
    #37381716
Фотография palich12
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ZezaMpalich12,
ежели сам мастер - наф топик так называется -
- Помогите правильно сделать структуру БД
так бы и обозначил -
- сам знаю как правильно сделать структуру БД ,
поэтому сделаю по-своему ....
но все-равно всем спасибо... типа ...
Ну на самом деле я, когда топик открывал, очень сомневался в этом решении. Вот решил по обсуждать умными людьми. На самом деле очень помогло. Ибо в споре рождается истина, в какой-то момент даже переубедился, но потом вернулся к одному из своих решений, т. к. узнал, что таблицы где много полей заполнены NULL работают не на много медленнее. Зато разрабатывать систему с Одной таблицей и соответственно с одной структурой в коде гораздо проще. Но сразу описался что это только в том случае когда 100% ничего изменять не придется, иначе швах. Вот и написал ответ и полностью признаю правоту коллег. Ибо в условиях неопределенности будущего и потенциальной возможности дальнейших изменений, нужно писать только так как предложил Программист-Любитель.
Пример: мой вариант хорош для анкет с полями типа:
- отчество бабушки
- где я был 13 января 2001 г.
- Имя моего первого домашнего животного
Тоесть для вопросов на которые пользователь точно однозначно ответит и один раз. В остальных случаях нужно использовать вариант Программиста-Любителя.

Собственно изначальный вопрос при следовал цель выяснить, нужно ли такие поля выносить в отжельные таблицы, чтобы основная не была забита в основном NULL. Или и так сойдет.
...
Рейтинг: 0 / 0
Помогите правильно сделать структуру БД
    #37382297
Фотография Программист-Любитель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не вижу чем "хорош" вариант ТС для анкет с полями типа ... и в чем трудность реализации разных полей в моем варианте. Картинка из старой-старой эмдебешки.
...
Рейтинг: 0 / 0
Помогите правильно сделать структуру БД
    #37382632
Фотография palich12
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Программист-Любитель,

В том что вы предлагаете вариант для проведения тестирования
А мне нужно для сбора Информации о пользователе
...
Рейтинг: 0 / 0
Помогите правильно сделать структуру БД
    #37382694
Фотография Программист-Любитель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторНужно сделать следующую БД и софт. Есть пользователь, он может заполнять ряд анкет. Существует множество (заранее известное но большое) видов этих анкет. Но пользователю не нужно заполнять все анкеты, обычно 1-2. Версия одной анкеты у пользователя всегда одна. То есть пользователь не может создавать 2 экземпляра одной анкеты.

Вы бы уж определились.

Или вы храните реестр пользователей в виде обычной таблицы где строки - пользователи, столбцы - атрибуты (свойства) пользователей.

Или таки разные анкеты на них заполняете. На рисунке - иллюстрация того, как можно настроить заполнение различных видов вопросов в анкете по модели Пользователи - Анкеты - Вопросы - ВариантыОтветов - ОтветыПользователей. То, что на экране надписи "тест", а не "анкета" никакого значения не имеет.
...
Рейтинг: 0 / 0
Помогите правильно сделать структуру БД
    #37382742
koJIo6ok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
palich12,
вы сделайте как считате нужным, пусть поработает кто на ней пару месяцев потом приходите поделитесь впечатлениями
...
Рейтинг: 0 / 0
Помогите правильно сделать структуру БД
    #37382811
Фотография palich12
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Программист-ЛюбительВы бы уж определились.

Или вы храните реестр пользователей в виде обычной таблицы где строки - пользователи, столбцы - атрибуты (свойства) пользователей.

Или таки разные анкеты на них заполняете.
Первое

Возможно я сам виноват, не понятно определил задачу.
Да анкеты имеют следующий вид
типа анкета1: первое Высшее образование
-ВУЗ
-Степень
-Номер специальности
...
анкета 2: Служба в армии
-звание
-должность
-род войск

Тоесть каждая анкета в отдельности может быть не заполнена, но на любой вопрос пользователь отвечает однозначно и 1 раз.
Собственно изначально вопрос был в том, нужно ли их выносить в отдельные таблицы со связями 1:1 или ничего страшного если все это будет лежать в одной таблице User но во многих ячейках будет NULL
...
Рейтинг: 0 / 0
Помогите правильно сделать структуру БД
    #37382881
Озверин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
palich12,

1. При добавлении нового вопроса в тело любой анкеты при вашем подходе требует:
а) обеспечить механизм, посредством которого, так или иначе, пользователь смог бы создать дополнительный столбец в таблице User
б) либо делать это самому

2. Удаление вопроса из анкеты мне представляется невозможным по нескольким причинам:
-удалить столбец из таблицы User нельзя - там уже есть данные по этому вопросу
-НЕ выводить данный вопрос в форму анкеты можно только при вспомогательных настроек вида ( Анкета1 Поле1 Выводить(Да/Нет)), из чего следует, что при выводе любой Анкеты в форму, потребуется запрос вида:
String flds;

flds = ПользовательскаяФункцияКотораяФильтруетВыводПолей();

SELECT flds
FROM User
WHERE КодПользователя = X

Потому что средствами чистого SQL такую задачу решить я не знаю как во вменяемом виде.
Отсюда делаю вывод - необоснованно не нормализованная форма данных привела к усложнению и понимания, и реализации.

3. Варианты ответа на вопросы анкеты, как?
При нормализованном виде это 1 JOIN. А в вашем?
Если же вариантов ответа нет, то выборка все Людей с высшим образованием может носить непредсказуемые результаты, если
ответы были:
Высшее образование
Выс. обр.
Вышка
и тд.

4. Элементарная выборка всех людей с нужным атрибутом - становится головной болью.
...
Рейтинг: 0 / 0
Помогите правильно сделать структуру БД
    #37384710
Фотография palich12
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Озверин,

1. ALTER TABLE dbo.doc_exa ADD column_b VARCHAR(20) NULL ;
2. ALTER TABLE dbo.doc_exb DROP COLUMN column_b ;
3. Варианты ответа выносятся в словарь, в таблице User хранится только id записи из словара. Выборки делаются по id, типа select * from User where user.eduid = 1
4. см. пункт 3, если это головная боль то я уж и не знаю.


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


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