powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Тел. справочник
25 сообщений из 47, страница 1 из 2
Тел. справочник
    #34486644
Фотография xm?!_(mo3roBa9_akTuBHocTb)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот думаю сделать на предприятии тел. справочник. Только над проектированием бд задумался.

Суть: - на предприятии есть отделы;
- в отделах есть сотрудники;
- сотрудники имеют должности;
- каждая из перечисленных выше 3-х сущностей (отдел, сотрудник, должность) может иметь телефон. Т.е. может быть телефон для отдела, телефон для должности (без указания фамилии, актуально для тех должностей, где сохраняется высокая текучесть кадров), и соответственно телефон для должности;
- телефоны могут быть 2-х видов, внутренний (по предприятию), и внешний (городской).

У меня получилась такая структура, хотя она мне кажется не идеальной.
имя_таблицы (поле, поле, ...)
Отделы: t_otd (id, name)
Должности: t_post (id, name)
Сотрудники (name_f *_i *_o это ФИО): t_empl (id, name_f, name_i, name_o, id_post, id_otd)
Связь таблиц: t_union (id, id_t, flag)
(здесь поле flag может иметь значение 0, 1, 2, где 0 - сотрудник, 1 - должность, 2 - отдел. id_t это ключ таблицы t_otd , t_post или t_empl в зависимости от значения флага flag )
Телефоны внешние: t_phone1 (id, id_u, name)
( id_u - ключ из таблицы t_union , name - телефон)
Телефоны внутренние: t_phone2 (id, id_u, name)

Вот здесь не нравиться поле flag в таблице t_union , тк. ограничевает бд, да и вообще не красиво когда появляются не как не относящиеся к бд числа. Допустим, если появиться ещё один уровень разделения, например - подразделения (будут содержать отделы), а если эти подразделения ещё будут делиться по уровням (т.е. одно подразделение может содержать несколько других подразделений, а те отделы, лучше ведь предусмотреть возможность неограниченной вложенности).
Нужны свежие идеи, подскажите люди с опытом.
...
Рейтинг: 0 / 0
Тел. справочник
    #34486788
ё
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ё
Гость
ключевое слово - штатное расписание. (как пример структура организации - древовидный справочник)
...
Рейтинг: 0 / 0
Тел. справочник
    #34486810
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
xm?!_(mo3roBa9_akTuBHocTb)Вот думаю сделать на предприятии тел. справочник. Только над проектированием бд задумался.
Первое, о чем стоит задуматься - делаете ли Вы именно телефонный справочник, или же некую большую задачу, маленькой частью которой будет в том числе телефонный справочник.

Разница в том, что в первом случае наилучшим решением будет таблица Телефоны (ид, фио, должность, отдел, тел_внешний, тел_внутренний). Во втором случае начать действительно стоит с типовых структур штатного расписания, а телефоны там - сбоку припеку.
...
Рейтинг: 0 / 0
Тел. справочник
    #34488361
Фотография xm?!_(mo3roBa9_akTuBHocTb)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ёключевое слово - штатное расписание. (как пример структура организации - древовидный справочник)
штатное расписание это какойто термин бд? Можно подробнее..
...
Рейтинг: 0 / 0
Тел. справочник
    #34488365
Фотография xm?!_(mo3roBa9_akTuBHocTb)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarer xm?!_(mo3roBa9_akTuBHocTb)Вот думаю сделать на предприятии тел. справочник. Только над проектированием бд задумался.
Первое, о чем стоит задуматься - делаете ли Вы именно телефонный справочник, или же некую большую задачу, маленькой частью которой будет в том числе телефонный справочник.

