Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

УП СУБД ч1

.pdf
Скачиваний:
14
Добавлен:
11.06.2015
Размер:
1.05 Mб
Скачать

Государственное казенное образовательное учреждение высшего профессионального образования «РОССИЙСКАЯ ТАМОЖЕННАЯ АКАДЕМИЯ»

РОСТОВСКИЙ ФИЛИАЛ

Кафедра информатики и информационных таможенных технологий

Д.А. Заставной

Системы управления базами данных

и язык Oracle SQL

Часть 1

Учебное пособие

Ростов-на-Дону 2012

1

УДК 004.65(075.8) ББК 32.973-018.2я7

З 36

Ответственный за выпуск

П.Н. Башлы, заведующий кафедрой информатики и информационных

таможенных технологий Ростовского филиала Российской таможенной академии, доктор технических наук, профессор

Рецензенты:

А.А. Букатов, заместитель директора Южно-Российского регионального центра

информатизации Южного федерального университета, кандидат технических наук, доцент;

Л.Б. Кудрявцева, старший преподаватель кафедры информатики

и информационных таможенных технологий Ростовского филиала Российской таможенной академии

Заставной Д. А.

З36 Системы управления базами данных и язык Oracle SQL. Ч. 1 : учебное пособие / Д. А. Заставной. – Ростов н/Д : Российская таможенная академия, Ростовский филиал, 2012. – 146 с.

Учебное пособие содержит основные теоретические сведения о современных технологиях баз данных, а также подробное описание команд языка баз данных Oracle SQL и практические методы их использования для обработки информации.

Данное учебное пособие полностью соответствует утвержденной рабочей программе курса «Системы управления базами данных и язык Oracle SQL» и охватывает учебный материал, изучаемый студентами специальности 080115.65 «Таможенное дело» специализации «Информационные технологии» в первом семестре четвертого курса.

©Российская таможенная академия, Ростовский филиал, 2012

2

Оглавление

 

ВВЕДЕНИЕ..............................................................................

5

Раздел 1. Основные понятия и свойства баз данных...........

6

Раздел 2. Назначение и основные компоненты СУБД......

14

Раздел 3. Модели данных и языки запросов БД.

 

Реляционная модель данных.................................................

27

Раздел 4. Жизненный цикл БД и приложений

 

баз данных................................................................................

34

Раздел 5. Обзор современных СУБД.

 

Система Oracle Server.............................................................

43

Раздел 6. Язык Oracle SQL. Общие сведения.....................

53

6.1. История языка SQL..........................................................

53

6.2. Общие сведения................................................................

53

6.3. Структура запроса............................................................

55

6.4. Значение SQL-запроса.....................................................

61

Раздел 7. Язык Oracle SQL.

 

Встроенные функции и преобразования типов...................

65

Раздел 8. Язык Oracle SQL.

 

Использование селекции данных..........................................

78

Раздел 9. Язык Oracle SQL. Операция группировки

 

и агрегатные функции. Множественные операции............

87

9.1. Операций группировки..............................................

87

9.2. Агрегатные функции...................................................

89

9.3. Множественные операции..........................................

93

Раздел 10. Язык Oracle SQL. Соединения

 

и пустые значения...................................................................

98

10.1. Пустые значения.......................................................

98

10.2. Запросы с соединением...........................................

102

Раздел 11. Язык Oracle SQL. Подзапросы........................

118

11.1. Подзапросы в логических выражениях

 

WHERE и HAVING...........................................................

118

11.2. Подзапросы после FROM........................................

127

3

Раздел 12. Язык Oracle SQL.

 

Команды манипулирования данными................................

131

12.1

Добавление записей.................................................

131

12.2

Удаление строк.........................................................

134

12.3

Изменение записей..................................................

135

Заключение.........................................................................

139

Литература..........................................................................

140

Приложение........................................................................

141

Указатели.............................................................................

144

4

ВВЕДЕНИЕ

В данном учебном пособии изложены теоретические сведения, соответствующие лекционному материалу Модуля 1 «Основные понятия СУБД и язык Oracle SQL» темы 1–12 рабочей программы курса «Системы управления базами данных и язык Oracle SQL». Настоящее издание содержит описание современной технологии баз данных (темы 1–4) и команд языка баз данных Oracle SQL, используемых для построения запросов и манипулирования данными (темы 5–12), а также практические методы их использования для обработки информации.

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

При изложении материала приняты следующие лексические соглашения. Стандартные и зарезервированные слова языка SQL записываются прописными буквами, а имена таблиц, полей и других объектов – строчными; данное соглашение, однако, не является требованием синтаксиса языка и используется в методических целях. Вводимые новые понятия, а также текст комментариев к запросам выделяются курсивом.

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

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

5

Раздел 1. Основные понятия

исвойства баз данных

