Мегаобучалка Главная | О нас | Обратная связь


ЛАБОРАТОРНАЯ РАБОТА № 14



2016-09-17 361 Обсуждений (0)
ЛАБОРАТОРНАЯ РАБОТА № 14 0.00 из 5.00 0 оценок




Тема: Работа с SQL-запросами

 

Цель: Научиться создавать SQL-запросы

 

Оборудование и/или программное обеспечение: ПК, Delphi

Теоретическая часть

 

В отличие от реляционной алгебры, где были представлены только операции запросов к БД, SQL является полным языком, в нем присутствуют не только операции запросов, но и операторы, соответствующие Data Definition Language (DDL) — языку описания данных. Кроме того, язык содержит операторы, предназначенные для управления (администрирования ) БД.

Таблица 5.2. Операторы манипулирования данными Data Manipulation Lanquaqe (DML)
Оператор Смысл Действие
DELETE Удалить строки Удаляет одну или несколько строк, соответствующих условиям фильтрации, из базовой таблицы. Применение оператора согласуется с принципами поддержки целостности, поэтому этот оператор не всегда может быть выполнен корректно, даже если синтаксически он записан правильно
INSERT Вставить строку Вставляет одну строку в базовую таблицу. Допустимы модификации оператора, при которых сразу несколько строк могут быть перенесены из одной таблицы или запроса в базовую таблицу
UPDATE Обновить строку Обновляет значения одного или нескольких столбцов в одной или нескольких строках, соответствующих условиям фильтрации

 

Таблица 5.3. Язык запросов Data Query Lanquaqe (DQL)
Оператор Смысл Действие
SELECT Выбрать строки Оператор, заменяющий все операторы реляционной алгебры и позволяющий сформировать результирующее отношение, соответствующее запросу
 
     
     
     
     
         

 

Таблица 5.5. Средства администрирования данных
Оператор Смысл Действие
ALTER DATABASE Изменить БД Изменить набор основных объектов в базе данных, ограничений, касающихся всей базы данных
ALTER DBAREA Изменить область хранения БД Изменить ранее созданную область хранения
ALTER PASSWORD Изменить пароль Изменить пароль для всей базы данных
CREATE DATABASE Создать БД Создать новую базу данных, определив основные параметры для нее
CREATE DBAREA Создать область хранения Создать новую область хранения и сделать ее доступной для размещения данных
DROP DATABASE Удалить БД Удалить существующую базу данных (только в том случае, когда вы имеете право выполнить это действие)
DROP DBAREA Удалить область хранения БД Удалить существующую область хранения (если в ней на настоящий момент не располагаются активные данные)
GRANT Предоставить права Предоставить права доступа на ряд действий над некоторым объектом БД
REVOKE Лишить прав Лишить прав доступа к некоторому объекту или некоторым действиям над объектом

Практическая часть

1 Создайте запрос на добавление записи

2 Создайте запрос на удаление записи

3 Создайте запрос на редактирование записи

4 Создайте запрос на сохранение записи

Вопросы для контроля

 

1. Нужно ли разграничивать права доступа к базе данныз и для чего?

2. Какой оператор выполняет разграничение прав доступа?

3. Напишите код создания учетной записи.

4. Напишите код для просмотра данных.

5. Напишите код лишения каких-либо прав доступа.

Литература

 

1. Фаронов В.В. Программирование на языке высокого уровня: Учебник для вузов. -СПб.: Питер, 2003.

2. Бобровский С.И. Delphi 7. Учебный курс. - СПб.: Питер, 2005.

3. Кетков Ю.Л., Кетков А.Ю. Практика программирования: Visual Basic, C++ Builder, Delphi. - СПб.: БХВ - Петербург, 2005.

ЛАБОРАТОРНАЯ РАБОТА № 15

Тема: Создание SQL-запросов

 

Цель: научиться работать с SQL-запросами

 

Оборудование и/или программное обеспечение:ПК, Delphi

Теоретическая часть

 

Теперь рассмотрим форму представления условия отбора, задаваемого после ключевого слова WHERE. Это условие определяет критерий, по которому отбираются записи. Оператор Select отбирает только те записи, в которых заданное условие истинно. Условие может включать имена полей (кроме вычисляемых полей), константы, логические выражения, содержащие арифметические операции, логические операции and, or, not и операции отношения:

равно
> больше
>= больше или равно
< меньше
<= меньше или равно
<> не равно
Like наличие заданной последовательности символов
between ... and диапазон значений
in соответствие элементу множества

Первые шесть операций очевидны. Например, оператор

SELECT Fam FROM Pers WHERE Sex='jK' and Year_b > 1960

отберет записи, относящиеся к женщинам, родившимся после 1960 года.

Операция Like имеет синтаксис:

<поле> LIKE ‘ «последовательность символов»’

Эта операция применима к полям типа строк и возвращает true, если в строке встретился фрагмент, заданный в операции как последовательность символов>. Заданным символам может предшествовать и их может завершать символ процента «%», который означает — любое количество любых символов. Если символ процента не указан, то заданная последовательность символов должна соответствовать только целому слову. Например, условие

