metBD (Учебное пособие)

2018-01-12СтудИзба

Описание файла

Файл "metBD" внутри архива находится в папке "Учебное пособие". Документ из архива "Учебное пособие", который расположен в категории "". Всё это находится в предмете "базы данных" из 6 семестр, которые можно найти в файловом архиве РТУ МИРЭА. Не смотря на прямую связь этого архива с РТУ МИРЭА, его также можно найти и в других разделах. Архив можно найти в разделе "книги и методические указания", в предмете "базы данных (бд)" в общих файлах.

Онлайн просмотр документа "metBD"

Текст из документа "metBD"

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

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

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


Воронеж 2005

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

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

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

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

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

Воронеж 2005

УДК 681.3

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

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

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

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

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

Рецензенты: МНПО «БИТ»;

к.т.н. Дуров В.П.

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

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

ОГЛАВЛЕНИЕ

ВВЕДЕНИЕ 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

6.5 Восстановление данных 204

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

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

8.1 Определение данных 219

8.2 Операции выборки данных 219

8.3 Использование подзапросов и функции выборки данных 219

8.4 Операции обновления 219

ЗАКЛЮЧЕНИЕ 219

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

ВВЕДЕНИЕ

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

В файловых системах используются следующие понятия.

  • Файл является простым набором записей, которые содержат логически связанные данные.

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

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

  • Разделение и изоляция данных.

  • Дублирование данных.

  • Зависимость от данных.

  • Несовместимость файлов.

  • Фиксированные запросы/быстрое увеличение количества приложений.

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

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

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

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

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

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

Фиксированные запросы / быстрое увеличение количества приложений. С точки зрения пользователя возможности файловых систем намного превосходят возможности ручных картотек. Соответственно непрерывно возрастают их требования к реализации новых или модифицированию старых запросов. Однако, файловые системы во многом зависят от программиста, потому что все требуемые запросы и отчеты должны быть созданы именно им. Т.е. нет инструментов создания незапланированных или произвольных запросов как с самим данным, так и к сведениям о том, какие типы данных доступны. Количество приложений в этом случае растет настолько быстро, что не хватает времени и исполнителей для разработки документации и сопровождения приложений. В этом случае нагрузка на сотрудников отдела обработки данных настолько возрастала, что неизбежно наступал момент, когда программное обеспечение было неспособно адекватно отвечать запросам пользователей, эффективность его падала, а недостаточность документирования имела следствием дополнительное усложнение сопровождения программ. При этом часто игнорировались вопросы поддержки функциональности системы: не предусматривались меры по обеспечению безопасности или целостности данных; средства восстановления в случае сбоя аппаратного или программного обеспечения были крайне ограничены или вообще отсутствовали. Доступ к файлам часто ограничивался одним пользователем, т.е. не предусматривалось их совместное использование даже сотрудниками одного и того же отдела.

Свежие статьи
Популярно сейчас
А знаете ли Вы, что из года в год задания практически не меняются? Математика, преподаваемая в учебных заведениях, никак не менялась минимум 30 лет. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5166
Авторов
на СтудИзбе
437
Средний доход
с одного платного файла
Обучение Подробнее