powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Помогите провести нормализацию бд
30 сообщений из 30, показаны все 2 страниц
Помогите провести нормализацию бд
    #38955313
Don karleone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте дорогие форумчане. Помогите спроектировать базу данных и нормализовать таблицу, я сделал проверьте пожалуйста. Нужно произвести нормализацию таблицы "Данные"
...
Рейтинг: 0 / 0
Помогите провести нормализацию бд
    #38955392
Кот Матроскин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
нет, неправильно.
Подсказка - в таблице "Данные" должно остаться 4 поля.
P.S. И плохо понятно, что такое у вас на схеме стрелки - это связи между таблицами или так показаны переносы атрибутов?
...
Рейтинг: 0 / 0
Помогите провести нормализацию бд
    #38955393
Don karleone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Пытался нормализовать таблицу ниже.
...
Рейтинг: 0 / 0
Помогите провести нормализацию бд
    #38955394
Don karleone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да стрелки это связи между таблицами.
...
Рейтинг: 0 / 0
Помогите провести нормализацию бд
    #38955397
Кот Матроскин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как связи это выглядит совсем неправильно.
Если Вы указываете в таблице "сотрудники" первичным ключом ID и рисуете связь - то в подчиненной таблице "данные" тоже должен присутствовать ID сотрудника, а не ФИО (и с остальными таблицами - аналогично).
...
Рейтинг: 0 / 0
Помогите провести нормализацию бд
    #38955473
Don karleone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Проверьте пожалуйста правильно ли я сделал нормализацию таблицы.
...
Рейтинг: 0 / 0
Помогите провести нормализацию бд
    #38955474
Don karleone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Кот Матроскин,

Спасибо за ответ
...
Рейтинг: 0 / 0
Помогите провести нормализацию бд
    #38955498
Don karleone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Подскажите пожалуйста правильно ли я сделал нормализацию бд?
...
Рейтинг: 0 / 0
Помогите провести нормализацию бд
    #38955608
Кот Матроскин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Подсказка - в таблице "Данные" [после нормализации] должно остаться 4 поля.
...
Рейтинг: 0 / 0
Помогите провести нормализацию бд
    #38955758
Don karleone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Кот Матроскин,

Получается все таблицы нужно связать с таблицой сотрудники? А в таблице данные оставить только 4 поле это сотрудники, месяц выплаты, размер з/п и сумма отчислений?
...
Рейтинг: 0 / 0
Помогите провести нормализацию бд
    #38955765
Кот Матроскин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Don karleone,
Да, совершенно верно.
+ "навыки работников" разрулить отношением many-to-many, потому что в исходном виде это явно намекает на нарушение 1НФ
...
Рейтинг: 0 / 0
Помогите провести нормализацию бд
    #38955790
Ivan Durak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Don karleoneКот Матроскин,

Получается все таблицы нужно связать с таблицой сотрудники? А в таблице данные оставить только 4 поле это сотрудники, месяц выплаты, размер з/п и сумма отчислений?
+ собственный pk я бы добавил
...
Рейтинг: 0 / 0
Помогите провести нормализацию бд
    #38955886
Don karleone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Кот Матроскин,

Спасибо за помощь, а meny to many для навыков должно быть в таблице сотрудников?
...
Рейтинг: 0 / 0
Помогите провести нормализацию бд
    #38955887
Don karleone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ivan Durak,

А что такое pk?
...
Рейтинг: 0 / 0
Помогите провести нормализацию бд
    #38955933
Фотография Relic Hunter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Don karleoneIvan Durak,

А что такое pk?polivochny kran? ne...
...
Рейтинг: 0 / 0
Помогите провести нормализацию бд
    #38962463
Don karleone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Кот Матроскин,

Проверьте пожалуйста правильно ли сделал таблиц, навыки работников, где вы сказали что нужно сделать many to many. Спасибо
...
Рейтинг: 0 / 0
Помогите провести нормализацию бд
    #38962515
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кот Матроскиннет, неправильно.
Подсказка - в таблице "Данные" должно остаться 4 поля.
Всё-таки не 4, а чуточку побольше, штук 6.
...
Рейтинг: 0 / 0
Помогите провести нормализацию бд
    #38962520
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Don karleoneКот Матроскин,

Проверьте пожалуйста правильно ли сделал таблиц, навыки работников, где вы сказали что нужно сделать many to many. Спасибо

Неправильно.
...
Рейтинг: 0 / 0
Помогите провести нормализацию бд
    #38962526
Кот Матроскин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если Вы указываете в таблице "сотрудники" первичным ключом ID и рисуете связь - то в подчиненной таблице "данные" тоже должен присутствовать ID сотрудника, а не ФИО (и с остальными таблицами - аналогично).
Ровно та же проблема у Вас теперь в "сотрудниках" -например, Вы перенесли поле "должность" в отдельную таблицу, но в основной у Вас по-прежнему не ID новой таблицы, а строка.
P.S. Когда решите эту проблему - надеюсь, поймете почему неправильно сделали "Навыки" ;)
...
Рейтинг: 0 / 0
Помогите провести нормализацию бд
    #38962537
Кот Матроскин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivКот Матроскиннет, неправильно.
Подсказка - в таблице "Данные" должно остаться 4 поля.
Всё-таки не 4, а чуточку побольше, штук 6.

