Схемы СУБД: внутренние, концептуальные, внешние
⚡ Умное резюме
Схемы СУБД организуют базу данных в три абстракции.tracУровни детализации позволяют пользователям, дизайнерам и администраторам работать на нужном уровне. Внутренние, концептуальные и внешние схемы вместе образуют трехуровневую архитектуру ANSI-SPARC, обеспечивающую независимость данных.

Что такое Data Abs?tracЧто такое СУБД?
Системы баз данных строятся на сложных структурах данных. Для повышения эффективности извлечения данных и снижения сложности для пользователей разработчики используют метод абстрагирования данных.tracданные абстракцииtracЭта система скрывает детали хранения и обработки данных, отображая только то, что необходимо видеть каждому типу пользователей.
В основном существует три уровня абстракции данных.tracТион:
- Внутренний уровень: Фактическая физическая структура хранения и пути доступа.
- Концептуальный или логический уровень: Структура и ограничения для всей базы данных.
- Внешний или обзорный уровень: Описывает различные варианты отображения информации пользователем.
Эти три уровня описываются тремя соответствующими схемами, которые вместе известны как трехуровневая архитектура ANSI-SPARC. Схема — это проектирование или описание базы данных на одном уровне; сами данные называются экземпляром. На диаграмме ниже показано, как уровни располагаются друг над другом.
Давайте подробно рассмотрим каждый уровень, начиная с уровня хранения данных и продвигаясь к пользователю.
Внутренний уровень / Схема
Внутренняя схема определяет физическую структуру хранения базы данных. Внутренняя схема представляет собой низкоуровневое описание всей базы данных. Она содержит множество вхождений различных типов внутренних записей. В терминологии ANSI она также называется «хранимой записью».
Факты о внутренней схеме:
- Внутренняя схема — это самый нижний уровень абстракции данных.tracния.
- Она хранит информацию о фактическом представлении всей базы данных, например, о фактическом хранении данных на диске в виде записей.
- Внутреннее представление показывает, какие данные хранятся в базе данных и каким образом.
- Она никогда не работает напрямую с физическими устройствами. Вместо этого внутренняя схема рассматривает физическое устройство как набор физических страниц.
После определения уровня хранения данных, логическая структура, расположенная над ним, описывается концептуальной схемой.
Концептуальная схема / Уровень
Концептуальная схема описывает структуру всей базы данных для сообщества пользователей. Эта схема скрывает информацию о физических структурах хранения и фокусируется на описании типов данных, сущностей, связей и так далее.
Этот логический уровень находится между пользовательским уровнем и физическим представлением хранилища. Существует только одно концептуальное представление одной базы данных.
Факты о концептуальной схеме:
- Определяет все сущности базы данных, их атрибуты и взаимосвязи между ними.
- Содержит информацию, обеспечивающую безопасность и целостность данных.
- На концептуальном уровне данные, доступные пользователю, должны содержаться на физическом уровне или быть получены из него.
Концептуальный дизайн идеально подходит для реляционная модель данныхгде сущности становятся таблицами, а связи — ключами. На уровне выше концептуального отдельные пользователи видят только ту часть данных, которая им необходима, описанную внешней схемой.
Внешняя схема / Уровень
Внешняя схема описывает ту часть базы данных, которая интересует конкретного пользователя. Она скрывает от пользователя несвязанные с базой данных детали. Для каждой базы данных может существовать «n» количество внешних представлений.
Каждое внешнее представление определяется с помощью внешней схемы, которая состоит из определений различных типов внешних записей для данного конкретного представления.
Внешнее представление — это просто содержимое базы данных, как его видит конкретный пользователь. Например, пользователь из отдела продаж увидит только данные, относящиеся к продажам.
Факты о внешней схеме:
- Внешний уровень относится только к данным, просматриваемым конкретными конечными пользователями.
- Этот уровень включает одну или несколько внешних схем.
- Уровень внешней схемы находится ближе всего к пользователю.
- Внешняя схема описывает сегмент базы данных, необходимый для определенной группы пользователей, и скрывает от этой группы остальные сведения.
Трехуровневая схема Archiпо сравнению с архитектурой
Три уровня проще всего запомнить, расположив их рядом. Каждый отвечает на разный вопрос, ориентирован на разную аудиторию и меняется по разным причинам.
| Аспект | Внутренняя схема | Концептуальная схема | Внешняя схема |
|---|---|---|---|
| Также называемый | Физический уровень | Логический уровень | Уровень просмотра |
| Описывает | Как данные хранятся на диске | Какие данные и взаимосвязи существуют? | Что видит группа пользователей |
| Аудитория | Администратор базы данных | Дизайнер базы данных | Конечный пользователь |
| Сколько | Одна | Одна | Много |
| Шкуры | Ниже ничего нет | Физическое хранилище | Несвязанные данные |
Уровни не существуют изолированно. Они связаны картой.pings, которые представляют собой механизм, обеспечивающий независимость данных.
КартаpingМежду уровнями схемы
Картаping Это соответствие, которое СУБД поддерживает между двумя смежными уровнями, поэтому запрос на более высоком уровне может быть преобразован в действие на более низком уровне. Трехуровневая архитектура использует две карты.pings:
- Концептуальная/внутренняя картаping: Эта карта связывает логическую структуру с физическим хранилищем. Она определяет, как сущности и атрибуты в концептуальной схеме соответствуют хранимым записям и файлам во внутренней схеме. При изменении хранилища изменяется только эта карта.ping обновляется.
- Внешняя/концептуальная картаping: Она связывает каждое представление пользователя с общей логической структурой. Она определяет, как поля, которые видит пользователь, соотносятся с сущностями в концептуальной схеме. По мере расширения логической структуры изменяется только затронутая карта.pingобновлены.
Потому что эти картыpingБлагодаря способности поглощать изменения, хранилище можно реорганизовать без переписывания пользовательских программ, что и является его главной целью. независимость данных Архитектура призвана обеспечить.
Цель трехуровневой схемы Archiтекстура
Вот некоторые цели использования трехсхемной архитектуры:
- Каждый пользователь должен иметь доступ к одним и тем же данным, но видеть их в индивидуальном представлении.
- Пользователю не нужно напрямую взаимодействовать с деталями физического хранения данных в базе данных.
- Администратор базы данных должен иметь возможность изменять структуру хранения данных в базе данных, не затрагивая при этом представления пользователей.
- Внутренняя структура базы данных должна оставаться неизменной при внесении изменений в физические аспекты хранения.
Преимущества схемы базы данных
- Вы можете управлять данными независимо от физического хранилища.
- Более быстрая миграция на новые графические среды.
- архитектура СУБД позволяет вносить изменения на уровне презентации, не затрагивая два других слоя.
- Поскольку каждый уровень является отдельным, можно использовать разные группы разработчиков.
- Это более безопасно, поскольку клиент не имеет прямого доступа к бизнес-логике базы данных.
- Если один из уровней выйдет из строя, потери данных не произойдет, поскольку вы всегда будете защищены, получая доступ к другому уровню.
Недостатки схемы базы данных
- Полная схема базы данных — это сложная структура, которую трудно понять каждому.
- Его сложно настроить и поддерживать.
- Физическое разделение уровней может повлиять на производительность базы данных.

