Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Структура БД / 12 сообщений из 12, страница 1 из 1
06.04.2008, 00:17
    #35237769
CYBERDREAM
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Структура БД
Приветствую всех! Необходим совет по структуре, хотелось бы узнать, верно ли я вижу ее, может есть советы.
Необходимо создать БД для учета сотрудников, в каком подразделение и на какой должности они работали (т.е. перевели с одной должности на др. или ушел в др. подразделение на др. должность)
таблица 1
PK: man_id
Фио
№паспорта
Пол
Дата рождение

Таблица 2 (Подразделение)
PK: SubID
имя

Таблица 3 (Должность)
PK: Post_id
имя

Таблица 4 (История)
PK: HysID
FK: PostID
FK: man_id
Дата начала
Дата окончания

Какие представления имеются, приму любой совет. Может есть серьезные косяки. Заранее спасибо всем. (СУБД MS SQL)
...
Рейтинг: 0 / 0
07.04.2008, 08:53
    #35238616
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Структура БД
Почти традицией стало ФИО и паспортные данные хранить в отдельной таблице, поскольку они могут меняться.
Историю я бы сделал с одной датой и полем "Действие". Тогда добавляется табличка
ДействиеКодНазвание
Где действие это принят, уволен, переведен, совмещение, совместительство ну и т.д...
----------
Cache for Windows (Intel) 2007.1 (Build 369) Fri Jun 15 2007 15:25:42 EDT
Cache for Windows NT (Intel) 5.0.20 (Build 6305) Fri Sep 16 2005 11:54:10 EDT
...
Рейтинг: 0 / 0
07.04.2008, 23:56
    #35241198
Страдалецъ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Структура БД
Аналогичное добавление, документ тоже принято в отдельную таблицу заводить и хранить в нескольких полях тип документа,серию,номер,дату выдачи,основание.
История тоже по логике должна иметь ссылку на документ - являющийся основанием для поступления/перевода/увольнения.
...
Рейтинг: 0 / 0
08.04.2008, 05:28
    #35241340
Temich
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Структура БД
может подразделения елкой сделать?
...
Рейтинг: 0 / 0
08.04.2008, 07:22
    #35241376
Le Peace
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Структура БД
CYBERDREAMPK: man_id

Лучше person_id, а то женщины могут обидеться... :)
...
Рейтинг: 0 / 0
08.04.2008, 07:30
    #35241382
Le Peace
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Структура БД
Я так понял, для каждого подразделения свой набор должностей? Тогда в таблице Должность не хватает ссылки на Подразделение, иначе в таблице История не хватает ссылки на Подразделение.

krvsaИсторию я бы сделал с одной датой
Я бы все-таки историю сделал бы с двумя датами, ради производительности.
...
Рейтинг: 0 / 0
08.04.2008, 08:05
    #35241395
Программист-Любитель
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Структура БД
Паспорта лучше сделать в отдельной таблице. Они могут меняться при утере, замужестве и т.п.

Подразделения тоже гвозями не прибиты - сливаются, разделяются, меняетяс структура и т.п.

Смену девичей фамилии на мужнину как будете отрабатывать ?

В общем как всегда, как только доходит до работы с реальной жизнью полудюжины табличек сразу перестает хватать. Насколько глубоко вам надо проработать ваше решение - думайте сами по ситуации.
...
Рейтинг: 0 / 0
08.04.2008, 08:57
    #35241452
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Структура БД
Le Peaceисторию сделал бы с двумя датами, ради производительности.
"Производительность" она разная бывает. Т.ч. всякое ограничение (как и расширение) это палка о двух концах...
...
Рейтинг: 0 / 0
08.04.2008, 18:50
    #35243608
Le Peace
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Структура БД
krvsa"Производительность" она разная бывает. Т.ч. всякое ограничение (как и расширение) это палка о двух концах...
Да, но в данной ситуации, имхо, запросы типа @Date between BeginDate and EndDate будут чаще, чем изменение.
...
Рейтинг: 0 / 0
09.04.2008, 08:25
    #35244270
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Структура БД
Le Peaceбудут чаще, чем изменение.
А кто их считал?
В любом случае наше дело предложить...
...
Рейтинг: 0 / 0
10.04.2008, 07:22
    #35246961
Le Peace
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Структура БД
krvsa Le Peaceбудут чаще, чем изменение.
А кто их считал?
Статистика - наука точная (с) :)
krvsa
В любом случае наше дело предложить...
+1 :)
...
Рейтинг: 0 / 0
12.04.2008, 16:14
    #35251432
CYBERDREAM
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Структура БД
Всем спасибо. Остановился вообщем на след. структуре.
person
PK: man_id
Фио
№паспорта
Пол
Дата рождение

Таблица 2 (Подразделение)
PK: SubID
имя

Таблица 3 (Должность)
PK : Post_id
имя
Мин. ЗП
Макс. ЗП

Таблица 4 (История)
PK: HysID
FK: PostID
FK: man_id
Дата начала
Дата окончания

Хотя в принципе можно было сделать в посл. таблице сделать первичными ключами man_id + Дата начала. Но что то не получилось это сделать.. Еще раз всем спасибо ;)
...
Рейтинг: 0 / 0
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Структура БД / 12 сообщений из 12, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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