Внастоящее время технология баз данных является одной из наиболее востребованных отраслей информационных технологий. Базы данных – ключевой компонент современных автоматизированных информационных систем самого широкого спектра применения, начиная от персональных систем и заканчивая системами автоматизации отрасли.

Вданном разделе приводятся определения основных понятий и терминов, относящихся к базам данных.

Понятие базы данных (далее – БД) (DB – Data Base) является неоднозначным, поэтому приведем несколько взаимосвязанных, но не тождественных определений этого термина.

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

Определение 2. База данных – это набор структурированной информации в электронном виде (т.е. база данных согласно Определению 1) и программных компонент, которые обеспечивают базовые средства доступа к этим данным. Этот набор называется системой управления базой данных

(далее – СУБД) (DBMS – Data Base Management System). Подобное определение удобно для обозначения какой-либо конкретной развернутой (проинсталлированной) системы, например Oracle, и доступных в ней данных; в этом случае также используется выражение экземпляр (Instance) базы данных.

Определение 3. База данных – это тройка «Данные + СУБД + Набор приложений». Приложением базы данных называется какая-либо программа, которая используется

6

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

приложение

приложение

приложение

СУБД

База

Данных

Рис. 1.1. Схемы базы данных

Базой данных также (не вполне корректно) называют какой-либо программный продукт, относящийся к категории СУБД, например база данных Oracle. В этом случае более корректным было бы выражение система баз данных (далее – СБД) Oracle.

Определение 3 базы данных является наиболее широким, поскольку включает в себя оба предыдущих. Но, помимо этого, в этом определении на передний план выходит приложение – артефакт, обладающий, в отличие от базы данных в определениях 1 и 2, потребительскими (функциональными) свойствами. Это определение по существу совпадает с понятием автоматизированной информационной системы (далее – АИС, или просто ИС). АИС, напомним, называется система, предназначенная для автоматизации деятельности в какой-либо предметной области. К типичным предметным областям, в которых используются АИС, относятся: бухгалтерский учет, банковская деятельность, учет и управление материальными ресурсами предприятия, документооборот и т.д.; подробнее основные сферы применения баз данных и АИС описаны в конце данного раздела.

7

АИС с архитектурной точки зрения состоит из следующих основных компонент: аппаратного обеспечения, программного обеспечения, данных и обслуживающего персонала.

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

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

взначительной степени скрывают наличие внутри себя базы данных и программных компонент СУБД, чтобы не отвлекать пользователей от использования функциональных свойств системы. Подробнее структура приложений баз данных описывается в разделе 2.

Рассмотрим основные свойства баз данных. Прежде всего, следует подчеркнуть отличия между базой данных (в узком смысле) и файлом оперативной системы, содержащим данные. Это важно для понимания того, что отличает приложение баз данных и какую-либо программу, которая хранит данные в файлах. Действительно, вполне возможно написать программу на каком-либо языке программирования, например Visual Basic, и она будет обладать всей требуемой функциональностью, но вместо базы данных сохранять данные в файлах. Какие же преимущества обеспечивает технология баз данных?

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

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

8

3.С базой данных приложения работают не напрямую, как с файлами, а через средства СУБД. Это способствует централизации работы приложений с базой данных и разделению функций приложений и СУБД (см. раздел 2).

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

5.Современные системы баз данных обладают развернутыми средствами для объединения физически различных экземпляров БД и даже внешних источников в логически единые, с точки зрения приложения, базы данных.

6.Помимо функций для хранения и доступа к данным, системы баз данных в настоящее время позволяют выполнять некоторые дополнительные функции, имеющие большое значение в современных областях. В частности, следует упомянуть такие средства анализа данных, как OPAL-технологию и Data Mining.

7.Наконец, применение баз данных и функций СУБД для разработки реальных приложений делает сохранение

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

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

Теперь перечислим основные сферы применения информационных систем, использующих системы баз данных. Исторически системы баз данных на ранних этапах (60– 70 годы) применялись в основном для автоматизированной обработки информации, говоря современным языком, в корпоративных системах для поддержки операционной деятельности предприятий. Это было обусловлено в том числе

9

высокой стоимостью самих СУБД, аппаратных средств, на которых они работали, и высокой стоимостью и длительностью разработки приложений, создаваемых, как правило, под конкретного заказчика. Отметим, что и сейчас эта область продолжает оставаться одной из востребованных сфер применения баз данных.

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

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

2.В дополнение к традиционным областям использования (автоматизация бизнеса и научно-академические формы применения) появились новые отрасли, активно использующие функции баз данных: образование, сфера развлечений и т.д.

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

Интересно отметить очень важное свойство современных систем баз данных, вытекающее из пунктов 1 и 3. Например, СУБД, продукты корпорации Oracle, функционируют на различных аппаратных платформах (это свойство называется мультиплатформенностью, или переносимостью)

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

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

10