Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
материалы к БД по дисциплине.docx
Скачиваний:
19
Добавлен:
21.04.2019
Размер:
1.3 Mб
Скачать

1. Запросы на выборку

1.1 Указать имена и статус поставщиков в Париже.

1.2 Показать номера поставщиков, статус которых более 20 и которые находятся в Лондоне.

1.3 Показать имена поставщиков, расположенных в Лондоне или имеющих статус более 20 (или - две строки).

2. Запросы на обновление

Скорректировать статус поставщика S2 сделав его равным 77.

QBE запрос можно посмотреть из режима Конструктора в SQL

  1. Запросы с использованием группировки и обобщающего набора функций:

SUM – суммирование значений по полю.

AVG – нахождение средне-арифметического.

MIN, MAX – минимальная и максимальная величины.

COUNT – количество строк.

FIRST – первая запись.

LAST – последняя запись.

Определить суммарное, максимальное, минимальное, а так же среднее значение поставок. Подсчитать количество строк в таблице SP.

QBE запрос в режиме Конструктора (табл. SP)

QTY

QTY

QTY

QTY

QTY

SP

SP

SP

SP

SP

SUM

MAX

MIN

AVG

COUNT

Результат

SUM - QTY

MAX - QTY

MIN - QTY

AVG - QTY

COUNT - QTY

1800

400

200

300

6

  1. Запрос для вычисления выражения

Определить веса, количества и общий вес детали

Результат запроса:

Лекция 7. Язык sql. Определение данных, манипулирование данными.

Язык SQL для взаимодействия с БД появился в середине 70-х и был разработан в рамках проекта экспериментальной реляционной СУБД System R. Исходное название языка SEQUEL (Structered English Query Language) только частично отражает суть этого языка. Конечно, язык был ориентирован главным образом на удобную и понятную пользователям формулировку запросов к реляционной БД, но на самом деле уже являлся полным языком БД, содержащим помимо операторов формулирования запросов и манипулирования БД средства определения и манипулирования схемой БД; определения ограничений целостности и триггеров; представлений БД; возможности определения структур физического уровня, поддерживающих эффективное выполнение запросов; авторизации доступа к отношениям и их полям; точек сохранения транзакции и откатов. Рассмотрим эти свойства языка немного более подробно.

Общая характеристика языка

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

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

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

Основным назначением языка SQL (как и других языков работы с базами данных) является подготовка и выполнение запросов. В результате выборки данных из одной или нескольких таблиц может быть получено множество записей, называемое представлением.

Спецификация запроса

В запросе задается список выборки (список арифметических выражений над значениями столбцов результата табличного выражения и констант). В результате применения списка выборки к результату табличного выражения производится построение новой таблицы, содержащей то же число строк, но вообще говоря другое число столбцов, содержащих результаты вычисления соответствующих арифметических выражений из списка выборки. Кроме того, в спецификации запроса могут содержаться ключевые слова ALL или DISTINCT. При наличии ключевого слова DISTINCT из таблицы, полученной применением списка выборки к результату табличного выражения, удаляются строки-дубликаты; при указании ALL (или просто при отсутствии DISTINCT) удаление строк-дубликатов не производится.

Операция объединения.

Выражение запросов - это выражение, строящееся по указанным синтаксическим правилам на основе спецификаций запросов. Единственной операцией, которую разрешается использовать в выражениях запросов, является операция UNION (объединение таблиц) с возможной разновидностью UNION ALL. К таблицам-операндам выражения запросов предъявляется то требование, что все они должны содержать одно и то же число столбцов, и соответствующие столбцы всех операндов должны быть одного и того же типа. Выражение запросов вычисляется слева направо с учетом скобок. При выполнении операции UNION производится обычное теоретико-множественное объединение операндов, т.е. из результирующей таблицы удаляются дубликаты.

(SELECT * FROM S )

UNION (SELECT * FROM SS );

При выполнении операции UNION ALL образуется результирующая таблица, в которой могут содержаться строки-дубликаты.

Основные операторы SQL. Разделы SELECT, FROM, WHERE. Предикаты сравнения, BETWEEN, IN, EXISTS.