Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Тел. справочник / 25 сообщений из 47, страница 1 из 2
25.04.2007, 14:54
    #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
25.04.2007, 15:23
    #34486788
ё
ё
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Тел. справочник
ключевое слово - штатное расписание. (как пример структура организации - древовидный справочник)
...
Рейтинг: 0 / 0
25.04.2007, 15:30
    #34486810
softwarer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Тел. справочник
xm?!_(mo3roBa9_akTuBHocTb)Вот думаю сделать на предприятии тел. справочник. Только над проектированием бд задумался.
Первое, о чем стоит задуматься - делаете ли Вы именно телефонный справочник, или же некую большую задачу, маленькой частью которой будет в том числе телефонный справочник.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Да.

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

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

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

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

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


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