Модераторы: LSD

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Правильно ли спроектирована БД 
:(
    Опции темы
rudolfninja
Дата 21.4.2016, 23:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 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
PM MAIL Skype   Вверх
Zloxa
Дата 22.4.2016, 09:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Чо?
****


Профиль
Группа: Завсегдатай
Сообщений: 3470
Регистрация: 12.9.2008

Репутация: 11
Всего: 161



Цитата(rudolfninja @  22.4.2016,  00:13 Найти цитируемый пост)
Очень прошу знающих и понимающих, проверьте, пожалуйста, БД на соответствование требованиям.

Лучше всех требования знает и понимает Ваш преподаватель. Обратитесь к нему с этим вопросом. Это его работа - проверять решения студентов на соответствие выставленным им требованиям. smile


--------------------
Достоверно известно, что 89% людей доверяют статистике взятой с потолка smile
PM   Вверх
Akina
Дата 22.4.2016, 09:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20570
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 13
Всего: 453



Совершенно непонятна ВАША интерпретация предметной области. Где анализ? нету... оттого и схему пришлось не на основе анализа составлять, а из пальца высасывать - результат очевиден.

Добавлено через 1 минуту и 19 секунд
 smile 
Цитата(rudolfninja @  22.4.2016,  00:13 Найти цитируемый пост)
"знающие" люди говорят, что БД составлена неправильно

Это они ещё Вас си-и-ильно жалеют...


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
rudolfninja
Дата 22.4.2016, 10:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 341
Регистрация: 19.2.2013
Где: г. Минск

Репутация: нет
Всего: 6



Цитата(Zloxa @  22.4.2016,  09:37 Найти цитируемый пост)
Лучше всех требования знает и понимает Ваш преподаватель. Обратитесь к нему с этим вопросом. Это его работа - проверять решения студентов на соответствие выставленным им требованиям.

Я, к сожалению, уже 2 года как не студент, поэтому у меня нет на примете преподавателя, к которому бы я мог обратиться.

Akina, не могли бы вы подробнее объяснить что должен представлять собой этот анализ? 
PM MAIL Skype   Вверх
Akina
Дата 22.4.2016, 10:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20570
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 13
Всего: 453



Цитата(rudolfninja @  22.4.2016,  11:01 Найти цитируемый пост)
что должен представлять собой этот анализ?  

RTFM "Проектирование баз данных". Начать можно с Вики.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
Zloxa
Дата 22.4.2016, 11:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Чо?
****


Профиль
Группа: Завсегдатай
Сообщений: 3470
Регистрация: 12.9.2008

Репутация: 11
Всего: 161



rudolfninja, анализ это процесс, в результате которого формулируются формальные требования.

Вы пишите "БД представляет собой учет транспортных средств на предприятии", и, якобы после этого все должно быть всем ясно. 

Однако это далеко не так. В первую очередь следует задаться вопросом - какие цели вы преследуете реализуя эту бд? Учет лишь ради учета? Чтоб побольше людей делали побольше бестолковой работы? 

Как правило основная цель любого учета - отчет. Под отчетом я подразумеваю не только печатные формы, это могут быть и выгрузки в сторонние системы, это могут быть исходные данные для каких-то процессов автоматизации. Определив список необходимых отчетов - мы тем самым 1) определим что какие данные нам нужны 2) ограничим множество вариантов того что можно сделать множеством того, что нужно сделать.

После того, как будут определены цели, уже можно определить ценность и стоимость этого решения. 

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

Для оценки стоимости собственной разработки нам надо подумать о том, откуда мы можем получить те данные, которые нам нужны для достижения целей. Могут ли это быть выгрузки из уже существующих систем или открытых источников,  возможно придется докупить какое-то доп оборудование, ввести новые штатные единицы.

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

Если таки принято решение о собственной разработке, то
1) На этом этапе мы уже имеем понимание -  какие нам нужны отчеты
2) На этом этапе мы уже имеем понимание - откуда к нам будут поступать какие данные.
3) На этом этапе мы имеем представление как мы из исходных данных будем получать результат

Будучи формализованными эти два пункта являют собой результат анализа и, как правило, именно  они называются требованям. Имея на руках результат анализа, можно уже размышлять о том, как это будет сделано. Каким лучше способом осуществлять контроль целостности и не противоречивости, не будет ли у нас потребности в избыточности, не пагубно ли для нас представление 3-НФ

