Запросы. структура и назначения. Sql-запрос

Структурированный язык запросов (Structured Query Language) – стандарт коммуникации с базой данных, который поддержан ANSI. Самая последняя версия – SQL-99, хотя новый стандарт SQL-200n уже находится в разработке. Большинство баз данных твердо придерживается стандарта ANSI-92. Было много обсуждений по поводу введения более современных стандартов, но изготовители коммерческих баз данных отклоняются от этого, развивая свои новые концепции манипуляции хранимыми данными. Почти каждая отдельная база данных использует некоторый уникальный набор синтаксиса, хоть и очень сильно подобного стандарту ANSI. В большинстве случаев, этот синтаксис является расширением базового стандарта, хотя бывают случаи, когда такой синтаксис приводит к различным результатам для разных баз данных. Всегда неплохой идеей будет просмотр документации к базе данных, особенно, если получаются неожиданные результаты.

В общих терминах, «SQL база данных» является общим названием для реляционной системы управления базами данных (РСУБД). Для некоторых систем, «база данных» также относится к группе таблиц, данных, конфигурационной информации, которые являются неотъемлемо отдельной частью от других, подобных конструкций. В этом случае, каждая инсталляция SQL базы данных может состоять из нескольких баз данных. В других системах, они упомянуты как таблицы.

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

Каждый столбец представляет собой атрибут или совокупность атрибутов объектов, например идентификационные номера служащих, рост, цвет машин и т.п. Часто в отношении столбца используется термин поле с указанием имени, например «в поле Name». Поле строки является минимальным элементом таблицы. Каждый столбец в таблице имеет определенное имя, тип данных и размер. Имена столбцов должны быть уникальны в пределах таблицы.

Каждая строка (или запись) представляет собой совокупность атрибутов конкретного объекта, например, в строке может содержаться идентификационный номер служащего, размер его зарплаты, год его рождения и т.д. Строки таблиц не имеют названий. Чтобы обратиться к конкретной строке, пользователю необходимо указать какой-то атрибут (или набор атрибутов), уникально ее идентифицирующий.

Одной из важнейших операций, которые выполняются при работе с данными, является выборка хранящейся в базе данных информации. Для этого пользователь должен выполнить запрос (query).

Теперь давайте рассмотрим основные типы запросов к базе данных, которые сосредоточены на манипуляции данными в пределах базы. Для наших целей, все примеры приведены в стандартном SQL, дабы соответствовать любой среде.

Типы запросов данных

Есть четыре основных типа запросов данных в SQL, которые относятся к так называемому языку манипулирования данными (Data Manipulation Language или DML):

SELECT – выбрать строки из таблиц;

INSERT – добавить строки в таблицу;

UPDATE – изменить строки в таблице;

DELETE – удалить строки в таблице;

Каждый из этих запросов имеет различные операторы и функции, которые используются для того, чтобы произвести какие-то действия с данными. Запрос SELECT имеет самое большое количество опций. Существуют также дополнительные типы запросов, используемых вместе с SELECT, типа JOIN и UNION. Но пока, мы сосредоточимся только на основных запросах.

В проектируемой мной базе данных было создано три SQL запроса:

1. Открытые вакансии

SELECT Вакансии.[Номер Вакансии], Вакансии.[Наименование Вакансии], Вакансии.[Размер Заработной Платы], Вакансии.[График Работы], Вакансии.[Условия Работы], Работодатели.[Название Организации Работодателя], Работодатели.[Адрес Организации], Работодатели.[Номер Телефона], Вакансии.[Состояние вакансии]

FROM Соискатели, Работодатели INNER JOIN Вакансии ON Работодатели.[Код Работодателя]=Вакансии.[Код Работадателя]

WHERE (((Вакансии.[Состояние вакансии])="Свободна"));

2. Свободные вакансии по указанной должности

SELECT Вакансии.[Номер Вакансии], Вакансии.[Размер Заработной Платы], Вакансии.[Условия Работы], Работодатели.[Название Организации Работодателя], Работодатели.[Адрес Организации], Работодатели.[Номер Телефона]

FROM Соискатели, Работодатели INNER JOIN Вакансии ON Работодатели.[Код Работодателя] = Вакансии.[Код Работадателя]

WHERE (((Вакансии.Должность)=[Введите названиеДолжности]));

3. Список кандидатов на указанную должность

SELECT Соискатели.[ФИО Соискателя], Соискатели.[Дата Рождения], Соискатели.Город, Соискатели.[Номер телефона], Соискатели.Образование, Соискатели.[Опыт Работы], Соискатели.Результат

FROM Соискатели, Работодатели INNER JOIN Вакансии ON Работодатели.[Код Работодателя] = Вакансии.[Код Работадателя]

WHERE (((Соискатели.Должность)=[Введите название должности]))

ПРОЕКТИРОВАНИЕ ФОРМ.

Наши рекомендации