Система управления базами данных (DBMS)
| English | Русский |
|---|---|
| DBMS/ˌdiː biː em ˈes/ | СМБД (система управления базами данных) |
| view/vjuː/ | представление (view) |
| backup/ˈbækʌp/ | резервная копия |
| data management/ˈdeɪtə ˈmænɪdʒmənt/ | управление данными |
| data dictionary/ˈdeɪtə ˈdɪkʃənəri/ | словарь данных |
| data modelling/ˈdeɪtə ˈmɒdəlɪŋ/ | моделирование данных |
| logical schema/ˈlɒdʒɪkl ˈskiːmə/ | логическая схема |
| data integrity/ˈdeɪtə ɪnˈteɡrɪti/ | целостность данных |
| data security/ˈdeɪtə sɪˈkjʊərɪti/ | безопасность данных |
| transaction/trænˈsækʃn/ | транзакция |
| concurrent access/kənˈkʌrənt ˈækses/ | совместный доступ |
| concurrency control/kənˈkʌrənsi kənˈtrəʊl/ | контроль конкурентности |
| developer interface/dɪˈveləpə ˈɪntəfeɪs/ | интерфейс разработчика |
| query processor/ˈkwɪərɪ ˈprəʊsesə/ | обработчик запросов |
Два человека, одно место
- В 1960 году American Airlines запустила Sabre — первую компьютерную систему бронирования. Агенты в десятках городов могли продавать места на один и тот же рейс одновременно, и главная задача системы заключалась в том, чтобы ни одно место никогда не было продано дважды.
- Общая файловая система не способна этого обеспечить: две программы считывают «место 14C свободно», обе записывают «продано», и два пассажира прибывают к выходу на посадку. Между каждой программой и данными должен стоять посредник, выполняющий роль арбитра.
- Этим посредником является СУБД. Каждая функция, описанная в этом уроке, — это то, чего не могли делать плоские файлы: описывать себя самим, поддерживать согласованность представления данных для каждого пользователя, обеспечивать соблюдение правил, выживать после сбоев и позволять одной команде создавать приложения, пока другая задает вопросы.
- Этот урок охватывает функции, перечисленные в программе, и два программного инструмента, описание которых требуется в задании.
Что такое СУБД
- Система управления базами данных (СУБД) — это программное обеспечение, централизованно управляющее базой данных. Все программы и все пользователи получают доступ к данным исключительно через неё.
- Она устраняет каждое ограничение файловой системы: одна копия каждого факта, поэтому нет избыточности или несоответствий; независимость данных, благодаря чему программы не привязаны к способу хранения; центральная целостность, безопасность, резервное копирование и доступ для множества пользователей одновременно.
- Программа определяет пять функций и два инструмента. Изучайте каждую как действие, которое выполняет СУБД.
Лабораторная работа по сервисам баз данных
Посмотрите, как СУБМ преобразует запрос в безопасный доступ к общим данным.
Соотнесите каждую службу DBMS с её функцией.
DBMS объединяет эти службы, поэтому программы не обращаются к исходным файлам напрямую.
Управление данными и словарь данных
- Управление данными — это контроль со стороны СУБД того, как данные хранятся, организовываются, извлекаются и обновляются, так что программы никогда не обращаются к файлам напрямую.
- Она поддерживает словарь данных: описание каждой таблицы, поля, типа данных, ключа, связи и ограничения, а также информации о том, кто имеет доступ к каким данным. Это данные о данных.
- Программы запрашивают словарь вместо жесткой прописки структуры, поэтому изменение таблицы не ломает их. Именно по словарю СУБД проверяет новые записи при валидации.
Словарь данных в DBMS хранит:
Словарь данных описывает структуру базы данных, поэтому программы queried'ят его, а не используют жестко заданную схему.
Моделирование данных и логическая схема
- Моделирование данных — это определение структуры данных: сущностей, их атрибутов, ключей и связей, как показано на E-R диаграмме.
- Результатом является логическая схема: общий логический проект базы данных, её таблиц и связей, описанный независимо от способа хранения байтов на диске.
- Поскольку логическая схема отделена от физического хранения, его можно реорганизовать, добавить индексы или переместить, и программы всё равно будут видеть те же таблицы.

