2015-02-14 3 views
0

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

id(pk auto increment) fact_name department subjects 

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

То, что я хочу

id(pk auto increment) fact_name department subjects 
      1    ABC  1   1 
      1    ABC  2   2 
      1    ABC  3   3 

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

Код

Create table faculty(
fact_id INT AUTO_INCREMENT, 
fact_name varchar(20), 
fact_email varchar(20) unique, 
fact_password varchar(20), 
year_id varchar(2), 
sem_id varchar(2), 
dept_id varchar(2), 
subject_id varchar(2), 
primary key (fact_id,subject_id) 
) 
+0

Если вы не хотите проголосовать за голосование, вам следует предоставить то, что вы уже пробовали, например, код, который привел к проблеме «дублирования первичного ключа», так как этот вопрос слишком расплывчатый и общий. –

ответ

2

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

--------------------------------------------------- 
| pk | my key | fact_name | department | subjects | 
--------------------------------------------------- 
| 1 | 1 | ABC |  1  |  1 | 
| 2 | 1 | ABC |  2  |  2 | 
| 3 | 1 | ABC |  3  |  3 | 
--------------------------------------------------- 


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

------------------------------- 
| pk | fact_name | fact_email | 
------------------------------- 

Затем создайте другую таблицу, например под названием faculty_subjects

--------------------------------------------- 
| pk | fact_id | department_id | subject_id | 
--------------------------------------------- 

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

+0

Сэр у меня есть обновление с моим кодом – Anuj

+0

также сэр, я хочу, чтобы письмо было уникальным – Anuj

+0

Вам необходимо преобразовать это в 2 таблицы, плохо отредактировать мой ответ –

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