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

Лекции ПрБД, 2 курс 3 семестр (для ИВТ и т.п.) / Проектирование БД_уч пособие v02

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

Министерство цифрового развития, связи и массовых коммуникаций Российской Федерации

Федеральное государственное бюджетное образовательное учреждение высшего образования

«ПОВОЛЖСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ТЕЛЕКОММУНИКАЦИЙ И ИНФОРМАТИКИ»

Кафедра прикладной информатики

Диязитдинова А.Р.

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

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

для направлений 02.03.03, 09.03.01, 09.03.03, 09.03.04, 27.03.05

Самара, 2021 г.

УДК 681.3

Рекомендовано к изданию методическим советом ПГУТИ, протокол № 22 от 15.03.2022

Диязитдинова, А.Р.

Д50 Основы проектирования баз данных: учебное пособие – Самара: ФГБОУ ВО ПГУТИ, 2022. – 245 с.

Табл. 14, Ил. 72. Библ. 24

Рецензенты Головнин О.К. – заместитель директора по управлению проектами

ООО «Открытый код», к.т.н., доцент

Пальмов С.В. – доцент кафедры информационных систем и технологий Поволжского государственного университета телекоммуникаций

иинформатики, к.т.н.

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

Предлагаемое учебное пособие предназначено для подготовки бакалавров по специальностям 02.03.03 Математическое обеспечение и администрирование информационных систем, 09.03.01 Информатика и вычислительная техника, 09.03.03 Прикладная информатика, 09.03.04 Программная инженерия, 27.03.05 Инноватика. Может быть полезно студентам других направлений подготовки, изучающих автоматизированные информационные системы и технологии реляционных баз данных.

©Диязитдинова А.Р., 2022

2

Содержание

ВВЕДЕНИЕ ___________________________________________________7

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

1.1ФАЙЛОВЫЕ СИСТЕМЫ ОБРАБОТКИ ДАННЫХ _______________________11

1.1.1Подход, используемый в файловых системах................................. 11

1.1.2Ограничения, присущие файловым системам................................ 15

1.2ИСТОРИЯ РАЗВИТИЯ БАЗ ДАННЫХ_______________________________17 ВОПРОСЫ ДЛЯ САМОПРОВЕРКИ ___________________________________22

2ФУНКЦИИ СУБД. ТИПОВАЯ ОРГАНИЗАЦИЯ СУБД.__________23

2.1ОСНОВНЫЕ ФУНКЦИИ СУБД __________________________________23

2.2ТИПОВАЯ ОРГАНИЗАЦИЯ СУБД ________________________________28

2.3КОМПОНЕНТЫ СУБД ________________________________________29

2.4ПРЕИМУЩЕСТВА И НЕДОСТАТКИ СУБД__________________________31 ВОПРОСЫ ДЛЯ САМОПРОВЕРКИ ___________________________________33

3 РАННИЕ ПОДХОДЫ К ОРГАНИЗАЦИИ БД ___________________34

3.1ИЕРАРХИЧЕСКИЕ СИСТЕМЫ ___________________________________35

3.2СЕТЕВЫЕ СИСТЕМЫ _________________________________________40

3.3ОСНОВНЫЕ ОСОБЕННОСТИ СИСТЕМ, ОСНОВАННЫХ НА ИНВЕРТИРОВАННЫХ

СПИСКАХ ____________________________________________________44 ВОПРОСЫ ДЛЯ САМОПРОВЕРКИ ___________________________________48

4 ОБЩИЕ ПОНЯТИЯ РЕЛЯЦИОННОГО ПОДХОДА К ОРГАНИЗАЦИИ БАЗЫ ДАННЫХ ______________________________48

4.1 БАЗОВЫЕ ПОНЯТИЯ РЕЛЯЦИОННЫХ БАЗ ДАННЫХ ___________________50 4.2. ФУНДАМЕНТАЛЬНЫЕ СВОЙСТВА ОТНОШЕНИЙ ____________________55 4.3 ТРАКТОВКА РЕЛЯЦИОННОЙ МОДЕЛИ ДАННЫХ _____________________57

ВОПРОСЫ ДЛЯ САМОПРОВЕРКИ ___________________________________60

5 БАЗИСНЫЕ СРЕДСТВА МАНИПУЛИРОВАНИЯ РЕЛЯЦИОННЫМИ ДАННЫМИ _______________________________60

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

5.2РЕЛЯЦИОННОЕ ИСЧИСЛЕНИЕ __________________________________70 ВОПРОСЫ ДЛЯ САМОПРОВЕРКИ ___________________________________72

6 ПРОЦЕСС ПРОЕКТИРОВАНИЯ БД __________________________72

3

6.1ТРЕХУРОВНЕВАЯ АРХИТЕКТУРА ANSI-SPARC ____________________73

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

6.2.1 Концептуальное проектирование....................................................

77

6.2.2 Логическое проектирование.............................................................

87

6.2.3. Физическое проектирование............................................................

95

ВОПРОСЫ ДЛЯ САМОПРОВЕРКИ ___________________________________99