Программы видят таблицы; СУБД видит диски
Логическая схема базы данных описывает:
Логический дизайн отделен от физического хранения, что позволяет менять хранение без изменения программ.
Целостность данных и безопасность данных
- Целостность данных: СУБД сохраняет корректность и согласованность данных путем централизованного enforcement правил: уникальность и незаполненность первичных ключей, ссылочная целостность для всех внешних ключей, типы данных и ограничения валидации, такие как диапазон или значение из списка.
- Безопасность данных: СУБД контролирует, кто может просматривать и изменять какие данные. Права доступа выдаются индивидуальным пользователям или группам, таблица за таблицей: только чтение, чтение и запись или без доступа; пароли аутентифицируют каждого пользователя; хранящиеся данные могут быть зашифрованы.
- Безопасность также включает процедуры резервного копирования: регулярные копии базы данных с журналом изменений с момента последней копии, чтобы данные можно было восстановить после сбоя.
Какие функции являются функциями безопасности данных в DBMS? Выберите все подходящие варианты.
Доступ и восстановление после потери — это безопасность. Нормализация — это этап проектирования для устранения избыточности.
Разобранное решение: как СУБД обеспечивает безопасность данных
- Опишите, как СУБД обеспечивает безопасность данных. [4]
- У каждого пользователя есть аккаунт и пароль, поэтому вход разрешен только авторизованным лицам. Администратор назначает каждому пользователю или группе права доступа к каждой таблице: клерк может читать цены, но не менять их; клиент вообще не видит таблицу персонала. Представление (view) может показать пользователю только нужные ему поля.
- СУБД выполняет процедуры резервного копирования: регулярную копию базы данных на отдельный носитель с журналом транзакций с момента создания копии, чтобы при сбое или атаке не потерялись данные.
- Безопасность касается того, кто имеет доступ; целостность — того, что данные корректны. Разделяйте эти понятия, если в вопросе упоминается только один из них.
Множество пользователей одновременно
- Параллельный доступ: множество пользователей работают с базой данных одновременно. Управление конкурентным доступом использует блокировки, чтобы два пользователя не могли одновременно обновлять одну и ту же запись и испортить её: второй пользователь ждет, пока первый закончит.
- Транзакция — это группа операций, которые либо все успешно выполняются, либо все отменяются, поэтому сбой во время перевода денег не приведет к потере средств на обоих счетах.
- Представление (view) — это виртуальная таблица, созданная на основе запроса, которая показывает каждому пользователю только его часть данных.
Транзакция базы данных — это:
Транзакции работают по принципу «всё или ничего», поэтому база данных никогда не остается частично обновленной.
Контроль конкурентности (блокировка) необходим, чтобы:
Блокировки предотвращают столкновение двух одновременных обновлений и повреждение общих данных.
Транзакция работает по принципу «всё или ничего»: она либо полностью завершается (commit), либо полностью откатывается (rollback), поэтому база данных никогда не остается частично обновленной.
Именно эта атомарность означает, что при банковском переводе невозможно дебетовать один счет, не зачислив средства на другой.
Виртуальная таблица (часто сохраненный запрос), показывающая пользователю только его релевантную часть данных, называется ______.
Представление отображает настроенный, часто ограниченный, фрагмент данных без его копирования.
Расставьте события обновления одной и той же записи двумя пользователями под контролем конкурентности в правильном порядке.
Блокировка сериализует два обновления, чтобы ни одно не перезаписало изменение другого.
Программные инструменты
- Интерфейс разработчика — это набор инструментов и программных интерфейсов для создания приложений на базе базы данных: конструктор форм для ввода данных, генератор отчетов, конструктор запросов, редактор SQL, редактор словаря данных и API, позволяющие программе на Python или Java отправлять SQL-запросы и получать результаты.
- Обработчик запросов принимает запрос, написанный на SQL, проверяет его по словарю данных, определяет наиболее эффективный способ выполнения, выполняет его и возвращает результирующий набор данных.
- Пользователь, вводящий запрос, и программист, создающий форму бронирования, оба используют СУБД; первый через обработчик запросов, второй — через интерфейс разработчика.
Соотнесите каждый компонент DBMS с его задачей.
Выполнение запросов, создание приложений, описание структуры и сам дизайн: четыре различных понятия, которые экзамен рассматривает отдельно.
Разобранный пример: два используемых инструмента
- База данных магазина используется менеджером, которому нужны итоги продаж, и программистом, пишущим приложение для контроля запасов. Объясните, как используются обработчик запросов и интерфейс разработчика.
- Менеджер пишет или формирует запрос для итогов продаж; обработчик запросов парсит его, использует словарь данных для проверки существования таблиц и полей, выбирает самый быстрый способ выполнения, выполняет его и возвращает результаты.
- Программист использует интерфейс разработчика: конструкторы форм и отчетов для создания экранов учета запасов, а также API, чтобы код приложения мог отправлять SQL в СУБД и получать записи обратно.
- По два балла за каждый инструмент: что это за инструмент и что делает с ним этот человек.
Потерянные баллы
- СУБД — это программное обеспечение, а не данные. Фраза «СУБД хранит записи клиентов» неверна; она их управляет.
- Словарь данных содержит данные о данных: структуры, типы, ключи, права доступа. Не сами записи.
- Логическая схема — это дизайн, независимый от физического хранения. Скажите эту фразу.
- Безопасность — это кто имеет доступ; целостность — это корректность данных. Резервное копирование относится к безопасности.
Вы поняли
- СУБД — это программное обеспечение, через которое проходит каждая программа: одна копия каждого факта, независимость данных, централизованные правила.
- управление данными со словарем данных (данные о данных) · моделирование данных, порождающее логическую схему (дизайн, независимый от хранения) · целостность данных (проверяемые правила) · безопасность данных (права доступа пользователей и групп, пароли, шифрование, резервное копирование)
- контроль одновременного доступа с блокировками, транзакции, которые выполняются целиком или не выполняются вовсе, представления, показывающие пользователю его часть данных.
- инструменты: интерфейс разработчика для создания приложений, обработчик запросов для выполнения SQL.