Цель работы:изучить пример создания таблиц, образующих БД, и наполнения их данными. Используя этот пример создать БД, удовлетворяющую логической структуре, разработанной в предыдущей лабораторной работе и наполнить ее данными. Изучить команду SQL SELECT.
Теоретическая часть.
Пример создания таблиц, образующих БД.
/*
Этот пример создает и заполняет данными часть таблиц, необходимых для создания базы данных, структуру которой необходимо было разработать в лабораторной работе № 2.
Представленные таблицы имеют упрощенную структуру, т.е. содержат не все данные, которые необходимо хранить в соответствии с заданием л.р. №2.
Следует отметить, что большие и маленькие буквы в ключевых словах, названиях таблиц и столбцов не различаются.
Пример создан в предположении, что существует только одно пространство имен в текущей БД, которое может содержать таблицы с используемыми именами.
*/
if NOT exists(select TABLE_NAME from INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'SUBJECTS')
/*
Проверяется: существует ли выборка из представления TABLES, владельцем которого является пользователь INFORMATION_SCHEMA, поля TABLE_NAME, значения которого должно равняться SUBJECTS. Для получения нужного значения поля TABLE_NAME используется команда DML SELECT. Для ее использования пользователь должен иметь привилегию db_datareader доступа к базе данных, которая содержит искомую таблицу.
Смысл этой оператора языка TSQL заключается в проверке того, существует ли таблица с именем SUBJECTS. Если такая таблица не существует, то выполняется ее создание и наполнение данными.
Если бы существовало несколько пространств имен, то следовало бы использовать такой оператор if:
if not exists(select NAME from SYS.OBJECTS where NAME = 'SUBJECTS'
and TYPE = ‘U’
and SCHEMA_ID = (select SCHEMA_ID from SYS.SCHEMAS
where NAME = ‘name_of_schema’
)
)
гдеname_of_schema– интересующее пространство имен.
*/
BEGIN
/*
Используются операторные скобки BEGIN...END, т.к., целый блок операторов должен рассматриваться как единая группа операторов.