Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Базы данных postgreSQL, написать запрос

Арсен Никифоров Мастер (1239), на голосовании 1 год назад
Короче такое задание, написать запрос для создания таблицы subj_lect, содержащей информацию о предметах, которые преподают преподаватели в университетах: Но в таблице lectures нет вторичного ключа, который соединяет его с subject. Надо ли создавать вторичный ключ в отдельном запросе для таблицы lectures, чтобы можно было связать по ключам, или есть другой способ обойтись одним запросом?
Вот такой запрос, к примеру, работать не будет:
CREATE TABLE subj_lect AS
SELECT subj.subj_name, lec.surname, lec.name , uni.univ_name
FROM лекции lec
INNER JOIN subject subj ON lec.subj_id = subj.subj_id
INNER JOIN university uni ON lec.univ_id = uni.univ_id;
Голосование за лучший ответ
Валерий Спиридонов Ученик (172) 1 год назад
CREATE TABLE subj_lect (
subj_id SERIAL PRIMARY KEY,
subj_name VARCHAR(255) NOT NULL,
lect_id INTEGER NOT NULL,
university VARCHAR(255) NOT NULL,
CONSTRAINT fk_lecturer
FOREIGN KEY (lect_id)
REFERENCES lecturer (lect_id)
);


В этом запросе мы создаем таблицу subj_lect, которая будет содержать информацию о предметах, которые преподаются в университетах. У таблицы есть четыре столбца:

subj_id - идентификатор предмета, который автоматически генерируется с помощью типа данных SERIAL.
subj_name - название предмета, который должен быть заполнен.
lect_id - идентификатор преподавателя, который преподает этот предмет, это ссылка на таблицу lecturer.
university - название университета, в котором преподается предмет.
Также мы создаем внешний ключ fk_lecturer, который связывает столбец lect_id с таблицей lecturer, чтобы убедиться, что каждый идентификатор преподавателя в таблице subj_lect соответствует реальному идентификатору преподавателя в таблице lecturer.
Похожие вопросы