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

Базы данных. Курс лекций

.pdf
Скачиваний:
0
Добавлен:
12.08.2026
Размер:
675 Кб
Скачать

ИНФОРМАЦИОННЫЕ СИСТЕМЫ И ТЕХНОЛОГИИ В ЭКОНОМИКЕ

И УПРАВЛЕНИИ

О. Н. Королева, Т. В. Королева, А. В. Мажукин

БАЗЫ ДАННЫХ

КУРС ЛЕКЦИЙ

Москва 2012

МОСКОВСКИЙ ГУМАНИТАРНЫЙ УНИВЕРСИТЕТ

ФАКУЛЬТЕТ ЭКОНОМИКИ И УПРАВЛЕНИЯ КАФЕДРА МАТЕМАТИЧЕСКОГО И КОМПЬЮТЕРНОГО МОДЕЛИРОВАНИЯ

ИНФОРМАЦИОННЫЕ СИСТЕМЫ И ТЕХНОЛОГИИ В ЭКОНОМИКЕ И УПРАВЛЕНИИ

О. Н. Королева, Т. В. Королева, А. В. Мажукин

БАЗЫ ДАННЫХ

КУРС ЛЕКЦИЙ

2-е издание, исправленное и дополненное

Под редакцией проф. В. И. Мажукина

Издательство Московского гуманитарного университета

2012

ББК 32.973 К68

Рецензенты: доктор физико-математических наук, профессор Ю.А. Повещенко (кафедра математического и компьютерного моделирования, МосГУ)

доктор физико-математических наук, профессор В.А. Гасилов (институт прикладной математики им. М.В. Келдыша)

Серия основана в 2007 году

Королева О. Н.

К68 Базы данных : курс лекций / О. Н. Королева, А. В. Мажукин, Т. В. Королева ; под ред. В. И. Мажукина. – М. : Изд-во Моск. гуманит. ун-та, 2012. – 66 с. – (Информационные системы и технологии в экономике и управлении).

ISBN 978-5-98079-838-3

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

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

ББК 32.973

ISBN 978-5-98079-838-3

©Королева О. Н., Королева Т. В., Мажукин А. В., 2012

ВВЕДЕНИЕ

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

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

Возникновение и развитие СУБД связано с развитием вычислительной техники. В историческом аспекте использованию вычислительной техники с целью надежного хранения и обработки данных в информационных системах предшествовало применение вычислительной техники для выполнения большого количества сложных вычислений и использованием численных методов и вычислительных алгоритмов, применяемых в математическом моделировании. Такое использование вычислительных ресурсов требовало в большей мере быстродействия вычислительной техники, большого объема оперативной памяти. Для развития систем хранения, обработки, управления данными, прежде всего, необходимо надежное электронное хранилище информации. В начале 60-х годов прошлого века появляются первые энергонезависимые устройства для хранения информации – магнитные барабаны и магнитные ленты. Однако возможностей этих устройств было недостаточно, так как доступ к данным был только последовательным (у магнитных лент) и емкость была недостаточной (у магнитных барабанов). Поэтому начало развития СУБД связано с появлением в конце 1960-х годов накопителей магнитных дисков, которые позволяли хранить достаточно большой объем информации, обладали возможностью прямого доступа к данным. Появление надежных запоминающих устройств сняло ограничения, связанные с хранением и обработкой информации электронными вычислительными машинами (ЭВМ). Магнитные диски обеспечивали необходимую оперативность доступа к данным, а возможность замены одного диска другим обеспечивала неограниченный объем

3

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

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

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

Пособие «Информационные системы и технологии в экономике и управлении. Базы данных. Курс лекций» разработано в рамках учебных дисциплин «Информационные технологии в управлении» и «Информационные системы в экономике» в соответствии с Федеральным государственным образовательным стандартом высшего профессионального образования по направлениям 080400.62 «Управление персоналом», 80200.62 «Менеджмент», 081100.62 «Государственное и муниципальное управление», 100700.62 «Торговое дело», 080100 «Экономика».

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

4

1. Понятие СУБД

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

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

поддержка надежного хранения информации во внешней памяти компьютера;

выполнение специфических для данного приложения преобразований информации и/или вычислений;

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

Всоответствии с основными задачами обычно выделяются следующие основные функции СУБД:

управление данными во внешней памяти;

выполнение транзакций;

восстановление информации после сбоев (журнализация);

поддержка интегрированного языка баз данных.

Интерфейс:

Ввод информации

Система запросов по поиску информации

Вывод информации

на экран

на носители информации

Хранение

информации

Необходимая обработка информации

Рис. 1. Основные задачи СУБД

5

1.1.Управление данными во внешней памяти

Эта функция объединяет обеспечение доступа к данным, размещенным во

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

1.2. Понятие транзакции

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

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

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

6

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

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

1.3. Восстановление информации после сбоев

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

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

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

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

7

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

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

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

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

1.4. Понятие интегрированного языка SQL

Для работы с базами данных используются несколько специальных языков, в

целом называемых языками баз данных.

8

Наличие мощного и в то же время простого языка, позволяющего выполнять все необходимые пользователям операции, является базовым требованием к СУБД. В последние годы таким повсеместно принятым языком стал язык реляционных БД SQL – Structured Query Language (теперь все чаще название языка по-

нимается как Standard Query Language).

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

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

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

9

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