Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ОП АИС.docx
Скачиваний:
2
Добавлен:
01.07.2025
Размер:
387 Кб
Скачать
☆

Раздел 2 сложные многотабличные запросы. Запросы на языке sql

Тема 2.1 создание запросов на sql

ПРАКТИЧЕСКАЯ РАБОТА №16. Виды запросов. Создание запросов в режиме конструктора

Цель: «изучить принципы подключения к SQL – совместимым базам данных и организации обмена данными между приложениями»

Ход Работы

Одним из способов, с помощью которых различные приложения могут подключиться базам данных SQL - сервера, является интерфейс Open Database Connectivity (открытый интерфейс подключения к базам данных). ODBC обеспечивает набор функций программного интерфейса приложений (API), которые упрощают подключение к базам данных самых различных форматов.

Доступ к базам данных в этом случае осуществляется с помощью драйверов ODBC, библиотек DLL, в которых содержатся функции для обеспечения таких возможностей. Драйверы ODBC устанавливаются в системе одновременно с установкой в ней утилит SQL - сервера.

Утилита Источники данных ODBC (Open Database Connectivity) позволяет настроить соединение ODBC для получения доступа объектам баз данных. Для запуска утилиты выберите соответствующий значок в Панели управления Windows. Диалоговое окно утилиты предлагает доступ к настройке трех типов источников данных (DSN - Data Source Name, имя источника данных).

В MS Access, начиная с версии XP, появилась специализированная возможность настроить подключение к MS SQL Server по OLE DB - Access Project. Как ей воспользоваться:

1) закрыть текущую базу данных (если она открыта) и в меню File выбрать New. Затем в списке New File (справа) выбрать Project (Проект с имеющимися данными) и выбрать место для сохранения файла с расширением ADB.

Рис 28 Поля в окне «Файл новой базы данных»

2. в стандартном окне настроить параметры подключения по OLE DB.

Рис 29 Параметры подключения

Все таблицы в базе данных SQL Server будут помещены в контейнер ‘Таблицы’ все представления и хранимые процедуры - в контейнер ‘Запросы’.

При работе через проект возможностей гораздо больше - можно создавать таблицы, представления, хранимые процедуры, функции на сервере, изменять их и т.п.

Контрольные задания

  1. Создать формы для ввода данных во все таблицы базы данных «Учебный процесс».

  2. Выполните запуск процедур, расположенных на сервере.

  3. Создайте соединение с базой данных sklad.

  4. Создайте формы ввода данных для таблиц.

  5. Создайте отчёты для базы данных sklad.

  6. Создайте соединение с индивидуальной базой данных.

  7. Создайте формы ввода данных для таблиц индивидуальной базы данных.

  8. Спроектируйте главную кнопочную форму для индивидуальной базы данных.

«Структурированный Язык Запросов sql. Команда select»

Цель: «Изучить структуру оператора sql, выработать навыки построения запросов на выборку»

Ход Работы

SQL символизирует собой Структурированный Язык Запросов. Запросы - вероятно наиболее часто используемый аспект SQL. Запрос - команда которую вы даете вашей программе базы данных, и которая сообщает ей чтобы она вывела определенную информацию из таблиц в память. Эта информация обычно посылается непосредственно на экран компьютера.

1. Формат команды SELECT

Общий вид команды:

SELECT * | { [ DISTINCT | ALL] < value expression >.,..}

FROM { < table name > [ < alias > ] }.,..

[ WHERE ]

[ GROUP BY { | }.,..]

[ HAVING ]

[ ORDERBY { | }.,..]

В самой простой форме, команда SELECT просто инструктирует базу данных чтобы извлечь информацию из таблицы. Например, вы могли бы вывести таблицу ‘Студент’ напечатав следующее:

SELECT ns,fio FROM student

Эта команда просто выводит все данные из таблицы.

SELECT Ключевое слово которое сообщает базе данных что эта

команда - запрос. Все запросы начинаются этим словом

ns, fio Это - список столбцов из таблицы которые выбираются