Разница в том, что в первом случае наилучшим решением будет таблица Телефоны (ид, фио, должность, отдел, тел_внешний, тел_внутренний). Во втором случае начать действительно стоит с типовых структур штатного расписания, а телефоны там - сбоку припеку.
на самом деле действительно только тел. справочник. Предлагаете делать одну таблицу? Тогда появиться типичная проблема ввода имён списков (например один введёт "отдел ФЭО", другой "Финансово-экономический отдел", ну и т.п., "Иванов" - "ИВанов", "Бухгалтер" - "Бугалтер"). Появятся такие ошибки. А когда выбирает списком из справочника, и остаётся ввести телефон, ошибок нет.
...
Рейтинг: 0 / 0
Тел. справочник
    #34488488
xm?!_(mo3roBa9_akTuBHocTb) ёключевое слово - штатное расписание. (как пример структура организации - древовидный справочник)
штатное расписание это какойто термин бд? Можно подробнее..
Штатное расписание - термин управленческого (кадрового) учета, а не термин БД.
Штатное расписание существует в каждой организации.
Там (грубо говоря) указывается какие подразделения существуют на предприятии (департаменты, отделы, их подчиненность), а также перечень должностей, их количество в каждом подразделении и оклад по каждой должности.
При приеме человека на работу ему назначается соответствующая должность из штатного расписания.
Если вакансий в отделе нет, то либо человеку в приеме на работу отказывают, либо меняют штатное расписание. Как следствие, для работодателя изменится фонд заработной платы и все сопутствующие платежи/налоги/отчисления.

А про древовидную структуру Вам правильно сказали. Копайте в этом направлении...
...
Рейтинг: 0 / 0
Тел. справочник
    #34488521
Фотография xm?!_(mo3roBa9_akTuBHocTb)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо за совет про древовидную структуру.
...
Рейтинг: 0 / 0
Тел. справочник
    #34488551
