|
1186 / 543 / 78
Регистрация: 01.07.2009
Сообщений: 3,517
|
|
Объяснить необходимость в таблице с точки зрения НФ23.04.2012, 21:11. Показов 1494. Ответов 16
Метки нет (Все метки)
Есть бд ГАИ, где всё ок, но не знаю как подцепить информацию о авариях.
Допустим практически я решил проблему так как показано на скрине (кусочек схемы). Но на что ссылаться при описании разработки бд чтобы доказать что та промежуточная таблица в которой есть лишь составной ключ нужна ? ![]() Помогите пожалуйста, это курсовая, её в среду сдавать надо ...
0
|
|
| 23.04.2012, 21:11 | |
|
Ответы с готовыми решениями:
16
Если два метода выполняют одно и то же - с точки зрения программы, но разное - с точки зрения логики?
C точки зрения професcионала. |
|
1654 / 1153 / 173
Регистрация: 23.07.2010
Сообщений: 6,910
|
|
| 23.04.2012, 21:20 | |
|
Дык ёлы-палы. "Промежуточная таблица" не что иное, как "граничная сущность", развязывающая м:м между сущностями "Авто" и "ДТП"
1
|
|
|
1186 / 543 / 78
Регистрация: 01.07.2009
Сообщений: 3,517
|
|
| 23.04.2012, 21:35 [ТС] | |
|
pincet, ну а с точки зрения НФ и различных декомпозиций и прочих существующих правил разработки БД как это объяснить?
У меня суть курсовой в том что я описываю её с самого первого этапа, тоесть делаю одну таблицу со всеми этими атрибутами и постепенно разбиваю её, так вот все те разбиения на таблицы я смог сделать ссылаясь на требование 3НФ. А вот то что я создал вот эту "граничную сущность" или просто таблицу с составным ключом без полей как объяснить? Я сначала думал через 4НФ, но заметил что у меня то по коду_номера не многозначная зависимость.
0
|
|
|
1654 / 1153 / 173
Регистрация: 23.07.2010
Сообщений: 6,910
|
|
| 23.04.2012, 21:42 | |
|
Так и объяснять. Любое отношение "многие-многие" должно быть развязано двумя отношениями "один-ко-многим" и "многие-к -одному". Например, есть некая парикмахерская, обслуживающая клиентов. Один мастер может обслуживать много клиентов, один клиент может обращаться ко многим мастерам. Книга заказов (к примеру) разрулит конкретный факт обслуживания клиента мастером.
Как-то так.
1
|
|
|
1186 / 543 / 78
Регистрация: 01.07.2009
Сообщений: 3,517
|
||
| 23.04.2012, 21:48 [ТС] | ||
|
pincet, ну цель с какой я эту связь создал я понимаю (я же бд создавал и таблицы), но вот на этапе объяснений почему же так запнулся теперь. Даже если объяснить как
Если у кого есть идеи как объяснить эту мою таблицу с тз каких-либо правил то пишите, буду благодарен. pincet, ну и вам спасибо, в крайнем случае наверное так и напишу как вы советуете.
0
|
||
|
1186 / 543 / 78
Регистрация: 01.07.2009
Сообщений: 3,517
|
|
| 23.04.2012, 21:58 [ТС] | |
|
Хотя вот ещё есть одно проблемное место с таблицей с составными ключами
0
|
|
|
1186 / 543 / 78
Регистрация: 01.07.2009
Сообщений: 3,517
|
|
| 23.04.2012, 22:02 [ТС] | |
|
Получается и здесь через эту таблицу-посредника выходит связь многие ко многим между номером_прав и номером_протокола штрафа. Но ведь здесь это уже излишне (в протоколе штрафа ведь указывают лишь одного человека кому выписан штраф, ведь так) и получается что эта связь не правильна и нужно как-то переделывать таблицу ... или я снова где-то запутался и всё нормально?
*извините, к концу дня уже голова не варит так как просидел над курсовой весь день.
0
|
|
|
1654 / 1153 / 173
Регистрация: 23.07.2010
Сообщений: 6,910
|
|
| 23.04.2012, 22:12 | |
|
нет, здесь связь м:м между owner и protocol. protocol- сущность, описывающая ВСЕ протоколы. А протокол штрафа - развязывает нарушителя определенных правил (ПДД, в отличие от хулиганов
) и протокол. Так что все нормально в этом месте у тебя.
1
|
|
|
1186 / 543 / 78
Регистрация: 01.07.2009
Сообщений: 3,517
|
|
| 23.04.2012, 22:32 [ТС] | |
|
pincet, так это, получилось что один протокол штрафа может быть навешен на многих водителей ... или я что-то неправильно понимаю?
0
|
|
|
1654 / 1153 / 173
Регистрация: 23.07.2010
Сообщений: 6,910
|
|
| 24.04.2012, 10:36 | |
|
Нет, все красиво в этом месте.
1
|
|
|
1186 / 543 / 78
Регистрация: 01.07.2009
Сообщений: 3,517
|
|
| 24.04.2012, 13:49 [ТС] | |
|
Так один штраф же нельзя выписать на многих водителей, ведь так?
0
|
|
|
1654 / 1153 / 173
Регистрация: 23.07.2010
Сообщений: 6,910
|
|
| 24.04.2012, 14:08 | |
|
Нельзя оформить один протокол о нарушении ПДД. Одно нарушение ППД - один протокол о нарушении ПДД. Одно нарушение общественного порядка - один протокол о нарушении общественного порядка.
Пусть уважаемые форумчане поправят меня, если я не прав.
1
|
|
|
1186 / 543 / 78
Регистрация: 01.07.2009
Сообщений: 3,517
|
||
| 24.04.2012, 15:40 [ТС] | ||
|
pincet, не понял вашу идею. Разве не нужно чтобы была одна таблица где хранится куча номеров протоколов(ключ) в которых указан номер_прав на которые выдан штраф в этом протоколе и на этом всё?
![]() Добавлено через 1 минуту Как объяснить мой составной ключ я вроде разобрался (сначала ссылаясь на 2НФ после проведения 3НФ, а потом на 4НФ) на свежую голову, но теперь не могу решиться выбрасывать ли мне табличку Penalty protocol что с составными ключами для штрафов. Не знаю чем я руководствовался при её создании, но сейчас мне кажется почему-то что она неправильная вот и прошу советов форумчан ...
0
|
||
|
1654 / 1153 / 173
Регистрация: 23.07.2010
Сообщений: 6,910
|
|
| 24.04.2012, 16:32 | |
|
Теперь сомнения меня гложут. Посыпаю голову пеплом - сильно усложнил ситуацию. Конечно , один протокол только для одного факта нарушения.
Возможно, стоит создать сущность "Правонарушение" (превышение скорости, нарушение правил парковки итд), а протокол будет граничной сущностью между правонарушением и совершившим. Тогда можно понимать, какой протокол за какое нарушение составлен. Опять же сумма штрафа разная для разных видов. сори, если сложно объясняю.
1
|
|
|
1186 / 543 / 78
Регистрация: 01.07.2009
Сообщений: 3,517
|
|
| 24.04.2012, 17:42 [ТС] | |
|
И ещё одну проблему нашёл в своей бд (см. скрин).
Это у меня что получается что один код_техосмотра может быть у разных авто ? Но ведь это не так Как временное решение сделал поле индексом в таблице Авто (чтобы не было повторений), но на схеме данных ведь отношение от того что это индекс не меняется, а преподаватель наверняка же на схему данных будет смотреть и мои слова что там где-то у меня оно как индекс его греть небось не будут ...
0
|
|
|
1654 / 1153 / 173
Регистрация: 23.07.2010
Сообщений: 6,910
|
|
| 24.04.2012, 22:33 | |
|
Я бы сделал наоборот - одна машина (вернее техпаспорт) проходит несколько техосмотров. Посему связь 1:m просматривается между техпаспортом и талоном техосмотра.
0
|
|
|
1186 / 543 / 78
Регистрация: 01.07.2009
Сообщений: 3,517
|
|
| 25.04.2012, 01:54 [ТС] | |
|
Так и сделал, вот что в итоге получилось.
0
|
|
| 25.04.2012, 01:54 | |
|
Помогаю со студенческими работами здесь
17
С точки зрения закона С точки зрения безопасности, дыры Программа с точки зрения ООП API с точки зрения взломщика Объясните с точки зрения физики Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
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
Использованы. . .
|