Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Проектирование БД Новый топик    Ответить
 Определить нормальную форму отношения  [new]
Arege
Member

Откуда:
Сообщений: 1
Нуждаюсь в помощи по заданию. Заранее благодарен.

Определите в какой нормальной форме находится следующее отношение. Ответ обоснуйте.

УЧЕТ(№ сотрудника, Фамилия сотрудника, № отдела в котором работает сотрудник, Телефон отдела, № проекта над которым работает сотрудник, Название проекта, № задания над которым работает сотрудник).

Ограничение: каждый сотрудник в каждом проекте выполняет ровно одно задание.

Модератор: Тема перенесена из форума "Microsoft SQL Server".


Сообщение было отредактировано: 23 дек 20, 22:17
23 дек 20, 21:22    [22253061]     Ответить | Цитировать Сообщить модератору
 Re: Определить нормальную форму отношения  [new]
ИВП
Member

Откуда:
Сообщений: 415
Arege,
Начать с определения функциональных зависимостей (ФЗ)
УЧЕТ(№ сотрудника, Фамилия сотрудника, № отдела в котором работает сотрудник, Телефон отдела, № проекта над которым работает сотрудник, Название проекта, № задания над которым работает сотрудник).
УЧЕТ(НомСот, Фам, Отд, Тел, НомПро, Проект, Задан).

НомСот->Фам
НомСот->Отд->Тел
НомСот->НомПро->Проект->Задан

Во 2НФ, т.к. ключ не составной, значит нет частичных ФЗ.
Не в 3НФ, т.к. есть транзитивные зависимости.

Сообщение было отредактировано: 6 янв 21, 17:11
6 янв 21, 17:14    [22259527]     Ответить | Цитировать Сообщить модератору
 Re: Определить нормальную форму отношения  [new]
Ennor Tiegael
Member

Откуда:
Сообщений: 3348
Arege,

Телефон отдела зависит от номера отдела. Название проекта зависит от номера проекта. Так что 2NF нарушается, имхо.

Поскольку перечислений значений через запятую в пределах одного атрибута не наблюдается, то вроде бы как первая.
7 янв 21, 11:10    [22259807]     Ответить | Цитировать Сообщить модератору
 Re: Определить нормальную форму отношения  [new]
Serguei
Member

Откуда: Papua New Guinea
Сообщений: 713
Админ, вот зачем такие темы, явно не имеющие отношение к процессу проектирования от авторов с одним топиком, который в лучшем случае перепечатал задание, а обычно даже не парятся, а просто фотку задания выкладывают?
Очевидно же, что такие темы развиваться не будут, а этот автор пропадет и больше здесь никогда не появится.
Можно для таких тем отдельный раздел сделать "Нуждаюсь в помощи за деньги"
12 янв 21, 19:57    [22262202]     Ответить | Цитировать Сообщить модератору
 Re: Определить нормальную форму отношения  [new]
ИВП
Member

Откуда:
Сообщений: 415
Ennor Tiegael
Arege,

Телефон отдела зависит от номера отдела. Название проекта зависит от номера проекта. Так что 2NF нарушается, имхо.

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

2NF - отсутствие зависимостей от частей СОСТАВНОГО ключа. Здесь ключ не составной. Значит это 2NF.
А то, что написано у Вас выше - транзитивные зависимости. Нарушается 3NF.

Сообщение было отредактировано: 14 янв 21, 21:49
14 янв 21, 21:54    [22263557]     Ответить | Цитировать Сообщить модератору
 Re: Определить нормальную форму отношения  [new]
Изя Кацман
Member

Откуда: Великий Эксперимент
Сообщений: 2020
ИВП
Ennor Tiegael
Arege,

Телефон отдела зависит от номера отдела. Название проекта зависит от номера проекта. Так что 2NF нарушается, имхо.

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

2NF - отсутствие зависимостей от частей СОСТАВНОГО ключа. Здесь ключ не составной. Значит это 2NF.
А то, что написано у Вас выше - транзитивные зависимости. Нарушается 3NF.


