Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Правильно ли отношение между сущностями в базе? / 25 сообщений из 45, страница 1 из 2
24.01.2009, 14:13
    #35775292
antonsnit
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Правильно ли отношение между сущностями в базе?
В моей базе есть сущность сотрудник , у каждого сотрудника есть какое то образование, причем образование может быть не одно... для этого я сделал сущность образование , и раскрыл отношение "многие ко многим" через сущность: "Сотрудник_образование". Посмотрите, пожалуйста, на то что получилось, меня смущает один вопрос: в сущности сотрудник образование нужны ли вообще атрибуты кроме первичных ключей? или их можно вообще убрать?
...
Рейтинг: 0 / 0
25.01.2009, 01:15
    #35775703
Сергей из Самары
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Правильно ли отношение между сущностями в базе?
antonsnit,

А зачем дату начала и дату окончания вывели в таблицу связности? Они же относятся к образованию, в нее и надо их. Так, конечно, можно, но смысл?
...
Рейтинг: 0 / 0
25.01.2009, 10:21
    #35775820
Senya_L
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Правильно ли отношение между сущностями в базе?
> Автор: Сергей из Самары
> А зачем дату начала и дату окончания вывели в таблицу связности? Они
> же относятся к образованию, в нее и надо их. Так, конечно, можно, но
> смысл?
>

Все правильно сделал автор. Что-то Вы путаете. Чтобы понять где путаете,
просто попытайтесь запрос составить, в котором выводится список людей, их
образование и даты начала/конца обучения. ;)

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
25.01.2009, 11:19
    #35775837
Сергей из Самары
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Правильно ли отношение между сущностями в базе?
Senya_L,

Да, сорри. Протупил :(
...
Рейтинг: 0 / 0
25.01.2009, 12:09
    #35775869
antonsnit
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Правильно ли отношение между сущностями в базе?
Так получается, все правильно у меня?
...
Рейтинг: 0 / 0
25.01.2009, 12:17
    #35775873
guest_20040621
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Правильно ли отношение между сущностями в базе?
> в сущности сотрудник образование нужны ли вообще атрибуты кроме первичных ключей?

Задачу подробнее опишите.

Вообще - нет, не нужны, это типичная связывающая сущность. Проблема Вашей схемы в плохой структуре данных для описания собственно образования.
...
Рейтинг: 0 / 0
25.01.2009, 12:20
    #35775875
Senya_L
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Правильно ли отношение между сущностями в базе?
> Автор: antonsnit
> Так получается, все правильно у меня?
>

В смысле нормализации нормально. Я бы еще добавил в таблицу
Сотрудник_Образование поле-признак Primary, т.е. отметить, какое образование
профильное по специальности сотрудника. Иногда такое требуется для отчетов.
Например, выдать список сотрудников работающих по специальности.
Соответственно ограничение Unique на пару полей (ID_Сотрудника, Primary).

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
25.01.2009, 12:53
    #35775890
antonsnit
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Правильно ли отношение между сущностями в базе?
Хорошо, спасибо! вроде разобрался :)
...
Рейтинг: 0 / 0
25.01.2009, 12:55
    #35775893
antonsnit
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Правильно ли отношение между сущностями в базе?
guest_20040621,

чем она плоха? я не вижу другого способа это реализовать.. Подробнее расписать не могу, пока точно не знаю какие могут понадобиться выборки в связке сотрудник-образование. Хочется чтоб структура было универсальной.
...
Рейтинг: 0 / 0
25.01.2009, 13:21
    #35775913
guest_20040621
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Правильно ли отношение между сущностями в базе?
> чем она плоха?

Тем, что не отражает предметную область.

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

Не надо ничего знать о запросах. Просто расскажите, для чего эта база данных и какие задачи должна решать. Если для внутреннего использования небольшой лавкой - это один уровень. Если для публичных сервисов - другой.

> Хочется чтоб структура было универсальной.

Даже не думайте об этом.
...
Рейтинг: 0 / 0
25.01.2009, 13:22
    #35775916
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Правильно ли отношение между сущностями в базе?
antonsnit пишет:
> В моей базе есть *сущность сотрудник*, у каждого сотрудника есть какое
> то образование, причем образование может быть не одно...

Образование у человека одно. нач. среднее, незак. среднее, среднее, среднее
специальное или высшее (если не ошибаюсь). Если чел. окончил три ВУЗ-а, у него
три высших образования не образуется, как я понимаю. Оно всё равно остаётся высшим.

А вот какие учебные заведения человек окончил - это множественный атрибут
человека.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
25.01.2009, 13:25
    #35775919
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Правильно ли отношение между сущностями в базе?
К тому же вы кажется путаете образование и учёную степень. Кандидат, доктор - это учёные степени.
...
Рейтинг: 0 / 0
25.01.2009, 13:29
    #35775922
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Правильно ли отношение между сущностями в базе?
"Уровни образования" -- это, естественно, у вас не таблица, а так, просто нарисовано ? Надеюсь, что да.
В смысле, что поля там странные.

Ну вот думаю что от "Уровни образования" надо сделать связь ещё и на самого человека, какой у него в итоге уровень.

Я, конечно, могу ошибаться, и ещё всё это может зависеть от требований твоей предметной области.
...
Рейтинг: 0 / 0
25.01.2009, 13:30
    #35775923
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Правильно ли отношение между сущностями в базе?
Блин, ещё один ляп. Образование у ЧЕЛОВЕКА, а не у сотрудника. Тебе видимо надо ввести ещё одну сущность.
...
Рейтинг: 0 / 0
25.01.2009, 13:39
    #35775931
