Язык манипулирования данными 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 - определяет сортировку результата выборки 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 (например, «Абитуриент»)
После ввода этой команды на экране появится форма:
.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 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|