Таблицы в базе данных MYSQL

296
30 мая 2017, 00:30

Вообщем, хочу создать что-то вроде дневника.

Проблема вот в чем:

Планирую создать таблицу user, где будет информация о пользователе (id, login, password, email);

Теперь вопрос о второй таблице.

При создании записи, пользователь должен будет выбрать предмет (математика, физика или другое), который будет закреплен к этому пользователю. Тоесть, я хочу создать вторую таблицу с id пользователя, по которому я буду узнавать какие предметы мне нужны.. И в этой второй таблице создать колонки с названиями полями - предметами. А позже связать их.

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

Кстате, если мне например в колонку с названием "Предметы" в таблице 'users' сделать типом SET и тогда название предметов отделять запятой.

Answer 1

По моему это называется 3 нормальна форма в реляционных баз данных.

table users
id   login  password  email
1    aaa    bbb       test@test.com
2    xxx    yyy       xyz@xyz.com
table subjects
id   name  price
1    A     25
2    B     30
3    C     50

Связываете их через 3 таблицу.

table users_subjets
user_id  subject_id
1        1
1        2
2        1
2        3
READ ALSO
Не ищет русские слова/буквы

Не ищет русские слова/буквы

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

502
Ограничить прямой доступ к JSP странице(Spring MVC)

Ограничить прямой доступ к JSP странице(Spring MVC)

Необходимо запретить пользователю прямой доступ(доступ по url из браузера) к jsp страницамПри этом мои страницы лежат в папке WEB-INF/view и все равно...

368
Где стартовать индикатор загрузки?

Где стартовать индикатор загрузки?

При onCreate одного из Активити, происходит чтение большого файла из Assets (или с диска) и его "распарсивание"На это время хочу включить индикатор...

296
Hibernate: выбирать из БД не все поля

Hibernate: выбирать из БД не все поля

Возможно ли в Hibernate такое: При получении Entity из БД выбирать не все поля а только некоторые, чтобы снизить нагрузку на базу? Например, при логине...

379