Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Справочник - делать или нет??? / 24 сообщений из 24, страница 1 из 1
05.08.2006, 00:16
    #33901051
Муух
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Справочник - делать или нет???
Вопрос к более опытным товарищам
Есть сущность Работник c атрибутом должность. По идее надо вынести должность в отдельную сущность(организовать справочник) и соединить с работником по внешнему ключу.
Второй вариант просто оставить должность в Работнике - а пользователь например при вводе может выбрать должность из уже существующих(выборка уникальных значений) в базе или добавить новую.
Какой вариант предпочтительнее?
...
Рейтинг: 0 / 0
05.08.2006, 00:27
    #33901059
LenaV
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Справочник - делать или нет???
Первый.
A если через год компания примет на работу 200 человек и надо будет не вручную их вводить, а електронно, из техт фаила, например?
Зачем себе сложности создавать? Стандарт тем и хорош, что он стандартный :)
...
Рейтинг: 0 / 0
05.08.2006, 00:35
    #33901065
Urri
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Справочник - делать или нет???
+1
...
Рейтинг: 0 / 0
05.08.2006, 01:01
    #33901083
Муух
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Справочник - делать или нет???
2 LenaV:
Честно не понял причем здесь 200 человек. Также в базу и добавлю, проставив в атрибут должность какое-нить значение по умолчанию.
...
Рейтинг: 0 / 0
05.08.2006, 01:17
    #33901094
ChA
ChA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Справочник - делать или нет???
МуухПравильнее, скорее, первый вариант, со справочником. В противном случае, при удалении работника может исчезнуть и должность, которую он занимает и придется ее вводить заново. Кроме того, когда надо будет указать должность, то выборка из справочника должностей будет выполняться значительно быстрей, чем "выборка уникальных значений", хотя, возможно, работников будет не так много, чтобы ощутить эффект.
...
Рейтинг: 0 / 0
05.08.2006, 01:24
    #33901095
LVadim
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Справочник - делать или нет???
Первый.
Даже не думай первый.
...
Рейтинг: 0 / 0
05.08.2006, 02:45
    #33901111
LenaV
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Справочник - делать или нет???
Муух2 LenaV:
Честно не понял причем здесь 200 человек. Также в базу и добавлю, проставив в атрибут должность какое-нить значение по умолчанию.
Я это к тому, что за одним нестандартным решением стандартной задачи следует второе и третие и т.д. Когда у вас их набертся несколько десятков ( а это случится значительно быстрее, чем предпологается), вам захочестся бежать сломя голову от поддержки такой базы данных, а человек пришедший после вас, будет ругаться нехорошими словами и может быть плакать втихоря. :) Пожалейте следом идущего.
К тому же, планируя немножко вперед, через пару месяцев к вам придет начальник и скажет, что он хочет видеть не только название должности, но и ее описание и т.д. Морока сплошная.
Удачи. :)
...
Рейтинг: 0 / 0
05.08.2006, 08:16
    #33901142
LelikBolek
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Справочник - делать или нет???
LenaV
К тому же, планируя немножко вперед, через пару месяцев к вам придет начальник и скажет, что он хочет видеть не только название должности, но и ее описание и т.д.

Подреживаю первый вариант, а дополнениями описанными LenaV сталкивался не раз.. Архтектура со справочниками и стандартна, общеприянта и действтельно более удобна для дальнейшего развития системы. Удачи
...
Рейтинг: 0 / 0
05.08.2006, 11:32
    #33901215
Муух
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Справочник - делать или нет???
Всем спасибо за ответы. Сделаю со справочником.
Тему можно закрыть.
...
Рейтинг: 0 / 0
05.08.2006, 21:03
    #33901472
Справочник - делать или нет???
Не торопитесь, Муух. Вы заблуждаетесь. Должность нельзя "соединить с работником по внешнему ключу". По многим причинам. Нужна сущность Назначение (работника на должность)... И т.д.
...
Рейтинг: 0 / 0
05.08.2006, 21:27
    #33901484
