Введение

Тип прозрачности данных

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

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

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

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

Физическая структура данных называется "физическим описанием данных". Физическая независимость данных подразумевает сокрытие деталей структуры хранения от пользовательских приложений. Приложение не должно быть связано с этими вопросами, поскольку, концептуально, операции, выполняемые над данными, не различаются. Существуют три типа независимости данных:
Логическая независимость данных: Способность изменять логическую (концептуальную) схему без изменения внешней схемы (представления пользователя) называется логической независимостью данных. Например, добавление или удаление новых сущностей, атрибутов или связей в концептуальную схему, или необходимость переписывать существующие прикладные программы. Физическая независимость данных: Способность изменять физическую схему без изменения логической схемы называется физической независимостью данных. Например, изменение внутренней схемы, такое как использование различных структур организации файлов или хранения, устройств хранения или стратегии индексирования, должно быть возможным без необходимости изменения концептуальной или внешней схем. Независимость данных уровня представления: всегда независима и не оказывает никакого влияния, поскольку выше уровня представления нет других уровней.

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

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

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

Способность изменять определение схемы на одном уровне, не затрагивая схему этого определения на следующем, более высоком уровне, называется независи́мостью данных. Существует два уровня независи́мости данных: физическая независи́мость данных и логическая независи́мость данных. Физическая независи́мость данных – это способность модифицировать физическую схему без необходимости переписывать прикладные программы. Изменения на физическом уровне иногда необходимы для повышения производительности. Это означает, что мы изменяем физическое хранение данных, не влияя на концептуальное или внешнее представление данных. Новые изменения учитываются посредством методов отображения. Логическая независи́мость данных – это способность модифицировать логическую схему без необходимости переписывать прикладные программы. Изменения на логическом уровне необходимы всякий раз, когда изменяется логическая структура базы данных (например, при добавлении счетов денежного рынка в банковскую систему). Логическая независи́мость данных означает, что если мы добавляем или удаляем столбцы из таблицы, представление данных для пользователя и программы не должны изменяться. Например, рассмотрим двух пользователей, А и Б. Оба выбирают поля "EmployeeNumber" и "EmployeeName". Если пользователь Б добавляет в свою таблицу новый столбец (например, зарплату), это не повлияет на представление данных для пользователя А, хотя внутренняя схема базы данных будет изменена для обоих пользователей, А и Б. Достичь логической независи́мости данных сложнее, чем физической, поскольку прикладные программы сильно зависят от логической структуры данных, к которым они обращаются.