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

2674

.pdf
Скачиваний:
0
Добавлен:
15.11.2022
Размер:
2.03 Mб
Скачать

SELECT S.*, ’bb’ FROM S

WHERE NOT EXISTS (SELECT * FROM SP WHERE

SP.НОМЕР_ПОСТАВЩИКА= S. НОМЕР_ПОСТАВЩИКА);

Пояснение. Первые двенадцать строк приведенного результата соответствуют первому из двух INSERT … SELECT и представляют собой обычное естественное соединение таблиц S и SP по номерам поставщиков, за исключением того, что не включен столбец КОЛИЧЕСТВО. Последняя строка результата соответствует второму INSERT … SELECT и сохраняет информацию для поставщика S5, который не поставляет никаких деталей. Полный результат представляет собой внешнее соединение таблиц S и SP по номерам поставщиков, в котором опущен столбец КОЛИЧЕСТВО. В противоположность этому обычное соединение называется иногда внутренним соединением.

Заметим, что нужны два отдельных INSERT … SELECT, поскольку подзапрос не может содержать UNION.

Упражнения

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

S (НОМЕР_ПОСТАВЩИКА, ФАМИЛИЯ, СОСТОЯНИЕ, ГОРОД)

Р (НОМЕР_ДЕТАЛИ, НАЗВАНИЕ, ЦВЕТ, ВЕС, ГОРОД)

J (НОМЕР_ИЗДЕЛИЯ, НАЗВАНИЕ, ГОРОД)

SPJ (НОМЕР_ПОСТАВЩИКА, НОМЕР_ДЕТАЛИ, НОМЕР_ИЗДЕЛИЯ, КОЛИЧЕСТВО)

311

Запишите подходящее предложение INSERT, DELETE или UPDATE для каждой из следующих задач.

1.Измените цвет всех красных деталей на оранжевый.

2.Удалите все изделия, для которых нет поставок

деталей.

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

4.Удалите все изделия из Рима и все соответствующие

поставки.

5.Вставьте в таблицу S нового поставщика S10. Его фамилия и город — ’Уайт’ и ’Нью-Йорк’ соответственно, а состояние еще неизвестно.

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

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

8.Добавьте 10 к состоянию всех поставщиков, состояние которых в настоящее время меньше, чем состояние поставщика S4.

9.Постройте внешнее естественное соединение изделий

ипоставок по номерам изделий.

10.Постройте внешнее естественное соединение деталей

иизделий по городам.

11.Постройте таблицу, содержащую полную информацию о поставщиках, деталях и изделиях, с указанием объема поставок для каждой поставки вместе с «сохраненной» информацией для каждого поставщика, детали и изделия, которые не входят в таблицу поставок.

312

ЗАКЛЮЧЕНИЕ

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

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

Вторая глава касается вопросов первого этапа моделирования при разработке баз данных – методам описания предметной области. Также рассмотрены различные модели представления данных.

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

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

Пятая и шестые главы посвящены механизмам поддержания защищенности и целостности информационных массивов.

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

Восьмая глава является подробным пособием по языку SQL – языку манипулирования данными в реляционных системах.

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

313

БИБЛИОГРАФИЧЕСКИЙ СПИСОК

1.Глушаков, С. Базы данных [Текст] / С. Глушаков, Д. Ломотько. – Харьков: Фолио, М.: АСТ, 2000. – 504 с.

2.Гофман, В. Работа с базами данных в Delphi [Текст] / В. Гофман, А. Хомоненко. – СПб: БХВ-Петербург, 2003. – 656 с.

3.Коннолли, Т. Базы данных. Проектирование, реализация и сопровождение. Теория и практика [Текст] / Т. Коннолли, К. Бегг. – СПб: Питер, 2000. – 1120 с.

4.Шкарина, Л. Язык SQL: учебный курс [Текст] / Л. Шкарина. – СПб: Питер, 2001. – 592 с.

5.Бобровски, С. Oracle 7 и вычисления клиент/сервер [Текст]: пер. с англ. / С. Бобровски. – М.: Изд-во «Лори», 1995.

652 с.

6.Oracle 7.3. Энциклопедия пользователя [Текст]: пер. с англ. / М. Ригардс и др. – Киев: Изд-во «Диа Софт», 1997. –

832 с.

7.Дейт, К. Руководство по реляционной СУБД DB2 [Текст]: пер. с англ. / К. Дейт. – М.: Финансы и статистика, 1988. – 320 с.

8.Хансен, Г. БД: разработка и управление [Текст]: пер с англ. / Г. Хансен, Д. Хансен. – М.: ЗАО «Издательство БИНОМ», 1999. – 704 с.

314

 

СОДЕРЖАНИЕ

 

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

3

ОСНОВНЫЕ ТЕРМИНЫ..............................................................

5

1.

ПОНЯТИЕ БАЗЫ ДАННЫХ. ФАЙЛОВЫЕ СИСТЕМЫ

 

 

И БАЗЫ ДАННЫХ. КЛАССИФИКАЦИЯ ЗАДАЧ,

 

 

