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

Занимательное программирование. Базы данных : манга

Покупка
Артикул: 481382.03.99
Доступ онлайн
399 ₽
В корзину
У принцессы Руруны и Кейна возникла проблема: в их торгующей фруктами империи царит неразбериха из-за противоречивых данных, и поэтому дыни подменяются яблоками и клубникой, что вызывает большие трудности в работе. И что же им делать? Конечно же, построить реляционную базу данных, и поможет им в этом Тико, чудесная фея баз данных. Она покажет Руруне и Кейну, как создать базу данных, которая поможет управлять продажами, реализацией товара и его экспортом. Вы узнаете, как работает база данных, и поймёте значение таких терминов, как схемы, ключи, нормализация и транзакции. Если у вас голова идёт кругом, когда речь заходит о базах данных, или же вы просто заплутали в лабиринте чисел и данных, которые, как вам кажется, неподвластны контролю, присоединяйтесь к Руруне и Кейну.
Такахаши, М. Занимательное программирование. Базы данных : манга : научно-популярное издание / М. Такахаши ; худож. Сёко Адзума ; пер. с яп. Т. И. Сенниковой. - 2-е изд. - Москва : ДМК Пресс, 2023. - 240 с. - (Образовательная манга). - ISBN 978-5-89818-536-7. - Текст : электронный. - URL: https://znanium.com/catalog/product/2107214 (дата обращения: 03.06.2024). – Режим доступа: по подписке.
Фрагмент текстового слоя документа размещен для индексирующих роботов. Для полноценной работы с документом, пожалуйста, перейдите в ридер.
Занимательное программирование
БАЗЫ ДАННЫХ

Манга
 
 

О Б Р А З О В А Т Е Л Ь Н А Я  М А Н Г А

ЗАНИМАТЕЛЬНОЕ ПРОГРАММИРОВАНИЕ
БАЗЫ ДАННЫХ

Мана Такахаси
Сёко Адзума

Ìîñêâà 
Äîäýêà, ÄÌÊ Ïðåññ, 2023

Перевод

 
Сенниковой Т. И.

2-е издание, электронное
УДК 004.6
ББК 32.972.34
Т15

Т15
Такахаси, Мана.

Занимательное программирование. Базы данных : манга / Мана Такахаси (автор), Сёко Адзума (худож.) ; 
пер. с яп. Т. И. Сенниковой. — 2-е изд., эл. — 1 файл pdf : 240 с. — Москва : ДМК Пресс, 2023. — (Образовательная 
манга). — Систем. требования: Adobe Reader XI либо Adobe Digital Editions 4.5 ; экран 10". — 
Текст : электронный.

ISBN 978-5-89818-536-7
У принцессы Руруны и Кейна возникла проблема: в их торгующей фруктами империи царит неразбериха из-за 
противоречивых данных, и поэтому дыни подменяются яблоками и клубникой, что вызывает большие трудности 
в работе. И что же им делать? Конечно же, построить реляционную базу данных, и поможет им в этом Тико, чудесная 
фея баз данных. Она покажет Руруне и Кейну, как создать базу данных, которая поможет управлять продажами, 
реализацией товара и его экспортом. Вы узнаете, как работает база данных, и поймёте значение таких 
терминов, как схемы, ключи, нормализация и транзакции.
Если у вас голова идёт кругом, когда речь заходит о базах данных, или же вы просто заплутали в лабиринте 
чисел и данных, которые, как вам кажется, неподвластны контролю, присоединяйтесь к Руруне и Кейну.

УДК 004.6  
ББК 32.972.34

Электронное издание на основе печатного издания: Занимательное программирование. Базы данных : манга / Мана Такаха-
си (автор), Сёко Адзума (худож.) ; пер. с яп. Т. И. Сенниковой. — Москва : ДМК Пресс, 2014. — 238 с. — (Образовательная 
манга). — ISBN 978- 5-97060-044-3. — Текст : непосредственный.

Издательство выражает благодарность В. О. Панфилову

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