Сахават Юсифов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Справочник - делать или нет???
Чернышев Андрей ЛеонидовичНе торопитесь, Муух. Вы заблуждаетесь. Должность нельзя "соединить с работником по внешнему ключу". По многим причинам. Нужна сущность Назначение (работника на должность)... И т.д.
...
Рейтинг: 0 / 0
05.08.2006, 23:54
    #33901551
jekaSQL
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Справочник - делать или нет???
Правильно это стоит делать так:
Есть список работников - табличка, скажем, users. Есть штатное расписание - roles. связаны они отношением многие-ко-многим через userroles.
Это, например, поможет, если один человек занимает несколько должностей. Ну и вообще...
...
Рейтинг: 0 / 0
06.08.2006, 00:57
    #33901577
AlexTheRaven
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Справочник - делать или нет???
Чернышев Андрей ЛеонидовичНе торопитесь, Муух. Вы заблуждаетесь. Должность нельзя "соединить с работником по внешнему ключу". По многим причинам. Нужна сущность Назначение (работника на должность)... И т.д.Если делаете систему, для которой работа с кадрами - основная функция, то наверное да.
Если делаете простенькую систему, для которой должность - скорее роль пользователя, а когда пользователь получил такую роль - неважно (паранойей не страдаете, историю всех изменений всех данных не храните) - то наверное нет.
...
Рейтинг: 0 / 0
06.08.2006, 01:05
    #33901580
Сахават Юсифов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Справочник - делать или нет???
jekaSQLПравильно это стоит делать так:
Есть список работников - табличка, скажем, users. Есть штатное расписание - roles. связаны они отношением многие-ко-многим через userroles.
Это, например, поможет, если один человек занимает несколько должностей. Ну и вообще...

А вот и недоделанные users. :)
...
Рейтинг: 0 / 0
07.08.2006, 09:58
    #33902270
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Справочник - делать или нет???
Чернышев Андрей ЛеонидовичНе торопитесь, Муух. Вы заблуждаетесь. Должность нельзя "соединить с работником по внешнему ключу". По многим причинам. Нужна сущность Назначение (работника на должность)... И т.д.
только если нужно хранить ИСТОРИЮ назначений, либо СОВМЕЩЕНИЕ должностей (но лучше не усложнять).
...
Рейтинг: 0 / 0
07.08.2006, 18:46
    #33904014
Справочник - делать или нет???
Ошибаетесь, Petro123. Дело не только в "истории" и "совмещении". Кроме того, Ваше словосочетание "история назначений" говорит о том, что назначения ЕСТЬ, но их ИСТОРИЯ не нужна - это противоречие. Правильнее сказать, что назначения есть в предметной области, но их не нужно (их, а не их историю - попробуйте хранить "назначения", но не хранить их "историю") хранить в базе данных Муух, так как это "чересчур сложно" (?). AlexTheRaven преувеличивает, когда говорит о параноидальном хранении какой-то "истории всех изменений всех данных". Назначение - это естественная сущность даже для "простенькой системы", а не "история всех изменений всех данных". Автор темы говорит именно о "должностях", а не о "ролях". Мне сложно представить "простенькую систему" с "работниками" и "должностями" без "назначений", но я верю AlexTheRaven, что такие "системы" есть. Я только посоветовал Муух не торопиться, но AlexTheRaven наверное правильно угадал, что система Муух именно простенькая.
...
Рейтинг: 0 / 0
08.08.2006, 11:00
    #33904871
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Справочник - делать или нет???
Чернышев Андрей Леонидович
Кроме того, Ваше словосочетание "история назначений" говорит о том, что назначения ЕСТЬ, но их ИСТОРИЯ не нужна - это противоречие.
в чём проблема?
Проблема в хранении ТОЛЬКО ОДНОЙ ПОСЛЕДНЕЙ ДОЛЖНОСТИ из списка должностей?
Что нужно а что нет, решается в модели. Не мне вам говорить, что модель всегда ущербна (не точная копия реального мира).
...
Рейтинг: 0 / 0
08.08.2006, 11:59
    #33905086