Добавлено через 2 минуты и 42 секунды
Цитата(rudolfninja @  22.4.2016,  11:01 Найти цитируемый пост)
 уже 2 года как не студент

Вас отчислили? Или современным дипломным работам не предъявляются требования проведения работ по анализу предметной области и экономическому обоснованию?


--------------------
Достоверно известно, что 89% людей доверяют статистике взятой с потолка smile
PM   Вверх
rudolfninja
Дата 22.4.2016, 11:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 341
Регистрация: 19.2.2013
Где: г. Минск

Репутация: нет
Всего: 6



Я прочитал википедию, еще пару статей в интернете и решил, что нужны следующие таблицы:
1)
Код

ТАБЛИЦА Производители
 ПЕРВИЧНЫЙ КЛЮЧ (Название_завода_производителя)
   ПОЛЯ (Код_производителя, Название_завода_производителя)

Непонятно зачем в этой таблице Код_производителя, если ключем является название, но, вроде как, это поле все равно будет создано автоматически.
2)
Код

ТАБЛИЦА Модели_авто
 ПЕРВИЧНЫЙ КЛЮЧ (Код_модели)
  ВНЕШНИЙ КЛЮЧ (Название_завода_производителя из табл.1)
   ПОЛЯ (Код_модели, Название_завода_производителя, Название_марки_авто)

3)
Код

ТАБЛИЦА ТС
 ПЕРВИЧНЫЙ КЛЮЧ (Регистрационный_номер_ТС)
  ВНЕШНИЙ КЛЮЧ (Название_завода_производителя из табл.1)
  ВНЕШНИЙ КЛЮЧ (Название_марки_авто из табл.2)
   ПОЛЯ (Регистрационный_номер_ТС, Название_завода_производителя, Название_марки_авто, Год_выпуска, Цвет)

Вот тут есть небольшой вопрос. Дело в том, что Название_марки_авто зависит от выбранного названия_завода_производителя. Насколько корректно так делать? 
Год выпуска не может быть меньше 1985 и больше текущего.
4) 
Код

ТАБЛИЦА Документы_ТС
 ПЕРВИЧНЫЙ КЛЮЧ ()
  ВНЕШНИЙ КЛЮЧ (Регистрационный_номер_ТС из табл.3)
   ПОЛЯ (Регистрационный_номер_ТС, Дата_окончания_страховки, Дата_окончания_сертефиката_ТО)

Я не очень представляю что сделать первичным ключем, т.к. по сути, эта таблица является продолжением таблицы 3 и, наверное, их даже можно совместить. Подскажите, как лучше быть в этом соучае, совместить их или все же оставить отдельной таблицей?
5)
Код

ТАБЛИЦА Водители
 ПЕРВИЧНЫЙ КЛЮЧ(ФИО_водитеоя)
   ПОЛЯ (ФИО_водителя, Дата_рождения, Срок_действия_медсправки, Стаж_вождения)

Водителю должно быть больше 18, но меньше 63.
Но возможна ситуация, что ФИО будут полностью совпадать, тогда использование ФИО в качестве ключа - не вариант. В этом случае лучше использовать Код_водителя, но код водителя малоинформативен, например при просмотре таблицы 6. Подскажите, как все же поступить в этой ситуации.
6)
Код

ТАБЛИЦА ДТП
 ПЕРВИЧНЫЙ КЛЮЧ (Код_ДТП)
  ВНЕШНИЙ КЛЮЧ (Регистрационный_номер_ТС из табл.3)
  ВНЕШНИЙ КЛЮЧ (ФИО_водителя из табл.5)
   ПОЛЯ (Регистрационный_номер_ТС, Дата_ДТП, ФИО_водителя)

ФИО_водителя может быть пустым. Заполняется только в том случа, если виновником ДТП является водитель, работающий на предприятии.
7)
Код

ТАБЛИЦА Ремонт_ТС
 ПЕРВИЧНЫЙ КЛЮЧ (Код_ремонта)
  ВНЕШНИЙ КЛЮЧ (Регистрационный_номер_ТС из табл.3)
   ПОЛЯ (Код_ремонта, Регистрационный_номер_ТС, Дата_ремонта, Проделанная_работа, Сумма)

