Главная | Обратная связь
МегаЛекции

Язык манипулирования данными SQL

 

Рассмотрим в качестве примера языка манипулирования данными некоторые команды языка SQL (от английских слов Structured Query Language), ставшего классическим языком реляционных баз данных.

Простейшая операция выборки представляется командой SELECT - FROM -WHERE (выбрать-из - где):

 

select <список атрибутов>

from <отношение>

where <условие>.

 

Например, если необходимоиз отношения «Успеваемость», имеющего схему:

 

Успеваемость (ФПО_студента, Дисциплина, Оценка, Дата, Преподаватель)

 

произвести выборку данных о том, какие оценки студент Иванов И.И. получил и по каким предметам, надо задать команду:

 

select Дисциплина, Оценка

from Успеваемость

where ФИО_студента = «Иванов И. И.».

 

Часть команды «where» не является обязательной. Например, можно получить список всех студентов из отношения «Успеваемость» с помощью следующей команды:

 

select unique ФИО_студента

from Успеваемость.

 

Ключевое слово unique позволяет исключить из результата дубликаты значений атрибута. Выбрать полностью информацию из таблицы можно с помощью команды

 

select *

from Успеваемость.

 

Условие, следующее за «where», может включать операторы сравнения =,<>,>=,<, <=, булевы операторы AND, OR, NOT, а также скобки для указания желаемого порядка операции. Например, выбрать из таблицы «Успеваемость» фамилии студентов, сдавших на "5" экзамен по информатике, можно с помощью команды

 

select ФИО_студента

from Успеваемость

where Дисциплина = «Информатика» AND Оценка=5.

 

Выборка может быть и вложенной, когда необходимо использовать в условии результаты-другой выборки. Например, если надо из отношения «Успеваемость» выбрать только студентов физико-математического факультета, пользуясь отношением «Студент», то команда select может выглядеть так:

 

select ФИО_студента

from Успеваемость

where ФИО_студента is in

(select Фамилия

from Студент

where Ф_т = «физмат»).

 

Здесь «is in» является представлением оператора принадлежности элемента множеству. Можно также использовать операторы «is not in» («не принадлежит множеству»), «contains» - содержит, «does not contains» - не содержит. Смысл выражения «A contains В» (А содержит В) тот же, что и выражения «В is in А» (В принадлежит множеству А). Помимо слов select, from, where в команде выборки можно использовать и другие служебные слова, например:

 

order by<атрибут> asc - определяет сортировку результата выборки
в порядке возрастания (asc) или убывания (desc)
значения атрибута;

group by <атрибут1> - группирует данные по значениям атрибута;

having set <атрибут2>

minus - операция вычитания множеств (данных выборок).

 

Помимо команды выборки select, язык SQL имеет команды, позволяющие обновлять данные (update), вставлять (insert) и удалять (delete). Например, если студенты переводятся со 2-го курса на третий, информацию можно обновить командой

 

update Студент

set Kypc=3

where Kypc=2.

 

Если атрибут «Семенов С.С.» сдал экзамен по информатике на «5» 15 января 1996 г. преподавателю Петрову П.П., то информация об этом может быть добавлена в таблицу «Успеваемость» командой

 

insert inio Успеваемость:

<«Семенов С.С.», «Информатика», 5,15/01/96, Петров П.П.>.

 

Оператор insert может быть использован для включения одной строки (как в этом примере) или произвольного числа строк, определенных списком кортежей, заключенных в скобки, или операций выборки select из какой-либо другой таблицы. Команда delete используется для удаления информации из таблицы. Например,

 

delete Успеваемость

where Оценка=2

 

позволяет удалить информацию о студентах, получивших 2 (в случае их отчисления).

Существенно расширяют возможности языка библиотечные функции, такие как count (подсчет), sum (суммирование), avg (среднее), max и min.

Например, подсчитать число студентов в таблице «Студент»: select count (*) from Студент.

 

6.5. ПРИМЕРЫ СИСТЕМ УПРАВЛЕНИЯ БАЗАМИ ДАННЫХ

 

СУБД DBASE

СУБД типа DBASE позволяют работать с реляционными базами данных (БД), структура которых состоит из трех элементов:

