Что означает логическая независимость
11) Независимость данных в СУБД
Что такое независимость данных СУБД?
Независимость данных определяется как свойство СУБД, которое помогает вам изменять схему базы данных на одном уровне системы базы данных, не требуя изменения схемы на следующем более высоком уровне. Независимость данных помогает вам отделить данные от всех программ, которые их используют.
Вы можете использовать эти сохраненные данные для вычислений и представления. Во многих системах независимость данных является важной функцией для компонентов системы.
В этом уроке вы узнаете:
Типы независимости данных
В СУБД существует два типа независимости данных
Уровни базы данных
Прежде чем мы изучим независимость данных, важно освежить в памяти уровень базы данных. База данных имеет 3 уровня, как показано на диаграмме ниже
Рассмотрим пример базы данных университета. На разных уровнях так будет выглядеть реализация:
Независимость физических данных
Независимость физических данных помогает вам отделить концептуальные уровни от внутренних и физических уровней. Это позволяет предоставить логическое описание базы данных без необходимости указывать физические структуры. По сравнению с логической независимостью легко достичь физической независимости данных.
Благодаря физической независимости вы можете легко изменять физические структуры или устройства хранения, влияя на концептуальную схему. Любые сделанные изменения будут поглощены сопоставлением концептуального и внутреннего уровней. Физическая независимость данных достигается благодаря наличию внутреннего уровня базы данных, а затем трансформации с концептуального уровня базы данных на внутренний уровень.
Примеры изменений в физической независимости данных
Из-за физической независимости любое из приведенных ниже изменений не повлияет на концептуальный уровень.
Независимость логических данных
Независимость логических данных — это способность изменять концептуальную схему без изменения
Любые сделанные изменения будут поглощены сопоставлением между внешним и концептуальным уровнями.
По сравнению с независимостью от физических данных трудно добиться логической независимости данных.
Примеры изменений в разделе «Логическая независимость данных»
Из-за логической независимости любое из приведенных ниже изменений не повлияет на внешний уровень.
2. Физическая и логическая независимость данных
Раздел 1. Теория проектирования баз данных
Лекция 2. Физическая и логическая независимость данных. Модели данных
Физическая и логическая независимость данных
В процессе исследований посвященных устройству СУБД, предлагались различные способы ее реализации. Наиболее жизнеспособной оказалась трехуровневая модель, определяющая следующие уровни абстракций для определения структуры СУБД (рисунок 2.1): внутренний (физический), концептуальный и внешний (логический).
1. Внешний уровень, отражает представления прикладного программиста или конечного пользователя и связан с тем, как отдельные пользователи представляют себе эти данные или «видение» собственных данных каждым отдельным приложением.
2. Концептуальный уровень отражает обобщенную модель предметной области (объектов реального мира). Концептуальный уровень дает наиболее полное представление о структурах данных. Концептуальная модель состоит из множества экземпляров различных типов объектов и связей (концептуальных записей).
Рекомендуемые файлы
3. Внутренний уровень близок к физической памяти и связан со способом физического хранения данных, например, каким способом данные располагаются на носителях.
Рисунок 2.1 — Трехуровневая модель СУБД ( ANSI )
Эта архитектура была предложена ANSI ( American National Standards Institute ), ее основным достоинством является то, что она позволяет обеспечить логическую и физическую независимость при работе с данными.
Логическая независимость предполагает возможность изменения одного приложения без корректировки других приложений, работающих с этой БД.
Физическая независимость предполагает возможность изменения способа хранения, расположения или переноса данных на носителях (на физическом уровне) без влияния на работоспособность всех приложений работающих с БД.
Другими словами, если происходит какое-либо изменение в расположении данных на носителях, это никак не отражается на работе приложений внешнего уровня. И наоборот, если происходит какое-либо дополнение приложений внешнего уровня, то изменений на физическом уровне не происходит.
Модель данных – это некоторая абстракция, прикладываемая к конкретным данным, позволяет пользователям трактовать их как информацию, то есть сведения, содержащие не только данные, но и взаимосвязь между ними.
В соответствии с изложенной ранее трехуровневой архитектурой мы сталкиваемся с понятием модели данных по отношению к каждому уровню (Рисунок 2.2).
Физическая модель данных оперирует категориями касающаяся организации внешней памяти и структур хранения, используемых в данной операционной среде. В настоящий момент в качестве физических моделей используются различные методы размещения данных, основанные на файловых структурах: это организация файлов прямого и последовательного доступа, индексных файлов, файлов, использующих различные методы кэширования, взаимосвязанных файлов. Кроме того, в современных СУБД широко используют страничную организацию данных. Физические модели данных, основанные на страничной организации, являются наиболее перспективными.
Наибольший интерес вызывают модели данных, используемые на концептуальном уровне. По отношению к ним внешние модели называются подсхемами и используют те же абстрактные модели, что и концептуальные модели данных.
Кроме трех рассмотренных уровней абстракций при проектировании БД существует еще один уровень, предшествующий им. Модель этого уровня должна выражать информацию о предметной области в виде, независимом от используемой СУБД. Эти модели называют инфологическими или семантическими, и отражают естественный и удобный для разработчиков и других пользователей форме, связанной с описанием объектов предметной области, их свойств и взаимосвязей. Инфологические модели используются на этапе проектирования БД.
Документальные модели данных соответствуют представлению о слабоструктурированной информации, ориентированной в основном на свободные форматы документов, текстов на естественном языке.
Модели, основанные на языках разметки документов, связаны, прежде всего, со стандартным общим языком разметки — SGML (Standart Generalised Markup Language), который был утвержден ISO в качестве стандарта еще в 80-х годах. Этот язык предназначен для создания других языков разметки, он определяет допустимый набор тегов (ссылок), их атрибуты и внутреннюю структуру документа. Контроль за правильностью использования тегов осуществляется при помощи специального набора правил. С помощью SGML можно описывать структурированные данные, организовывать информацию, содержащуюся в документах, представлять эту информацию в некотором стандартизованном формате. Но ввиду некоторой своей сложности SGML использовался в основном для описания синтаксиса других языков (наиболее известным из которых является HTML), и немногие приложения работали с SGML-документами напрямую.
XML (Extensible Markup Language) — это язык разметки, описывающий целый класс объектов данных, называемых XML-документами. Он используется в качестве средства для описания грамматики других языков и контроля за правильностью составления документов. То есть сам по себе XML не содержит никаких тегов, предназначенных для разметки, он просто определяет порядок их создания.
Тезаурусные модели основаны на принципе организации словарей, содержат определенные языковые конструкции и принципы их взаимодействия в заданной грамматике. Эти модели эффективно используются в системах-переводчиках, особенно многоязыковых переводчиках. Принцип хранения информации в этих системах и подчиняется тезаурусным моделям.
1. В чем разница между внутренним, концептуальным и внешним уровнями абстракции в трехуровневая модели СУБД ( ANSI )?
2. В чем преимущество использования трехуровневая модели СУБД ( ANSI )?
3. Что понимается под физической и логической независимостью данных?
4. Почему изменения на физическом уровне не отражаются на логическом уровне абстракции?
5. Что такое модель данных?
6. В чем назначение инфологической модели?
Рекомендуем посмотреть лекцию «Лекция 14».
7. Что определяют физические модели?
8. В каких случаях используют документальные модели данных?
9. Какие языки основаны на документальной модели данных?
10. Что представляют собой тезаурусные модели данных?
11. Что представляют собой дескрипторные модели данных?
Большая Энциклопедия Нефти и Газа
Логическая независимость данных состоит в том, что добавление новых сегментов в базу данных не должно вызывать изменения ранее транслируемых прикладных программ, не связанных с отработкой экземпляров добавленного сегмента. [1]
Отметим, что логическая независимость данных обеспечивается средствами механизмов многоуровневой архитектуры СУБД. [3]
Основные свойства РБД наиболее полно сформулированы в [8] и состоят в следующем: данные могут храниться в памяти удаленных вычислительных машин или периферийных устройств; обработка, обновление, обмен, накопление и поиск информации для всей локальной сети основаны на единых методах логического доступа к данным с последующей упаковкой информации в форму, соответствующую требованиям сетевых протоколов передачи данных по моноканалу; совокупность сведений, образующих базу данных, представляет стабильную логическую структуру, сохраняющую достоверность при изменении способов использования данных; коллективный доступ к данным не влияет на простоту внесения изменений, избыточность данных, производительность средств доступа и достоверность данных; посредством используемых средств перезаписи форматов данных, хранимых в различных физических накопителях, достигается физическая и логическая независимость данных при требуемых скорости поиска и доступе к информации. [8]
Под независимостью данных обычно понимают независимость программ, обращающихся к СУБД, от физических или логических преобразований данных. Требование физической независимости данных обусловлено тем, что не существует физической организации данных, которая была наилучшей для всех возможных применений СУБД. Следовательно, СУБД, настраиваясь на конкретные условия функционирования, должна быть в состоянии изменять методы доступа и физическую структуру данных без изменения программ пользователя, использующих СУБД. Системы, позволяющие добавлять к логической структуре базы данных новые отношения, должны обладать логической независимостью данных. Под логической независимостью данных понимают возможность внесения в базу данных логических изменений без существенного изменения программ, использующих эту базу данных. Способность СУБД обеспечивать обработку различных логических структур является первым шагом на пути к обеспечению логической независимости данных. В общем случае для обеспечения независимости данных на классы допустимых данных и допустимых отношений, указываемых в определениях данных, накладываются жесткие ограничения. [13]
Основные понятия и определения
Современные авторы часто употребляют термины » банк данных » и » база данных » как синонимы, однако в общеотраслевых руководящих материалах по созданию банков данных Государственного комитета по науке и технике (ГКНТ), изданных в 1982 г., эти понятия различаются. Там приводятся следующие определения банка данных, базы данных и СУБД :
Банк данных (БнД) — это система специальным образом организованных данных — баз данных, программных, технических, языковых, организационно-методических средств, предназначенных для обеспечения централизованного накопления и коллективного многоцелевого использования данных.
Система управления базами данных ( СУБД ) — совокупность языковых и программных средств, предназначенных для создания, ведения и совместного использования БД многими пользователями.
Сухой канцелярский язык труден для восприятия, но эти определения четко разграничивают назначение всех трех базовых понятий, и мы можем принять их за основу.
Архитектура базы данных. Физическая и логическая независимость
Эта архитектура позволяет обеспечить логическую (между уровнями 1 и 2) и физическую (между уровнями 2 и 3) независимость при работе с данными. Логическая независимость предполагает возможность изменения одного приложения без корректировки других приложений, работающих с этой же базой данных. Физическая независимость предполагает возможность переноса хранимой информации с одних носителей на другие при сохранении работоспособности всех приложений, работающих с данной базой данных. Это именно то, чего не хватало при использовании файловых систем.
Выделение концептуального уровня позволило разработать аппарат централизованного управления базой данных.
Процесс прохождения пользовательского запроса
Рисунок 2.2 иллюстрирует взаимодействие пользователя, СУБД и ОС при обработке запроса на получение данных. Цифрами помечена последовательность взаимодействий:
БМД — это База Метаданных,именно здесь и хранится вся информация об используемых структурах данных, логической организации данных, правах доступа пользователей и, наконец, физическом расположении данных. Для управления БМД существует специальное программное обеспечение администрирования баз данных, которое предназначено для корректного использования единого информационного пространства многими пользователями.
Пользователи банков данных
Как любой программно-организационно-техничеcкий комплекс, банк данных существует во времени и в пространстве. Он имеет определенные стадии своего развития:
На каждом этапе своего существования с банком данных связаны разные категории пользователей.
Определим основные категории пользователей и их роль в функционировании банка данных:
Рассмотрим их более подробно.
В составе группы администратора БД должны быть:
Если речь идет о коммерческом банке данных, то важную роль здесь играют специалисты по маркетингу.
Физическая и логическая независимость данных
Физическая и логическая независимость данных. Модели данных
В процессе исследований посвященных устройству СУБД, предлагались различные способы ее реализации. Наиболее жизнеспособной оказалась трехуровневая модель, определяющая следующие уровни абстракций для определения структуры СУБД (рисунок 2.1): внутренний (физический), концептуальный и внешний (логический).
1. Внешний уровень, отражает представления прикладного программиста или конечного пользователя и связан с тем, как отдельные пользователи представляют себе эти данные или «видение» собственных данных каждым отдельным приложением.
2. Концептуальный уровень отражает обобщенную модель предметной области (объектов реального мира). Концептуальный уровень дает наиболее полное представление о структурах данных. Концептуальная модель состоит из множества экземпляров различных типов объектов и связей (концептуальных записей).
3. Внутренний уровень близок к физической памяти и связан со способом физического хранения данных, например, каким способом данные располагаются на носителях.
Рисунок 2.1— Трехуровневая модель СУБД (ANSI)
Эта архитектура была предложена ANSI (American National Standards Institute), ее основным достоинством является то, что она позволяет обеспечить логическую и физическую независимость при работе с данными.
Логическая независимость предполагает возможность изменения одного приложения без корректировки других приложений, работающих с этой БД.
Физическая независимость предполагает возможность изменения способа хранения, расположения или переноса данных на носителях (на физическом уровне) без влияния на работоспособность всех приложений работающих с БД.
Другими словами, если происходит какое-либо изменение в расположении данных на носителях, это никак не отражается на работе приложений внешнего уровня. И наоборот, если происходит какое-либо дополнение приложений внешнего уровня, то изменений на физическом уровне не происходит.
Модели данных
Модель данных – это некоторая абстракция, прикладываемая к конкретным данным, позволяет пользователям трактовать их как информацию, то есть сведения, содержащие не только данные, но и взаимосвязь между ними.
В соответствии с изложенной ранее трехуровневой архитектурой мы сталкиваемся с понятием модели данных по отношению к каждому уровню (Рисунок 2.2).
Физическая модель данных оперирует категориями касающаяся организации внешней памяти и структур хранения, используемых в данной операционной среде. В настоящий момент в качестве физических моделей используются различные методы размещения данных, основанные на файловых структурах: это организация файлов прямого и последовательного доступа, индексных файлов, файлов, использующих различные методы кэширования, взаимосвязанных файлов. Кроме того, в современных СУБД широко используют страничную организацию данных. Физические модели данных, основанные на страничной организации, являются наиболее перспективными.
Наибольший интерес вызывают модели данных, используемые на концептуальном уровне. По отношению к ним внешние модели называются подсхемами и используют те же абстрактные модели, что и концептуальные модели данных.
Кроме трех рассмотренных уровней абстракций при проектировании БД существует еще один уровень, предшествующий им. Модель этого уровня должна выражать информацию о предметной области в виде, независимом от используемой СУБД. Эти модели называют инфологическими или семантическими, и отражают естественный и удобный для разработчиков и других пользователей форме, связанной с описанием объектов предметной области, их свойств и взаимосвязей. Инфологические модели используются на этапе проектирования БД.
Документальные модели данных соответствуют представлению о слабоструктурированной информации, ориентированной в основном на свободные форматы документов, текстов на естественном языке.
Модели, основанные на языках разметки документов, связаны, прежде всего, со стандартным общим языком разметки — SGML (Standart Generalised Markup Language), который был утвержден ISO в качестве стандарта еще в 80-х годах. Этот язык предназначен для создания других языков разметки, он определяет допустимый набор тегов (ссылок), их атрибуты и внутреннюю структуру документа. Контроль за правильностью использования тегов осуществляется при помощи специального набора правил. С помощью SGML можно описывать структурированные данные, организовывать информацию, содержащуюся в документах, представлять эту информацию в некотором стандартизованном формате. Но ввиду некоторой своей сложности SGML использовался в основном для описания синтаксиса других языков (наиболее известным из которых является HTML), и немногие приложения работали с SGML-документами напрямую.
XML (Extensible Markup Language) — это язык разметки, описывающий целый класс объектов данных, называемых XML-документами. Он используется в качестве средства для описания грамматики других языков и контроля за правильностью составления документов. То есть сам по себе XML не содержит никаких тегов, предназначенных для разметки, он просто определяет порядок их создания.
Тезаурусные модели основаны на принципе организации словарей, содержат определенные языковые конструкции и принципы их взаимодействия в заданной грамматике. Эти модели эффективно используются в системах-переводчиках, особенно многоязыковых переводчиках. Принцип хранения информации в этих системах и подчиняется тезаурусным моделям.