Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.05.2018, 01:02   #1
KBO
Форумчанин
 
Регистрация: 11.06.2010
Сообщений: 525
По умолчанию БД+документооборот (проектирование), способ хранения сотрудников и наименование их отделов. Актуальность данных

Доброе время суток форумчане,
Делаю документооборот между несколькими отделами (я их уже связал).
Есть таблицы с сотрудниками (и их «ID»), и отделами (и их «ID») и другие таблицы с документами. В каждом документе/таблице учавствует сотрудник и отдел.

Вопрос:
В каком виде лучше(правильнее) хранить в каждом документе/таблице сотрудника и отдел? (В виде ID на соответствующие классификаторы или в явном виде (тип поля string))? В плане возможном изменении и ФИО сотрудника и наименования отдела

Ну как бы ФИО сотрудника, в процессе работы не должно меняться (хотя женщины могут менять фамилии) их можно хранить в виде ID.
А вот отделы могут со временем изменять названия, и тут как бы уже нужно в каждый документ вставлять явно «название» отдела. Т.е. когда документ попадает в архив, у него желательно сохранить старые данные, т.е. данные которые были актуальны еще до попадания в архив.

У кого какие предложения будут?

Хотелось бы избежать избыточность данных

Последний раз редактировалось KBO; 25.05.2018 в 01:05.
KBO вне форума Ответить с цитированием
Старый 25.05.2018, 01:13   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Цитата:
Сообщение от KBO Посмотреть сообщение
Хотелось бы избежать избыточность данных
никаких фокусов. в таблице должен быть ИСКУСТВЕННЫЙ КЛЮЧ. Естественные ключи НЕ ГОДЯТСЯ (даже такие, казалось бы, неизменные, как табельный номер, или номер ИНН).
Только уникальный ID спасёт отца русской демократии!
Serge_Bliznykov вне форума Ответить с цитированием
Старый 25.05.2018, 01:53   #3
KBO
Форумчанин
 
Регистрация: 11.06.2010
Сообщений: 525
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
Только уникальный ID спасёт отца русской демократии!
Ну у меня есть ID, например отдела. Из каких-нибудь документов, я ссылаюсь на ID этого отдела (в таблице отделов).
Например документы оформляются отделом РР1, потом "бах", название отдела поменялось с "РР1" на "ММ1-1".
И что? тогда во всех записях документов будет "ММ1-1"? Меня это не устраивает...
KBO вне форума Ответить с цитированием
Старый 25.05.2018, 08:06   #4
Stanislav
Квадрокоптерист
Участник клуба Подтвердите свой е-майл
 
Регистрация: 29.09.2007
Сообщений: 1,824
По умолчанию

Цитата:
Меня это не устраивает...
если не устраивает то на мой взгляд правильным будет в таблице документов хранить ФИО и название отдела в явном виде, не ID сотрудника и не ID департамента имею виду.
Я часть той силы, что вечно хочет зла, но вечно совершает благо..
Stanislav вне форума Ответить с цитированием
Старый 25.05.2018, 08:29   #5
Sciv
Старожил
 
Аватар для Sciv
 
Регистрация: 16.05.2012
Сообщений: 3,211
По умолчанию

Цитата:
Сообщение от KBO Посмотреть сообщение
Например документы оформляются отделом РР1, потом "бах", название отдела поменялось с "РР1" на "ММ1-1".
И что? тогда во всех записях документов будет "ММ1-1"? Меня это не устраивает...
В 1С и не только это реализовано хранением истории изменений. То есть при подтягивании наименования в документ учитывается дата и состояние поля на эту дату.
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
Sciv вне форума Ответить с цитированием
Старый 25.05.2018, 09:42   #6
Stanislav
Квадрокоптерист
Участник клуба Подтвердите свой е-майл
 
Регистрация: 29.09.2007
Сообщений: 1,824
По умолчанию

Если это учебное задание, то это слишком заморочено
Я часть той силы, что вечно хочет зла, но вечно совершает благо..
Stanislav вне форума Ответить с цитированием
Старый 25.05.2018, 10:31   #7
Sciv
Старожил
 
Аватар для Sciv
 
Регистрация: 16.05.2012
Сообщений: 3,211
По умолчанию

Цитата:
Сообщение от Stanislav Посмотреть сообщение
Если это учебное задание, то это слишком заморочено
Странно, я полагал, что учебные задания и учёба в целом предназначены для того, чтоб научить делать правильно
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
Sciv вне форума Ответить с цитированием
Старый 25.05.2018, 11:38   #8
Stanislav
Квадрокоптерист
Участник клуба Подтвердите свой е-майл
 
Регистрация: 29.09.2007
Сообщений: 1,824
По умолчанию

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

Варианты автору дали, исходя из своих возможностей / желания думаю выберет подходящий для себя.
Я часть той силы, что вечно хочет зла, но вечно совершает благо..
Stanislav вне форума Ответить с цитированием
Старый 25.05.2018, 17:13   #9
mihаli4
никакой
Пользователь
 
Аватар для mihаli4
 
Регистрация: 21.05.2018
Сообщений: 35
По умолчанию

Цитата:
Сообщение от KBO Посмотреть сообщение
Например документы оформляются отделом РР1, потом "бах", название отдела поменялось с "РР1" на "ММ1-1".
И что? тогда во всех записях документов будет "ММ1-1"? Меня это не устраивает...
А не надо использовать такое понятие, как "название отдела поменялось".
Давайте это считать появлением нового отдела "ММ1-1", а отдел "РР1" никуда не делся, а его просто как-будто отстранили от работы.
И тогда не будет никакой путаницы...
mihаli4 вне форума Ответить с цитированием
Старый 25.05.2018, 17:26   #10
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

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


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проектирование репозитория сотрудников разных типов Aoizora Общие вопросы C/C++ 10 08.07.2017 21:13
Проектирование классов для расчета зарплаты сотрудников разных типов Aoizora C/C++ Базы данных 1 17.06.2017 19:36
Разработать способ экономного хранения в памяти разреженных матриц (таблиц). Разработать процедуры и функции для обеспечения досту Exowind88 Паскаль, Turbo Pascal, PascalABC.NET 1 23.10.2012 13:53
Наилучший способ хранения данных в ListView t2skler Общие вопросы C/C++ 0 13.04.2012 17:25
Способ хранения информации Kingcss Общие вопросы Delphi 10 11.01.2011 20:44