7 ПРОЕКТИРОВАНИЕ РЕЛЯЦИОННЫХ БД НА ОСНОВЕ ПРИНЦИПОВ НОРМАЛИЗАЦИИ ______________________________99

7.1ПРОБЛЕМЫ ПРОЕКТИРОВАНИЯ БД ______________________________99

7.2ПРОЕКТИРОВАНИЕ РЕЛЯЦИОННЫХ БАЗ ДАННЫХ С ИСПОЛЬЗОВАНИЕМ

НОРМАЛИЗАЦИИ ______________________________________________100 ВОПРОСЫ ДЛЯ САМОПРОВЕРКИ __________________________________108

8 ПРОЕКТИРОВАНИЕ РЕЛЯЦИОННЫХ БД С ИСПОЛЬЗОВАНИЕМ СЕМАНТИЧЕСКИХ МОДЕЛЕЙ: ERДИАГРАММЫ_______________________________________________108

8.1ER-МОДЕЛЬ П. ЧЕНА _______________________________________111

8.2НОТАЦИЯ IE (INFORMATION ENGINEERING) ИНФОРМАЦИОННОГО

ПРОЕКТИРОВАНИЯ ____________________________________________114

8.3НОТАЦИЯ БАРКЕРА_________________________________________115

8.4МЕТОДОЛОГИЯ IDEF1X_____________________________________118

8.5ПОЛУЧЕНИЕ РЕЛЯЦИОННОЙ СХЕМЫ ИЗ ER-СХЕМЫ ________________124

ВОПРОСЫ ДЛЯ САМОПРОВЕРКИ __________________________________127

9 SQL (STRUCTURED ENGLISH QUERY LANGUAGE)___________127

9.1 ИСТОРИЯ SQL. ИСТОРИЯ СТАНДАРТА SQL. УРОВНИ СООТВЕТСТВИЯ.

КЛАССЫ ИНСТРУКЦИЙ SQL _____________________________________127

9.2 ИДЕНТИФИКАТОРЫ. КОНСТАНТЫ. ОПЕРАТОРЫ. ТИПЫ ДАННЫХ.

ОГРАНИЧЕНИЯ _______________________________________________129 9.3 ОБЩАЯ ХАРАКТЕРИСТИКА ЯЗЫКА______________________________133

9.3.1 Структура SQL................................................................................

134

9.3.2 Оператор выбора SELECT .............................................................

136

9.3.3 Применение агрегатных функций и группировки.........................

142

9.3.4 Раздел ORDER BY и ключевое слово TOP......................................

147

9.3.5 Вложенные запросы ........................................................................

148

9.3.6 Внутренние и внешние объединения..............................................

150

9.3.7 Перекрестные запросы ...................................................................

154

9.3.8 Операторы манипулирования данными ........................................

155

4

 

9.3.9 Запросы на создание таблиц ..........................................................

157

9.3.10 Использования языка определения данных..................................

158

ВОПРОСЫ ДЛЯ САМОПРОВЕРКИ __________________________________162

10 ФИЗИЧЕСКОЕ ПРОЕКТИРОВАНИЕ БД ____________________162

10.1ФОРМАТ И РАЗМЕЩЕНИЕ ФИЗИЧЕСКИХ (ХРАНИМЫХ) ЗАПИСЕЙ ______162

10.2МЕТОДЫ ДОСТУПА К ДАННЫМ _______________________________167 ВОПРОСЫ ДЛЯ САМОПРОВЕРКИ __________________________________176

11ТРАНЗАКЦИИ И ЦЕЛОСТНОСТЬ БАЗ ДАННЫХ____________176

11.1ПОНЯТИЕ ТРАНЗАКЦИИ_____________________________________178

11.2ОГРАНИЧЕНИЯ ЦЕЛОСТНОСТИ _______________________________179

11.3КЛАССИФИКАЦИЯ ОГРАНИЧЕНИЙ ЦЕЛОСТНОСТИ_________________181

11.3.1Классификация ограничений целостности по способам

реализации..................................................................................................

181

11.3.2Классификация ограничений целостности по времени проверки183

11.3.3Классификация ограничений целостности по области действия184

ВОПРОСЫ ДЛЯ САМОПРОВЕРКИ __________________________________189

12 ЖУРНАЛИЗАЦИЯ ________________________________________190

12.1СПОСОБЫ ЗАВЕРШЕНИЯ ТРАНЗАКЦИЙ _________________________190

12.2ЖУРНАЛ ТРАНЗАКЦИЙ _____________________________________195

12.3ЖУРНАЛИЗАЦИЯ И БУФЕРИЗАЦИЯ_____________________________199

12.3.1 Индивидуальный откат транзакции...........................................

201

12.3.2 Восстановление после мягкого сбоя ............................................

202

12.3.3 Физическая согласованность базы данных.................................

203

12.3.4 Восстановление после жесткого сбоя........................................

206

12.4 ПАРАЛЛЕЛЬНОЕ ВЫПОЛНЕНИЕ ТРАНЗАКЦИЙ ____________________207