Alex_Toms
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Для телефонного справочника, в первую очередь нужна таблица с номерами всех телефонов (номерной ёмкостью). Можно ввести признак, местный-городской. Вот она и будет "главной". А вот её уже можно связывать с данными об абонентах. У абонентов будут: подразделение, ФИО, должность и т.д.. Абоненты будут со временем меняться и задача менять ссылку из первой таблицы на вторую.
А запросами можно будет брать данные по любым критериям...
...
Рейтинг: 0 / 0
Тел. справочник
    #34488834
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
xm?!_(mo3roBa9_akTuBHocTb)Предлагаете делать одну таблицу? Тогда появиться типичная проблема ввода имён списков (например один введёт "отдел ФЭО", другой "Финансово-экономический отдел",
Хм. Извините уж за грубость, но попробуйте применить часть своего ника. Интерфейс ввода данных не имеет ни малейшего отношения к структуре данных в БД - вся суть разделения клиент-сервера в том, что они малозависимы. Никто не мешает сочетать одну таблицу с выбором из списка. Список заполняется простейшим select distinct Должность from ЭтаЖеТаблица, таким образом, достаточно аккуратно ввести первую запись. Теоретически основной минус в том, что если таки ошиблись, то для исправления ошибки придется искать и править все записи с ошибкой - но в данном случае это тоже никакой неприятностью не является.

Вы, безусловно, можете наплодить структуру таблиц "в десять раз больше" - так, что 90% работы будет не собственно над телефонным справочником, а над дизайном, заполнением и последующим сопровождением справочной информации. Но толку в этом.... Названную одну таблицу можно сделать во всех деталях за час, а тут только дизайн таблиц обсуждается чуть ли не сутки.
...
Рейтинг: 0 / 0
Тел. справочник
    #34488997
Не спец
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Хммм... я не спец в проектировании БД. Но есть простое предположение - почему не сделать отдельные таблицы Телефоны_сотрудников, Телефоны_отделов и т.д. Не обязательно все телефоны в одну таблицу пихать, мне кажется....
...
Рейтинг: 0 / 0
Тел. справочник
    #34506427
Майевтик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не спецХммм... я не спец в проектировании БД. Но есть простое предположение - почему не сделать отдельные таблицы Телефоны_сотрудников, Телефоны_отделов и т.д. Не обязательно все телефоны в одну таблицу пихать, мне кажется....Да, не спец.
...
Рейтинг: 0 / 0
Тел. справочник
    #34507774
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Я знал! Я знал! Я знал, что когда нибудь здесь возникнет вопрос о проектировании телефонной книжки!
...
Рейтинг: 0 / 0
Тел. справочник
    #34507930
guest_20040621
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> Я знал!

Напрасно ерничаете. Справочник предприятия - это не записная книжка и не так просто, как может показаться. Ваш вариант структуры данных приведите, - а я в свою очередь расскажу Вам о сделанных Вами ошибках.
...
Рейтинг: 0 / 0
Тел. справочник
    #34507993
ты-гы-дым
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
guest_20040621а я в свою очередь расскажу Вам о сделанных Вами ошибках.

а слабо наоборот
...
Рейтинг: 0 / 0
Тел. справочник
    #34508033
guest_20040621
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> а слабо наоборот

Если Вы обратили внимание, я никогда не привожу готовых структур. Просто потому, что считаю такую практику вредной: думать нужно всегда самостоятельно. Чего-то не знать - нормально; никто не обладает абсолютным знанием. Подсказать - нормально, это стимулирует решение. А делать чью-то работу - плохо, у респондента мозги выключаются.

В данном случае Cat2 считает, что справочник - это простая задача. На самом деле это не так. Он приводит свой вариант решения - я объясняю, чем это решение плохо. По-моему, все честно.
...
Рейтинг: 0 / 0
Тел. справочник
    #34508060
ты-гы-дым
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
guest_20040621На самом деле это не так.

а вы могли бы привести пример задачи более простой чем телефонный справочник?

субуго ИМХО но это вообще элементарно...
...
Рейтинг: 0 / 0
Тел. справочник
    #34508083
guest_20040621
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> а вы могли бы привести пример задачи более простой чем телефонный справочник?

В каком смысле "более простой"?

> это вообще элементарно...

Хех, и Вы туда же. ;) ОК, если настаиваете, начнем с постановки задачи: что есть справочник предприятия и зачем он нужен. Самый простой вариант: перечень сотрудников с перечислением возможных способов связи и идентификаторов этих сотрудников в соответствующих сетях. Т. о. первая явная подзадача - штатное расписание. Простая задача, но реализации без ошибок я в литературе не встречал. Дальше, собственно, сети и идентификаторы. Предприятие может иметь местную АТС, предприятие может арендовать номерную емкость у местного оператора стационарной и/или мобильной связи, сотрудники предприятия могут пользоваться мобильной связью частным образом, сотрудники предприятия могут пользоваться IP телефонией (тоже частным образом или централизованно), на предприятии может использоваться радиосвязь. Следует различать персональные идентификаторы, групповые и ролевые; следует также различать идентификторы, пригодные для конференц-связи (в т. ч. видео-). Теперь к вопросу "зачем он нужен". В самом простом случае справочник можно держать что называется "в электронном виде" (т. е. иметь базу данных с соответствующим интерфейсом (включая, например, wap)) и можно его напечатать. Причем, напечатать его можно с фотографиями сотрудников. Очевидно, что формат и разрешение фотографий сотрудников для печати будут отличаться от тех же фотографий для http и, естественно, от wap представления справочника. Даже как-то и не хочется говорить о том, что у предприятия могут быть филиалы и что формирование справочников филиалов - проблема филиалов (с соответствующим разделением доступа, само собой). Про историю изменений и упоминать смешно; естественно, она должна быть (хотя бы из тех соображений, что справочник - продолжающееся издание; печатная версия актуальной может быть только на определенный момент времени). Это проблемы, которые лежат на поверхности; есть и другие. Готовы взяться за решение этой задачи, которую Вы считаете элементарной? Структуру данных - в студию. И Вам я тоже расскажу о Ваших ошибках.