В соответствии со ст. 1299 и 1301 ГК РФ при устранении ограничений, установленных техническими средствами защиты авторских прав, правообладатель 
вправе требовать от нарушителя возмещения убытков или выплаты компенсации.

ISBN 978-5-89818-536-7
©  2005 by Mana Takahashi and Trend-Pro Co., Ltd.
© Перевод, Издательский дом «Додэка-XXI», 2013
© Редактура, издание, ДМК Пресс, 2014
 

Предисловие

Базы данных являются крайне важной частью практически всех автоматизированных 
коммерческих систем. Возможно, некоторые из читателей этой книги 
задумываются о том, чтобы внедрить базы данных в их повседневную работу. 
Другим, возможно, нужно разработать базу данных для решения реальных коммерческих 
задач. База данных - это технология, которая поддерживает работу 
таких бизнес-систем и обеспечивает техническую составляющую, и её истинную 
сущность понять непросто.
Эта книга построена так, чтобы читатель мог овладеть основами проектирования 
баз данных с помощью истории в стиле манга. В конце каждой главы даются 
практические задания с целью укрепления и расширения полученных знаний. 
Каждая глава построена так, чтобы читатель достиг понимания технологии 
баз данных, оценивая при этом, насколько хорошо он усвоил прочитанное.
Построение материала выглядит следующим образом:
В Главе 1 рассказывается, для чего мы используем базы данных. Зачем нужны 
базы данных? Какие могут возникать проблемы, если их не использовать? 
Вы получите обзорную информацию, которая необходима при использовании 
баз данных.
В Главе 2 даётся основная терминология. Вы узнаете о различных моделях 
баз данных и других относящихся к ним понятиях.
В Главе 3 объясняется, как разработать базу данных, а в частности реляционную 
базу данных – наиболее распространённый вид БД.
Глава 4 посвящена языку SQL, который применяется для работы с реляционными 
базами данных. С помощью этого языка вы можете легко управлять данными.

В Главе 5 объясняется структура системы баз данных. Так как БД - это система, 
посредством которой данными пользуется большое количество людей, 
вы научитесь тому, как сделать этот процесс безопасным. 
В Главе 6 приводятся описания приложений для работы с базами данных. Вы 
узнаете, как используются веб-приложения и другие виды систем баз данных.
Многие внесли свой вклад в издание этой книги: Шоко Азума (рисунки), 
компания TREND-PRO (издание), издательство Ohmsha (планирование, редактирование, 
маркетинг). Выражаю свою глубокую признательность всем участникам 
проекта.
Надеюсь, эта книга будет полезна всем её читателям.

Мана Такахаси 

v
Содержание

1. ЧТО ТАКОЕ БАЗА ДАННЫХ ................... 1
Зачем нам базы данных? ...............................2
Что случилось в королевстве? ....................... 16
Данные дублируются .................................. 16
Данные могут противоречить друг другу ........... 17
Данные трудно обновлять ............................. 18
Наш ответ — база данных! ............................ 19
Как пользоваться базой данных?..................... 19
Итоги .................................................... 21
Использование программного обеспечения 
для управления базами данных ...................... 21

2. ЧТО ТАКОЕ РЕЛЯЦИОННАЯ БАЗА
ДАННЫХ ........................................... 23

Термины, используемые в базах данных ........... 24
Реляционные базы данных ........................... 34
Какие бывают модели данных ....................... 39
Операции извлечения данных ........................ 39
Теоретико-множественные операции ................................. 39
Специальные реляционные операции ............................... 43
Вопросы и задания .................................... 46
Да здравствует реляционная база данных! .......... 48
Итоги .................................................... 48
Ответы .................................................. 48

3. ДАВАЙТЕ СПРОЕКТИРУЕМ БАЗУ ДАННЫХ! 49
Модель сущность-связь (E-R-модель) ............. 50

содержание

vi
Содержание

Нормализация таблицы ............................... 56
Что такое модель сущность-связь (E-R-модель) .. 74
Как анализировать модель сущность -связь ......... 74