Relation УЧЕТ(
   № сотрудника
 , Фамилия сотрудника
 , № отдела в котором работает сотрудник
 , Телефон отдела
 , № проекта над которым работает сотрудник
 , Название проекта
 , № задания над которым работает сотрудник)

Ограничение: каждый сотрудник в каждом проекте выполняет ровно одно задание.

То есть один сотрудник может работать в нескольких проектах.

Составной возможный ключ #1(№ сотрудника, № проекта над которым работает сотрудник)
2 фев 21, 02:11    [22273008]     Ответить | Цитировать Сообщить модератору
 Re: Определить нормальную форму отношения  [new]
ИВП
Member

Откуда:
Сообщений: 415
Изя Кацман

Ограничение: каждый сотрудник в каждом проекте выполняет ровно одно задание.

То есть один сотрудник может работать в нескольких проектах.

Составной возможный ключ #1(№ сотрудника, № проекта над которым работает сотрудник)

Да, пропустил момент этот момент(((

УЧЕТ(НомСот, Фам, Отд, Тел, НомПро, Проект, Задан).
Тогда ключ составной:
НомСот+НомПро

Частичные ФЗ
НомСот->Фам; НомСот->Отд->Тел
НомПро->Проект->Задан
Значит, не в 2 NF, значит в 1NF
11 фев 21, 09:53    [22279308]     Ответить | Цитировать Сообщить модератору
 Re: Определить нормальную форму отношения  [new]
fkthat
Member

Откуда:
Сообщений: 4401
Serguei
Можно для таких тем отдельный раздел сделать "Нуждаюсь в помощи за деньги

Во блин. Ты и слепого инвалида через дорогу станешь переводить только за деньги?
12 фев 21, 11:56    [22279938]     Ответить | Цитировать Сообщить модератору
 Re: Определить нормальную форму отношения  [new]
SQL*Plus
Member

Откуда: Россия, Москва
Сообщений: 8195
Serguei
Можно для таких тем отдельный раздел сделать "Нуждаюсь в помощи за деньги"

На форуме "Работа" есть такая тема
Студентам, желающим помощи
12 фев 21, 12:01    [22279942]     Ответить | Цитировать Сообщить модератору
 Re: Определить нормальную форму отношения  [new]
hVostt
Member

Откуда:
Сообщений: 19015
fkthat
Serguei
Можно для таких тем отдельный раздел сделать "Нуждаюсь в помощи за деньги

Во блин. Ты и слепого инвалида через дорогу станешь переводить только за деньги?


Чел даже не попытался что-то сделать сам и показать свои потуги.
Помогать таким людям забесплатно -- оказывать медвежью услугу.
12 фев 21, 15:03    [22280065]     Ответить | Цитировать Сообщить модератору
 Re: Определить нормальную форму отношения  [new]
fkthat
Member

Откуда:
Сообщений: 4401
hVostt
Чел даже не попытался что-то сделать сам и показать свои потуги.
Помогать таким людям забесплатно -- оказывать медвежью услугу.

Значит просто не помогать. Цена вопроса ТС настолько ерундовая, что говорить о какой-то плате за него просто курам на смех.
12 фев 21, 22:26    [22280309]     Ответить | Цитировать Сообщить модератору
 Re: Определить нормальную форму отношения  [new]
hVostt
Member

Откуда:
Сообщений: 19015
fkthat
hVostt
Чел даже не попытался что-то сделать сам и показать свои потуги.
Помогать таким людям забесплатно -- оказывать медвежью услугу.

Значит просто не помогать. Цена вопроса ТС настолько ерундовая, что говорить о какой-то плате за него просто курам на смех.


Цена вовсе не ерундовая. Если ты так считаешь, значит совершенно не ценишь затраченное на обучение время, свой скилл и свой интеллект.

Как говорится, если что-то умеешь делать, не делай это бесплатно (с)

Другое дело, шаринг знаний -- дело хорошее, благое и выгодно всем. Но не бесплатно раздавать готовые ответы дармоедам, которые не хотят даже чуть-чуть потрудиться.
12 фев 21, 22:50    [22280318]     Ответить | Цитировать Сообщить модератору
 Re: Определить нормальную форму отношения  [new]
SQL*Plus
Member

Откуда: Россия, Москва
Сообщений: 8195
hVostt
fkthat
пропущено...

Значит просто не помогать. Цена вопроса ТС настолько ерундовая, что говорить о какой-то плате за него просто курам на смех.


Цена вовсе не ерундовая. Если ты так считаешь, значит совершенно не ценишь затраченное на обучение время, свой скилл и свой интеллект.

Как говорится, если что-то умеешь делать, не делай это бесплатно (с)

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

Всё правильно.
Согласен.

Автор темы даже не удосужился в ней что-то новое написать за полтора месяца (с 23 декабря 2020 г.)
14 фев 21, 19:54    [22280834]     Ответить | Цитировать Сообщить модератору
 Re: Определить нормальную форму отношения  [new]
Serguei
Member

Откуда: Papua New Guinea
Сообщений: 713
fkthat
Serguei
Можно для таких тем отдельный раздел сделать "Нуждаюсь в помощи за деньги

Во блин. Ты и слепого инвалида через дорогу станешь переводить только за деньги?


кто здесь инвалид? неуместное сравнение лодыря студента и инвалида, действительно нуждающегося в помощи.




SQL*Plus
Serguei
Можно для таких тем отдельный раздел сделать "Нуждаюсь в помощи за деньги"

На форуме "Работа" есть такая тема
Студентам, желающим помощи


Что толку? Админы не чистят форум и поэтому таких вот сообщений в форумах, где обсуждаются реальные вопросы- от лодырей с одним сообщением очень много сообщений.
15 фев 21, 09:19    [22280935]     Ответить | Цитировать Сообщить модератору
 Re: Определить нормальную форму отношения  [new]
fkthat
Member

Откуда:
Сообщений: 4401
hVostt
Цена вовсе не ерундовая. Если ты так считаешь, значит совершенно не ценишь затраченное на обучение время, свой скилл и свой интеллект.

Как говорится, если что-то умеешь делать, не делай это бесплатно (с)

Я, так-то, немного о другом. Допустим сосед просит меня забить гвоздь. Я тогда либо сделаю это просто так (например, если у меня с ним дружеские отношения, или я просто люблю гвозди забивать), либо просьбу полностью проигнорю (если мне на этого соседа похрен). Но я не стану ему говорить, типа, "чувак, это денег стоит, гони мне сто рублей", потому что сто рублей денег за забить гвоздь меня ну совсем не интересуют.
16 фев 21, 13:48    [22281579]     Ответить | Цитировать Сообщить модератору
 Re: Определить нормальную форму отношения  [new]
SQL*Plus
Member

Откуда: Россия, Москва
Сообщений: 8195
fkthat
hVostt
Цена вовсе не ерундовая. Если ты так считаешь, значит совершенно не ценишь затраченное на обучение время, свой скилл и свой интеллект.

Как говорится, если что-то умеешь делать, не делай это бесплатно (с)

Я, так-то, немного о другом. Допустим сосед просит меня забить гвоздь. Я тогда либо сделаю это просто так (например, если у меня с ним дружеские отношения, или я просто люблю гвозди забивать), либо просьбу полностью проигнорю (если мне на этого соседа похрен). Но я не стану ему говорить, типа, "чувак, это денег стоит, гони мне сто рублей", потому что сто рублей денег за забить гвоздь меня ну совсем не интересуют.

Примерно в 1989-90 году мы - молодые отцы - работали на субботнике в детском садике, в который ходили наши дети.
(Субботник - это когда люди собираются в субботу и что-то полезное делают вместе совершенно бесплатно)

Один папашка принес свою ударную дрель, которая очень хорошо сверлила отверстия в бетонных и кирпичных стенах.
(Замечу, что такая дрель в те времена была очень большой редкостью.
Тогда и обычных электродрелей почти ни у кого не было, а уж ударных тем более.)

Мне нужно было просверлить дома две дырки, чтобы повесить карниз для шторы,
и я (наивный) попросил у этого папашки эту дрель на вечер.

Он сказал просто:
- Это стоит 10 рублей.

Я был немного ошарашен и даже ничего не стал говорит.
Просто отошел в сторону и всё.
Но эпизод запомнил.

Капитализм тогда еще не пришел, но люди были и бывают разные.

А сейчас капитализм пришел, но люди, как были, так и остались разными.

Ты хочешь помогать пренебрежительно относящемуся к тебе лентяю и бездельнику?
Помогай. Это твоё право.
Я ему помогать не хочу, но говорю ему, где помогут за деньги. Это моё право.
Право помогающих за деньги - эти деньги заработать.

Ты же знаешь, что в колледжах и университетах США и других развитых стран
не принято пользоваться шпаргалками, списывать и т.п.
Вот пусть и этот персонаж учится работать сам, учится нормально общаться с людьми,
которые пытаются ему помочь. Тогда он сможет стать специалистом в своем деле.
16 фев 21, 18:32    [22281812]     Ответить | Цитировать Сообщить модератору
 Re: Определить нормальную форму отношения  [new]
booby
Member

Откуда:
Сообщений: 2395
SQL*Plus
... Тогда он сможет стать специалистом в своем деле.

А какое дело его?
Ответ обоснуйте@
16 фев 21, 21:24    [22281927]     Ответить | Цитировать Сообщить модератору
 Re: Определить нормальную форму отношения  [new]
SQL*Plus
Member

Откуда: Россия, Москва
Сообщений: 8195
booby
SQL*Plus
... Тогда он сможет стать специалистом в своем деле.

А какое дело его?
Ответ обоснуйте@
Это каждый сам пытается определить для себя.
В идеале - это такие занятие, которое доставляет человеку удовольствие и приносит ему ОЧЕНЬ МНОГО денег.
16 фев 21, 22:36    [22281964]     Ответить | Цитировать Сообщить модератору
 Re: Определить нормальную форму отношения  [new]
fkthat
Member

Откуда:
Сообщений: 4401
SQL*Plus
Он сказал просто:
- Это стоит 10 рублей.

SQL*Plus
А сейчас капитализм пришел

Как раз в развитой капстране такую ситуацию сложно представить. Во-первых никому не пришло бы в голову обращаться к совршенно постороннему человеку с просьбой одолжить этот перфоратор. Во-вторых никому бы не пришло в голову пытатся в ответ сдать этот перфоратор в аренду, только если прокат перфораторов не является его работой или бизнесом.
старый анекдот
Пожилой еврей торгует на улице семечками. Подходит его знакомый:
- Слушай, Моня, ты не одолжишь мне 5 рублей?
- Я бы с радостью, но, видишь ли, тут через дорогу один банк и у меня с ними договоренность - они не торгуют семечками, а я не даю кредиты.
18 фев 21, 23:13    [22283159]     Ответить | Цитировать Сообщить модератору
 Re: Определить нормальную форму отношения  [new]
fkthat
Member

Откуда:
Сообщений: 4401
SQL*Plus
Ты хочешь помогать пренебрежительно относящемуся к тебе лентяю и бездельнику?
Помогай. Это твоё право.

Я? Я вообще не хочу ему помогать ни бесплатно, ни за деньги. Бесплатно, потому что просто не хочу, а за деньги, как я уже выше писал, потому что не считаю, что в данном случае помощь стоит тех денег, которые меня бы заинтересовали.
18 фев 21, 23:17    [22283164]     Ответить | Цитировать Сообщить модератору
 Re: Определить нормальную форму отношения  [new]
SQL*Plus
Member

Откуда: Россия, Москва
Сообщений: 8195
fkthat
SQL*Plus
Он сказал просто:
- Это стоит 10 рублей.

SQL*Plus
А сейчас капитализм пришел

Как раз в развитой капстране такую ситуацию сложно представить.

Это был СССР, который 29 лет назад канул в лету.

То, что сложно представить "в развитой капстране", было в СССР.
То, что сложно представить в СССР, было "в развитой капстране".

В магазинах СССР было скудно, отношения людей были другие.
Так что если вы тогда не жили, тогда и не представляйте, не надо.

Но это всё не имеет никакого отношения к теме "Определить нормальную форму отношения"
18 фев 21, 23:25    [22283167]     Ответить | Цитировать Сообщить модератору
 Re: Определить нормальную форму отношения  [new]
fkthat
Member

Откуда:
Сообщений: 4401
SQL*Plus
Так что если вы тогда не жили, тогда и не представляйте, не надо.

Почему же. Хоть и не сильно, но застал. Школу закончил как раз за год до развала совка.
19 фев 21, 00:02    [22283181]     Ответить | Цитировать Сообщить модератору
 Re: Определить нормальную форму отношения  [new]
vadiminfo
Member

Откуда: Обнинск
Сообщений: 4802
ИВП
Arege,
Начать с определения функциональных зависимостей (ФЗ)
УЧЕТ(№ сотрудника, Фамилия сотрудника, № отдела в котором работает сотрудник, Телефон отдела, № проекта над которым работает сотрудник, Название проекта, № задания над которым работает сотрудник).
УЧЕТ(НомСот, Фам, Отд, Тел, НомПро, Проект, Задан).

НомСот->Фам
НомСот->Отд->Тел
НомСот->НомПро->Проект->Задан

Во 2НФ, т.к. ключ не составной, значит нет частичных ФЗ.
Не в 3НФ, т.к. есть транзитивные зависимости.


Не четко описана предметная область и модель БД, приходится предполагать.
Телефон вроде может относиться только к одному отделу. Но у отдела может быть несколько.

Вроде выглядит как
Тел->Отд. А вот Отд->Тел только если в каждом отделе только один телефон (что они там все 100 чел. на одном телефоне сидят? Мобильном?)

А вот Задание?
Проект->Задан , предполагает одно задание на проект. Но такое предположение все еще выглядит сильным

Но как бы не может одно и тоже задание в разных проектах?
Т.е. Задан->Проект вроде возможно.

Хотя конечно, там номера заданий.
Может задания то разные, а номера совпадают. Типа задание 1 во всех проектах. Т.е. уникальна пара (НомПро,Задан).

Есть зависимость по условию, если конечно, у каждого задания в БД есть хоть один сотрудник. (Мало может еще никого не назначили, а информация о проекте уже есть):
НомСот->Задан

И как бы
НомСот->Фам

Если не может быть проектов в БД без сотрудников, то
НомПро->Проект

Нужно уточнять может ли быть в БД отдел без сотрудников (новый еще никого не приняли).
Если нет, то
НомСот->Отд

А для остальных нужно как бы, скорее всего, уточнения смысла атрибутов и свойств предметной области.
23 фев 21, 11:17    [22285054]     Ответить | Цитировать Сообщить модератору
 Re: Определить нормальную форму отношения  [new]
vadiminfo
Member

Откуда: Обнинск
Сообщений: 4802
vadiminfo


Если не может быть проектов в БД без сотрудников, то
НомПро->Проект



Опечатка

Без всяких условий
НомПро->Проект

Жаль что на SQL.RU нельзя править как на Фэйсбуке.
Потому, что я, например, не внимательный и нахожу опечатки через час.
23 фев 21, 12:19    [22285073]     Ответить | Цитировать Сообщить модератору
Все форумы / Проектирование БД Ответить