Дата_ремонта не позднее чем сегодняшняя дата.
8) 
Код

ТАБЛИЦА Прочие_затраты
 ПЕРВИЧНЫЙ КЛЮЧ (Код_затрат)
  ВНЕШНИЙ КЛЮЧ (Регистрационный_номер_ТС из табл.3)
   ПОЛЯ (Код_затрат, Регистрационный_номер_ТС, Дата_затрат, Статьи_затрат, Сумма)

Дата_затрат не позднее чем сегодняшняя дата.

Вот так все у меня получилось. Прокомментируйте, пожалуйста.

Добавлено @ 11:53
Zloxa, спасибо за пояснения. 
Основные цели - это мониторинг срока окончания дейтсвия ТО на ТС; страхового полиса; количества ДТП за определенный период по вине водителей, работающих на предприятии; срока действия мед. справки водителя; даты выхода водиетлей на пенсию. 
Вроде все.
 
Цитата(Zloxa @  22.4.2016,  11:36 Найти цитируемый пост)
Вас отчислили? Или современным дипломным работам не предъявляются требования проведения работ по анализу предметной области и экономическому обоснованию? 

Нет, я успешно получил и защитил диплом. Но мой диплом был совсем не в этой области (разработка эмулятора микропроцессорной системы на базе Intel 8086), однако все это было выполнено в рамках работы над дипломным проектом.

Это сообщение отредактировал(а) rudolfninja - 22.4.2016, 11:54
PM MAIL Skype   Вверх
Akina
Дата 22.4.2016, 11:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20570
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 13
Всего: 453



Цитата(rudolfninja @  22.4.2016,  12:46 Найти цитируемый пост)
Я прочитал википедию, еще пару статей в интернете и решил

Извините, но, прочитав, Вы ни хрена не поняли. В частности, того, что до раздумия над потребными таблицами Вам ещё пахать и пахать...

Выделите сущности, которые подлежат учёту. Впрочем, их в первом приближении (но не факт, что полно) несложно выделить по Вашему куцему описанию - это будут люди , автомобили, документы и события. Затем определите атрибуты каждой выделенной сущности. Определите процессы, влияющие на экземпляры сущностей. Не исключено, что при этом придётся принять решение о разделении сущностей (например, разделение документов на документы на машину и документы на событие). На основании всей этой чехарды составьте ER-диаграмму (карандаш, ластик и куча чистой бумаги)... снова откорректируйте своё видение... и только когда диаграмма примет законченный вид, можно включать компьютер и начинать думать о таблицах.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
rudolfninja
Дата 22.4.2016, 12:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 341
Регистрация: 19.2.2013
Где: г. Минск

Репутация: нет
Всего: 6



Akina, спасибо, я вас понял.
PM MAIL Skype   Вверх
rudolfninja
Дата 22.4.2016, 12:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 341
Регистрация: 19.2.2013
Где: г. Минск

Репутация: нет
Всего: 6



На основе информации, приведенной тут и того, что предлоижл Akina получилось вот что:
Сущности: водители, авто, документы, события.
Аттрибуты: водители (ФИО, дата рождения, стаж)
                  авто (номер, марка, модель, год выпуска, цевт)
                  документы (название документы, срок действия)
                  события (тип события, дата события, комментарии, затраты)
Дальше идут связи:
1) ВОДИТЕЛИ - ИМЕЮТ - ДОКУМЕНТЫ
Поскольку один водитель может иметь только одну медсправку, то связь 1:1
2) АВТО - ИМЕЕТ - ДОКУМЕНТЫ 
Поскольку на одну машину приходится два документа (страховка, сретификат ТО), то связь 1:2
3) АВТО - ПРОИСХОДИТ - СОБЫТИЕ
Поскольку с одним авто может произойти множество событий, то связь 1:N

Прокоментируйте, пожалуйста, результаты моего анализа предметной области.
PM MAIL Skype   Вверх
Zloxa
Дата 22.4.2016, 13:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Чо?
****


Профиль
Группа: Завсегдатай
Сообщений: 3470
Регистрация: 12.9.2008

Репутация: 11
Всего: 161



Цитата(rudolfninja @  22.4.2016,  13:56 Найти цитируемый пост)
1) ВОДИТЕЛИ - ИМЕЮТ - ДОКУМЕНТЫ
Поскольку один водитель может иметь только одну медсправку, то связь 1:1

