Присвоенные переменным ID_ST, ID_SB и ID_MK значения заносятся в таблицу STUD_PROGRESS, что позволяет сохранить оценку студента с фамилией IVANOV по предмету MATHEMATICS.
*/
SET @ID_ST = (SELECT ID_STUD FROM STUDENTS INNER JOIN PERSONS
ON STUDENTS.ID_PERS = PERSONS.ID_PERS
WHERE SURNAME = 'PETROV')
SET @ID_SB = (SELECT ID_SUBJ FROM SUBJECTS
WHERE SUBJECT = 'PHYSICS')
SET @ID_MK = (SELECT ID_MARK FROM MARKS WHERE MARK = 'BC')
INSERT INTO STUD_PROGRESS(ID_STUD, ID_SUBJ, ID_MARK) VALUES
( @ID_ST,
@ID_SB,
@ID_MK
)
SET @ID_ST = (SELECT ID_STUD FROM STUDENTS INNER JOIN PERSONS
ON STUDENTS.ID_PERS = PERSONS.ID_PERS
WHERE SURNAME = 'SIDOROV')
SET @ID_SB = (SELECT ID_SUBJ FROM SUBJECTS
WHERE SUBJECT = 'ECONOMICS')
SET @ID_MK = (SELECT ID_MARK FROM MARKS WHERE MARK = 'DE')
INSERT INTO STUD_PROGRESS(ID_STUD, ID_SUBJ, ID_MARK) VALUES
( @ID_ST,
@ID_SB,
@ID_MK
)
/*
Аналогично формируются результаты успеваемости для студентов Петрова и Сидорова.
*/
END
--ELSE
-- DROP TABLE STUD_PROGRESS
/*
Если таблица STUD_PROGRESS существует, то она уничтожается с помощью команды DDL DROP TABLE, для выполнения которой пользователь должен иметь привилегию db_ddladmin доступа к базе данных, в которой находится удаляемая таблица. Эту команду нельзя применять для таблиц, на которые идет ссылка в ограничении FOREIGN KEY ... REFERENCES (для удаления таких таблиц необходимо удалить ограничение FOREIGN KEY ... REFERENCES или таблицу, его содержащую).
*/
Используя Microsoft SQL Server Management Studio Express и выбрав в нем базу данных, содержащую созданные таблицы, можно построить диаграмму (рис. 1), отображающую логическую структуру, образующуюся этими таблицами (связи, первичные ключи). Для этого необходимо сделать активной вкладку Database Diagrams выбранной БД, затем, нажав правую кнопку мыши, выбрать пункт всплывающего меню New Database Diagram. После этого в мастере создания новой диаграммы выбрать интересующие таблицы, после чего, собственно, создать диаграмму.