Пример 1. Связь «один к одному» ........................................75
Пример 2. Связь «один ко многим» .....................................75
Пример 3. Связь «многие ко многим» ................................76
Вопросы и задания .................................................................... 76
Нормализация таблицы ............................... 78
Вопросы и задания .................................................................... 79
Стадии разработки базы данных ..................... 81
Итоги .................................................... 82
Ответы .................................................. 82
Проектирование базы данных ........................ 84

4. ДАВАЙТЕ ИЗУЧАТЬ SQL! ...................... 85
Применение SQL ...................................... 86
Поиск данных с помощью команды SELECT ....... 93
Применение агрегатных функций ................... 98
Соединение таблиц ...................................101
Создание таблиц ......................................103
Обзор языка SQL .....................................106
Поиск данных с помощью команды SELECT ......106
Создание условий ....................................107
Операторы сравнения ..............................................................107
Логические операторы ...............................107
Шаблоны ...............................................108
Поиск ..................................................109
Вопросы и задания ...................................109
Агрегатные функции .................................110
Агрегирование данных. Группирование ............................111
Вопросы и задания ...................................112
Поиск данных .........................................113

vii
Содержание

Использование подзапроса ................................................... 114
Коррелированный подзапрос ............................................... 115
Вопросы и задания ................................................................... 116
Соединение таблиц ...................................116
Создание таблиц ......................................117
Вставка, обновление и удаление строк ............118
Представление ........................................119
Вопросы и задания ...................................................................120
Использование SQL из прикладного ПО ..........121
Перемещение по записям  
с использованием курсора ...........................124
Итоги ...................................................124
Ответы .................................................125
Стандартизация SQL ..................................128

5. ДАВАЙТЕ УПРАВЛЯТЬ БАЗОЙ ДАННЫХ! ..129
Что такое транзакция? ................................130
Что такое блокировка (lock)? ........................135
Защита базы данных .................................142
Как всё ускорить с помощью индексирования .....147
Аварийное восстановление ..........................152
Свойства транзакций .................................157
Атомарность (Atomicity) ..............................158
Вопросы и задания ...................................................................159
Согласованность (Consistency) .......................159
Изоляция (isolation) ...................................160
Вопросы и задания ................................................................... 161

Двухфазное блокирование (two-phase locking)  ...161
Детализация блокировок .............................162
Вопросы и задания ...................................................................163
Другие виды управления параллелизмом 
(параллельным доступом) ...........................163

viii
Содержание

управление меткой времени (Timestamp control) ..........163
Оптимистическое управление параллелизмом 
(Optimistic control) ...................................................................163
Уровни изоляции .....................................164
Устойчивость ..........................................165
Вопросы и задания ...................................................................166
Индексы (Index) ......................................167
Вопросы и задания ...................................................................169
Оптимизация запроса ................................169
Соединение вложенных циклов (Nested Loop Join)  .... 171
Соединение сортировка-слияние (Sort Merge Join) ... 171
Хэш-соединение (Hash Join) ................................................172
Оптимизатор (optimizer) ........................................................172
На базе правил (rule based)  ..................................................172
По стоимости выполнения (cost based)  ..........................172
Когда наступает катастрофа  ........................172
Виды сбоев ..................................................................................173
Контрольные точки (Checkpoints) ....................173
Вопросы и задания ...................................................................174
Итоги ...................................................174
Ответы .................................................174

6. КРУГОМ БАЗЫ ДАННЫХ  ....................177
Применение баз данных ..............................183
Базы данных и "Всемирная паутина" ...............185
Распределённые базы данных  ......................191
Хранимые процедуры и триггеры ..................193
Базы данных в Интернете ............................202
Использование хранимых процедур ................205
Вопросы и задания ..................................................................206
Что такое распределённая база данных 
(Distributed Database)? ..............................206

ix
Содержание