У вас документы имеют срок действия. Получение новой справки не отменяет действия старой. Значит водитель может иметь более одной справки.
Цитата(rudolfninja @  22.4.2016,  12:46 Найти цитируемый пост)
Основные цели - это мониторинг срока окончания дейтсвия ТО на ТС; страхового полиса; количества ДТП за определенный период по вине водителей, работающих на предприятии; срока действия мед. справки водителя; даты выхода водиетлей на пенсию. 
Вроде все.

1) Чем вас не устраивает плоский эксель файл о двух страницах?
2) Производится ли в инфраструктуре вашего предприятия кадровый учет, учет основных средств?


--------------------
Достоверно известно, что 89% людей доверяют статистике взятой с потолка smile
PM   Вверх
rudolfninja
Дата 22.4.2016, 14:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 341
Регистрация: 19.2.2013
Где: г. Минск

Репутация: нет
Всего: 6



Цитата(Zloxa @  22.4.2016,  13:17 Найти цитируемый пост)
У вас документы имеют срок действия. Получение новой справки не отменяет действия старой. Значит водитель может иметь более одной справки

В этом нет особого смысла. Если водитель получит новую справку, это равносильно продлению срока действия текущей.
1) Тем что это все будет использоваться в C++ приложении, а там намного проще использовать БД.
2) Да, но этот вопрос не связан с разрабатываемой задачей.
Больше интересуют ваши коментарии к составленной модели, но если эти вопросы как-то влияют на дальнейшее построение модели БД, то можно обсудить.
PM MAIL Skype   Вверх
Zloxa
Дата 22.4.2016, 14:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Чо?
****


Профиль
Группа: Завсегдатай
Сообщений: 3470
Регистрация: 12.9.2008

Репутация: 11
Всего: 161



Цитата(rudolfninja @  22.4.2016,  15:20 Найти цитируемый пост)
Больше интересуют ваши коментарии к составленной модели

Окай. Ваша модель не нужна.


--------------------
Достоверно известно, что 89% людей доверяют статистике взятой с потолка smile
PM   Вверх
rudolfninja
Дата 22.4.2016, 14:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 341
Регистрация: 19.2.2013
Где: г. Минск

Репутация: нет
Всего: 6



Цитата(Zloxa @  22.4.2016,  14:27 Найти цитируемый пост)
Окай. Ваша модель не нужна. 

Не, она нужна. Я имел в виду комментарии касательно ее корректности.
PM MAIL Skype   Вверх
Akina
Дата 22.4.2016, 14:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20570
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 13
Всего: 453



Цитата(rudolfninja @  22.4.2016,  15:20 Найти цитируемый пост)
Если водитель получит новую справку, это равносильно продлению срока действия текущей.

А то, что её номер изменится - это пофиг? тогда получается, тебе сведения о справке вообще не нужны, тупо храни в одном поле срок окончания её действия, и достаточно. И с диагностической картой то же самое...

Добавлено через 1 минуту и 4 секунды
Цитата(rudolfninja @  22.4.2016,  15:29 Найти цитируемый пост)
комментарии касательно ее корректности. 

Адекватна в части используемых терминов. В остальном - нет.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
rudolfninja
Дата 22.4.2016, 14:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 341
Регистрация: 19.2.2013
Где: г. Минск

Репутация: нет
Всего: 6



Цитата(Akina @  22.4.2016,  14:30 Найти цитируемый пост)
тогда получается, тебе сведения о справке вообще не нужны, тупо храни в одном поле срок окончания её действия, и достаточно.

Получается, что так. С диагностической картой чуток по другому, но в итогде ситуация такая же.

Цитата(Akina @  22.4.2016,  14:30 Найти цитируемый пост)
В остальном - нет. 

Хотелось бы услашать более подробные комментарии.

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


ZloxaAkina, спасибо за попытку помочь.
PM MAIL Skype   Вверх
Akina
Дата 22.4.2016, 15:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20570
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 13
Всего: 453



Цитата(rudolfninja @  22.4.2016,  15:39 Найти цитируемый пост)
Хотелось бы услашать более подробные комментарии.

Вообще, что-то не клеится у нас беседа. Возможно, из-за моих знаний в данной области, а вернее в отсутствии этих самых знаний.

