Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2015.09.20;
Скачать: [xml.tar.bz2];

Вниз

Помогите пожалуйста с нормализацией базы   Найти похожие ветки 

 
SchoolBase   (2014-05-04 13:11) [0]

Необходимо разработать базу предприятия по сотрудникам
Должны быть следующие поля:
Номер трудового договора
ФИО
Дата рождения
Пол
Место рождения
ИНН
СНИЛС
Паспортные данные (серия, номер, кем и когда выдан, прописка)
Фактический адрес проживания
Телефон
Образование
Стаж работы
Отдел
Должность

Прикинул такую схему данных
http://rghost.ru/54918022/image.png
Подскажите, что тут можно подправить?
И никак не соображу, как сделать связь между Сотрудник.Отдел к таблице СписокОтделов (чтобы связь была 1-к-1)


 
Aleks2014   (2014-05-04 13:12) [1]

Тут программист нужен...


 
junglecat   (2014-05-04 13:23) [2]

> [0] SchoolBase   (04.05.14 13:11)

Зачем в списках 2 поля "код"?
Это не совсем правильно - привязывать должность к отделу. Но если уж делать так, то связка "отдел - сотрудник" - лишняя


 
SchoolBase   (2014-05-04 13:40) [3]


> Зачем в списках 2 поля "код"?

Просто не везде его убрал

Если привязывать должность к отделам неправильно, то подскажите, как лучше?


 
junglecat   (2014-05-04 13:52) [4]

> как лучше?

отдел связан с объектом Штатное расписание, на позиции которого назначаются сотрудники
А Должности - по сути справочник


 
SchoolBase   (2014-05-04 14:18) [5]

Если я вас правильно понял, то должно выглядеть что-то вроде этого?
http://rghost.ru/54919372/image.png


 
junglecat   (2014-05-04 14:23) [6]

> [5] SchoolBase   (04.05.14 14:18)

IDзаписи и код - это одно и то же, первичный ключ.
я бы как-то так делал:
[Отделы] - [Штатное расписание] - [Сотрудники]
                  |
             [Должности]


Незанятые позиции в штатном - вакансии


 
SchoolBase   (2014-05-04 14:27) [7]

> IDзаписи и код - это одно и то же, первичный ключ.

У меня почему-то ставится отношение один-ко-многим

Про штатное расписание вроде осознал


 
Inovet ©   (2014-05-04 16:56) [8]

Два таблицы "сотрудники" зачем? Стаж отдельной таблице, образование, скорее тоже отдельной, договора тоже, должности тоже, телефоны, ну наверное, тоже.


 
Dennis I. Komarov ©   (2014-05-05 14:31) [9]


> Номер трудового договора
> ФИО
> Дата рождения
> Пол
> Место рождения
> ИНН
> СНИЛС
> Паспортные данные (серия, номер, кем и когда выдан, прописка)
> Фактический адрес проживания
> Телефон
> Образование
> Стаж работы
> Отдел
> Должность

Объект - некая физическая сущность. База для предприятия, так что можно считать, что у каждого есть СНИЛС - уникален, можно использовать как идентификатор (PK).
Создаем первую таблицу, с неизменными параметрами:
СНИЛС, ИНН, Место рождения (хотя тоже наверное можно сменить)
Далее:
СНИЛС, Дата, Ф, И, О, Пол, ...
При выборке ... where СНИЛС=@@@, первая дата - дата рождения, остальные дата происхождения изменений
Аналогично таблицы для "Удостоверения личности" (не факт что это паспорт РФ) и адрес (как правило не один).

Телефон (номер) - зависит от задачи, может быть 1к1, 1кМ, МкМ

Объект - документ "трудовой договор"
Идентифицируется номером документа и датой
(первое упоминание сам договор, последующие приложения к нему)

P.S.
Поле "стаж работы" должно быть вычисляемым.
Поле "Образование" - в зависимости от задач.


 
Inovet ©   (2014-05-05 15:46) [10]

> [9] Dennis I. Komarov ©   (05.05.14 14:31)
> что у каждого есть СНИЛС

Его может не быть на момент приёма на роботу


 
Inovet ©   (2014-05-05 15:48) [11]

> [9] Dennis I. Komarov ©   (05.05.14 14:31)
> Поле "стаж работы" должно быть вычисляемым.

Под стажем работы обычно подразумеваются записи в трудовой книжки, их может быть больше 1, может быть 0.


 
Inovet ©   (2014-05-05 15:57) [12]

> [10] Inovet ©   (05.05.14 15:46)
> СНИЛС

И ещё - сегодня у них СНИЛС, а завтра какой-нибудь ЭН. Так что, привязываться к нему не стоит. Есть на предприятии табельный номер, делай его каким хочется и всё.


 
Dennis I. Komarov ©   (2014-05-05 16:15) [13]


> Его может не быть на момент приёма на роботу


> И ещё - сегодня у них СНИЛС, а завтра какой-нибудь ЭН. Так
> что, привязываться к нему не стоит. Есть на предприятии
> табельный номер, делай его каким хочется и всё.

Это уже кому как нравится... я сомневаюсь, что СНИЛС "завтра" превратится во что-нить еще, да и никто не запрещает на его основе сделать свой ИД (если вдруг). Ну и свой "табельный номер" конечно никто не запрещает :)


> Под стажем работы обычно подразумеваются записи в трудовой
> книжки, их может быть больше 1, может быть 0.


Скорее да, согласен... Но всеравно стаж должен считаться... Возможно хранить стаж до приема на работу, возможно всю трудовую как объект и все записи в ней. (если это надо)



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2015.09.20;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.002 c
15-1423300267
Rouse_
2015-02-07 12:11
2015.09.20
Интересный таки нюанс с инлайн асмом в MS VC++ 2010


15-1422999005
Юрий
2015-02-04 00:30
2015.09.20
С днем рождения ! 4 февраля 2015 среда


15-1422882243
ВладОшин
2015-02-02 16:04
2015.09.20
Set|Get CursorPos при закрытом окне RDP


15-1422874601
Дмитрий С
2015-02-02 13:56
2015.09.20
Межпроцесная модальность.


15-1422873582
Дмитрий С
2015-02-02 13:39
2015.09.20
Как убрать "Возможно, эта программа установлена неправильно"





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский