2015-04-20 3 views
-1

как заголовок говорит, мне интересно, как вы можете структурировать таблицу mySQL, чтобы иметь возможность добавлять бесконечные (или большие, ≈1000) столбцы.Структурирование таблицы MySQL (столбцы бесконечной суммы)

В принципе, я хочу таблицу, содержащую колонку со школьными классами. У каждого класса есть несколько учеников с их именем и фамилией. Структура Я хочу, чтобы это что-то вроде этого:

-----Class 1----------- 
Lastname-Surname 
1. Michel Ericsson 
2. Erica Bloom 
.... 
-----Class 2----------- 
Lastname-Surname 
1. Fred Jackson 
2. Erica Hancock 
.... 

...... 
+4

Не делайте этого. См. Нормализацию. – Strawberry

+1

Эта таблица сделает вас очень несчастными. –

ответ

3

Я думаю, что вы хотите сделать, это создать многие ко многим отношения между столом «Класс» и вашим «Student» стол. Например у вас есть таблица

Class 
    id: int (primary key auto-incremented) 
    name: varchar 

И еще одну таблицу:

Student 
    id: int (primary key auto-incremented) 
    name: varchar 
    surname: varchar 

И потом, вам нужна таблица, которая будет связующим звеном между этими двумя предыдущими:

Class_student 
    class_id: int (primary key) 
    student_id: int (primary key) 

Таким образом, вы можете связать столько учеников, сколько хотите.

+0

И теперь, когда я думаю об этом, не проще ли было бы сделать стол с тремя столбцами; фамилия, фамилия и имя класса. Затем, когда я хочу получить всех учеников из определенного класса, я выбираю все с именем класса «А», например. Или это возможно? – user3338161

+0

С этим вы теряете способность ученика иметь несколько классов. Твои отношения становятся «Многими к одному» (многие из них являются учениками), а Один - классом –

Смежные вопросы