Занимательное программирование. Базы данных : манга
Покупка
Тематика:
Информатика. Вычислительная техника
Издательство:
ДМК Пресс
Автор:
Такахаши Манна
Перевод:
Сенникова Т. И.
Художник:
Сёко Адзума
Год издания: 2023
Кол-во страниц: 240
Дополнительно
Вид издания:
Научно-популярная литература
Уровень образования:
Дополнительное образование
ISBN: 978-5-89818-536-7
Артикул: 481382.03.99
У принцессы Руруны и Кейна возникла проблема: в их торгующей фруктами империи царит неразбериха из-за противоречивых данных, и поэтому дыни подменяются яблоками и клубникой, что вызывает большие трудности в работе. И что же им делать? Конечно же, построить реляционную базу данных, и поможет им в этом Тико, чудесная фея баз данных. Она покажет Руруне и Кейну, как создать базу данных, которая поможет управлять продажами, реализацией товара и его экспортом. Вы узнаете, как работает база данных, и поймёте значение таких терминов, как схемы, ключи, нормализация и транзакции.
Если у вас голова идёт кругом, когда речь заходит о базах данных, или же вы просто заплутали в лабиринте чисел и данных, которые, как вам кажется, неподвластны контролю, присоединяйтесь к Руруне и Кейну.
Тематика:
ББК:
УДК:
ОКСО:
ГРНТИ:
Скопировать запись
Фрагмент текстового слоя документа размещен для индексирующих роботов
Занимательное программирование БАЗЫ ДАННЫХ Манга
О Б Р А З О В А Т Е Л Ь Н А Я М А Н Г А ЗАНИМАТЕЛЬНОЕ ПРОГРАММИРОВАНИЕ БАЗЫ ДАННЫХ Мана Такахаси Сёко Адзума Ìîñêâà Äîäýêà, ÄÌÊ Ïðåññ, 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