Моя точка зрения: телефонные справочники предприятий нет смысла строить как самостоятельные приложения.
...
Рейтинг: 0 / 0
Тел. справочник
    #34508219
ты-гы-дым
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
guest_20040621Моя точка зрения:

телефонный справочник это элементарно, даже смешно дискутировать...
...
Рейтинг: 0 / 0
Тел. справочник
    #34508225
guest_20040621
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> телефонный справочник это элементарно, даже смешно дискутировать...

А и не надо дискутировать. Задачу "телефонный справочник" я сформулировал. В очень упрощенном виде. Где Ваше решение?
...
Рейтинг: 0 / 0
Тел. справочник
    #34508227
ты-гы-дым
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
guest_20040621> телефонный справочник это элементарно, даже смешно дискутировать...

А и не надо дискутировать. Задачу "телефонный справочник" я сформулировал. В очень упрощенном виде. Где Ваше решение?

слушайте, откуда столько напора в воскресный вечер? ступайте уже спать - завтра таки рабочий день

телефонный справочник - это даже не смешно... чего копья-то ломать вокруг пустого
...
Рейтинг: 0 / 0
Тел. справочник
    #34508242
guest_20040621
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> телефонный справочник - это даже не смешно...

Эти мантры я уже слышал. Если все так просто - я не понимаю, в чем проблема?

> чего копья-то ломать

Никаких копий. Сказали "а", говорите "б".

> вокруг пустого

В этом мире вообще все фигня, кроме пчел. Да и пчелы, в сущности, - тоже фигня.
...
Рейтинг: 0 / 0
Тел. справочник
    #34508731
NoName 2007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Телефоны (id, Num, Type)
Отделы (id, Name, ...)
Сотрудники (id, FIO, ...)
Должности (id, Name)
Связь_Сотрудники-Отделы (id, id_Отдела, id_Сотрудника) (при условии, что сотрудник может относиться к нескольким отделам, иначе объединить)
Связь_Сотрудники-Должности (id, id_Сотрудника, id_Отдела)
Связь_Отделы-Телефоны (id, id_Отдела, id_Телефона) (при условии, что может быть один телефон на несколько отделов) и. т.п.
...
...
Рейтинг: 0 / 0
Тел. справочник
    #34511172
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
guest_20040621> Я знал!

Напрасно ерничаете. Справочник предприятия - это не записная книжка и не так просто, как может показаться. Ваш вариант структуры данных приведите, - а я в свою очередь расскажу Вам о сделанных Вами ошибках.
У меня не будет ошибок
...
Рейтинг: 0 / 0
Тел. справочник
    #34511181
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
guest_20040621

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

Вы априори утверждаете, что найдете ошибки в моей базе. Следовательно Вы знаете, как ее написать без ошибок. Почему вы думаете, что базу без ошибок можете написатьтолько Вы?
...
Рейтинг: 0 / 0
Тел. справочник
    #34511225
guest_20040621
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> Вы априори утверждаете, что найдете ошибки в моей базе.

Да.

> Следовательно Вы знаете, как ее написать без ошибок.

Нет, не знаю. У Вас с причинно-следственной связью все в порядке?

> Почему вы думаете, что базу без ошибок можете написатьтолько Вы?

Откуда это следует, позвольте поинтересоваться? Я сказал, что найду ошибки в Вашем решении. Общая постановка задачи - в [4105541]. Задавайте вопросы, если что-то не ясно. Если все ясно, структуру данных - в студию.

А сказать на самом деле я хотел вот что: не бывает ни сложных, ни простых решений. Бывает говенная постановка задачи и недостаточный уровень компетенции. В данном случае задача автором вопроса вообще никак не была сформулирова. А Вы тут же оценили ее трудоемкость. Не думаю, что Вы телепат.
...
Рейтинг: 0 / 0
25 сообщений из 47, страница 1 из 2
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Тел. справочник
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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