Насколько я понимаю, речь идёт о реальной рабочей задаче. В этом случае абсолютно необходимо чёткое понимание всего, что делается - не только как, но и почему именно так. Этого понимания пока и близко не видать. Да, именно по причине катастрофических пробелов в знаниях. Но тут есть всего два варианта - либо данная область знаний изучается (возможно, с привлечением стороннего преподавателя), а затем выполняется работа, либо нанимается исполнитель, который этот пласт знаний изучил, и он выполняет эту работу, возможно, объясняя одновременно, почему именно так. 

На текущий момент я вижу только "прогляд по верхам" и попытки привлечь нас в качестве таких преподавателей или исполнителей. Что-то не хочется... да и неинтересно. Ну не получится. Вижу только один выход - Вы изучите данный пласт знаний не по касательной, а основательно. И тогда сами увидите, что не так. Или, по крайней мере, рассказывая, что, как и почему делаете, будет давать пояснения на достаточном профессиональном уровне.

Это, конечно, список не исчерпывающий... Третий вариант - сделать абы как, авось прокатит, но это гарантированная "заготовка граблей". Четвёртый - не делать совсем... Как я понимаю, такие варианты не рассматриваются.

PS. C моей точки зрения, Вы вообще имеете три отдельные задачи (материально-кадровый учёт, учёт обслуживания и ремонта, учёт участия в ДТП), единственное между ними общее то, что все они относятся к одному и тому же объекту-автомобилю.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
rudolfninja
Дата 22.4.2016, 15:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 341
Регистрация: 19.2.2013
Где: г. Минск

Репутация: нет
Всего: 6



Цитата(Akina @  22.4.2016,  15:04 Найти цитируемый пост)
PS. C моей точки зрения, Вы вообще имеете три отдельные задачи (материально-кадровый учёт, учёт обслуживания и ремонта, учёт участия в ДТП), единственное между ними общее то, что все они относятся к одному и тому же объекту-автомобилю.

Полностью согласен. Но их ведь можно решать с помощью одной БД, но через разные таблицы?

PM MAIL Skype   Вверх
Akina
Дата 22.4.2016, 15:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20570
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 13
Всего: 453



Цитата(rudolfninja @  22.4.2016,  16:27 Найти цитируемый пост)
их ведь можно решать с помощью одной БД, но через разные таблицы?

Конечно, можно. Но я предлагаю не решать их одновременно, уж тем более в комплексе. Попробуйте для начала ограничиться только задачей учёта АМТ+водители, например. Просто при формировании списка атрибутов учтите ещё и те специфические, которые могут потребоваться при реализации остальных задач.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
rudolfninja
Дата 22.4.2016, 16:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 341
Регистрация: 19.2.2013
Где: г. Минск

Репутация: нет
Всего: 6



Akina, спасибо вам за все же очень конструктивное и полезное сообщение.

Если рассматривать отдельно задачу материально-кадрового учета, то можно выделить только 3 сущности: водитель, авто и документ. 
Но вот тут возникает вопрос: в рамках данной задачи документ как таковой не нужен. Требуется только срок действия документа. То есть, получается, что можно оставить только 2 сущности (авто и водитель), а сроки действия документов сделать аттрибутами этих сущностей, что, конечно, не очень складывается с той ситуацией, которая присутсвует в реальной жизни.
В данном случае аттрибутами будут:
водитель (ФИО, дата рождения, стаж, срок действия медсправки)
авто (регестрационный номер, марка, модель, год выпуска, цвет, срок действия страховки, срок действия техосмотра)
И в этой ситуации получается, что связей между этими сущностями никакх нет (в раммках рассматривемой задачи нас абсолютно не интересует, что водитель - управляет - авто).
С другой стороны, наверное, все же введение сущности документ более соответсвует реальной ситуации.
В таком случае, сущности будет все же три: авто (номер, марка, модель, год выпуска, цвет), водитель (ФИО, дата рождения, стаж), документ (тип документа, номер документа, срок действия документа).
Тогда связь между ними такие
авто - имеет - документ
Поскольку на одну машину может быть два документа, то связь 1:2. 
водитель - имеет - документ
На одного водителя будет одна справка, т.е. связь 1:1.
Тут ситуация такая, что если водитель получает новый документ, то старый нас уже не интересует и можно просто переписать сущесвтующий документ на новый. Аналогичная ситуация и с авто.

