Нормализация БД Ms Access

  • Автор темы Автор темы viktor059
  • Дата начала Дата начала
V

viktor059

Есть БД, в ней таблица Студент с ~30 атрибутами, они вроде полностью зависят от первичного ключа, но с таким кол-вом артрибутов не очень удобно работать. Помогите пожалуйста, большинство связей получается 1 к 1. В архиве БД 2003 и 2007 access
 

Вложения

1. Родителей выделить в отдельную таблицу.
2. Связь между студентами и родителями.
2.1. В таблице студенты добавить два поля: код папы и код мамы.
2.2. В таблице родителей добавить код студента и код пола. Код пола будет выполнять также роль типа связи: Мужской - Папа, Женский - Мама. Думаю, что второй вариант будет лучше и удобней.
2.3. Я думаю, что было бы правильней выделить информацию об обучении следует вынести в отдельную таблицу.
 
Извиняюсь, но зачем плодить поля? Зачем выносить родителей в отдельную таблицу, а вместо них добавлять два новых поля?
2.1. В таблице студенты добавить два поля: код папы и код мамы.

И почему, кроме как избавиться от родителей, мысль дальше не пошла? Почему, например, паспорт не выбросить? :) (Шучу конечно)

Для начала предлагаю определиться, что именно мешает в таблице Студенты и избавиться от именно от мешающего. Логично было бы вынести паспортные данные в отдельную таблицу. Связь здесь и далее по ID студента, никаких полей добавлять не надо, то есть создать таблицу Паспорт, ее ключевым полем будет ID равное ID студента, владеющего этим паспортом. Далее вынести родителей в отдельную таблицу, связь так же по ID. Пол студенту предлагаю не менять и оставить в той же таблице ;). Этого уже достаточно, чтобы таблица Студенты "похудела". Можно идти и дальше, но тогда уже будет тяжело и неудобно связывать кучу таблиц между собой.
 
А зачем ваще что-то куда-то выносить? ну и что что 30? вам же не всегда надо все, вот и берите по мере надобности.
 
Может преподаватель потребовал? :)
 
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab

Похожие темы

🚀 Первый раз на Codeby?
Гайд для новичков: что делать в первые 15 минут, ключевые разделы, правила
Начать здесь →
🔴 Свежие CVE, 0-day и инциденты
То, о чём ChatGPT ещё не знает — обсуждаем в реальном времени
Threat Intel →
💼 Вакансии и заказы в ИБ
Pentest, SOC, DevSecOps, bug bounty — работа и проекты от проверенных компаний
Карьера в ИБ →

HackerLab