![]() |
Задавайте вопросы, мы ответим
Вы не зашли.
нужно сделать контр. работу.
База данных тестирование школьников.
В базе должна содержится информация:
* Фамилия учащегося
* номер школы
* класс
* Фамилия преподавателя
* сведения о 12 заданиях
* За каждое задание должна быть проставлена оценка (1, 0.66, 0.33, 0 ).
Нужно нормализовать таблицы до 3нф
то что у меня получилось !!
Неактивен

Эээ... 0.66 Вам за эту картинку. В смысле 4+ ![]()
Потому что число 0.66 в INT не поместится. В остальном, вроде, замечательно ![]()
Неактивен
ой точно.
ну это ладно исправим
меня больше интересует сущность преподаватель
мб просто сделать его как поле в студенте
и так же поля номер школы и класс в студенте
Неактивен
вроде бы разобрался
для 3нф достаточно:
СТУДЕНТ (ид_студента, фамилия, номер школы, класс, фамилия_препода)
ЗАДАЧА (ид_задачи, инфо о задаче)
ОЦЕНКА_ЗА_ЗАДАЧУ( ид_студента, ид_задачи, оценка)
Если я буду выделять в сущности такие поля как номер школы, класс, фамилия препода, я буду устранять многофункциональную зависимость, это уже для 4нф.
Поправьте если не так ![]()
Неактивен

Ну, если уж совсем придираться к словам, то 4НФ содержит в себе 3НФ ![]()
И, если будете делать 4НФ, то не забудьте, что школа от id преподавателя
тоже неплохо зависит ![]()
Неактивен
да нет 4нф мне не надо
ну вот о5 запутался.
школа зависит от преподавателя
или все таки преподавать можно в разных школах
если он зависит то его необходимо исключить для 3нф ???![]()
Отредактированно refoxt (11.01.2010 19:31:34)
Неактивен

Раз стали говорит о высших формах, то класс зависит от номера школы. Теоретически, чтобы достигнуть высшей нормализации надо вводить отдельно таблицу преподов, отдельно таблицу классов и отдельно таблицу групп (в каждом классе может быть несколько групп и ведут в них разные преподы). Зависимость можно понимать более широко, не как y = f(x), а как наличие ограничений на значения в таблице. Если я не могу произвольно задавать значения различных колонок, то это уже не полностью нормальная форма. Например, Иванов преподает в школах 12 и 19, но не преподает в школе 47. Я не могу вставить запись "Иванов", "47" в таблицу об оценках. Получается зависимость между неключевыми колонками, пусть не функциональная.
На практике, как вы уже поняли, высшие нормальные формы практикуются редко и логично, что в задании требовалась третья. В конкретной случае вам дали задачу, вы сделали таблицу и это уже дело десятое кто где преподает. Но надо отдавать себе отчет, что из-за опечаток при вводе данных будут неконсистентные строки, содержащие класс, которого нет в данной школе и.т.д.; если видели списки после вступительного экзамена, там таких нестыковок масса. Здесь мы учитываем, что информация о школе и преподавателе не очень критична и ошибка в ней не будет фатальной и забиваем на это, чтобы чрезмерно не усложнять эксплуатацию базы.
Неактивен
хм норм ответил ![]()
ладно понял что таблицы в 3нф и больше ничего не требуется
Неактивен