|
Модераторы: LSD |
|
rudolfninja |
|
|||
Опытный Профиль Группа: Участник Сообщений: 341 Регистрация: 19.2.2013 Где: г. Минск Репутация: нет Всего: 6 |
Ребята, приветствую.
Составил БД, вроде как вполне все структурированно, но мне "знающие" люди говорят, что БД составлена неправильно. Я, если честно, сомневаюсь в том, что эти люди действительно знающие, а сам я далек от проектирования БД. Поэтому прошу вас проверить нормально (корректно) ли составлена БД. Требования, предъявляемые к БД: - Соответствие структуры базы данных требованиям третьей нормальной формы; - целостность и непротиворечивость базы данных; Замечания, которые мне сделали: - есть дублирование данных - нет целостности данных - неправильные связи (нельзя связывать не ключевые поля между собой) К сожалению, более конкретного ничего нет. В аттаче архив с БД спроектированной в MS Access. По сути БД представляет собой учет транспортных средств на предприятии. У меня есть 8 таблиц: 1) Производители авто. По сути, просто список производителей (таблица factories). 2) Соответствие моделей авто производителям (models). 3) Список авто, зарегистрированных на предприятии (vehicles). 4) Срок действия документов (техосмотр, страховка) на эти авто (documents). 5) Список водителей, зарегистрированных на предприятии (drivers). 6) Учет ДТП с конкретным авто. В таблице указывается дата, номер авто и водитель. Водитель указывается только в том случае, если ДТП произошло по вине водителя, работающего на предприятии (RTA). 7) Дата ремонта конкретного авто (repairs). 8) Прочие затраты на авто (expenses). Очень прошу знающих и понимающих, проверьте, пожалуйста, БД на соответствование требованиям. Большое спасибо. Присоединённый файл ( Кол-во скачиваний: 1 ) veh_acc.rar 30,37 Kb |
|||
|
||||
Zloxa |
|
|||
Чо? Профиль Группа: Завсегдатай Сообщений: 3470 Регистрация: 12.9.2008 Репутация: 11 Всего: 161 |
Лучше всех требования знает и понимает Ваш преподаватель. Обратитесь к нему с этим вопросом. Это его работа - проверять решения студентов на соответствие выставленным им требованиям. -------------------- Достоверно известно, что 89% людей доверяют статистике взятой с потолка |
|||
|
||||
Akina |
|
|||
Советчик Профиль Группа: Модератор Сообщений: 20570 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 13 Всего: 453 |
Совершенно непонятна ВАША интерпретация предметной области. Где анализ? нету... оттого и схему пришлось не на основе анализа составлять, а из пальца высасывать - результат очевиден.
Добавлено через 1 минуту и 19 секунд Это они ещё Вас си-и-ильно жалеют... -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
rudolfninja |
|
|||
Опытный Профиль Группа: Участник Сообщений: 341 Регистрация: 19.2.2013 Где: г. Минск Репутация: нет Всего: 6 |
Я, к сожалению, уже 2 года как не студент, поэтому у меня нет на примете преподавателя, к которому бы я мог обратиться. Akina, не могли бы вы подробнее объяснить что должен представлять собой этот анализ? |
|||
|
||||
Akina |
|
|||
Советчик Профиль Группа: Модератор Сообщений: 20570 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 13 Всего: 453 |
-------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
Zloxa |
|
|||
Чо? Профиль Группа: Завсегдатай Сообщений: 3470 Регистрация: 12.9.2008 Репутация: 11 Всего: 161 |
rudolfninja, анализ это процесс, в результате которого формулируются формальные требования.
Вы пишите "БД представляет собой учет транспортных средств на предприятии", и, якобы после этого все должно быть всем ясно. Однако это далеко не так. В первую очередь следует задаться вопросом - какие цели вы преследуете реализуя эту бд? Учет лишь ради учета? Чтоб побольше людей делали побольше бестолковой работы? Как правило основная цель любого учета - отчет. Под отчетом я подразумеваю не только печатные формы, это могут быть и выгрузки в сторонние системы, это могут быть исходные данные для каких-то процессов автоматизации. Определив список необходимых отчетов - мы тем самым 1) определим что какие данные нам нужны 2) ограничим множество вариантов того что можно сделать множеством того, что нужно сделать. После того, как будут определены цели, уже можно определить ценность и стоимость этого решения. Ценность наложит дополнительные ограничения на множество вариантов того что можно сделать уже ограниченное тем, что нужно сделать. После определения ценности решения, можно уже начинать говорить о бюджете решения. В рамках бюджета можно поискать готовые решения. Готовые решения, как правило, дешевле собственной разработки в виду их тиражности, но могут быть не обоснованно дорогими за счет избыточного для наших целей функционала. Для оценки стоимости собственной разработки нам надо подумать о том, откуда мы можем получить те данные, которые нам нужны для достижения целей. Могут ли это быть выгрузки из уже существующих систем или открытых источников, возможно придется докупить какое-то доп оборудование, ввести новые штатные единицы. Полагаю очевидным, что после определения ценности и сопоставления ее со стоимостью, могут быть откорректированы цели. Вплоть до их аннулирования. Если таки принято решение о собственной разработке, то 1) На этом этапе мы уже имеем понимание - какие нам нужны отчеты 2) На этом этапе мы уже имеем понимание - откуда к нам будут поступать какие данные. 3) На этом этапе мы имеем представление как мы из исходных данных будем получать результат Будучи формализованными эти два пункта являют собой результат анализа и, как правило, именно они называются требованям. Имея на руках результат анализа, можно уже размышлять о том, как это будет сделано. Каким лучше способом осуществлять контроль целостности и не противоречивости, не будет ли у нас потребности в избыточности, не пагубно ли для нас представление 3-НФ Добавлено через 2 минуты и 42 секунды Вас отчислили? Или современным дипломным работам не предъявляются требования проведения работ по анализу предметной области и экономическому обоснованию? -------------------- Достоверно известно, что 89% людей доверяют статистике взятой с потолка |
|||
|
||||
rudolfninja |
|
||||||||||||||||||
Опытный Профиль Группа: Участник Сообщений: 341 Регистрация: 19.2.2013 Где: г. Минск Репутация: нет Всего: 6 |
Я прочитал википедию, еще пару статей в интернете и решил, что нужны следующие таблицы:
1)
Непонятно зачем в этой таблице Код_производителя, если ключем является название, но, вроде как, это поле все равно будет создано автоматически. 2)
3)
Вот тут есть небольшой вопрос. Дело в том, что Название_марки_авто зависит от выбранного названия_завода_производителя. Насколько корректно так делать? Год выпуска не может быть меньше 1985 и больше текущего. 4)
Я не очень представляю что сделать первичным ключем, т.к. по сути, эта таблица является продолжением таблицы 3 и, наверное, их даже можно совместить. Подскажите, как лучше быть в этом соучае, совместить их или все же оставить отдельной таблицей? 5)
Водителю должно быть больше 18, но меньше 63. Но возможна ситуация, что ФИО будут полностью совпадать, тогда использование ФИО в качестве ключа - не вариант. В этом случае лучше использовать Код_водителя, но код водителя малоинформативен, например при просмотре таблицы 6. Подскажите, как все же поступить в этой ситуации. 6)
ФИО_водителя может быть пустым. Заполняется только в том случа, если виновником ДТП является водитель, работающий на предприятии. 7)
Дата_ремонта не позднее чем сегодняшняя дата. 8)
Дата_затрат не позднее чем сегодняшняя дата. Вот так все у меня получилось. Прокомментируйте, пожалуйста. Добавлено @ 11:53 Zloxa, спасибо за пояснения. Основные цели - это мониторинг срока окончания дейтсвия ТО на ТС; страхового полиса; количества ДТП за определенный период по вине водителей, работающих на предприятии; срока действия мед. справки водителя; даты выхода водиетлей на пенсию. Вроде все.
Нет, я успешно получил и защитил диплом. Но мой диплом был совсем не в этой области (разработка эмулятора микропроцессорной системы на базе Intel 8086), однако все это было выполнено в рамках работы над дипломным проектом. Это сообщение отредактировал(а) rudolfninja - 22.4.2016, 11:54 |
||||||||||||||||||
|
|||||||||||||||||||
Akina |
|
|||
Советчик Профиль Группа: Модератор Сообщений: 20570 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 13 Всего: 453 |
Извините, но, прочитав, Вы ни хрена не поняли. В частности, того, что до раздумия над потребными таблицами Вам ещё пахать и пахать... Выделите сущности, которые подлежат учёту. Впрочем, их в первом приближении (но не факт, что полно) несложно выделить по Вашему куцему описанию - это будут люди , автомобили, документы и события. Затем определите атрибуты каждой выделенной сущности. Определите процессы, влияющие на экземпляры сущностей. Не исключено, что при этом придётся принять решение о разделении сущностей (например, разделение документов на документы на машину и документы на событие). На основании всей этой чехарды составьте ER-диаграмму (карандаш, ластик и куча чистой бумаги)... снова откорректируйте своё видение... и только когда диаграмма примет законченный вид, можно включать компьютер и начинать думать о таблицах. -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
rudolfninja |
|
|||
Опытный Профиль Группа: Участник Сообщений: 341 Регистрация: 19.2.2013 Где: г. Минск Репутация: нет Всего: 6 |
Akina, спасибо, я вас понял.
|
|||
|
||||
rudolfninja |
|
|||
Опытный Профиль Группа: Участник Сообщений: 341 Регистрация: 19.2.2013 Где: г. Минск Репутация: нет Всего: 6 |
На основе информации, приведенной тут и того, что предлоижл Akina получилось вот что:
Сущности: водители, авто, документы, события. Аттрибуты: водители (ФИО, дата рождения, стаж) авто (номер, марка, модель, год выпуска, цевт) документы (название документы, срок действия) события (тип события, дата события, комментарии, затраты) Дальше идут связи: 1) ВОДИТЕЛИ - ИМЕЮТ - ДОКУМЕНТЫ Поскольку один водитель может иметь только одну медсправку, то связь 1:1 2) АВТО - ИМЕЕТ - ДОКУМЕНТЫ Поскольку на одну машину приходится два документа (страховка, сретификат ТО), то связь 1:2 3) АВТО - ПРОИСХОДИТ - СОБЫТИЕ Поскольку с одним авто может произойти множество событий, то связь 1:N Прокоментируйте, пожалуйста, результаты моего анализа предметной области. |
|||
|
||||
Zloxa |
|
|||
Чо? Профиль Группа: Завсегдатай Сообщений: 3470 Регистрация: 12.9.2008 Репутация: 11 Всего: 161 |
У вас документы имеют срок действия. Получение новой справки не отменяет действия старой. Значит водитель может иметь более одной справки. 1) Чем вас не устраивает плоский эксель файл о двух страницах? 2) Производится ли в инфраструктуре вашего предприятия кадровый учет, учет основных средств? -------------------- Достоверно известно, что 89% людей доверяют статистике взятой с потолка |
|||
|
||||
rudolfninja |
|
|||
Опытный Профиль Группа: Участник Сообщений: 341 Регистрация: 19.2.2013 Где: г. Минск Репутация: нет Всего: 6 |
В этом нет особого смысла. Если водитель получит новую справку, это равносильно продлению срока действия текущей. 1) Тем что это все будет использоваться в C++ приложении, а там намного проще использовать БД. 2) Да, но этот вопрос не связан с разрабатываемой задачей. Больше интересуют ваши коментарии к составленной модели, но если эти вопросы как-то влияют на дальнейшее построение модели БД, то можно обсудить. |
|||
|
||||
Zloxa |
|
|||
Чо? Профиль Группа: Завсегдатай Сообщений: 3470 Регистрация: 12.9.2008 Репутация: 11 Всего: 161 |
Окай. Ваша модель не нужна. -------------------- Достоверно известно, что 89% людей доверяют статистике взятой с потолка |
|||
|
||||
rudolfninja |
|
|||
Опытный Профиль Группа: Участник Сообщений: 341 Регистрация: 19.2.2013 Где: г. Минск Репутация: нет Всего: 6 |
||||
|
||||
Akina |
|
|||
Советчик Профиль Группа: Модератор Сообщений: 20570 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 13 Всего: 453 |
А то, что её номер изменится - это пофиг? тогда получается, тебе сведения о справке вообще не нужны, тупо храни в одном поле срок окончания её действия, и достаточно. И с диагностической картой то же самое... Добавлено через 1 минуту и 4 секунды Адекватна в части используемых терминов. В остальном - нет. -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
Правила форума "Общие вопросы по базам данных" | |
|
Данный форум предназначен для обсуждения вопросов о базах данных не попадающих под тематику других форумов:
Данный форум не предназначен для:
Если вы не соблюдаете эти правила, не удивляйтесь потом не найдя свою тему/сообщение.
Полезные советы: Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, LSD, Zloxa. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | СУБД, общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |