Язык манипулирования данными 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 - (читать) ввод данных.

СУБД Microsoft Access

Access - в переводе с английского означает «доступ». MS Access - это функционально полная реляционная СУБД. Кроме того, MS Access одна из самых мощных, гибких и простых в использовании СУБД. В ней можно создавать большинство приложений, не написав ни единой строки программы, но если нужно создать нечто очень сложное, то на этот случай MS Access предоставляет мощный язык программирования - Visual Basic Aplication.

Популярность СУБД Microsoft Access обусловлена следующими причинами:

• Access является одной из самых легкодоступных и понятных систем как для профессионалов, так и для начинающих пользователей, позволяющая быстро освоить основные принципы работы с базами данных;

• система имеет полностью русифицированную версию;

• полная интегрированность с пакетами Microsoft Office: Word, Excel, Power Point, Mail;

• идеология Windows позволяет представлять информацию красочно и наглядно;

• возможность использования OLE технологии, что позволяет установить связь с объектами другого приложения или внедрить какие-либо объекты в базу данных Access;

• технология WYSIWIG позволяет пользователю постоянно видеть все результаты своих действий;

• широко и наглядно представлена справочная система;

• существует набор «мастеров» по разработке объектов, облегчающий создание таблиц, форм и отчетов.

Запустить систему Access можно несколькими способами:

• запуск с помощью главного меню в WINDOWS 95;

• запуск с помощью ярлыка на панели инструментов.

После запуска системы появится главное окно Access, рис. 2.24. Здесь можно открывать другие окна, каждое из которых по-своему представляет обрабатываемые данные. Ниже приведены основные элементы главного окна Access, о которых необходимо иметь представление.

язык манипулирования данными sql - student2.ru

Рис.2.24. Экран СУБД Access

В строке заголовка отображается имя активной в данный момент программы. Строка заголовка главного окна Access всегда отображает имя программы MICROSOFT Access.

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

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

Панель инструментов - это группа пиктограмм, расположенных непосредственно под полосой меню. Главное ее назначение - ускоренный вызов команд меню. Кнопки панели инструментов тоже могут изменяться в зависимости от выполняемых операций. Можно изменять размер панели инструментов и передвигать ее по экрану. Также можно отобразить, спрятать, создать новую панель инструментов или настроить любую панель инструментов.

В левой частистроки состояния отображается информация о том, что вы делаете в настоящее время.

Окно базы данных появляется при открытой базе данных. В нем сосредоточены все «рычат управления» базой данных. Окно базы данных используется для открытия объектов, содержащихся в базе данных, таких как таблицы, запросы, отчеты, формы, макросы и модули. Кроме того, в строке заголовка окна базы данных всегда отображается имя открытой базы данных.

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

Условные кнопки, расположенные вдоль правого края окна базы данных, используются для работы с текущим объектом базы данных. Они позволяют создавать, открывать или изменять объекты базы данных.

К основным объектам Access относятся таблицы, запросы, формы, отчеты, макросы и модули.

Таблица - это объект, который определяется и используется для хранения данных. Каждая таблица включает информацию об объекте определенного типа. Как уже известно, таблица содержит поля (столбцы) и записи (строки). Работать с таблицей можно в двух основных режимах: в режиме конструктора и в режиме таблицы.

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

Режим таблицы используется для просмотра, добавления, изменения, простейшей сортировки или удаления данных. Чтобы перейти в режим таблицы, надо дважды щелкнуть мышью по имени нужной таблицы в окне базы данных (или, выделив в окне БД имя нужной таблицы, воспользоваться кнопкой открытого окна БД).

Из режима конструктора перейти в режим таблицы можно, щелкнувпо кнопкетаблицы на панели инструментов.

В режиме конструктора и в режиме таблицы перемещение между полями осуществляется с помощью клавиши ТАВ, а также вверх или вниз по записям с помощью клавиш, но в большинстве случаев пользоваться мышью гораздо удобнее.

Вследствие того, что в таблицах, как правило, содержится большое количество записей, размещение всех их на экране невозможно. Поэтом) для перемещения по таблице используют полосы прокрутки, расположенные в нижней и правой части окна. Левее нижней полосы прокрутки выводится номер текущей записи и общее число записей таблицы. Для перехода к записям с нужным номером необходимо активизировать поле Номера записи, щелкнув по нему, или нажать клавишу F5, после чего набрать на клавиатуре новый номер записи и затем нажать клавишу <Enter>.

