Учебники

11) Независимость данных в СУБД

Что такое независимость данных СУБД?

Независимость данных определяется как свойство СУБД, которое помогает вам изменять схему базы данных на одном уровне системы базы данных, не требуя изменения схемы на следующем более высоком уровне. Независимость данных помогает вам отделить данные от всех программ, которые их используют.

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

В этом уроке вы узнаете:

Типы независимости данных

В СУБД существует два типа независимости данных

  1. Физическая независимость данных
  2. Независимость логических данных.

Уровни базы данных

Прежде чем мы изучим независимость данных, важно освежить в памяти уровень базы данных. База данных имеет 3 уровня, как показано на диаграмме ниже

  1. Физические / Внутренняя
  2. концептуальный
  3. внешний
Уровни архитектурной схемы СУБД

Рассмотрим пример базы данных университета. На разных уровнях так будет выглядеть реализация:

Тип схемы Реализация
Внешняя схема Вид 1 : Информация о курсе (cid: int, cname: string)
Вид 2 : studeninfo (id: int. Name: string)
Концептуальная Шема
Students(id: int, name: string, login: string, age: integer) 
Courses(id: int, cname.string, credits:integer) 
Enrolled(id: int, grade:string)
Физическая схема
  • Отношения хранятся как неупорядоченные файлы.
  • Указатель по первому столбцу студентов.

Независимость физических данных

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

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

Примеры изменений в физической независимости данных

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

  • Использование нового устройства хранения, такого как жесткий диск или магнитные ленты
  • Изменение метода организации файлов в базе данных
  • Переключение на разные структуры данных.
  • Изменение метода доступа.
  • Модификация индексов.
  • Изменения в методах сжатия или алгоритмах хеширования.
  • Изменение расположения базы данных с диска C на диск D

Независимость логических данных

Независимость логических данных – это способность изменять концептуальную схему без изменения

  1. Внешние взгляды
  2. Внешний API или программы

Любые сделанные изменения будут поглощены сопоставлением между внешним и концептуальным уровнями.

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

Примеры изменений в разделе «Логическая независимость данных»

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

  1. Добавить / изменить / удалить новый атрибут, сущность или отношение возможно без перезаписи существующих прикладных программ
  2. Объединение двух записей в одну
  3. Разбить существующую запись на две или более записей

Разница между физической и логической независимостью данных

Независимость данных Logica Независимость физических данных
Независимость логических данных в основном касается структуры или изменения определения данных. В основном касается хранения данных.
Это сложно, так как получение данных в основном зависит от логической структуры данных. Это легко получить.
По сравнению с логической физической независимостью трудно достичь логической независимости данных. По сравнению с логической независимостью легко достичь физической независимости данных.
Вам необходимо внести изменения в прикладную программу, если новые поля добавляются или удаляются из базы данных. Изменение физического уровня обычно не требует изменений на уровне прикладной программы.
Модификация на логических уровнях важна всякий раз, когда изменяются логические структуры базы данных. Модификации, сделанные на внутренних уровнях, могут или не могут быть необходимы для улучшения производительности конструкции.
Относится к концептуальной схеме Относится к внутренней схеме
Пример: Добавить / Изменить / Удалить новый атрибут Пример: изменение методов сжатия, алгоритмов хеширования, устройств хранения и т. Д.

Важность независимости данных

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

Резюме

  • Независимость данных – это свойство СУБД, которое помогает вам изменять схему базы данных на одном уровне системы базы данных, не требуя изменения схемы на следующем более высоком уровне.
  • Два уровня независимости данных: 1) физический и 2) логический
  • Независимость физических данных помогает вам отделить концептуальные уровни от внутренних / физических уровней.
  • Независимость логических данных – это способность изменять концептуальную схему без изменения
  • По сравнению с независимостью физических данных, добиться логической независимости данных сложно.
  • Независимость данных Помогает вам улучшить качество данных