Справочник - делать или нет???
Стыдно признаваться, но я так и не смог решить простую задачу "хранения ТОЛЬКО ОДНОЙ ПОСЛЕДНЕЙ ДОЛЖНОСТИ из списка должностей". Нужно подучиться...
...
Рейтинг: 0 / 0
08.08.2006, 13:04
    #33905291
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Справочник - делать или нет???
Чернышев Андрей ЛеонидовичСтыдно признаваться, но я так и не смог решить простую задачу "хранения ТОЛЬКО ОДНОЙ ПОСЛЕДНЕЙ ДОЛЖНОСТИ из списка должностей". Нужно подучиться...
ФИО id_должнИванов 2Петров 3
список должностей
2 Слесарь3 Сантехник
Это?
...
Рейтинг: 0 / 0
09.08.2006, 15:17
    #33908296
ModelR
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Справочник - делать или нет???
Чернышев Андрей ЛеонидовичСтыдно признаваться, но я так и не смог решить простую задачу "хранения ТОЛЬКО ОДНОЙ ПОСЛЕДНЕЙ ДОЛЖНОСТИ из списка должностей". Нужно подучиться...Дык и кто сможет? Хранение строго ПРАВИЛЬНЫХ данных...
Но смеяться легко, а уточнее очень простое: "хранения [в Сотруднике]ТОЛЬКО ОДНОЙ ДОЛЖНОСТИ из списка должностей, оставляя пользователю заботы о том, что это именно ПОСЛЕДНЯЯ."
Или кто-то понял по другому?
...
Рейтинг: 0 / 0
09.08.2006, 15:57
    #33908482
Сахават Юсифов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Справочник - делать или нет???
ModelR Чернышев Андрей ЛеонидовичСтыдно признаваться, но я так и не смог решить простую задачу "хранения ТОЛЬКО ОДНОЙ ПОСЛЕДНЕЙ ДОЛЖНОСТИ из списка должностей". Нужно подучиться...Дык и кто сможет? Хранение строго ПРАВИЛЬНЫХ данных...
Но смеяться легко, а уточнее очень простое: "хранения [в Сотруднике]ТОЛЬКО ОДНОЙ ДОЛЖНОСТИ из списка должностей, оставляя пользователю заботы о том, что это именно ПОСЛЕДНЯЯ."
Или кто-то понял по другому?

Хранить надо все, а показывать дефолт - последнюю, по запросу историю.
...
Рейтинг: 0 / 0
10.08.2006, 08:45
    #33909627
Справочник - делать или нет???
Не это, Petro123. Целую ночь думал над Вашей усложненной схемой БД, и ничего не получилось. То есть не получилось решить даже ту задачу, которую Вы сами себе поставили. Кто ПОСЛЕДНИМ занимал должность, которую СЕЙЧАС никто не занимает ? Заметьте, речь не идет ни об "истории должностей" работника, ни о "совмещении должностей". Малейшее дуновение ветерка делает Вашу схему БД неработоспособной. Видимо нам обоим нужно подучиться. И совместными усилиями мы решим, в конце концов, "загадку Мууха", постепенно вырастающую в "теорему Ферма".
...
Рейтинг: 0 / 0
10.08.2006, 11:02
    #33909898
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Справочник - делать или нет???
Чернышев Андрей Леонидович
Есть всего 2 варианта:
- не хранить историю назначения должностей (хранить только текущюю)
- хранить историю назначения должностей

1. Я указал код варианта №1
2. У автора топика, вроде нет предпосылок для усложнения БД (вар.2)
2. При варианте 2 можно получить любую инфу по назначениям на должность, если это нужно заказчику (он платит за усложнение) и есть в ТЗ.
...
Рейтинг: 0 / 0
10.08.2006, 20:49
    #33911679
Справочник - делать или нет???
"Есть всего 2 варианта" чего ??? Два варианта решения (правда тоже неизвестно какой задачи) привел сам Муух. Но это, конечно, не значит, что варианта "всего 3". Можно предположить, что первый вариант Мууха предпочтительней. А второй вариант (или Ваш первый) я так и не смог за три дня "приложить" ни к одной реальной задаче. Но, как я уже говорил, это, наверное, от недостатка знаний...
...
Рейтинг: 0 / 0
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Справочник - делать или нет??? / 24 сообщений из 24, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]