guest_20040621
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Правильно ли отношение между сущностями в базе?
antonsnit, MasterZiv Вам основные ошибки перечислил. В контексте задачи может играть роль дополнительное образование, повышение квалификации и пр..
...
Рейтинг: 0 / 0
25.01.2009, 13:42
    #35775932
alexeyvg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Правильно ли отношение между сущностями в базе?
antonsnitТак получается, все правильно у меня?Я не понимаю, что у вас за сущности Образование и Уровень образования.

Почему из уровня есть ссылка на образование?

Что за атрибуты в "Уровень образования"? Что за Общее, Средне, Высшее и т.д. - это булеан-поля?

Что означают записи в "Образование"? Какое назначение у этой сущности в бизнес-системе? Зачем там писать специальность?

Конечно, не зная бизнес-требований, советы давать нелегко, но более логичной была-бы следующая схема:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
Сущность Сотрудник
  ИД
  .... - прочие атрибуты сотрудника, не имеющие отношения к делу - имя, пол, коэфф. лояльности к директору и т.д.
  
Сущность Сотрудник_Образование
  ИД_Сотрудника
  ИД_Образования
  Наименование УЗ
  Специальность
  Даты начала и окончания
  Оценка
  .... прочие нужные атрибуты результата обучения
  
Сущность Образование - это справочник уровней
  ИД
  Название (например, Общее, Средне, Высшее и т.д.)
  Уровень (число - приоритет для сортировки сотрудников по уму :-) )
  ....


Это если не нужно вести реестр учебных заведений.
Если нужно, можно добавить сущность учебное заведение. Для обычной кадровой системы обычной фирмы, я думаю, не надо.
Ещё, если нужно, можно добавить сущности факультет, специальность и другие; это зависит от бизнес-требований, если система писалась бы для какого нибуть мин. образования.
...
Рейтинг: 0 / 0
25.01.2009, 14:50
    #35775985
antonsnit
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Правильно ли отношение между сущностями в базе?
MasterZiv,

в справочнике уровни образование я, конечно, имею ввиду одно поле "уровень образования" (тут переклинило видимо и уже расписал поля справочника :) )
...
Рейтинг: 0 / 0
25.01.2009, 14:52
    #35775988
antonsnit
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Правильно ли отношение между сущностями в базе?
MasterZivБлин, ещё один ляп. Образование у ЧЕЛОВЕКА, а не у сотрудника. Тебе видимо надо ввести ещё одну сущность.

какая необходимость в еще одной сущности?
...
Рейтинг: 0 / 0
25.01.2009, 15:35
    #35776039
antonsnit
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Правильно ли отношение между сущностями в базе?
Это сущности из базы по учету кадров.

Подкорректировал, учитывая данные советов. Как такой вариант?
...
Рейтинг: 0 / 0
25.01.2009, 15:42
    #35776046
alexeyvg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Правильно ли отношение между сущностями в базе?
antonsnitЭто сущности из базы по учету кадров.

Подкорректировал, учитывая данные советов. Как такой вариант?А зачем в Сотрудник ссылка на Образование? Чтобы итоговый уровень образования хранить?
Тогда нужно будет дополнительно целостность данных поддерживать.
...
Рейтинг: 0 / 0
25.01.2009, 15:49
    #35776049
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Правильно ли отношение между сущностями в базе?
alexeyvg пишет:

> Что за атрибуты в "Уровень образования"? Что за Общее, Средне, Высшее и
> т.д. - это булеан-поля?

Да это пример данных, состав этого словаря. Записи. Ну нарисовал наверное для
большей понятности. В ErWin это делается в Definition, а он вот так вот неуклюже
сделал.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
25.01.2009, 15:49
    #35776050
antonsnit
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Правильно ли отношение между сущностями в базе?
alexeyvgantonsnitЭто сущности из базы по учету кадров.

Подкорректировал, учитывая данные советов. Как такой вариант?А зачем в Сотрудник ссылка на Образование? Чтобы итоговый уровень образования хранить?
Тогда нужно будет дополнительно целостность данных поддерживать.

В принципе, согласен, она не нужна. В остальном правильно?
...
Рейтинг: 0 / 0
25.01.2009, 15:52
    #35776052
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Правильно ли отношение между сущностями в базе?
antonsnit пишет:

> какая необходимость в еще одной сущности?
Такая, что один человек может быть на совместительстве на нескольких
должностях и, даже если на одной, переходить с одной должности на
другую. А "Сотрудника" вы скорее всего удалить или модифицировать не сможете,
на него надо наверняка хранить данные для истории. Так что вам придётся
каждый раз копировать информацию о его, человека, образовании из одной
должности в другую.

Это, кстати, и называется нарушение 3-ей нормальной формы.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
25.01.2009, 15:55
    #35776055
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Правильно ли отношение между сущностями в базе?
antonsnit пишет:


К тому же вы так и не среагировали на мою реплику по поводу различий атрибутов
"итоговое текущее образование человека" и "оконченные учебные заведения". Я не
уверен, что это вам нужно на 100%, но подумайте.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
25.01.2009, 16:02
    #35776061
guest_20040621
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Правильно ли отношение между сущностями в базе?
> сущности из базы по учету кадров.

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


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