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

2584

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

Р.В. Батищев Ю.Н. Рыбалкина В.Н. Асеев

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

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

ORACLE

S

 

DB2

 

 

 

 

CREATE

 

 

 

TABLE

 

 

CLARION

INSERT

Q

SYBASE

 

 

 

 

 

 

L

 

 

FOXPRO

 

PARADOX

Воронеж 2005

3

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ

Воронежский государственный технический университет

Р.В. Батищев Ю.Н. Рыбалкина В.Н. Асеев

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

Утверждено Редакционно-издательским советом университета в качестве учебного пособия

Воронеж 2005

4

УДК 681.3

Батищев Р.В., Рыбалкина Ю.Н., Асеев В.Н. Системы управления базами данных: Учеб. пособие. Воронеж: Воронеж гос. техн. ун-т., 2005. 322 с.

В учебном пособии представлен теоретический и практический материал по основным вопросам организации и управления базами данных, рассмотрены основные приемы работы с ними при использовании языка запросов SQL. Издание соответствует требованиям Государственного образовательного стандарта высшего профессионального образования по направлению 090100 «Информационная безопасность», специальностям 090102 «Компьютерная безопасность»; 090105 «Комплексное обеспечение информационной безопасности автоматизированных систем», дисциплинам «Системы управления базами данных», «Безопасность систем баз данных».

Методические указания подготовлены в электронном виде в текстовом редакторе MS WORD и содержатся в файле Учебное пособие по СУБД, БСБД.rar.

Табл. 53. Ил. 5. Библиогр.: 8 назв.

Научный редактор д-р техн. наук, проф. А.Г. Остапенко

Рецензенты: МНПО «БИТ»; к.т.н. Дуров В.П.

©Батищев Р.В., Рыбалкина Ю.Н., Асеев В.Н., 2005

©Оформление Воронежский государственный технический университет, 2005

5

ОГЛАВЛЕНИЕ

 

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

5

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

 

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

 

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

7

2.МОДЕЛИ ДАННЫХ. ОТОБРАЖЕНИЕ ПРЕДМЕТНОЙ ОБЛАСТИ. СУЩНОСТИ И СВЯЗИ. МЕТОДЫ

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

 

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

19

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

19

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

29

3.МАТЕМАТИЧЕСКИЕ ОСНОВЫ ПОСТРОЕНИЯ РЕЛЯЦИОННЫХ СУБД. РЕЛЯЦИОННАЯ АЛГЕБРА И БЕЗОПАСНЫЕ ВЫРАЖЕНИЯ. РЕЛЯЦИОННЫЕ

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

 

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

42

3.1

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

42

3.2

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

51

3.3

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

59

3.4

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

80

3.5

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

85

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

 

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

 

ПРОЕКТИРОВАНИИ ПРИЛОЖЕНИЙ

 

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

 

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

90

4.1

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

90

4.2

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

101

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

118

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

 

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

165

6.1

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

165

6.2

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

170

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

180

6.4

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

193

3

 

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

204

7.

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

213

8.

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

232

 

8.1

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

232

 

8.2

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

245

 

8.3

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

 

8.4

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

310

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

321

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

322

4

ВВЕДЕНИЕ

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

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

Структурированный язык запросов (Structured Query Language – SQL или Sequel - результат) был разработан IBM в 1974-1979 гг. как язык взаимодействия с прототипом систем управления реляционными базами данных System R. Первая коммерчески доступная СУБД, использующая SQL, была представлена в 1979 году Oracle Corporation. SQL давно стал стандартом, но его развитие продолжается. Многие

существующие

серверы

реляционных

баз

данных

 

 

5

 

 

поддерживают ту или иную версию или уровень стандарта ANSI/ISO SQL (ANSI – американский национальный институт стандартов, ISO – международная организация стандартов). Поддержка SQL позволяет пользователям и приложениям баз данных SQL – типа идентично работать со многими различными реляционными серверами баз данных.

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

6

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

ИБАЗЫ ДАННЫХ. КЛАССИФИКАЦИЯ ЗАДАЧ, РЕШАЕМЫХ С ИСПОЛЬЗОВАНИЕМ СУБД

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

Начнем с примеров некоторых приложений систем баз данных.

Складской учет.

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

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

7

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

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

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

Бухгалтерия учреждений.

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

8

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

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

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

-Понимание проблем, присущих файловым системам, может предотвратить их повторение в СУБД.

-Знать принципы работы файловых систем не только очень полезно, но и необходимо при выполнении перехода от файловой системы к системе баз данных.

Итак, ФАЙЛОВЫЕ СИСТЕМЫ – это набор программ, которые выполняют для пользователя некоторые операции, например создание отчетов. Каждая программа определяет свои собственные данные и управляет ими.

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

9

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