
- •Введение
- •1. Анализ предметной области
- •1.1 Общие сведения
- •1.2 Основные сведения о предметной области
- •1.3 Перечень хранимой информации: таблицы, поля, типы
- •1.4 Выделение справочных и оперативных данных
- •2.3 Проектирование диаграммы сущность - связь в еа
- •2.4 Подготовка диаграммы сущность-связи в еа к переносу на целевую субд и автоматизированная генерация кода sql
- •2.5 Создание бд в mssqlsqrver. Перенос схемы из еа
- •2.6 Создание диаграммы средствами ms sql server и ms sql server management studio
- •2.7 Начальное заполнение бд
- •2.8 Выводы по разделу
- •3. Создание и запуск базовых запросовsql
- •3.1 Общие сведения
- •3.2 Запросы на выборку данных
- •3.5 Выводы по разделу
- •4. Создание и запуск продвинутых запросовsql
- •4.1 Общие сведения
- •4.2 Запросы на выборку данных
- •4.3 Выводы по разделу
- •Заключение
- •Список литературы:
- •Список сокращений:
3.2 Запросы на выборку данных
SELECT — оператор DML языка SQL, возвращающий набор данных (выборку) из базы данных, удовлетворяющих заданному условию.
В большинстве случаев, выборка осуществляется из одной или нескольких таблиц. В тех СУБД, где реализованы представления и хранимые процедуры, также возможно получение соответствующих наборов данных.
При формировании запроса SELECT пользователь описывает ожидаемый набор данных: его вид (набор столбцов) и его содержимое (критерий попадания записи в набор, группировка значений, порядок вывода записей и т. п.).
Запрос выполняется следующим образом: сначала извлекаются все записи из таблицы, а затем для каждой записи набора проверяется её соответствие заданному критерию. Если осуществляется слияние из нескольких таблиц, то сначала составляется произведение таблиц, а уже затем из полученного набора отбираются требуемые записи.
Выбрать все.
Для начала, выберем самый простой запрос, необходимый для визуализации данных, вывод всей информации о студентах.
Запрос SQL:
SELECT*
FROMStudents
Листинг 2 – Запрос SQL
Рисунок 13 – Результат запроса
Выбрать все и условие.
Если же нам нужно вывести список студентовcопределённым номером зачётки, то будет использоваться запрос с условием.
Запрос SQL:
SELECT*
FROMStudents
whereNumberZachetkilike'09ВП118'
Листинг 3 – Запрос с условием
Рисунок 14 – Результат запроса
Выбрать что-то и условие:
Для выбора студентом комнаты с определённым кол-во мест, необходимо создать запрос с определенным условием:
Запрос SQL:
SELECTRoomCode
FROMRooms
whereKolvoMest='4'
Листинг 4 – Запрос с условием
Рисунок 15 – Результат запроса
Выбрать что-то и составное условие (И):
Если требуется вывести информацию о том, какой комендант прикреплён к общежитию, то стоит воспользоваться составным условием (И).
Запрос SQL:
SELECTComendantCode
FROMObsejitia
whereNumberObsejitia='1'andAddres='Стасова 36'
Листинг 5 – Запрос с условием (И)
Рисунок 16 – Результат запроса
Выбрать что-то и составное условие (ИЛИ):
Если нужно вывести фамилии студента по номеру зачётки или же по номеру комнаты, в которой он проживает, то стоит воспользоваться составным условием (ИЛИ).
Запрос SQL:
SELECTSurname
FROMStudents
whereNumberZachetki='11ВЕ222'orRoomCode='4'
Листинг 6 – Запрос с условием (ИЛИ)
Рисунок 17 – Результат запроса
3.3 Запрос на добавление и удаление записи
INSERT — оператор языка SQL, который позволяет добавить строки в таблицу, заполняя их значениями. Значения можно вставлять перечислением с помощью слова values и перечислив их в круглых скобках через запятую или оператором select.
Во время выполнения оператора могут возникнуть ошибки:
если при создании таблицы для поля был указан параметр notnull, и не было определено значение по умолчанию, то при отсутствии для него вставляемого значения возникнет ошибка. Решение очевидно:
либо убрать параметр notnull
либо указать значение по умолчанию
либо вставить значение
если произойдет попытка вставки в поле с типом identity (автоинкремент), то также произойдет ошибка. Решить проблему можно двумя способами:
не вставлять значение в это поле
указать опцию identity_inserton после чего вставить уникальное значение для этого столбца.
Ниже представлены запрос SQL на вставку данных в таблицы, и результат выполнения.
Пример добавления в таблицу строки, с помощью команды INSERT. В данном случае запись нового студента.
Запрос SQL:
InsertIntoStudents(StudentCode,Surname,Name,SecondName,NumberZachetki,RoomCode)
Values (100,'Ололошов','Ололош','Петрович','11ЦУ222',10 )
Листинг 7 – Добавление записи
Рисунок 18 – Данные до добавления
Рисунок 19 – Процесс добавления данных и его результат
UPDATEиспользуется для обновления информации в базе данных.
Далее рассмотрен пример изменения имени студента.
Запрос SQL:
updateStudents
setName='Стас'
whereStudentCode= 100
Листинг 9 – Обновление записи
Рисунок 24 – Данные до обновления
Рисунок 25 – Данные после обновления
Delete — операция удаления записей из таблицы. Критерий отбора записей для удаления определяется выражением where. В случае если критерий отбора не определён, выполняется удаление всех записей. При этом никакого результата команда не возвращает и, следовательно, не может быть использована в качестве параметра в команде SELECT. При удалении можно задавать конструкции JOIN связывающие несколько страниц, аналогично тому, как связываются таблицы в запросах выборки SELECT.
Пример удаления строки из таблицы.
Если вдруг студента отчислили, то удаляем его из БД следующим запросом:
deleteStudents
whereStudentCode= 100
Листинг 10 – Удаление записи
Рисунок 27 – Данные до удаления
Рисунок 28 – Данные после удаления