Fam LIKE 'А%'

означает, что будут отобраны все записи, начинающиеся с заглавной русской буквы «А» (операция Like различает строчные и прописные символы). Условию

Fam LIKE 'Иванов%1

будут удовлетворять фамилии «Иванов» и «Иванова», а условию Fam LIKE '%ван%'

кроме этих фамилий будет удовлетворять, например, фамилия « Иванников ».

Операция between ... and имеет синтаксис:

<поле> between <значение> and <значение>

и задает для указанного поля диапазон отбираемых значений. Например, оператор

SELECT Fam, Year_b FROM Pers

WHERE Year_b BETWEEN 1960 AND 1970

отберет записи сотрудников в заданном диапазоне возраста.

Операция In имеет синтаксис:

<поле> in (<множество>)

и отбирает записи, в которых значение указанного поля является одпим из элементов указанного множества. Например, оператор

SELECT Fam, Year_b FROM Pers

WHERE Fam IN(1 Иванов 1, ■Петров ', 'Сидоров•)

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

SELECT Fam, Year_b FROM pers WHERE Year_b IN (1950,I960)

отберет записи сотрудников указанных годов рождения.

Элемент оператора Select, начинающийся с ключевых слов ORDER BY, определяет упорядочивание (сортировку) записей. После этих ключевых слов следует список полей, определяющих сортировку. Можно указывать только поля, фигурирующие в списке отобранных (в списке после ключевого слова SELECT).

Если в списке сортировки указано только одно поле, то сортировка производится по умолчанию в порядке нарастания значений этого поля. Например, оператор

SELECT Dep, Fam, Year_b FROM Pers ORDER BY Year_b задает упорядочивание возвращаемых значений по нарастанию года рождения. Если желательно располагать результаты по убыванию значений, то после имени поля добавляется ключевое слово DESC:

SELECT Dep, Fam, Year_b FROM Pers ORDER BY Year_b DESC

Если в списке после ORDER BY перечисляется несколько полей, то первое из них — главное и сортировка проводится прежде всего по значениям этого поля. Записи, имеющие одинаковое значение первого поля упорядочиваются по значениям второго поля и т.д. Например, оператор

SELECT Dep, Fam, Year_b FROM Pers ORDER BY Dep, Fam сортирует записи прежде всего по отделам (значениям поля Dep), а внутри каждого отдела — по алфавиту. Оператор

SELECT Dep, Fam, Year_b, Sex FROM Pers ORDER BY Dep, Sex, Fam сортирует записи по отделам, полу и алфавиту.

После ключевого слова Select в оператор могут вставляться ключевые слова DISTINCT или ALL. Первое из них означает, что в результирующий набор данных не включаются повторяющиеся записи. Повторяющимися считаются те записи, в которых совпадают значения полей, перечисленных в списке оператора Select. Ключевое слово ALL означает включение всех записей. Оно подразумевается по умолчанию, так что вставлять его в оператор не имеет смысла. Приведем пример использования DISTINCT. Оператор

SELECT DISTINCT Dep FROM Pers выдаст список подразделений, в которых работают сотрудники.

Практическая часть

1. организовать выборку с условием МЕНЬШЕ числовых полей

2. организовать выборку с условием БОЛЬШЕ числовых полей

3. организовать выборку с условием В НЕ ДИАПОЗОНА числовых полей

4. организовать выборку с условием В ПРОМЕЖУТКЕ МЕЖДУ числовых полей

Вопросы для контроля

 

1. Напишите синтаксис оператора IN.

2. Напишите синтаксис оператора LIKE.

3. Напишите синтаксис оператора BETWEEN… AND.

4. Напишите синтаксис оператора ORDER BY.

5. Напишите синтаксис оператора DISTINCT.

 

Литература

 

1. Фаронов В.В. Программирование на языке высокого уровня: Учебник для вузов. -СПб.: Питер, 2003.

2. Бобровский С.И. Delphi 7. Учебный курс. - СПб.: Питер, 2005.

3. Кетков Ю.Л., Кетков А.Ю. Практика программирования: Visual Basic, C++ Builder, Delphi. - СПб.: БХВ - Петербург, 2005.



2016-09-17 361 Обсуждений (0)
ЛАБОРАТОРНАЯ РАБОТА № 14 0.00 из 5.00 0 оценок









Обсуждение в статье: ЛАБОРАТОРНАЯ РАБОТА № 14

Обсуждений еще не было, будьте первым... ↓↓↓

Отправить сообщение

Популярное:
Как распознать напряжение: Говоря о мышечном напряжении, мы в первую очередь имеем в виду мускулы, прикрепленные к костям ...
Модели организации как закрытой, открытой, частично открытой системы: Закрытая система имеет жесткие фиксированные границы, ее действия относительно независимы...



©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (361)

Почему 1285321 студент выбрали МегаОбучалку...

Система поиска информации

Мобильная версия сайта

Удобная навигация

Нет шокирующей рекламы



(0.009 сек.)