Операторы определения данных
Стр 1 из 2Следующая ⇒ Структура команды SQL
Команды являются инструкциями, с помощью которых SQL обращается к базе данных.
Каждая команда SQL начинается с действия (глагола) – ключевого слова или группы слов, описывающих выполняемую операцию, далее может следовать одно или несколько предложений.
Ключевые слова – это слова, имеющие специальное назначение (например, конкретные команды SQL). Ключевые слова нельзя использовать в качестве имен таблиц, полей, имен объектов базы данных, пользователей. Пример ключевых слов: INSERT (добавить), DELETE (удалить), COMMIT (завершить), CREATE TABLE (создать таблицу). Предложение описывает данные, с которыми работает команда, может содержать уточняющую информацию о действии, выполняемом командой. Каждое предложение должно начинаться с ключевого слова. Например, WHERE (где), FROM (откуда), INTO (куда). Пример команды SQL:
Приведенная команда формирует запрос, осуществляющий выборку из таблицы СТУДЕНТЫ данных (значений полей ФАМИЛИЯ, ИМЯ и ГОД РОЖДЕНИЯ) о студентах, которые учатся на 3-ем курсе. В описании синтаксиса команд SQL могут использоваться: § квадратные скобки [ ]. Указывают необязательный элемент конструкции; § многоточие. .... Определяет, что выражение, предшествующее ему, может повторяться любое число раз; § фигурные скобки { }. Объединяют последовательность элементов в логическую группу, один из элементов которой должен быть обязательно использован; § вертикальная черта |.Указывает, что часть определения, следующая за этим символом, является одним из возможных вариантов; § угловые скобки < >. В угловые скобки заключаются элементы, объясняемые по мере того, как они вводятся. Типы данных
В языке SQL1 определен ряд типов данных, которые представлены в следующей таблице.
Допустимые значения для указанных данных могут варьироваться для различных версий и диалектов SQL. Более поздние стандарты предусматривают дополнительно и другие типы данных, такие, например, как строка символов переменной длины, дата, время, абстрактные типы данных и др. Для обозначения отсутствующих, пропущенных или неизвестных значений атрибута используется понятие отсутствующее значение NULL.
Приведем краткое описание ограниченного множества некоторых основных операторов языка SQL базового уровня: операторов описания данных, манипулирования данными и формирования запросов. Для получения более глубоких знаний по операторам языка SQL обратитесь к рекомендуемой литературе.
Для работы с языком SQL в СУБД MS Access необходимо открыть окно Конструктора запроса (появляющееся при этом окно Добавление таблицы следуетзакрыть) и перейти в режим SQL по команде Вид – Режим SQL. В результате появится окно SQL-запроса, вид которого приведен на следующем рисунке.
В данном окне формируют запрос. Выполняют запрос по команде Запрос – Запуск.
Любой SQL-оператор должен заканчиваться символом точка с запятой ;. Следует иметь в виду, что в некоторых СУБД ставить точку с запятой не нужно. Операторы определения данных Данные операторы применяются для описанияструктур используемых данных и позволяют создавать, изменять и уничтожать базу данных и объекты базы данных, такие как таблицы и представления. Представления – это таблицы, содержимое которых извлекается из других таблиц базы данных.
Оператор CREATE TABLE Таблицы базы данных (структуры таблиц) создаются с помощью команды CREATE TABLE. Эта команда создает пустую таблицу, т.е. таблицу, не имеющую строк. Команда CREATE TABLE определяет имя таблицы и множество поименованных столбцов в указанном порядке. Каждая создаваемая таблица должна иметь, по крайней мере, один столбец. Значения в созданную таблицу вводятся с помощью команды INSERT.
При определении столбца необходимо задать его имя, тип данных, к которому будут относиться значения этого столбца, а также определить, можно ли в качестве значения рассматриваемого столбца использовать ключевое слово NULL (или NOT NULL). Ключевым словом NULL помечается такой столбец, который может содержать неопределенные значения. Такая ситуация возможна для столбцов, соответствующих непервичным атрибутам отношения. Определения столбцов первичных ключей отношений всегда должны содержать ключевые слова NON NULL. Значение NULL принимается по умолчанию для любого столбца, для которого не было установлено ограничение NOT NULL.
Пример1. Создать запрос, выполняющий создание структуры таблицы СТУДЕНТЫ с полями НОМЕР_ЗАЧ, ФАМИЛИЯ, ИМЯ, КУРС, ВОЗРАСТ. В качестве первичного ключа указать поле НОМЕР_ЗАЧ. Результат запроса: CREATE TABLE СТУДЕНТЫ (НОМЕР_ЗАЧ CHAR(10) PRIMARY KEY NOT NULL, ФАМИЛИЯ CHAR(20) NOT NULL, ИМЯ CHAR(15) NOT NULL, КУРС SMALLINT NOT NULL, ВОЗРАСТ INT NOT NULL); выглядит следующим образом:
Поле НОМЕР_ЗАЧ объявлено первичным ключом с помощью PRIMARY KEY.
Оператор ALTER Данный оператор позволяет вносить изменения в уже созданную таблицу. Для добавления столбцов в таблицу используется предложение с ключевым словом ADD. Можно добавлять несколько столбцов, в этом случае их определения в команде ALTER TABLE разделяются запятой.
Пример2. Создать запрос на добавление столбца ФАКУЛЬТЕТ в таблицу СТУДЕНТЫ. Результат запроса ALTER TABLE СТУДЕНТЫ ADD ФАКУЛЬТЕТ CHAR(3) NOT NULL; выглядит следующим образом:
Оператор DROP TABLE Пример3. Создать запрос на удаление таблицы СТУДЕНТЫ. DROP TABLE СТУДЕНТЫ;
Пример4. Создать запрос, выполняющий создание структуры таблицы ОЦЕНКИ_ЭКЗАМ с полями НОМЕР_ЗАЧ, КИТ, ФИЛОСОФИЯ, АНГЛИЙСКИЙ. В качестве внешнего ключа указать поле НОМЕР_ЗАЧ. Результат запроса CREATE TABLE ОЦЕНКИ_ЭКЗАМ (НОМЕР_ЗАЧ CHAR(10) NOT NULL, КИТ SMALLINT, ФИЛОСОФИЯ SMALLINT, АНГЛИЙСКИЙ SMALLINT, FOREIGN KEY (НОМЕР_ЗАЧ) REFERENCES СТУДЕНТЫ); выглядит следующим образом:
Поле НОМЕР_ЗАЧ объявлено внешним ключом. Для этого указано FOREIGN KEY (НОМЕР_ЗАЧ) REFERENCES СТУДЕНТЫ. Для решения вопросов поддержания ссылочной целостности используется ограничение FOREIGN KEY. Одно из действий этого ограничения – это отклонение ввода значений внешнего ключа, отсутствующих в таблице с родительским (первичным) ключом.
Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|