Прикладной уровень (Application Layer)
Это набор разнообразных протоколов, с помощью которых пользователи сети получают доступ к ресурсам, таким как файлы, принтеры, гипертекстовые документы, а также организуют свою совместную работу, например, по протоколу электронной почты. Единица данных, которой оперирует прикладной уровень, обычно называется сообщением.
Уровни взаимодействуют сверху вниз и снизу вверх посредством интерфейсов и могут также взаимодействовать с таким же уровнем другой системы с помощью протоколов.
Интерфе́йс (англ. interface) — общая граница между двумя функциональными объектами, требования к которой определяются стандартом[1]; совокупность средств, методов и правил взаимодействия (управления, контроля и т.д.) между элементами системы
Интерфейсы являются основой взаимодействия всех современных информационных систем. Если интерфейс какого-либо объекта (персонального компьютера, программы, функции) не изменяется (стабилен, стандартизирован), это даёт возможность модифицировать сам объект, не перестраивая принципы его взаимодействия с другими объектами (так, например, научившись работать с одной программой под Windows, пользователь с большей лёгкостью освоит и другие, потому что они имеют однотипные элементы интерфейса).
В вычислительной системе взаимодействие может осуществляться на пользовательском, программном и аппаратном уровнях.
Интерфейс пользователя, он же пользовательский интерфейс (UI — англ. user interface) — разновидность интерфейсов, в котором одна сторона представлена человеком (пользователем), другая — машиной/устройством. Представляет собой совокупность средств и методов, при помощи которых пользователь взаимодействует с различными, чаще всего сложными, машинами, устройствами и аппаратурой. Обычно именно этот термин используется по отношению к взаимодействию между оператором ЭВМ и программным обеспечением, с которым он работает.
30.Основные определения, связанные с базами данных. Свойства БД. Компоненты среды СУБД.
Информационная система (ИС) - автоматизированная система, предназначенная для организации, хранения, пополнения, поддержки и представления пользователям информации в соответствии с их запросами. Под информацией понимаются любые сведения (данные) о каком-либо событии, процессе, объекте. Данные - информация, представленная в определённом виде, позволяющем автоматизировать её сбор, хранение и дальнейшую обработку человеком или информационным средством.
База данных – совокупность взаимосвязанных данных, отражающая состояние объектов и их отношений в любой предметной области. Автоматизированная ИС – система, реализующая автоматизированный сбор, обработку, манипулирование данными, функционирующая на основе ЭВМ и других технических средств и включающая соответствующее ПО и персонал. Каждая ИС в зависимости от её назначения имеет дело с той или иной частью реального мира (предметной областью).
Выявление предметной области – необходимый начальный этап разработки любой ИС. На этом этапе определяются информационные потребности всей совокупности пользователей будущей системы, которые определяют содержание её БД. Предметную область подвергают детальному анализу, выделяя сущности или объекты. Сущность или объект – то, о чём необходимо хранить информацию. Объекты имеют некоторые свойства, которые необходимо сохранять в БД. Свойства могут быть простыми (простые типы данных) и сложными (графические изображения).
Система управления БД – совокупность языковых и программных средств, предназначенных для создания, введения и совместного использования БД многими пользователями.
Компоненты среды СУБД. 1. Аппаратное обеспечение – набор физических устройств, на которых существуют БД, СУБД, другие компоненты ИС. 2. ПО - совокупность программ системы обработки информации и программных документов, необходимых для эксплуатации этих программ. 3. Данные. 4. Процедуры. 5. Пользователи (администраторы, разработчики, прикладные программисты, конечные пользователи).
Достоинства СУБД:1. Наличие интегрированной централизованной БД – БД принадлежит всей организации и может совместно использоваться всеми зарегистрированными пользователями. 2. Минимизация избыточных данных осуществляется за счёт интеграции файлов во избежание хранения нескольких копий одного и того же элемента информации. 3. Непротиворечивость данных и контроль их целостности. 4. Повышенная безопасность. 5. Увеличение гибкости при обслуживании запросов пользователя. 6. Сокращение времени разработки приложения СУБД обеспечивает все низкоуровневые процедуры работы с файлами. 7. Независимость прикладных программ от данных. 8. Многопользовательский режим работы. 9. Развитые службы резервного копирования и восстановления.
Недостатки: 1.Требуемая высокая квалификация работы. 2. Расход значительной части ресурсов на нужды СУБД, а не на прикладную задачу. 3. Стоимость. 4. Повышенные требования к техническому и ПО. 5. Производительность. 6. Последствия сбоев.
Функции: 1. Управление данными во внешней памяти (позволяет выполнить сохранение, извлечение, обновление информации). 2. Управление транзакциями (набор действий выполняемых с целью доступа или изменения содержимого БД). 3. Восстановление БД. 4. Поддержка языков БД. 5. Словарь данных. 6. Управление параллельным доступом. 7. Управление буферами оперативной памяти. 8. Контроль доступа к данным. 9. Поддержка обмена данными. 10. Поддержка целостности данных. 11. Поддержка независимости от данных. 12. Вспомогательные функции.
Архитектура СУБД.
Основное назначение - обеспечение независимости от данных. Это значит, что изменения на нижних уровнях никак не влияют на верхние уровни.
Типы независимости от данных: 1)логическая (означает полную защищенность внешних схем от изменений, вносимых в концептуальную схему). 2)физическая(защищенность концептуальной схемы от изменений, вносимых во внутреннюю схему).
На внешнем уровне пользователи воспринимают данные. Каждый тип пользователей может применять для работы с БД свой язык общения(конечные пользователи – формы, готовые функции и запросы, а прикладные программисты языки C, Pascal, sql).
Концептуальный уровень – промежуточный в этой архитектуре, содержит объекты и их атрибуты, связи между объектами, ограничения, семантическую информацию о данных, обеспечивает безопасность и поддержку целостности данных. Концептуальная схема — это логическая структура всей базы данных.
Внутренняя схема описывает физическую реализацию базы данных и предназначена для достижения оптимальной производительности и обеспечения экономного использования дискового пространства. На внутреннем уровне осуществляется взаимодействие СУБД с методами доступа ОС с целью размещения данных на запоминающих устройствах, создания индексов, извлечения данных. На этом уровне хранится информация: распределение дискового пространства для хранения данных и индексов, описание подробностей сохранения записей (размеры), сведения о размещении записей, сведения о сжатии данных и выбранных методов их шифрования.
Ниже находится физический уровень, контролируется операционной системой, но под руководством СУБД. Физический уровень учитывает, каким образом данные будут представлены в машине.
Реализация трехуровневой архитектуры БД требует, чтобы СУБД переводила информацию с одного уровня на другой, то есть преобразовывала адреса и указатели в соответствующие логические имена и отношения и наоборот. Выгодой такого перевода является независимость логического и физического представления данных, но и плата за эту независимость не малая — большая системная задержка.
Правил Кодда.
Правило 1. Основное правило (Foundation Rule): Реляционная СУБД должна быть способна полностью управлять базой данных, используя связи между данными.
Правило 2. Явное представление данных (The Information Rule):Информация должна быть представлена в виде данных, хранящихся в ячейках. Данные, хранящиеся в ячейках, должны быть атомарны. Порядок строк в реляционной таблице не должен влиять на смысл данных.
Правило 3. Гарантированный доступ к данным (Guaranteed Access Rule):Доступ к данным должен быть свободен от двусмысленности. К каждому элементу данных должен быть гарантирован доступ с помощью комбинации имени таблицы, первичного ключа строки и имени столбца.
Правило 4. Полная обработка неизвестных значений (Systematic Treatment of Null Values): Неизвестные значения NULL, отличные от любого известного значения, должны поддерживаться для всех типов данных при выполнении любых операций.
Правило 5. Доступ к словарю данных в терминах реляционной модели (Active On-Line Catalog Based on the Relational Model): Словарь данных должен сохраняться в форме реляционных таблиц, и СУБД должна поддерживать доступ к нему при помощи стандартных языковых средств, тех же самых, которые используются для работы с реляционными таблицами, содержащими пользовательские данные.
Правило 6. Полнота подмножества языка (Comprehensive Data Sublanguage Rule): Система управления реляционными базами данных должна поддерживать хотя бы один реляционный язык, который: а) имеет линейный синтаксис, б) может использоваться как интерактивно, так и в прикладных программах, в) поддерживает операции определения данных, определения представлений, манипулирования данными (интерактивные и программные), ограничители целостности, управления доступом и операции управления транзакциями (begin, commit и rollback).
Правило 7. Возможность модификации представлений (View Updating Rule): Каждое представление должно поддерживать все операции манипулирования данными, которые поддерживают реляционные таблицы: операции выборки, вставки, модификации и удаления данных.
Правило 8. Наличие высокоуровневых операций управления данными (High-Level Insert, Update, and Delete): Операции вставки, модификации и удаления данных должны поддерживаться не только по отношению к одной строке реляционной таблицы, но по отношению к любому множеству строк.
Правило 9. Физическая независимость данных (Physical Data Independence): Приложения не должны зависеть от используемых способов хранения данных на носителях, от аппаратного обеспечения компьютеров, на которых находится реляционная база данных.
Правило 10. Логическая независимость данных (Logical Data Independence): Представление данных в приложении не должно зависеть от структуры реляционных таблиц. Если в процессе нормализации одна реляционная таблица разделяется на две, представление должно обеспечить объединение этих данных, чтобы изменение структуры реляционных таблиц не сказывалось на работе приложений.
Правило 11. Независимость контроля целостности (Integrity Independence):Вся информация, необходимая для поддержания целостности, должна находиться в словаре данных. Язык для работы с данными должен выполнять проверку входных данных и автоматически поддерживать целостность данных.
Правило 12. Дистрибутивная независимость (Distribution Independence): База данных может быть распределённой, может находиться на нескольких компьютерах, и это не должно оказывать влияние на приложения. Перенос базы данных на другой компьютер не должен оказывать влияния на приложения.
Правило 13. Согласование языковых уровней (The Nonsubversion Rule):
Если используется низкоуровневый язык доступа к данным, он не должен игнорировать правила безопасности и правила целостности, которые поддерживаются языком более высокого уровня.