• число полей БД;

• характеристикакаждогополя;

• число записей в БД.

 

Каждое поле имеет следующие характеристики:

 

Field name Type Width Dec

(имя поля) (тип) (ширина) (дес.знаки).

 

Field name - может состоять из набора символов, но без пробелов.

Type - в системах типа DBASE имеется 5 типов полей:

С (Character) - символьный (текстовый) тип;

N (Numerical) - числовой тип;

L (Logical) - логический тип;

D (Date) - поле дат, содержит даты в виде dd/mm/yy;

М (Memo) - поле памяти, содержит большой текст (файл).

Width - обозначает допустимую ширину поля.

Dec - используется для числовых полей и определяет точность
задаваемых чисел.

 

DBASE создает следующие типы файлов:

 

.dbf - файлы с записями БД;

.prg - файлы с текстами программ;

.frm - файлы структуры форматных отчетов;

.ndx - индексные файлы, сортирующие записи по определенному ключу;

.mem - файлы данных переменной Mem.

Запуск СУБД осуществляетсяиз операционной системы ехе-файлом (db.exe, foxdb и т.п.), выход-командой.Quit.

Теперь опишем кратко основные команды СУБД.

Создание БД осуществляется командойCreate.

 

Create (например, «Абитуриент»)

 

После ввода этой команды на экране появится форма:

 

Field name (имя поля) .001 Type (тип) Width (ширина) Dec (дес.знаки).

.001

В соответствии с этой формой создадим структуру таблицы:

001 ФИО, С, 18

002 год_рожд, С, 7

003 район. С, 13

004 адрес. С, 100

005 группа, С, 3

006 оценка 1,N,3

007 оценка2,N, 3

008 оценкаЗ,N, 3

Теперь можно начать заполнение таблицы записями.

В случае заполнения записями уже существующей базы данных, необходимо предварительно эту базу командой Use сделать активной:

 

.Use Абитуриент (use - использовать),

.Append (добавить)

 

Данные вводят в карточки, имеющие следующую форму:

 

Запись #00001

ФИО:

год_рожд:

район :

адрес:

группа:

оценка1:

оценка2:

оценка3:

 

Например,

 

Запись #00005

ФИО: Семенов Сергей Викторович

год_рожд: 1980

район: Туруханский

адрес: ул. Декабристов, д. 12, кв.23

группа: И2

оценка!: 5

оценка2: 4

оценкаЗ: 4

 

Запись можно ввести в определенное место БД, введя одну из команд:

 

.Insert (вставить)

 

или

 

.Insert before .

 

Перемещение по таблице и просмотр записей БД осуществляется командами:

 

Go top - (идти наверх) установка указателя на первую запись,

Go bottom - (идти вниз) установка указателя на последнюю запись;

List - (список) просмотр всех записей БД;

Display - (отобразить) просмотр записи, на которой находится указатель,

Browse - (просмотреть) помимо просмотра позволяет редактировать
записи БД.

 

Редактирование записей позволяют проводить следующие команды:

 

Edit N - редактирование записи с номером N;

Change - (поменять) изменения только в некоторых полях или записях,
удовлетворяющих заданным условиям;

Delete - (удалить) стирание ненужных записей;

Copy -(копировать) копирование записей.

 

Изменить структуру БД можно командой Modify. Ниже предложен перечень команд, осуществляющих обработку данных:

 

Report form - (отчет, форма) создание отчетов;

Sort - (сортировка) упорядочение БД по какому-либо ключу;

Index - (индекс) индексирование БД;

Find - (найти) поиск в БД.

 

Работу с несколькими БД помогают вести команды:

 

Select - (выбор) сделать активной какую-либо БД;

Update - (расширить) передача данных из одной БД в другую;

Join to - (присоединить) соединение целых БД.

 

Для осуществления интерактивности БД используют команды ввода и вывода:

 

Wait - (ожидание) пауза, приостановка;

Input - (вход) ввод данных;

Say - (сказать) вывод информации;

Read - (читать) ввод данных.

 





©2015- 2017 megalektsii.ru Права всех материалов защищены законодательством РФ.