Цитата(Akina @  22.4.2016,  15:43 Найти цитируемый пост)
Просто при формировании списка атрибутов учтите ещё и те специфические, которые могут потребоваться при реализации остальных задач

Получается, что как таковых специфических аттрибутов, необходимых для других задач, нет.
Хотелось бы увидеть ваши комментарии по поводу вышеприведенного анализа задачи материально-кадрового учета.

Это сообщение отредактировал(а) rudolfninja - 22.4.2016, 16:57
PM MAIL Skype   Вверх
Zloxa
Дата 22.4.2016, 17:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Чо?
****


Профиль
Группа: Завсегдатай
Сообщений: 3470
Регистрация: 12.9.2008

Репутация: 11
Всего: 161



Цитата(rudolfninja @  22.4.2016,  16:27 Найти цитируемый пост)
Но их ведь можно решать с помощью одной БД

Тут дело в другом. Если на вашем предприятии уже есть кадровый учет, вам придется вести одних и те же данные в разных местах. Потом вы столкнетесь с тем, что ваши кадры не бются с кадровыми кадрами. Чтобы они бились всегда, вам надо бы интегрироваться  с вашей кадровой системой, но тут проблема в том, что для того, чтобы вести два новых атрибута на сотруднике - дата выхода на пенсию и дата окончания медицинской справки,  решение получится избыточно дорогим. Уверен,  в вашей кадровой системе вполне можно доатрибутить этот справочник и получить отчет о приближающихся пенсионирах и факапщиков справок.

То же касается и учета основных средств. Если делать по уму, то ваша база не нужна.

Если что-то делать не по уму - выделить специальную штатную единицу, которая будет вести базу данных в вашей программе и нести ответственность за его актуальность. Из тех требований, которые вы перечислили, совершенно не понятно какие преимущества у вашей программы перед обычным эксельчиком, который вполне себе умеет фильтровать данные.

Если же делать что-то лишь ради того чтобы сделать, то, в общем - все равно что делать и как делать. Критерий "правильности" устанавливает заказчик по принципу соответствия сделанного требуемому. Спрашивать на форуме о правильности - бесполезно. Формальные требования излагать сложно и вникать в них мучительно, врядли кто-то из форумчан действительно станет глубоко погружаться в чужую область. А на краткое изложение грубыми штрихами,  вам могут предложить решение не от той задачи.

Это сообщение отредактировал(а) Zloxa - 22.4.2016, 17:15


--------------------
Достоверно известно, что 89% людей доверяют статистике взятой с потолка smile
PM   Вверх
Страницы: (2) [Все] 1 2 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Общие вопросы по базам данных"
LSD
Zloxa

Данный форум предназначен для обсуждения вопросов о базах данных не попадающих под тематику других форумов:

  • вопросам по СУБД для которых нет отдельных подфорумов
  • вопросам которые затрагивают несколько разных СУБД (например проблема выбора)
  • инструменты для работы с СУБД
  • вопросы проектирования БД
  • теоретически вопросы о СУБД

Данный форум не предназначен для:

  • вопросов о поиске разлиных БД (если не понимаете чем БД отличается от СУБД то: а) вам не сюда; б) Google в помощь)
  • обсуждения проблем с доступом к СУБД из различных ЯП (для этого есть соответсвующие форумы по каждому ЯП)
  • обсуждения проблем с написание SQL запросов, для этого есть форум Составление SQL-запросов
  • просьб о написании курсовой, реферата и т.п., для этого есть Центр помощи или фриланс биржа
  • объявлений о найме специалистов, для этого есть раздел Объявления о найме специалистов

Если вы не соблюдаете эти правила, не удивляйтесь потом не найдя свою тему/сообщение. ;)


Полезные советы:

При написании сообщения постарайтесь дать теме максимально понятное название. В теме максимально подробно опишите проблему. Если применимо укажите: название базы данных и версии (MySQL 4.1, MS SQL Server 2000 и т.п.); используемых язык программирования; способа доступа (ADO, BDE и т.д.); сообщения об ошибках.

Для вставки кода используйте теги [code=sql] [/code].

Литературу по базам данных можно поискать здесь.

Действия модераторов можно обсудить здесь.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, LSD, Zloxa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | СУБД, общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1946 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.