Запрос - это объект, который позволяет пользователю получить нужные данные из одной или нескольких таблиц. Можно создать запросы на выбор, обновление, удаление или на добавление данных. С помощью запросов можно создавать новые таблицы, используя данные уже существующих одной или нескольких таблиц.

По сути дела, запрос - это вопрос, который пользователь задает Access о хранящейся в базе данных информации. Работать с запросами можно в двухосновныхрежимах: в режиме конструктора и в режиме таблицы.

Здесь надо вспомнить о том, что ответы на запросы получаются путем «разрезания» и «склеивания» таблиц по строкам и столбцам, и что ответы будут также иметь форму таблиц. В режиме конструктора формируется вопрос к базе данных.

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

В форму могут быть внедрены рисунки, диаграммы, аудио (звук) и видео (изображение).

Режимы работы с формой:

•режим формы используется для просмотра и редактирования данных; предоставляет дружественную среду для работы с данными и удобный дизайн их представления на экране;

•режим конструктора форм необходим, если необходимо изменить определение

формы (структуру или шаблон формы, а не представленные в ней данные), надо открыть форму в режиме конструктора;

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

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

Режимы работы с отчетом:

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

• щелкнуть по вкладке Отчеты,

• кнопкой выбрать необходимый отчет в окне базы данных;

• щелкнуть по кнопке Просмотра.

Режим конструктора предназначен для изменения шаблона (структуры отчета).

Макрос - это объект, представляющий собой структурированное описание одного или нескольких действий, которые должен выполнить Access в ответ на определенное событие. Например, можно определить макрос, который в ответ на выбор некоторого элемента в основной форме открывает другую форму. С помощью другого макроса можно осуществлять проверку значения некоторого поля при изменении его содержания. В макрос можно включить дополнительные условия для выполнения или невыполнения тех или иных включенных в него действии. Возможно также из одного макроса запустить другой макрос или функцию модуля.

Работа с формами и отчетами существенно облегчается за счет использования макрокоманд. В MS Access имеется свыше 40 макрокоманд, которые можно включать в макросы. Макрокоманды выполняют такие действия, как открытие таблиц и форм, выполнение запросов, запуск других макросов, выбор опций из меню, изменение размеров открытых окон и т.п. Макрокоманды позволяют нажатием одной (или нескольких одновременно) кнопки выполнять комплекс действий, который часто приходится выполнять в течение работы. С их помощью можно даже осуществлять запуск приложений, поддерживающих динамический обмен данных (DDE), например MS Excel, и производить обмен данными между вашей базой данных и этими приложениями. Один макрос может содержать несколько макрокоманд. Можно также задать условия выполнения отдельных макрокоманд или их набора.

Модуль - объект, содержащий программы на MS Access Basic, которые позволяют разбить процесс на более мелкие действия и обнаружить те ошибки, которые невозможно было бы найти с использованием макросов.

Завершив работу с Access (или с ее приложением), надо корректно закончить сеанс. Простое выключение компьютера - плохой метод, который может привести к возникновению проблем. При работе WINDOWS приложения используют множество файлов, о существовании которых пользователь может даже не подозревать. После выключения машины эти файлы останутся открытыми, что в будущем может сказаться на надежности файловой системы жесткого диска.

Безопасно выйти из Access можно несколькими способами:

• двойным щелчком мыши на пиктограмме системного меню в строке заголовка главного окна Access;

• из меню Access выбором пункта Файл Выход,

• нажатием комбинации клавиш Alt + F4.

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

1. Каково назначение программ, входящих в состав СУБД?

2. Какой интерфейс можно считать дружественным?

3. Какие компоненты можно выделить в составе СУБД?

4. В чем состоят функции языков описания и манипулирования данными?

5. Охарактеризуйте основные команды языка SQL.

6. Как с помощью команд SQL задать поиск в базе данных?

7. Как с помощью команд SQL модифицировать базу данных?

8. Используя СУБД типа DBase разработайте базы данных:

а) телефонный справочник;

б) каталог программного обеспечения персонального компьютера;

в) домашняя библиотека.

9. Используя СУБД Access разработайте БД «Музыкальная энциклопедия».

ЭЛЕКТРОННЫЕ ТАБЛИЦЫ

Наши рекомендации