запросом. Любые столбцы не перечисленные здесь не

будут включены в вывод команды. Это, конечно, не значит

что они будут удалены или их информация будет стерта

из таблиц, потому что запрос не воздействует на

информацию в таблицах; он только показывает данные/

FROM - ключевое слово, подобно SELECT, которое должно

быть представлено в каждом запросе. Оно сопровожда-

ется пробелом и затем именем таблицы используемой

в качестве источника информации.

В данном случае - это таблица student

Если вы хотите видеть каждый столбец таблицы, имеется необязательное сокращение которое вы можете использовать. Звездочка (*) может применяться для вывода полного списка столбцов следующим образом:

SELECT * FROM student;

Это приведет к тому же результату что и наша предыдущая команда.

DISTINCT (ОТЛИЧИЕ) - аргумент который обеспечивает Вас способом устранять двойные значения из вашего предложения SELECT. Предположим что вы хотите знать какие студенты получали оценки.

SELECT DISTINCT ns

FROM uspevaemost

Другими словами, DISTINCT следит за тем, какие значения были ранее, так что бы они не были продублированы в списке. Это - полезный способ избежать избыточности данных. DISTINCT опускает строки где все выбранные поля идентичны. Строки в которых некоторые значения одинаковы а некоторые различны - будут сохранены.

WHERE - предложение команды SELECT, которое позволяет вам устанавливать предикаты, условие которых может быть или верным или неверным для любой строки таблицы. Команда извлекает только те строки из таблицы для которой такое утверждение верно. Например, предположим вы хотите видеть номера групп с количеством студентов более 20 человек.

SELECT ng

FROM gruppa

WHERE kol > 20

Когда предложение WHERE представлено, программа базы данных просматривает всю таблицу по одной строке и исследует каждую строку чтобы определить верно ли утверждение.

2. Реляционные операторы

Реляционный оператор - математический символ который указывает на определенный тип сравнения между двумя значениями. Реляционные операторы которыми располагает SQL :

= Равный к

> Больше чем

< Меньше чем

>= Больше чем или равно

<= Меньше чем или равно

<> Не равно

Основные Булевы операторы также распознаются в SQL. . Стандартными операторами Буля распознаваемыми в SQL являются:

AND, OR, и NOT

Задание 1.

Вывести наименования предметов, с количеством часов равным 40 или 50.

SELECT np

FROM predmet

WHERE chas = 40 or chas = 50

Задание 2.

Вывести наименования предметов, у которых количество часов не равно сумме лекционных и практических.

SELECT np

FROM predmet

WHERE chas<> lek + pr

3 Использование специальных операторов в условиях.

SQL использует специальные операторы IN, BETWEEN, LIKE, и IS NULL. Мы рассмотрим как их использовать и как реляционные операторы позволяют создавать более сложные и мощные предикаты. Обсуждение оператора IS NULL будет включать отсутствие данных и значение NULL, которое указывает на то: что данные отсутствуют. Вы также узнаете о разновидностях использования оператора NOT применяющегося с этими операторами.

Оператор IN

Оператор IN определяет набор значений в которое данное значение может или не может быть включено.

Задание 3.Вывести номера студентов и номера предметов, по которым получали оценки 3 или 4

SELECT ns, np

FROM uspevaemost

WHERE ozenka in ( 3, 4)

Оператор BETWEEN

Оператор BETWEEN похож на оператор IN. В отличии от определения по номерам из набора, как это делает IN, BETWEEN определяет диапазон, значения которого должны уменьшаться что делает предикат верным. Вы должны ввести ключевое слово BETWEEN с начальным значением, ключевое AND и конечное значение. В отличие от IN, BETWEEN чувствителен к по-

рядку, и первое значение в предложении должно быть первым по алфавитному или числовому порядку.

Задание 4. Выведите из таблицы predmet все наименования предметов с количеством часов, принадлежащих интервалу 100 - 140 :

SELECT *

FROM predmet

WHERE chas BETWEEN 100 AND 140;