powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Проверте, плз, структуру БД
10 сообщений из 10, страница 1 из 1
Проверте, плз, структуру БД
    #33125674
0K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
0K
Гость
Вопрос очень простой, т.к. я никогда раньше не занимался созданием БД.

Нужно создать БД для сайта. На этом сайте будут регистрироваться пользователи, и после регистрации каждый пользователь сможет пройти 8 тестов. При прохождении теста нужно сохранить следующую инфу:

1. Оценка.
3. Время, когда был сдан экзамен.
2. Номера ответов.

Как правильно организовать структуру БД, чтобы она была в 5 НФ:

1. Сделать восемь отдельных таблиц, с атрибутами: ИД, оценка, время, ответы.

2. Пихать все в одну таблицу, с атрибутами: ИД, номер теста (1-8), оценка, время, ответы.

Или как еще?
...
Рейтинг: 0 / 0
Проверте, плз, структуру БД
    #33125715
Станислав C.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
0KВопрос очень простой, т.к. я никогда раньше не занимался созданием БД.

Нужно создать БД для сайта. На этом сайте будут регистрироваться пользователи, и после регистрации каждый пользователь сможет пройти 8 тестов. При прохождении теста нужно сохранить следующую инфу:

1. Оценка.
3. Время, когда был сдан экзамен.
2. Номера ответов.

Как правильно организовать структуру БД, чтобы она была в 5 НФ:

1. Сделать восемь отдельных таблиц, с атрибутами: ИД, оценка, время, ответы.

2. Пихать все в одну таблицу, с атрибутами: ИД, номер теста (1-8), оценка, время, ответы.

Или как еще?
И нах... (в смысле зачем?) тебе нужна 5НФ? Пере нормализация является столь же вредной сколь и недо нормализация...
Здесь вполне будет достаточно 3НФ или НФБК...
С точки зрения следования реляционной теории правильно будет завести ОДНУ таблицу для всех тестов (вариант №2)...

Только необходимо уточнить, что подразумевается под терминами "время" и "ответы":
- общее время, затраченное на тест, + ответы на ВСЕ вопросы
или
- время, затраченное для ответа на вопрос, и ответ на конкретный вопрос теста...
Если верна первая интерпретация, то хватит одной таблицы...
Если верна вторая интерпретация, то лучше завести две таблицы:
- первая: KeyID, UserID, номер теста (1-8), оценка (итоги теста)
- вторая: KeyID, время, ответ (будут храниться результаты ответа и время, затраченное на ответ, на каждый вопрос теста)
...
Рейтинг: 0 / 0
Проверте, плз, структуру БД
    #33125939
Фотография Shtock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Правда следует обдумать следующие проблемы и подогнать под них предложенную модель:
1. Может ли изменяться порядок ответов на вопросы (данная модель это учитывает)
2. МОжно ли возвращаться к вопросам (см. п.3)
3. Надо ли регистрировать все попытки ответов или только итоговые (в принципе, можно учитывать как максимальное время конца ответа на конкретный вопрос)
...
Рейтинг: 0 / 0
Проверте, плз, структуру БД
    #33126974
mir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Станислав C. Пере нормализация является столь же вредной сколь и недо нормализация...
Здесь вполне будет достаточно 3НФ или НФБК...
С точки зрения следования реляционной теории правильно будет завести ОДНУ таблицу для всех тестов (вариант №2)...Интересно, что такое перенормализация? И почему она "является столь же вредной сколь и недонормализация"? Новое слово в теории?
...
Рейтинг: 0 / 0
Проверте, плз, структуру БД
    #33127290
Фотография Va1entin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mirИнтересно, что такое перенормализация? И почему она "является
столь же вредной сколь и недонормализация"? Новое слово в теории?

Возможно, лучше было бы сказать, что иногда
денормализация базы может повысить производительность приложений.

Posted via ActualForum NNTP Server 1.2
...
Рейтинг: 0 / 0
Проверте, плз, структуру БД
    #33130213
-0K-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shtock --а что вы использовали, чтобы нарисовать структуру БД. И вообще, если я хоче разрабатывать БД для MS SQL Serv, какие мне можно использовать инструменты, что мне поможет?
...
Рейтинг: 0 / 0
Проверте, плз, структуру БД
    #33130237
