Технологии баз данных
Технологии баз данных одна из наиболее востребованных технологий в практической разработке информационных систем, сформирована широкая сфера самых разнообразных приложений систем баз данных.
В данной главе рассмотрим основные понятия теории баз данных, важнейшие характеристики современного состояния технологии баз данных, перспективные направления их развития.
Для обеспечения действительной независимости данных (хотя полностью независимые данные бывают очень редко) предлагается создавать структуры двух видов: логические и физические. Логические структуры описывают, как данные представляются прикладному программисту или пользователю данных. Физические структуры определяют способ физической записи данных на внешней памяти. Логические структуры могут не совпадать с физическими. Программное обеспечение преобразует логические структуры в физические.
История создания и развития СУБД насчитывает около сорока лет. За этот период были разработаны многочисленные модели данных, прежде всего это сетевые, иерархические, реляционные и объектные модели данных. Сетевые и иерархические модели в настоящее время считаются устаревшими, но существует множество баз данных созданных на их основе и требующих поддержания их работы.
Одним из крупнейших достижений в этой области является создание реляционной модели данных и базирующейся на ней теории реляционных баз данных, которая позволила получить важные результаты для развития теории баз данных. Как отмечают многие исследователи, своим успехом реляционная модель данных во многом обязана, в первую очередь тому, что опиралась на строгий математический аппарат теории множеств, отношений и логики первого порядка. Разработчики любой конкретной реляционной системы считали своим долгом показать соответствие своей конкретной модели данных общей реляционной модели, которая выступала в качестве меры «реляционности» системы. Существует широкий спектр реляционных СУБД для приложений различного масштаба. Разработан международный стандарт языка запросов SQL, ставший универсальным интерфейсом коммерческих реляционных СУБД. По оценкам специалистов, примерно 99% мирового рынка баз данных занимают в настоящий момент реляционные СУБД. Несмотря на то, что подавляющее большинство приложений базируется на реляционной технологии, их роль начинает ослабевать.
Вместе с тем в последние годы четко обозначилась тенденция развития СУБД в объектном направлении. Объектная (объектно-ориентированная) модель на не противоречит реляционной модели данных, а дополняет и развивает последнюю (точнее сказать — реляционная модель является частным случаем объектной формы представления данных). Однако, трудности развитого математического аппарата, на который могла бы опираться общая объектная модель данных, не существует, как нет и признанной базовой объектной модели. С другой стороны, некоторые авторы утверждают, что общая объектная модель данных в классическом смысле и не может быть определена по причине непригодности классического понятия модели данных к парадигме объектной ориентированности.
Преимуществами объектных СУБД модно считать:
объектные СУБД – открытые системы. Несложно добавить новый тип данных;
Большинство производителей ООБД предоставляют визуальные средства создания прикладных программ ОСУБД. Если раньше созданием прикладных программ для ОСУБД занимались специалисты в C++, Smaltalk, то теперь использовать ООБД стало намного проще
Объектные СУБД быстрее, чем реляционные, если в программе многократно осуществляется переход от объекта к объекту по ссылке. Поскольку ссылка на объект есть идентификатор, однозначно определяющий его расположение в базе, то переход по такой ссылке происходит быстрее, чем ссылка между кортежами отношений по первичному ключу. ОСУБД устраняют необходимость в языке запросов
Традиционные области применения ОСУБД – САПР, моделирование, мультимедиа. ОСУБД широко используются в телекоммуникациях, различных аспектах автоматизации предприятия, издательском деле, геоинформационных проектах.
Интеграция неоднородных информационных ресурсов . Информационная неоднородность ресурсов заключается в разнообразии понятий, словарей; отображаемых реальных объектов; правил, определяющих адекватность моделируемых объектов реальности; видов данных, способов их сбора и обработки; интерфейсов пользователей и т.д.
Реализационная неоднородность источников проявляется в использовании разнообразных компьютерных платформ, средств управления базами данных, моделей данных и знаний, средств программирования, операционных систем, и т.п. Системы обеспечивающие . называются интероперабельными системи .
Традиционные системы баз данных, используемые в информационных системах для сопровождения бизнес — процессов поддерживают большие объемы информации с помощью технологий оперативная обработка транзакций – OLTP. В OLTP-технологии обрабатывается детализированные данные, главные свойства данных здесь, их полнота и актуальность.
Для поддержки принятия решений нужны другие технологии. Необходимо объединять данные из различных источников (как из корпоративной информационной системы, так и из внешней среды), накапливать данные, делая их срезы во времени. Анализ таких данных позволяет оценивать состояние и динамику развития организации, делать обоснованные прогнозы и принимать обоснованные решения. Программные продукты, необходимые для обеспечения управленческих решений, должны обеспечивать хранение больших объемов данных, эффективный доступ к ним, а так же располагать развитыми средствами анализа данных и представления результатов в удобной для специалистов и руководства форме.
Хранилища данных отличаются от баз данных или систем оперативной обработки транзакций (OLTP-систем) своим назначением и устройством:
хранилище содержит данные, позволяющие проводить анализ деловых операций;
хранилища обычно представляют собой системы, доступные только для чтения;
в хранилищах же накапливаются данные, не меняющиеся со временем и избавленные от ошибок.
Из-за большого объема данных в хранилищах одной из основных проблем создания хранилищ является обеспечение высокой производительности обработки запросов. Запросы в хранилище отличаются высоким уровнем сложности.
Создание хранилищ данных – трудоемкий и длительный процесс. Наряду с хранилищами данных существуют и часто используются компаниями витрины данных (Data Mart), называемые также киосками данных. Такие системы создаются для отдельных подразделений компаний или для обеспечения отдельных видов деятельности. Объемы данных и требования к вычислительным ресурсам в витринах данных существенно меньше по сравнению с хранилищами. Витрины данных могут строиться как независимо, так и на основе хранилищ данных компании. Хранилища данных имеют двухуровневую или трехуровневую архитектуру. В двухуровневых хранилищах на верхнем уровне поддерживается объединенная информация. На нижнем уровне — различные источники баз данных. В трехуровневой архитектуре предусматривается поддержка витрин данных для отдельных подразделений компании над ее единым хранилищем.
Подробнее о технологиях СУБД смотрите в курсе «Введение в системы управления базами данных»
Источник
Технологии баз данных
Технологии баз данных одна из наиболее востребованных технологий в практической разработке информационных систем, сформирована широкая сфера самых разнообразных приложений систем баз данных.
В данной главе рассмотрим основные понятия теории баз данных, важнейшие характеристики современного состояния технологии баз данных, перспективные направления их развития.
Для обеспечения действительной независимости данных (хотя полностью независимые данные бывают очень редко) предлагается создавать структуры двух видов: логические и физические. Логические структуры описывают, как данные представляются прикладному программисту или пользователю данных. Физические структуры определяют способ физической записи данных на внешней памяти. Логические структуры могут не совпадать с физическими. Программное обеспечение преобразует логические структуры в физические.
История создания и развития СУБД насчитывает около сорока лет. За этот период были разработаны многочисленные модели данных, прежде всего это сетевые, иерархические, реляционные и объектные модели данных. Сетевые и иерархические модели в настоящее время считаются устаревшими, но существует множество баз данных созданных на их основе и требующих поддержания их работы.
Одним из крупнейших достижений в этой области является создание реляционной модели данных и базирующейся на ней теории реляционных баз данных, которая позволила получить важные результаты для развития теории баз данных. Как отмечают многие исследователи, своим успехом реляционная модель данных во многом обязана, в первую очередь тому, что опиралась на строгий математический аппарат теории множеств, отношений и логики первого порядка. Разработчики любой конкретной реляционной системы считали своим долгом показать соответствие своей конкретной модели данных общей реляционной модели, которая выступала в качестве меры «реляционности» системы. Существует широкий спектр реляционных СУБД для приложений различного масштаба. Разработан международный стандарт языка запросов SQL, ставший универсальным интерфейсом коммерческих реляционных СУБД. По оценкам специалистов, примерно 99% мирового рынка баз данных занимают в настоящий момент реляционные СУБД. Несмотря на то, что подавляющее большинство приложений базируется на реляционной технологии, их роль начинает ослабевать.
Вместе с тем в последние годы четко обозначилась тенденция развития СУБД в объектном направлении. Объектная (объектно-ориентированная) модель на не противоречит реляционной модели данных, а дополняет и развивает последнюю (точнее сказать — реляционная модель является частным случаем объектной формы представления данных). Однако, трудности развитого математического аппарата, на который могла бы опираться общая объектная модель данных, не существует, как нет и признанной базовой объектной модели. С другой стороны, некоторые авторы утверждают, что общая объектная модель данных в классическом смысле и не может быть определена по причине непригодности классического понятия модели данных к парадигме объектной ориентированности.
Преимуществами объектных СУБД модно считать:
объектные СУБД – открытые системы. Несложно добавить новый тип данных;
Большинство производителей ООБД предоставляют визуальные средства создания прикладных программ ОСУБД. Если раньше созданием прикладных программ для ОСУБД занимались специалисты в C++, Smaltalk, то теперь использовать ООБД стало намного проще
Объектные СУБД быстрее, чем реляционные, если в программе многократно осуществляется переход от объекта к объекту по ссылке. Поскольку ссылка на объект есть идентификатор, однозначно определяющий его расположение в базе, то переход по такой ссылке происходит быстрее, чем ссылка между кортежами отношений по первичному ключу. ОСУБД устраняют необходимость в языке запросов
Традиционные области применения ОСУБД – САПР, моделирование, мультимедиа. ОСУБД широко используются в телекоммуникациях, различных аспектах автоматизации предприятия, издательском деле, геоинформационных проектах.
Интеграция неоднородных информационных ресурсов . Информационная неоднородность ресурсов заключается в разнообразии понятий, словарей; отображаемых реальных объектов; правил, определяющих адекватность моделируемых объектов реальности; видов данных, способов их сбора и обработки; интерфейсов пользователей и т.д.
Реализационная неоднородность источников проявляется в использовании разнообразных компьютерных платформ, средств управления базами данных, моделей данных и знаний, средств программирования, операционных систем, и т.п. Системы обеспечивающие . называются интероперабельными системи .
Традиционные системы баз данных, используемые в информационных системах для сопровождения бизнес — процессов поддерживают большие объемы информации с помощью технологий оперативная обработка транзакций – OLTP. В OLTP-технологии обрабатывается детализированные данные, главные свойства данных здесь, их полнота и актуальность.
Для поддержки принятия решений нужны другие технологии. Необходимо объединять данные из различных источников (как из корпоративной информационной системы, так и из внешней среды), накапливать данные, делая их срезы во времени. Анализ таких данных позволяет оценивать состояние и динамику развития организации, делать обоснованные прогнозы и принимать обоснованные решения. Программные продукты, необходимые для обеспечения управленческих решений, должны обеспечивать хранение больших объемов данных, эффективный доступ к ним, а так же располагать развитыми средствами анализа данных и представления результатов в удобной для специалистов и руководства форме.
Хранилища данных отличаются от баз данных или систем оперативной обработки транзакций (OLTP-систем) своим назначением и устройством:
хранилище содержит данные, позволяющие проводить анализ деловых операций;
хранилища обычно представляют собой системы, доступные только для чтения;
в хранилищах же накапливаются данные, не меняющиеся со временем и избавленные от ошибок.
Из-за большого объема данных в хранилищах одной из основных проблем создания хранилищ является обеспечение высокой производительности обработки запросов. Запросы в хранилище отличаются высоким уровнем сложности.
Создание хранилищ данных – трудоемкий и длительный процесс. Наряду с хранилищами данных существуют и часто используются компаниями витрины данных (Data Mart), называемые также киосками данных. Такие системы создаются для отдельных подразделений компаний или для обеспечения отдельных видов деятельности. Объемы данных и требования к вычислительным ресурсам в витринах данных существенно меньше по сравнению с хранилищами. Витрины данных могут строиться как независимо, так и на основе хранилищ данных компании. Хранилища данных имеют двухуровневую или трехуровневую архитектуру. В двухуровневых хранилищах на верхнем уровне поддерживается объединенная информация. На нижнем уровне — различные источники баз данных. В трехуровневой архитектуре предусматривается поддержка витрин данных для отдельных подразделений компании над ее единым хранилищем.
Подробнее о технологиях СУБД смотрите в курсе «Введение в системы управления базами данных»
Источник
Лекция № 3. Технологии баз данных
Лекция № 3. Технологии баз данных.
Хранение информации – одна из важнейших функций компьютера. Одним из распространенных средств такого хранения являются базы данных (БД). «База данных может быть определена как структурная совокупность данных, поддерживаемых в актуальном состоянии (в соответствии объектам некоторой предметной области) и служащая для удовлетворения информационных потребностей многих пользователей… Для поддержания актуальности данных, хранящихся в базе, получения сводок по информационным запросам, перехода к данным и программам пользователей служат системы управления базами данных (СУБД)…»
Интеграция данных в базе подразумевает совместное использование данных для решения различных прикладных задач и устраняет дублирование данных. Согласованное использование данных требует централизованного управления, которое называется администрированием данных. Вообще, коллектив специалистов, обслуживающих большие базы данных, включает администраторов, аналитиков, системных и прикладных программистов.
Таким образом, технологии баз данных включают в себя такие ресурсы как информационный (специальным образом структурированная информация), кадровый (специалисты, создающие и обслуживающие БД); информационные процессы, связанные с представлением и систематизацией информации, ее хранением и поиском; информационные системы – СУБД.
Всегда, когда возникает потребность манипулирования большими массивами данных, используются базы данных.
В общем случае под данными понимается информация, находящаяся в памяти ЭВМ или подготовленная для ввода в ЭВМ. Подготовка информации состоит в ее формализации, кодировании и перенесении на магнитные носители. Таким образом, данные – это формализованное представление информации, которое может быть описано понятным для вычислительного устройства способом.
Обработка данных предполагает наличие совокупности задач, осуществляющих преобразование массивов данных. Обработка включает в себя ввод данных в ЭВМ, отбор данных по каким-либо критериям и параметрам, преобразование структуры данных, перемещение данных во внешнюю память, вывод результатов.
Под управлением данными понимается весь круг операций с данными, которые необходимы для успешного функционирования систем взаимосвязанных задач обработки данных.
База данных – это совокупность взаимосвязанных данных некоторой предметной области, хранимых в памяти ЭВМ и организованных таким образом, что эти данные могут быть использованы для решения многих задач многими пользователями.
Современные БД должны удовлетворять определенному набору требований:
— адекватность базы данных предметной области;
— минимальная избыточность хранимых данных;
— целостность базы данных;
— обеспечение защиты от несанкционированного доступа или случайного уничтожения данных;
— гибкость и адаптивность структуры базы данных;
— динамичность данных и способность к расширению;
— возможность поиска по многим ключам.
Информация в БД хранится в упорядоченном виде. Существует несколько различных типов БД: иерархические, сетевые, табличные.
Иерархические БД графически могут быть представлены как дерево, состоящее из объектов различных уровней. Верхний уровень занимает один объект; второй — объекты второго уровня и т. д.
Между объектами существуют связи, каждый объект может включать в себя несколько объектов более низкого уровня. Примером иерархической БД является каталог папок Windows.
Сетевая БД отличается от иерархической тем, что в ней каждый элемент вышестоящего уровня может быть связан одновременно с любыми элементами следующего уровня.
Вообще, на связи между объектами в сетевых моделях не накладывается никаких ограничений. Сетевой БД фактически является Всемирная паутина глобальной компьютерной сети Интернет. Гиперссылки связывают между собой сотни миллионов документов в единую распределенную сетевую БД.
Реляционная (или табличная) БД содержит перечень объектов одного типа, т. е. объектов с одинаковым набором свойств.
Такую базу удобно представлять в виде двумерной таблицы (или чаще — нескольких связанных между собой таблиц).
Примером такой таблицы может служить БД «Учащиеся», представляющая собой перечень объектов (учеников), каждый из которых имеет фамилию, имя, отчество, дату рождения, класс, номер личного дела и др.
Столбцы такой таблицы называют полями; каждое поле характеризуется своим именем (названием соответствующего свойства объекта) и типом данных, которые это поле может хранить. Каждое поле обладает определенным набором свойств (размер, формат и т. п.). Т. о., поле БД — это столбец таблицы, содержащий значения определенного свойства объектов.
Строки таблицы являются записями. Записи разбиты на поля. Каждая строка таблицы содержит запись об одном единственном объекте, включая все его свойства.
В каждой таблице должно быть хотя бы одно ключевое поле, содержимое которого уникально для любой записи в этой таблице. Значения ключевого поля однозначно определяют каждую запись в таблице. В приведенном выше примере ключевым полем может являться поле «Номер личного дела». Очень часто в качестве ключевого поля используется поле, содержащее данные типа счетчик.
В реляционных БД используются следующие основные типы полей:
— счетчик — целые числа, которые задаются автоматически при вводе записей и не могут быть изменены пользователем;
— числовой — этот тип имеют поля, значения которых могут быть только числами;
— Символьный (текстовый) — такой тип имеют поля, в которых хранятся символьные последовательности (слова, тексты, коды и др.), содержащие до 255 символов;
— Дата/время — дата и время;
— Логический — значения типа истина/ложь (да/нет).
От типа величины зависят те действия, которые можно с ней производить. Например, с числовыми данными можно выполнять арифметические операции, а с символьными и логическими — нельзя.
Базы данных используются под управлением систем управления базами данных (СУБД).
СУБД — специальные программы, предназначенные для создания БД, выполнения операций поиска, сортировки данных и других видов обработки данных.
Таким образом, принято разделять понятия:
БД — упорядоченные наборы данных;
СУБД — программы, управляющие хранением и обработкой данных.
Система управления базами данных (СУБД) — это система программного обеспечения, позволяющая обрабатывать обращения к базе данных, поступающие от прикладных программ конечных пользователей.
Системы управления базами данных позволяют объединять большие объемы информации и обрабатывать их, сортировать, делать выборки по определённым критериям и т. п.
Современные СУБД дают возможность включать в них не только текстовую и графическую информацию, но и звуковые фрагменты и даже видеоклипы.
Простота использования СУБД позволяет создавать новые базы данных, не прибегая к программированию, а пользуясь только встроенными функциями.
СУБД обеспечивают правильность, полноту и непротиворечивость данных, а также удобный доступ к ним.
Популярные СУБД — FoxPro, Access for Windows, Paradox.
Современная СУБД выполняет следующие функции:
— ввод информации в БД и обеспечение ее логического контроля;
— возможность исправления информации;
— удаление устаревшей информации;
— контроль непротиворечивости данных;
— защита данных от разрушения;
— поиск информации с заданными свойствами;
— автоматическое упорядочение информации в соответствии с определенными требованиями;
— обеспечение коллективного доступа к данным нескольких пользователей одновременно;
— защита данных от несанкционированного доступа.
Для менее сложных применений вместо СУБД используются информационно-поисковые системы (ИПС), которые выполняют следующие функции:
· хранение большого объема информации;
· быстрый поиск требуемой информации;
· добавление, удаление и изменение хранимой информации;
· вывод ее в удобном для человека виде.
Весь комплекс программных и аппаратных средств, предназначенных для хранения, изменения и обработки информации, а также обеспечивающих взаимодействие с пользователем, принято называть информационной системой. Примером такой информационной системы могут служить, например системы продажи авиационных и железнодорожных билетов.
Все информационные системы можно классифицировать, например, по используемой технической базе. Простейшая информационная система работает на одном компьютере. Вся информация сосредоточена в памяти этой машины и на ней же функционирует все программное обеспечение системы.
Существуют информационные системы на базе локальной сети. Обычно такие ИС обслуживают предприятие, учреждение, фирму. Здесь информация может передаваться по сети между разными пользователями, разные части общедоступных данных могут храниться на разных компьютерах данной сети.
И, наконец, существуют информационные системы на базе глобальных компьютерных сетей. Все известные службы Интернета можно рассматривать как такие системы. Наиболее крупной из них является WWW. Имеется также множество так называемых корпоративных систем, которые функционируют на базе локальных сетей предприятий одного ведомства, региона и т. д.
Типы баз данных
Для решения различных задач используются различные модели баз данных. Процесс выбора базы данных, которая наиболее подходит для построения конкретного приложения, называется масштабированием.
Рассмотрим некоторые модели баз данных.
Автономные базы данных.
Автономные локальные базы данных хранят свои данные в локальной файловой системе на том компьютере, на котором они установлены, при этом, система управления и машина базы данных, осуществляющая доступ к ней, находится на том же самом компьютере. Сеть в данном случае не используется.
Разработчик автономной базы данных не имеет дело с проблемой параллельного доступа, когда два человека пытаются одновременно изменить одну и ту же запись.
Автономные базы данных не используются для приложений, требующих значительной вычислительной мощности.
К приложениям, использующим автономные базы данных, можно отнести приложения, обрабатывающие документацию небольшого подразделения или конторы, кадровый состав небольшого предприятия, бухгалтерские документы небольшой бухгалтерии и т. п. Каждый пользователь такого приложения манипулирует своими собственными данными на своем компьютере и не имеет доступа к данным другого пользователя.
Файл-серверные базы данных.
Файл-серверные базы данных отличаются от автономных тем, что они могут быть доступны многим клиентам через сеть. Сама база данных хранится на сетевом файл-сервере в единственном экземпляре. Для каждого клиента во время работы создается локальная копия данных, с которой он манипулирует. При этом возникают и решаются проблемы, связанные с возможным одновременным доступом нескольких пользователей к одной и той же информации.
Одним из недостатков файл-серверных баз данных является непроизводительная загрузка сети. При каждом запросе клиента данные в его локальной копии полностью обновляются из базы данных на сервере. Даже если запрос относится всего к одной записи, обновляются все записи данных. Если записей в базе данных много, то даже при небольшом числе клиентов сеть будет загружена очень основательно, что серьезно скажется на скорости выполнения запросов.
К приложениям, использующим файл-серверные базы данных, можно отнести приложения, обслуживающие крупные учреждения. В таких приложениях администраторы отдельных подразделений обращаются к общим данным и не создают свои локальные базы данных (при этом сохраняется конфиденциальность информации, и каждый администратор имеет доступ только к той информации, которая касается деятельности только его подразделения).
Базы данных типа клиент/сервер.
Для больших баз данных с множеством пользователей часто используются базы данных на платформе клиент/сервер. В этом случае доступ к базе данных для группы клиентов выполняется специальным компьютером – сервером. Клиент дает задание серверу выполнить те или иные операции поиска или обновления базы данных. Мощный сервер, ориентированный на операции с запросами клиентов, самым оптимальным способом выполняет такие запросы и сообщает клиенту результаты своей работы.
Подобная организация работы повышает эффективность выполнения приложений за счет использования мощности сервера, разгружает сеть и обеспечивает хороший контроль целостности данных.
В базах данных такого типа возникает проблема проектирования приложения таким образом, чтобы оно максимально использовало возможности сервера и минимально нагружало сеть, передавая через нее только минимум информации.
Многоярусные базы данных.
Иногда этот сравнительно новый и перспективный способ сетевой организации баз данных называется multi-tier (многонитевый). Здесь под нитью понимается один из множества потоков данных, обменивающихся одновременно с базой данных.
Наиболее распространен трехъярусный вариант, при котором:
ü на нижнем уровне на компьютерах пользователя расположены приложения клиентов, обеспечивающие пользовательский интерфейс;
ü на втором уровне расположен сервер приложений, обеспечивающий обмен данными между пользователями и распределенными базами данных. Сервер приложений размещается в узле сети, доступном всем клиентам;
ü на третьем уровне расположен удаленный сервер баз данных, принимающий информацию от серверов приложений и управляющий ими.
Такая организация баз данных наиболее сложная и гибкая.
Источник