SQL

Нормализация базы данных, не могу понять связи

Добрый вечер. Учусь на заочке, нам ОЧЕНЬ плохо объяснили про СУБД, БД в целом и особенно про связи и нормализацию. Методичка не помогает.

Если кому интересно, на первом скрине - само задание целиком. Можете не вчитываться особо, проблема следующая - я уже накидал несколько таблиц по заданию и связи между ними (см. второй скрин), но очень хреново, т. к. все связи 1 к 1, а такого не должно быть. Не понимаю вообще концепцию связей. Каждому абитуриенту может соответствовать только один паспорт, один номер аттестата, одно предприятие и т. д., это и есть связи 1 к 1, верно?

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

В третьем скрине пояснения к полям на всякий случай.
Можете что-нибудь подсказать?
Akmurat Baymyradow
Akmurat Baymyradow
628
На предприятии может быть только 1 абитуриент? Нет. Это связь 1-ко-многим, и таблица "абитуриент" должна содержать столбец IdПредприятия.

На факультете только один абитуриент? Нет. Это связь 1-ко-многим, и таблица "абитуриент" должна содержать столбец IdФакультета.

Зачисленные? Аналогично...
Сымбат Бегимов
Сымбат Бегимов
76 796
Лучший ответ
"Каждому абитуриенту может соответствовать только один паспорт, один номер аттестата, одно предприятие и т. д., это и есть связи 1 к 1, верно?"
1 абитуриент - 1 аттестат, да связь 1-1
много абитуриентов - 1 предприятие, связь много к одному. Или по твоему на одном предприятии, один абитуриент?)
1 абитуриент - много паспортов, связь 1 к многим. У нас же меняют паспорта.. хотя тебе видней, что у тебя за система :)
очень простым языком: принцип нормализации - это как можно меньше хранить повторяющиеся данные, вот у тебя пример...
личные данный - в этой таблице 1 запись - 1 студент
факультеты - 1 запись один факультет, далее
....
1 . в таблицу личные данные добавь ключ факультета
2 . в таблицу факультеты тоже добавь ключ факультета
3. свежи эти две таблица по полю ключ факультета

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

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