Станислав C.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mir Станислав C. Пере нормализация является столь же вредной сколь и недо нормализация...
Здесь вполне будет достаточно 3НФ или НФБК...
С точки зрения следования реляционной теории правильно будет завести ОДНУ таблицу для всех тестов (вариант №2)...Интересно, что такое перенормализация? И почему она "является столь же вредной сколь и недонормализация"? Новое слово в теории?
Нет, это не новое слово... Это мое видение...
Под " Пере нормализацией" я понимаю необоснованное конкретной задачей (=искуственное) приведение таблиц к высшим (4 и 5) нормальным формам... Надо делать не по пословице "Заставь дурака богу молиться...", а думать... В общем, применять принцип "разумной достаточности"...

А вредна она по причине того, что прилагаемые усилия для разработки и сопровождения подобной БД окажутся неоправданно завышенными по сравнению с той же БД, построенной на оптимальных (3 НФ или НФБК для 99,9% задач) нормальных формах...
...
Рейтинг: 0 / 0
Проверте, плз, структуру БД
    #33130346
Фотография Shtock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sybase Power Designer 10.0. Правда я заметил за ним существенный недостаток: он плохо генерит скрипты на изменение базы, поэтому приходится осуществлять пляски с бубнами.
...
Рейтинг: 0 / 0
Проверте, плз, структуру БД
    #33130631
mir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Станислав C.Под " Пере нормализацией" я понимаю необоснованное конкретной задачей (=искуственное) приведение таблиц к высшим (4 и 5) нормальным формам... А вредна она по причине того, что прилагаемые усилия для разработки и сопровождения подобной БД окажутся неоправданно завышенными по сравнению с той же БД, построенной на оптимальных (3 НФ или НФБК для 99,9% задач) нормальных формах...Ну, С отсутствием 5 не сталкивался, а про отсутствие 4НФ можно сказать одно - это ошибка проектирования. Никакие "конкретные задачи" тут не при чем. Да и о каких таких прям усилиях речь? Неужто нормально спроектировать БД - непосильный труд? Увольте...
...
Рейтинг: 0 / 0
Проверте, плз, структуру БД
    #33136815
ModelR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
0KВопрос очень простой, т.к. я никогда раньше не занимался созданием БД.

Нужно создать БД для сайта. На этом сайте будут регистрироваться пользователи, и после регистрации каждый пользователь сможет пройти 8 тестов. При прохождении теста нужно сохранить следующую инфу:

1. Оценка.
3. Время, когда был сдан экзамен.
2. Номера ответов.

Начните с описания предметной области, можно пока без всяких диаграмм:
1) перечислите все термины (понятия) и их определения. Например, ЭКЗАМЕН - это что? Набор тестов?
ОТВЕТ- это что?

Естественным образом возникнут вопросы, типа возможны ли в будущем ЭКЗАМЕНы из 6 ТЕСТов? Если есть ОТВЕТы, то видимо есть и ВОПРОСы? Какого типа ОТВЕТы могут быть (число, выбор альтернативы из ВАРИАНТов, отметить все подходящие ВАРИАНТы, и т.д.)?
Понятий скорее всего окажется несколько больше, чем ожидалось.

2)Опишите связи между понятиями. При этом могут возникать новые понятия, описывающие связи уже существующих.

Может ли ПОЛЬЗОВАТЕЛЬ сдавать экзамен несколько раз? Точнее, нас интересуют все его попытки или только одна - последняя /лучшая/... Если интересуют все его попытки, то возникает связующее понятие ПОПЫТКА.

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

0K
Как правильно организовать структуру БД, чтобы она была в 5 НФ:

1. Сделать восемь отдельных таблиц, с атрибутами: ИД, оценка, время, ответы.

2. Пихать все в одну таблицу, с атрибутами: ИД, номер теста (1-8), оценка, время, ответы.

Или как еще?
В обоих случаях уровень нормализации одинаков, однако в первом случае нарушен скорее так называемый принцип информации, согласно которому информация должна представляться значениями данных (а не именами таблиц как в первом варианте). Применение этого принципа конечно не имеет столь четких критериев как нормализация, так что первый вариант может быть приемлем, если известно, что ни при каких обстоятельствах тестов не станет 9 и более, т.е. номер теста - это не данные.

Про 5НФ я бы не стал задумываться, т.к для нарушения 5НФ должны присутствовать какие-то бизнес-правила, позволяющие нетривиально (в смысле с урезанием ключа) декомпозировать исходную таблицу и в то же время не являющиеся функциональными или многозначными зависимостями.
Если обнаружите такие правила, плз. обязательно поделитесь. Очень интересно.
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Проверте, плз, структуру БД
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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