ВОПРОСЫ ДЛЯ САМОПРОВЕРКИ __________________________________215

13ДЕНОРМАЛИЗАЦИЯ______________________________________216

13.1ПОНЯТИЕ О ДЕНОРМАЛИЗАЦИИ ______________________________216

13.2НИСХОДЯЩАЯ ДЕНОРМАЛИЗАЦИЯ ____________________________217

13.3ВОСХОДЯЩАЯ ДЕНОРМАЛИЗАЦИЯ ____________________________218

13.4ВНУТРИТАБЛИЧНАЯ ДЕНОРМАЛИЗАЦИЯ ________________________219

13.5ДЕНОРМАЛИЗАЦИЯ МЕТОДОМ «РАЗДЕЛЯЙ И ВЛАСТВУЙ»___________220

13.6ДЕНОРМАЛИЗАЦИЯ МЕТОДОМ СЛИЯНИЯ ТАБЛИЦ _________________221

13.7МЕТОДЫ РЕАЛИЗАЦИИ ДЕНОРМАЛИЗАЦИИ: РАЗБИЕНИЕ ТАБЛИЦ БАЗЫ

ДАННЫХ ____________________________________________________222

5

13.7.1 Вертикальное разбиение длинных строк ....................................

223

13.7.2 Горизонтальное разбиение таблиц..............................................

226

13.7.3 Разбиение таблиц и ссылочная целостность.............................

227

ВОПРОСЫ ДЛЯ САМОПРОВЕРКИ __________________________________230

14РАСПРЕДЕЛЕННЫЕ БД ___________________________________231

14.1ТРЕБОВАНИЯ К РАСПРЕДЕЛЕННЫМ БД _________________________231

14.2СПОСОБЫ РАСПРЕДЕЛЕНИЯ БД_______________________________234

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

«СНИЗУ ВВЕРХ» ______________________________________________237

14.4ПРЕИМУЩЕСТВА И НЕДОСТАТКИ РАСПРЕДЕЛЕННЫХ СУБД_________241

ВОПРОСЫ ДЛЯ САМОПРОВЕРКИ __________________________________243

ИСПОЛЬЗОВАННЫЕ ИСТОЧНИКИ __________________________244

6

Введение

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

Термин «база данных» может интерпретироваться различными авторами в контексте каждой задачи проектирования по-разному, в зависимости от цели, которой необходимо достигнуть при решении конкретной задачи проектирования. В широком смысле слова база данных – это совокупность сведений о конкретных объектах реального мира, в какой-либо предметной области. Более узкая трактовка рассматривает БД как хранилище данных для совместного использования [21] и под базой данных понимают именованную совокупность данных, отражающих состояние объектов и их отношений в рассматриваемой предметной области.

Настоящее учебное пособие посвящено общим вопросам проектирования реляционных баз данных (БД). Значительная часть ИТ-проектов направлена на разработку и создание информационных систем (ИС), в рамках которых осуществляется обработка данных различной сложности. Целью таких проектов является разработка и создание ИС с базами данных некоторого класса. Практически во всех таких проектах ставится и решается задача проектирования БД. Решение задачи проектирования повышает вероятность того, что разрабатываемая информационная система с базами данных (далее – ИС) будет удовлетворять заданным функциональным требованиям с учетом заданных ограничений [22].

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

Базы данных всегда проектируются под конкретное назначение системы. Техника проектирования БД может измениться и весьма существенно, в

7

зависимости от назначения системы. Например, следует различать проектирование систем складирования данных от OLTP-систем.

При проектировании БД необходимо учитывать, что база данных имеет следующие свойства:

действует в рамках некоторой внешней среды;

имеет свою внутреннюю архитектуру;

имеет свое собственное лингвистическое содержание;

имеет свои средства взаимодействия с окружающей средой;

функционирует на конкретной программно-аппаратной платформе;

поддерживается в рамках определенных организационно-технологических мероприятий.

Таким образом, БД является сложным многокомпонентным объектом

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

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

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

Настоящее учебное пособие представляет собой конспект лекций по дисциплине «Проектирование баз данных», в котором рассматриваются основные аспекты проектирования реляционных БД.

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

8

1 Базы данных и файловые системы

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

Очевидно, что использование данных как ресурса предполагает [6]:

представление самого понятия «данные»;

умение их собирать и анализировать;

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

наличие среды хранения полученных сведений, которые могут надежно сохраняться только при наличии четких процедур накопления, планирования и ведения данных;

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

наличие администратора данных.

это информация, представленная в определенном виде,

ДАННЫЕ

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

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

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

9

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

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

программно-аппаратный комплекс, функции которого состоят в надежном хранении информации в памяти ИНФОРМАЦИОННАЯ компьютера, выполнении специфических для данно-

СИСТЕМА го приложения преобразований информации и/или вычислений, предоставлении пользователям удобного и легко осваиваемого интерфейса

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

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

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

10

Соседние файлы в папке Лекции ПрБД, 2 курс 3 семестр (для ИВТ и т.п.)