Если совмещений не предусматривается (а что-то мне подсказывает что в учебном примере на нормализацию их не предусматривается) - то ровно 4.
...
Рейтинг: 0 / 0
Помогите провести нормализацию бд
    #38962796
Don karleone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Кот Матроскин,

Проверьте пожалуйста, я исправил
...
Рейтинг: 0 / 0
Помогите провести нормализацию бд
    #38962804
Фотография Wilhelm Holtoff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Don karleone,

А по идее, логичнее было бы, чтобы размер заработной платы был привязан не к личности сотрудника, а к должности.
...
Рейтинг: 0 / 0
Помогите провести нормализацию бд
    #38962814
Фотография Wilhelm Holtoff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Don karleone,

Есть и более серьёзные замечания.
Если делать всё грамотно, то описывать структуру организации должна отдельная таблица "Организация".
Вот там и нужно было бы разместить департаменты и отделы.
Должности тоже можно вынести в отдельную таблицу "Должности".

Удивительно, как многие даже серьёзные конторы, разрабатывая софт, не могут понять, как нужно грамотно раскидать сущности по таблицам.

1. Сущность "Личность" (не сотрудник !!!)
2. Сущность "Организация" (отделы и департаменты)
3. Сущность "Должность" (классификатор должностей)
...
Рейтинг: 0 / 0
Помогите провести нормализацию бд
    #38962835
Ivan Durak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Wilhelm HoltoffDon karleone,

Есть и более серьёзные замечания.
Если делать всё грамотно, то описывать структуру организации должна отдельная таблица "Организация".
Вот там и нужно было бы разместить департаменты и отделы.
Должности тоже можно вынести в отдельную таблицу "Должности".

Удивительно, как многие даже серьёзные конторы, разрабатывая софт, не могут понять, как нужно грамотно раскидать сущности по таблицам.

1. Сущность "Личность" (не сотрудник !!!)

Зачем? Что бы туда еще и клиентов и контрагентов запихнуть можно было??
...
Рейтинг: 0 / 0
Помогите провести нормализацию бд
    #38962860
Фотография Wilhelm Holtoff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ivan DurakЗачем? Что бы туда еще и клиентов и контрагентов запихнуть можно было??
Нет, Ваня.
Там должны находится "Личности".
А кто они - клиенты или контрагенты или сотрудники (а одно не мешает другому !!!), это будет ясно из других таблиц.
...
Рейтинг: 0 / 0
Помогите провести нормализацию бд
    #38962866
Кот Матроскин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Don karleone,

Да, поправили верно (и, действительно, сами разобрались с навыками). Осталась маленькая проблема с полями отдел и департамент. Сами найдете?

Wilhelm HoltoffА по идее, логичнее было бы, чтобы размер заработной платы был привязан не к личности сотрудника, а к должности

Нет, конечно. Непринужденно разные люди могут работать на одной и той же должности, но получать совершенно разные зарплаты.
...
Рейтинг: 0 / 0
Помогите провести нормализацию бд
    #38962906
Don karleone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Кот Матроскин,

Спасибо всем за ответы, очень благодарен, по поводу департамента и отдела, я так понимаю отдел нужно связать только с департаментом, а в таблице сотрудники использовать id департамента, а id отдела убрать, так как в департаменте он уже привязан.
...
Рейтинг: 0 / 0
Помогите провести нормализацию бд
    #38962909
Don karleone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Wilhelm Holtoff,

Спасибо, по поводу новых таблиц, задача стояла использовать только имеющиеся, из них нужно было сделать нормализацию
...
Рейтинг: 0 / 0
Помогите провести нормализацию бд
    #38962936
Хитроглазый
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Don karleone,
я бы оставил

ФизЛица (ИД -> ФИО)
КонтактнаяИнформация (ИД_ФизЛицо, Тип -> Значение)
Сотрудники (ИД -> ИД_ФизЛицо, ИД_Должность, ИД_ЦФО)
Должности (ИД -> Наименование)
ЦФО (ИД -> Наименование, ИД_Родителя)
ВыплатаЗП (ИД_Сотрудника, Период -> Сумма, СуммаВзносы)
Навыки (ИД -> Наименование)
НавыкиФизЛиц(ИД_ФизЛицо, ИД_Навык)

хотя с КИ можно и как на скринах
...
Рейтинг: 0 / 0
Помогите провести нормализацию бд
    #38962953
Кот Матроскин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Don karleoneКот Матроскин,

Спасибо всем за ответы, очень благодарен, по поводу департамента и отдела, я так понимаю отдел нужно связать только с департаментом, а в таблице сотрудники использовать id департамента, а id отдела убрать, так как в департаменте он уже привязан.
По Вашей схеме - да, надо так. Но это если предполагать что отдел - более крупная административная единица и включает в себя несколько департаментов. Обычно бывает наоборот :) уточните лучше у преподавателя, как устроена организация в примере.
Если лишний раз беспокоить преподавателя не хочется - можете воспользоваться рекомендацией Холтоффа и таблицы "отдел" и
"департамент" обьединить в одну древовидную "подразделение"(ID, ParentID, Название), тогда структура будет одинаковой для обоих случаев.
...
Рейтинг: 0 / 0
30 сообщений из 30, показаны все 2 страниц
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Помогите провести нормализацию бд
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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