Форум программистов, компьютерный форум, киберфорум
Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
 Аватар для Gepar
1186 / 543 / 78
Регистрация: 01.07.2009
Сообщений: 3,517

Объяснить необходимость в таблице с точки зрения НФ

23.04.2012, 21:11. Показов 1494. Ответов 16
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть бд ГАИ, где всё ок, но не знаю как подцепить информацию о авариях.
Допустим практически я решил проблему так как показано на скрине (кусочек схемы).
Но на что ссылаться при описании разработки бд чтобы доказать что та промежуточная таблица в которой есть лишь составной ключ нужна ?
Помогите пожалуйста, это курсовая, её в среду сдавать надо ...
Миниатюры
Объяснить необходимость в таблице с точки зрения НФ   Объяснить необходимость в таблице с точки зрения НФ  
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
23.04.2012, 21:11
Ответы с готовыми решениями:

Если два метода выполняют одно и то же - с точки зрения программы, но разное - с точки зрения логики?
void killCh(BCell cKiller, BCell cVictim){ cVictim.setChessman(cKiller.getChessman()); cKiller.setChessman(null); ...

Как с точки зрения квантовой физики объяснить, что когда человек говорит или думает правду, то он или другие чихают?
Как с точки зрения квантовой физики объяснить, что когда человек говорит или думает правду, то он или другие чихают? Вопрос серьёзный,...

C точки зрения професcионала.
Существует сайт palazzo.su который я взялся и создать и продвинуть. На мой субъективный взгляд, сайт вполне готов для выскакивания на...

16
 Аватар для pincet
1654 / 1153 / 173
Регистрация: 23.07.2010
Сообщений: 6,910
23.04.2012, 21:20
Дык ёлы-палы. "Промежуточная таблица" не что иное, как "граничная сущность", развязывающая м:м между сущностями "Авто" и "ДТП"
1
 Аватар для Gepar
1186 / 543 / 78
Регистрация: 01.07.2009
Сообщений: 3,517
23.04.2012, 21:35  [ТС]
pincet, ну а с точки зрения НФ и различных декомпозиций и прочих существующих правил разработки БД как это объяснить?
У меня суть курсовой в том что я описываю её с самого первого этапа, тоесть делаю одну таблицу со всеми этими атрибутами и постепенно разбиваю её, так вот все те разбиения на таблицы я смог сделать ссылаясь на требование 3НФ. А вот то что я создал вот эту "граничную сущность" или просто таблицу с составным ключом без полей как объяснить? Я сначала думал через 4НФ, но заметил что у меня то по коду_номера не многозначная зависимость.
0
 Аватар для pincet
1654 / 1153 / 173
Регистрация: 23.07.2010
Сообщений: 6,910
23.04.2012, 21:42
Так и объяснять. Любое отношение "многие-многие" должно быть развязано двумя отношениями "один-ко-многим" и "многие-к -одному". Например, есть некая парикмахерская, обслуживающая клиентов. Один мастер может обслуживать много клиентов, один клиент может обращаться ко многим мастерам. Книга заказов (к примеру) разрулит конкретный факт обслуживания клиента мастером.
Как-то так.
1
 Аватар для Gepar
1186 / 543 / 78
Регистрация: 01.07.2009
Сообщений: 3,517
23.04.2012, 21:48  [ТС]
pincet, ну цель с какой я эту связь создал я понимаю (я же бд создавал и таблицы), но вот на этапе объяснений почему же так запнулся теперь. Даже если объяснить как

Цитата Сообщение от pincet Посмотреть сообщение
Любое отношение "многие-многие" должно быть развязано двумя отношениями "один-ко-многим" и "многие-к -одному"
То фиг его знает на каком этапе нормализации об этом писать... после третьего упомянуть чтоли. Но в любом случае преподаватель точно будет недоволен моей самодеятельностью как мне кажется. Он всегда требует ссылку на авторитетный источник: правило там какое-то или ещё что...
Если у кого есть идеи как объяснить эту мою таблицу с тз каких-либо правил то пишите, буду благодарен.

pincet, ну и вам спасибо, в крайнем случае наверное так и напишу как вы советуете.
0
 Аватар для Gepar
1186 / 543 / 78
Регистрация: 01.07.2009
Сообщений: 3,517
23.04.2012, 21:58  [ТС]
Хотя вот ещё есть одно проблемное место с таблицей с составными ключами
Миниатюры
Объяснить необходимость в таблице с точки зрения НФ  
0
 Аватар для Gepar
1186 / 543 / 78
Регистрация: 01.07.2009
Сообщений: 3,517
23.04.2012, 22:02  [ТС]
Получается и здесь через эту таблицу-посредника выходит связь многие ко многим между номером_прав и номером_протокола штрафа. Но ведь здесь это уже излишне (в протоколе штрафа ведь указывают лишь одного человека кому выписан штраф, ведь так) и получается что эта связь не правильна и нужно как-то переделывать таблицу ... или я снова где-то запутался и всё нормально?
*извините, к концу дня уже голова не варит так как просидел над курсовой весь день.
0
 Аватар для pincet
1654 / 1153 / 173
Регистрация: 23.07.2010
Сообщений: 6,910
23.04.2012, 22:12
нет, здесь связь м:м между owner и protocol. protocol- сущность, описывающая ВСЕ протоколы. А протокол штрафа - развязывает нарушителя определенных правил (ПДД, в отличие от хулиганов) и протокол. Так что все нормально в этом месте у тебя.
1
 Аватар для Gepar
1186 / 543 / 78
Регистрация: 01.07.2009
Сообщений: 3,517
23.04.2012, 22:32  [ТС]
pincet, так это, получилось что один протокол штрафа может быть навешен на многих водителей ... или я что-то неправильно понимаю?
0
 Аватар для pincet
1654 / 1153 / 173
Регистрация: 23.07.2010
Сообщений: 6,910
24.04.2012, 10:36
Нет, все красиво в этом месте.
1
 Аватар для Gepar
1186 / 543 / 78
Регистрация: 01.07.2009
Сообщений: 3,517
24.04.2012, 13:49  [ТС]
Так один штраф же нельзя выписать на многих водителей, ведь так?
0
 Аватар для pincet
1654 / 1153 / 173
Регистрация: 23.07.2010
Сообщений: 6,910
24.04.2012, 14:08
Нельзя оформить один протокол о нарушении ПДД. Одно нарушение ППД - один протокол о нарушении ПДД. Одно нарушение общественного порядка - один протокол о нарушении общественного порядка.
Пусть уважаемые форумчане поправят меня, если я не прав.
1
 Аватар для Gepar
1186 / 543 / 78
Регистрация: 01.07.2009
Сообщений: 3,517
24.04.2012, 15:40  [ТС]
pincet, не понял вашу идею. Разве не нужно чтобы была одна таблица где хранится куча номеров протоколов(ключ) в которых указан номер_прав на которые выдан штраф в этом протоколе и на этом всё?

Цитата Сообщение от pincet Посмотреть сообщение
Пусть уважаемые форумчане поправят меня, если я не прав.
Хорошо бы, да что-то не посещает почти никто этот раздел форума

Добавлено через 1 минуту
Как объяснить мой составной ключ я вроде разобрался (сначала ссылаясь на 2НФ после проведения 3НФ, а потом на 4НФ) на свежую голову, но теперь не могу решиться выбрасывать ли мне табличку Penalty protocol что с составными ключами для штрафов.
Не знаю чем я руководствовался при её создании, но сейчас мне кажется почему-то что она неправильная вот и прошу советов форумчан ...
0
 Аватар для pincet
1654 / 1153 / 173
Регистрация: 23.07.2010
Сообщений: 6,910
24.04.2012, 16:32
Теперь сомнения меня гложут. Посыпаю голову пеплом - сильно усложнил ситуацию. Конечно , один протокол только для одного факта нарушения.
Возможно, стоит создать сущность "Правонарушение" (превышение скорости, нарушение правил парковки итд), а протокол будет граничной сущностью между правонарушением и совершившим.
Тогда можно понимать, какой протокол за какое нарушение составлен. Опять же сумма штрафа разная для разных видов.
сори, если сложно объясняю.
1
 Аватар для Gepar
1186 / 543 / 78
Регистрация: 01.07.2009
Сообщений: 3,517
24.04.2012, 17:42  [ТС]
И ещё одну проблему нашёл в своей бд (см. скрин).
Это у меня что получается что один код_техосмотра может быть у разных авто ? Но ведь это не так Как временное решение сделал поле индексом в таблице Авто (чтобы не было повторений), но на схеме данных ведь отношение от того что это индекс не меняется, а преподаватель наверняка же на схему данных будет смотреть и мои слова что там где-то у меня оно как индекс его греть небось не будут ...
Миниатюры
Объяснить необходимость в таблице с точки зрения НФ  
0
 Аватар для pincet
1654 / 1153 / 173
Регистрация: 23.07.2010
Сообщений: 6,910
24.04.2012, 22:33
Я бы сделал наоборот - одна машина (вернее техпаспорт) проходит несколько техосмотров. Посему связь 1:m просматривается между техпаспортом и талоном техосмотра.
0
 Аватар для Gepar
1186 / 543 / 78
Регистрация: 01.07.2009
Сообщений: 3,517
25.04.2012, 01:54  [ТС]
Так и сделал, вот что в итоге получилось.
Миниатюры
Объяснить необходимость в таблице с точки зрения НФ  
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
25.04.2012, 01:54
Помогаю со студенческими работами здесь

С точки зрения закона
Поделитесь опытом, как лучше сделать. Регистрировался кто нибудь, как ООО или как нибуть ещё? И вообще стоит ли? /' border='0'...

С точки зрения безопасности, дыры
Доброго времени суток. Говорят, что с точки зрения безопасности, в Windows XP нужно отключать восстановление системы, так как всё...

Программа с точки зрения ООП
Есть вопрос, на который однозначного ответа у меня пока что нет. Прошу помощи в разборе полетов Вопрос "Что представляет собой...

API с точки зрения взломщика
Известно, что такие инструменты как OllyDbg или IDA, имея мощный функционал, свободно определяют API, которыми пользуется разработчик. Не...

Объясните с точки зрения физики
1)почему музыкальные инструменты не имеют формы прямоугольного ящика? 2)каким взаимоисключающим требованиям удовлетворяет форма...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru