Независимость данных в СУБД: физическая и логическая с примерами

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

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

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

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

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

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

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

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

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

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

Тип схемы Реализация
Внешняя схема

Посмотреть 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) логический.
  • Независимость физических данных помогает отделить концептуальные уровни от внутренних/физических уровней.
  • Логическая независимость данных — это возможность изменять концептуальную схему, не меняя ее.
  • По сравнению с независимостью физических данных добиться логической независимости данных сложнее.
  • Независимость данных. Помогает улучшить качество данных.