Горизонтальное распределение (Horizontal  
Distribution) ...............................................................................206
Вертикальное распределение (Vertical Distribution) ...207
Декомпозиция данных (Data partitioning) ..........208
Горизонтальная декомпозиция (Horizontal Partition) ..208
Вертикальная декомпозиция (Vertical Partition) ...........209
Предотвращение несогласованности  
при двухфазной фиксации транзакций .............209
Вопросы и задания ................................................................... 211
Связанные таблицы в распределённых БД .........211
Вложенные циклы (nested loop)  .........................................212
Сортировка слиянием (sort merge) .....................................212
Полуслияние (semi join) .........................................................213
Хэш-полуслияние (hash semi join)  ................................ 214

Репликация баз данных (Database replication) .....215
Только чтение (read-only) ......................................................215
Репликация, доступная для всех серверов .......................216
Дальнейшее применение баз данных ..............217
XML ................................................................................................217
Объектно-ориентированные базы данных (OODB)  .......217
Итоги ...................................................219
Ответы .................................................219
Подведение итогов ...................................220

ЧАСТО ИСПОЛЬЗУЕМЫЕ SQL-КОМАНДЫ ....221

СПРАВОЧНАЯ ЛИТЕРАТУРА .....................222

ПРЕДМЕТНЫЙ УКАЗАТЕЛЬ
 .......................223

x
Что такое 

база данных

1. 
1. Что такое база  данных

2

Ваше Высочество, 
Принцесса Руруна...

Клац, 
клац

Бла, бла, бла

Но, Колонэ, 

дорогая моя,...

не будьте 

такой 
грустной!

зачем нам базы данных?

Суета

Клубника 

нового 
урожая

Дыни

Яблоки

Фру

Ко

р

о

л

е

в

с

т

в

о

 

Я

м

с
Ох...

Бр...

Бах!

отдел 

экспорта

отдел 

разви тия

отдел 
продаж

Вот, возьмите ещё.

Ла-ди-дада, 
ла-ди-дум

Благословенная 
земля, ля-ля

Какой

чудес ный день!

Мне так много 
надо сделать!

Королевство Ямс - 
"Страна фруктов".

Знатным будет 

урожай!

Вам бы радоваться, 
что так много дел!

Жаль, 

что я не могу 

работать 
быстрее.

Ну, что вы, ваше 

высочество, 
Я регулярно приношу 
вам документы,

у нас 

чрезвычайно 
эффективная 
система!

А теперь 

за работу!

составленные 

отделом продаж, 
отделом развития 

и отделом экспорта, 

так ведь?
И вы прекрасно 
справляетесь!

Ну, да.

Целая гора
Гмм...

Как-то не очень 
удобно работать 

отдельно с данными 
по каждому отделу.

Целая морока 

была, когда цены 
на яблоки пришли 

только на 
следующий день.

Ваше 

высочество, 
Принцесса 
Руруна!

У меня 

подарок 

от короля.

А, это ты, Кейн. 

Что у тебя?

От моего отца?..

Если бы мои родители 
всё ещё были в замке, 

этой неразберихи с 

ценами не произошло 

бы!..

Вам обязательно 

уезжать?

Принцесса?


Бах!

дрожь
дрожь

В 

не

да

лёк

ом 

про

шл

ом

..

.
заЧем нам базы  данных?
5

Что делать, моя 

дорогая! Визиты к 
коллегам-королям 

входят в мои 
обязанности!

Кейн, 

позаботься  
о принцессе, 

пока нас 
не будет.

Д-да, 
Ваше 
Вели -

чество!

Берегите 

себя, 
дочь моя!

Невероятно!
заставили меня 

работать, 

а сами уехали. 
не могу в это 

поверить!

Письмо?..
Ну, 

какой-то 

пакет...

Но, Руруна,  
король решился 
на эту поездку, 
потому что он 

тебе доверяет.

Ну, ладно!

И что же он мне 

прислал?
...и письмо

Пожалуйста, 

успо-

койся.
Так 

 

расстроилась!

 

Цок

оХ-хо-хо

Цок

хо!

Цок

Об

рат

но 

в н

аст

оя

ще

е.

..

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