Добрый вечер. Учусь на заочке, нам ОЧЕНЬ плохо объяснили про СУБД, БД в целом и особенно про связи и нормализацию. Методичка не помогает.
Если кому интересно, на первом скрине - само задание целиком. Можете не вчитываться особо, проблема следующая - я уже накидал несколько таблиц по заданию и связи между ними (см. второй скрин), но очень хреново, т. к. все связи 1 к 1, а такого не должно быть. Не понимаю вообще концепцию связей. Каждому абитуриенту может соответствовать только один паспорт, один номер аттестата, одно предприятие и т. д., это и есть связи 1 к 1, верно?
По-идее можно тогда закинуть всё в одну таблицу, но она всё равно будет не нормализована, т. к. у двух разных студентов могут быть одна одинаковая школа, одна выбранная специальность и т. д. Я понимаю, что это связь один ко многим, но я не понимаю, как отразить это в таблицах.
В третьем скрине пояснения к полям на всякий случай.
Можете что-нибудь подсказать?



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