РЕШАЕМЫХ С ИСПОЛЬЗОВАНИЕМ СУБД........................

6

2.

МОДЕЛИ ДАННЫХ. ОТОБРАЖЕНИЕ ПРЕДМЕТНОЙ

 

 

ОБЛАСТИ. СУЩНОСТИ И СВЯЗИ. МЕТОДЫ

 

 

АБСТРАГИРОВАНИЯ ДАННЫХ. ИЕРАРХИЧЕСКАЯ,

 

 

СЕТЕВАЯ, РЕЛЯЦИОННАЯ МОДЕЛИ ДАННЫХ .............

18

 

2.1. СУЩНОСТИ И СВЯЗИ МЕЖДУ НИМИ .....................................

18

 

2.2. МОДЕЛИ ДАННЫХ ................................................................

27

3.

МАТЕМАТИЧЕСКИЕ ОСНОВЫ ПОСТРОЕНИЯ

 

 

РЕЛЯЦИОННЫХ СУБД. РЕЛЯЦИОННАЯ АЛГЕБРА

 

 

И БЕЗОПАСНЫЕ ВЫРАЖЕНИЯ. РЕЛЯЦИОННЫЕ

 

 

ИСЧИСЛЕНИЯ, ПОСТРОЕННЫЕ НА ДОМЕНАХ

 

 

И КОРТЕЖАХ ..........................................................................

40

 

3.1. РЕЛЯЦИОННАЯ МОДЕЛЬ .......................................................

40

 

3.2. ОПИСАНИЕ УЧЕБНОЙ БАЗЫ ДАННЫХ ...................................

48

 

3.3. ОПЕРАЦИИ РЕЛЯЦИОННОЙ АЛГЕБРЫ ...................................

58

 

3.4. РЕЛЯЦИОННОЕ ИСЧИСЛЕНИЕ ...............................................

75

 

3.5. ЗАДАНИЯ ДЛЯ САМОСТОЯТЕЛЬНОЙ РАБОТЫ........................

80

4.

ЗАДАЧИ И ЭТАПЫ ПРОЕКТИРОВАНИЯ БАЗ ДАННЫХ.

 

ИСПОЛЬЗОВАНИЕ НОРМАЛЬНЫХ ФОРМ ПРИ

 

 

ПРОЕКТИРОВАНИИ ПРИЛОЖЕНИЙ В РЕЛЯЦИОННЫХ

 

СУБД. ЭТАПЫ НОРМАЛИЗАЦИИ ОТНОШЕНИЙ.

 

 

МЕТОДОЛОГИИ ПРОЕКТИРОВАНИЯ ...............................

85

 

4.1. ЭТАПЫ ПРОЕКТИРОВАНИЯ БАЗ ДАННЫХ..............................

85

 

4.2. НОРМАЛИЗАЦИЯ ОТНОШЕНИЙ .............................................

96

5.

ЗАЩИТА БАЗЫ ДАННЫХ.................................................

112

315

6.

СРЕДСТВА ПОДДЕРЖАНИЯ ЦЕЛОСТНОСТИ

 

 

БАЗЫ ДАННЫХ .....................................................................

158

 

6.1. ОСНОВНЫЕ ПОНЯТИЯ. ТРАНЗАКЦИИ И ИХ СВОЙСТВА.......

158

 

6.2. ПОНЯТИЕ УПРАВЛЕНИЕ ПАРАЛЛЕЛЬНОСТЬЮ ....................

163

 

6.3. МЕТОДЫ УПРАВЛЕНИЯ ПАРАЛЛЕЛЬНОСТЬЮ .....................

173

 

6.4. ПРЕДУПРЕЖДЕНИЕ ВЗАИМНЫХ БЛОКИРОВОК ....................

186

 

6.5. ВОССТАНОВЛЕНИЕ ДАННЫХ ..............................................

196

7.

ЭКСПЛУАТАЦИЯ БАЗ ДАННЫХ ....................................

205

8. ЯЗЫК МАНИПУЛИРОВАНИЯ ДАННЫМИ SQL ...........

224

 

8.1. ОПРЕДЕЛЕНИЕ ДАННЫХ .....................................................

224

 

8.2. ОПЕРАЦИИ ВЫБОРКИ ДАННЫХ...........................................

236

 

8.3. ИСПОЛЬЗОВАНИЕ ПОДЗАПРОСОВ И ФУНКЦИИ ВЫБОРКИ

 

 

ДАННЫХ .....................................................................................

262

 

8.4. ОПЕРАЦИИ ОБНОВЛЕНИЯ ...................................................

303

ЗАКЛЮЧЕНИЕ..........................................................................

313

БИБЛИОГРАФИЧЕСКИЙ СПИСОК ......................................

314

316

Учебное издание

Плотников Денис Геннадьевич

БАЗЫ ДАННЫХ

ИИХ БЕЗОПАСНОСТЬ

Вавторской редакции

Подписано к изданию 27.08.2015.

Объем данных 1,93 Мб.

ФГБОУ ВПО «Воронежский государственный технический университет»

394026 Воронеж, Московский просп., 14

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]