Книжная полка Сохранить
Размер шрифта:
А
А
А
|  Шрифт:
Arial
Times
|  Интервал:
Стандартный
Средний
Большой
|  Цвет сайта:
Ц
Ц
Ц
Ц
Ц

Базы данных

Покупка
Основная коллекция
Артикул: 322400.08.01
Доступ онлайн
от 368 ₽
В корзину
Учебник предназначен для изучения основ проектирования и реализации реляционных баз данных. Достаточно подробно рассматриваются фундаментальные понятия и принципы организации моделей данных «сущность — связь» и реляционной модели данных, включающие в себя основные характеристики структурных компонентов, манипуляционную и целостную части с использованием элементов теории множеств, реляционной алгебры и реляционного исчисления. Описаны основные этапы создания и использования системы базы данных: определение семантических зависимостей на разных уровнях абстракции; проектирование с учетом принципов нормализации; реализация и сопровождение с использованием декларативного языка. Детально представлены методы доступа к данным на основе: древовидных, хэш и битовых структур. Описаны основные операции оптимизатора SQL-запросов, а также методика интерпретации плана SQL-запроса. Каждый раздел сопровождается практическими примерами и вопросами для самостоятельной оценки усвоенного материала. Соответствует требованиям Федерального государственного образовательного стандарта высшего образования (ФГОС ВО) последнего поколения. Для студентов высших учебных заведений, обучающихся по направлению подготовки 09.03.01 «Информатика и вычислительная техника», специализация — «Высокопроизводительные компьютерные системы и технологии». Дисциплина включена в базовую часть профессионального цикла дисциплин ФГОС ВО.
119

Только для владельцев печатной версии книги: чтобы получить доступ к дополнительным материалам, пожалуйста, введите последнее слово на странице №77 Вашего печатного экземпляра.

Шустова, Л. И. Базы данных : учебник / Л.И. Шустова, О.В. Тараканов. — Москва : ИНФРА-М, 2023. — 304 с. + Доп. материалы [Электронный ресурс]. — (Высшее образование: Бакалавриат). — DOI 10.12737/11549. - ISBN 978-5-16-010485-0. - Текст : электронный. - URL: https://znanium.com/catalog/product/1986697 (дата обращения: 27.04.2024). – Режим доступа: по подписке.
Фрагмент текстового слоя документа размещен для индексирующих роботов. Для полноценной работы с документом, пожалуйста, перейдите в ридер.
БАЗЫ

ДАННЫХ

УЧЕБНИК

Л.И. ШУСТОВА
О.В. ТАРАКАНОВ

Допущено

Учебно-методическим объединением

по образованию в области прикладной информатики

в качестве учебника для студентов,

обучающихся по направлению подготовки 09.03.03

«Прикладная информатика»

(квалификация (степень) «бакалавр»)

Москва

ИНФРА-М

202
Ш97

ISBN 978-5-16-010485-0 (print)
ISBN 978-5-16-102495-9 (online)
© Шустова Л.И., Тараканов О.В., 2016

Р е ц е н з е н т ы:

В.Г. Грибунин — д-р техн. наук, главный научный сотрудник Института инже-

нерной физики;

В.И. Перекатов — д-р техн. наук, проф., зав. кафедрой Московского физико-

технического института

УДК 002:004(075.8)
ББК 32.81:32.97я73
 
Ш97

Шустова Л.И.

Базы данных : учебник / Л.И. Шустова, О.В. Тараканов. — Москва : 

ИНФРА-М, 2023. — 304 с. + Доп. материалы [Электронный ресурс]. — 
(Высшее образование: Бакалавриат). — DOI 10.12737/11549.

ISBN 978-5-16-010485-0 (print)
ISBN 978-5-16-102495-9 (online)
Учебник предназначен для изучения основ проектирования и реализации 

реляционных баз данных. Достаточно подробно рассматриваются фундамен-
тальные понятия и принципы организации моделей данных «сущность – связь» 
и реляционной модели данных, включающие в себя основные характеристики 
структурных компонентов, манипуляционную и целостную части с использо-
ванием элементов теории множеств, реляционной алгебры и реляционного 
исчисления. Описаны основные этапы создания и использования системы 
базы данных: определение семантических зависимостей на разных уровнях 
абстракции; проектирование с учетом принципов нормализации; реализация 
и сопровождение с использованием декларативного языка. Детально пред-
ставлены методы доступа к данным на основе: древовидных, хэш и битовых 
структур. Описаны основные операции оптимизатора SQL-запросов, а также 
методика интерпретации плана SQL-запроса.

Каждый раздел сопровождается практическими примерами и вопросами 

для самостоятельной оценки усвоенного материала. 

Соответствует требованиям Федерального государственного образова-

тельного стандарта высшего образования (ФГОС ВО) последнего поколения.

Для студентов высших учебных заведений, обучающихся по направлению 

подготовки 09.03.01 «Информатика и вычислительная техника», специали-
зация — «Высокопроизводительные компьютерные системы и технологии». 
Дисциплина включена в базовую часть профессионального цикла дисциплин 
ФГОС ВО.

УДК 002:004(075.8)
ББК 32.81:32.97я73

Материалы, отмеченные знаком 
, доступны 

в электронно-библиотечной системе Znanium

ВВедение

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

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

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

языка запросов как стандартного средства управления объектами и 
данными реляционной СУБД. В то же время реализация и сопровождение 
базы данных требуют уже знания конкретной РСУБД. Использование 
возможностей реляционной базы данных (например, написание 
различных запросов, разработка процедур и триггеров для 
реализации необходимого функционального наполнения) также требует 
применения определенной версии языка SQL. Все учебные примеры, 
представленные в данном издании, написаны на диалектах 
языка SQL наиболее распространенных на сегодняшний день поставщиков 
реляционных СУБД — компаний Microsoft и Oracle, в основе 
инструментальных средств работы с базами данных которых 
используется стандарт SQL92.
Эффективная эксплуатация разработанной и реализованной базы 
данных определяется в том числе и производительностью выполняемых 
SQL-запросов. В связи с этим рассматриваются принципы работы 
оптимизатора SQL-запросов, интерпретация плана выполнения 
SQL-запросов, а также подходы по обеспечению условий для оптимального 
выполнения SQL-запросов с точки зрения их производительности. 

В соответствии с изложенным в настоящем издании можно выделить 
следующие основные разделы.
1. Общее понятие модели данных, концептуальное проектирование, 
модель данных сущность–связь. 
2. Реляционная модель данных, функциональные зависимости, 
теория нормализации. 
3. Внутренние структуры хранения, методы доступа к данным, элементы 
оптимизации.
4. Языковые средства реляционных СУБД для реализации баз данных 
и построения SQL-запросов, рассмотрение диалектов языка 
SQL конкретных РСУБД.
5. Принципы работы оптимизатора SQL-запроса, интерпретация 
плана выполнения SQL-запроса, анализ производительности и 
возможные методы повышения эффективности выполнения 
SQL-запроса.

ПредислоВие

Данный учебник предназначен для студентов, обучающихся по 
направлению 230100.62 «Информатика и вычислительная техника», 
специализация –высокопроизводительные компьютерные системы 
и технологии. Дисциплина включена в базовую часть профессионального 
цикла дисциплин ФГОС ВПО (квалификация бакалавр). 
Для освоения дисциплины необходимы компетенции, сформиро-
ванные у обучающихся в результате изучения дисциплин матема-
тического цикла (в частности, дисциплины раздела «Информа-
тика») и дисциплин профессионального цикла раздела «Програм-
мирование». Сформированные при изучении данной дисциплины 
компетенции необходимы для освоения дисциплины общенаучного 
цикла «Архитектура информационных систем». Книга может быть 
использована и по направлению 230401.62 «Прикладная матема-
тика».
Жизненный цикл современных информационных систем в боль-
шинстве случаев предполагает использование, в том числе, и баз 
данных. В настоящее время (на момент написания данного издания) 
существует достаточно большое количество СУБД, в основе которых 
используются различные модели данных, такие как реляционные, 
объектные, объектно-реляционные, сетевые, иерархические и т.п. 
Однако, несмотря на многообразие существующих методологий (раз-
работки) баз данных, подавляющее большинство информационных 
систем, в том числе и масштаба предприятия, в своей основе исполь-
зуют реляционные базы данных. В настоящем издании рассматрива-
ются как концептуальные, так и практические аспекты всех этапов 
жизненного цикла разработки и использования реляционных баз 
данных.
Первые семь глав посвящены фундаментальным принципам по-
строения и использования моделей данных, являющихся основой 
систем баз данных. Рассмотрение моделей данных начинается с по-
нятия информация и заканчивается подробным описанием этапов 
проектирования реляционной модели данных с учетом возможных 
семантических зависимостей и принципов нормализации. 
Процесс реализации модели данных предполагает использование 
языка SQL как средства описания и манипулирования данными, 
поэтому далее рассматривается язык SQL в рамках стандарта SQL92, 
а также его интерпретация в условиях использования конкретных 
СУБД: Microsoft SQL Server и Oracle Database. Описание языка SQL 
сопровождается большим количеством примеров. 

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

ГлаВа 1 
осноВные Понятия

1.1. Понятие данных

Информационные системы предназначены для хранения, вы-
борки и модификации постоянно существующей информации.
Восприятие реального мира можно соотнести с последователь-
ностью разных (часто взаимосвязанных) явлений. Эти явления 
всегда стремились описать (даже если не всегда понятна причина 
явления).
Такие описания внешних явлений образуют данные — они хра-
нятся и обрабатываются. 
Описание внешних явлений (данных) включает два элемента:
 
• разрозненные факты, хранящиеся в ЭВМ (значения);
 
• смысл данных (интерпретация данных, их семантика).
Часто используется как синоним термина данные термин информация. 
Описание данных требует использование некоторого языка. Опи-
сание данных на естественном языке позволяет значения данных 
(факты) и их семантику фиксировать вместе, так как естественный 
язык достаточно гибок для этих целей. Например, можно сказать: 
«Его рост 185 см». Здесь 185 — значение данных, фраза «Его рост … 
см» — семантика данных. В данной фразе значение связано с семантикой, 
и становится понятен и смысл данных, и что с ними можно 
делать.
Нередко данные и их семантика разделены, и такое разделение 
можно встретить и в нашей обычной жизни. Например, расписание 
движения пассажирских поездов может быть представлено в виде 
таблицы, заголовок которой определяет семантику данных, а расположенные 
далее строки — значения данных (табл. 1.1).
Та б л и ц а  1 . 1

Расписание движения пассажирских поездов

Номер 
поезда

Станция 
назначения


Категория 
поезда

Дни 
отправления


Время 
отправления


Время 
в пути

Время 
прибытия


121
Вологда
Пассажирский

По четным
19.40
12
07.40

…
…
…
…
…
…
…

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

1.2. ФайлоВые системы

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

1.3. системы баз данных

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

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

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

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

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

1.4. история разВития сУбд

Ниже приводится краткое описание истории развития баз данных 
и СУБД.
1. Начало 1960-х гг. — файловые системы.

рис. 1.1. Упрощенная схема баз данных

Доступ онлайн
от 368 ₽
В корзину