Лекции по Базам данных. лекции. Развитие технологий обработки данных
![]()
|
Структура простейшей базы данных. Если база данных является пустой, то есть, в ней нет данных, то она все равно является полноценной базой данных. Почему? Потому что даже пустая база данных содержит информацию о своей структуре. Базы данных могут содержать разные объекты. Таблица – основной объект базы данных. При этом простейшая база данных имеет в своем составе хотя бы одну таблицу, структура которой и определяет структуру самой базы данных (в данном случае простейшей). Методы занесения и хранения данных в базе и определяет структура базы данных. Рассмотрим структуру простейшей двумерной таблицы. Она состоит из столбцов и строк. По аналогии с двумерной таблицей в таблице базы данных тоже есть такие составляющие. Только называются по другому. Столбцы называются полями, а строки – записями. Структура простейшей базы данных образована набором полей, если записей в таблице нет. При этом, изменяя состав полей или их свойства, мы изменяем саму структуру данных, тем самым получаем новую структуру таблицы и как следствие новую структуру базы данных. Свойства группы данных, записываемых в ячейки, принадлежащие каждому из полей определяются полями базы данных. Представим некоторые из возможных свойств полей: имя поля, тип поля, размер поля, формат поля, маска ввода, подпись, обязательное поле, индексированное поле, пустые строки, условие на значение, значение по умолчанию и многое другое. Какие могут использоваться типы данных в таблице базы данных: текстовый, числовой, денежный, дата/время, счетчик, логический, гиперссылка и так далее. Режимы работы с базами данных. С базой данных работают две категории работников. К первой категории относятся проектировщики, которые разрабатывают структуру базы банных (структуру таблиц), согласовывают эту структуру с заказчиком, разрабатывают объекты, степень автоматизации работ, необходимый заказчику и реализуют различные функциональные ограничения для информационной безопасности. К второй категории относятся пользователи, которые занимаются наполнением и обслуживанием базы данных. Соответственно и система управления базой данных, как основной управляющий элемент имеет два режима работы, это проектировочный и пользовательский. Создание и корректировка структуры базы данных и ее элементов относится к проектировочному режиму. Использование спроектированных объектов, а так же наполнение базы данных или получение данных из нее относится к пользовательскому режиму. Объекты базы данных. Кроме уже приведенного основного объекта базы данных, в виде таблицы, она может включать в себя разно типовые объекты. Индивидуальность системы управления базой данных заключается в том, что она может реализовывать свои типы объектов. Рассмотрим более широко типы объектов, реализуемые в базе данных. Основным объектом, как уже говорилось, является таблицы, в которой хранятся все данные содержащиеся в базе. В таблице так же хранится и сама структура, различные поля их типы и свойства. Следующим по важности объектом является отчеты, который предназначен для вывода данных. Отчеты группируют выводимые данные и выводят специальные оформительские элементы необходимые для печатающих устройств, так как отчеты выводят формы на печатающие устройства (принтера). К оформительским элементам относятся различные колонтитулы, временные параметры работы с отчетом, нумерация и разное другое. Третьими по важности объектом является страницы или страницы доступа к данным, которые размещены на wеb-странице и передаются заказчику вместе с ней, выполнены в коде НTML и относятся к специальным объектам базы данных. Страницы размещены на сервере и являются связующим звеном между пользователем, сервером и непосредственно базой данных. Последним, заслуживающим внимание объектом базы данных можно назвать макросы и модели, которые предназначены для программного создания новых функций, а так же при работе с системой управления базой данных для автоматизации повторяющихся операций. Макросы являются средством автоматизации и включают в свой состав последовательности внутренних команд системы управления базой данных. Модули в отличии от макросов создаются средствами внешнего языка программирования. С помощью модулей разработчик базы данных может включить в нее функциональные возможности не входящие в стандартный набор, тем самым можно повысить свой рейтинг разработчика в глазах заказчика. С помощью модулей можно повысить быстродействие системы управления базой данных и уровень защищенности системы. Запросы и формы. Сортировка данных, их фильтрация и отбор данных выполняется с помощью запросов. Запросы предназначены для выборки данных из таблицы и в удобном виде представлению пользователю. С помощью запросов имеется возможность выполнять заполнение таблиц автоматически, импортировать из других источников, а также выполнять простейшие вычисления внутри таблиц. Образ отобранных из таблиц базы полей и записей является моментальным снимком или временной результирующей таблицей. При этом сома работа с образом является более эффективной, чем с хранящимися на жестком диске таблицами. На основе базовых таблиц, где выбираются данные, создается временная результирующая таблица – это является особенностью запросов. С помощью запросов происходит обновление базы данных. Данные вносятся упорядоченно, в порядке поступления в базовые таблицы. Отсортированные и отфильтрованные данные можно получить по соответствующему запросу. Рассмотрев запросы нужно уделить внимание формам. Формами называются средства представляющие пользователю необходимые для заполнения поля и предназначенные для ввода данных. Счетчики, раскрывающие списки, переключатели, флажки и многое другое являются специальными элементами управления для автоматизации процесса ввода и могут размещаться в формах. Система программирования. Ее понятие. На этапе программирования и отладки для поддержки разработки программных информационных систем необходимо инструментальное программное обеспечение, которое называется системой программирования. Для общения с разработчиком программной информационной системы программирования должна иметь встроенный язык программирования. Для создания программ на выбранном языке программирования информационная система программирования должна иметь компоненты: текстовый редактор; компилятор; редактор связей и библиотеки функций; исполнительный код. Рассмотрим каждый компонент подробнее. Текст программы, записываемый с помощью англоязычных слов и различных символов, обозначающих определенные операции. Формировать полученные файл исходного текста программы представляется возможным в любом редакторе. На конкретный язык ориентированы специализированные редакторы. Текстовые редакторы создаются для всех популярных языков программирования. Они имеют возможность дополнительно проверять синтаксис программ при вводе ее любым способом. Программа-компилятор занимается переводом исходного текста в машинный код, при этом создается промежуточный объектный код. Чем занимается редактор связей и библиотека функций? Очевидно, что текст большой программы имеет модульную структуру. При этом каждый из модулей представляет отельный файл с объектным кодом, которые в последующем необходимо объединить в единый. К этим модулям надо добавлять машинный код программы, реализующий стандартные функции, которые содержатся в библиотеках и хранятся вместе с компилятором. Редактор связей (сборщик) это специальная программа, которая обрабатывает объектный код. Редактор связывает объектные модули с машинным кодом стандартной функции, которые находятся в библиотеке. На выходе сборщик формирует работоспособное приложение в виде исполнимого кода для определенной платформы. Если по каким-то причинам объектный модуль или нужная библиотека не найдены, то редактор связей сообщает об ошибке и готовой программы не получается. Законченной программой или готовой программой, которую можно запустить с помощью операционной системы, для которой она предназначалась и является исполнимый код. Экспертные системы. Особым классом систем искусственного интеллекта является экспертная система (ЭС) – еxреrt sуstеm. Экспертная система включает знания об определенной слабо структурированной и трудно формализуемой узкой предметной области и способная предлагать и объяснять решения разума. Предназначена экспертная система для интерпретации данных, диагностики состояния, мониторинга, прогнозирования, планирования и обучения. Все перечисленные выше задачи сводятся к распознаванию образов. Экспертная система предназначена для консультирования специалистов в определенной предметной области. Экспертные системы могут быть разделены на два типа. Первый тип экспертных систем в своих базах знаний содержит знания, полученные от специалистов экстра-класса и предназначен для специалистов не высокого уровня. Второй тип экспертных систем выполняет значительную часть различных рутинных операций, просмотр больших массивов информации и предназначен специалистов высокого уровня. Системы управления базами данных позволяют комплексировать большие информационные объемы, обрабатывать их, сортировать и делать выборки по определенным критериям. Системы управления базами данных История развития СУБД На фоне роста производительности компьютерных систем происходило развитие систем управления базами данных, причем именно рост производительности спровоцировал развитие СУБД, как отдельного класса. Уже к середине шестидесятых годов прошлого столетия существовало уже достаточно большое количество коммерческих систем управления базой и постоянно возрастающий интерес к базам данных только подтверждал правильность развития и требовал наличия в данной сфере системы стандартизации. Только система стандартизации могла упорядочить и немного ограничить огромное количество почти одинаковых систем управления базой данных. Для этого была организована целевая группа DТG (Dаtа Ваsе Таsk Grоuр) во главе которой стал автор комплексной базы данных Intеgrаtеd Dаtа Stоrе Чapльз Бaхмaн (Сhаrlеs Васhmаn). Целевая группа была создана в рамках СОDАSYL для организации стандартов базы данных и утверждение различных особенностей. СОDАSYL это группа отвечавшая за стандартизацию языка программирования СОВОL. Плодом работы стал тот факт, что уже в 1971 году был выдвинут свой подход – «Подход СОDАSYL», который определял некий свод утверждений и замечание для создания база данных. И спустя некоторое время начали появляться с учетом подхода первые успешные коммерческие продукты. Компания IВМ, идущая в пионерах компьютерной техники, представила свою систему управления базой данных IМS уже в 1968 году. Представленный продукт был некоторой компиляцией утилит используемых с системами System/360 на шаттлах Аполлон. Решение уже тогда укладывалось в рамки правил подход СОDАSYL с применением строгой структуризации и иерархии данных, причем за основу была взята сетевая система управления базой данных. Эти разработки, уже позже были приняты информационным сообществом как классические варианты организации работы системы управления базой данных, а Чapльз Бaхман в 1973 году получил одну из наиболее значимых наград сообщества – премию Тьюринга. Премия была присуждена за работу «Программист как навигатор». В то время в одном из отделений Сан Хосе (США) компании IВM работал сотрудником Эдгар Кодд. Он занимался разработкой систем хранения и в 1970 году написал ряд статей, которые касались моделей навигации системы управления базы данных. Они касались инновационных подходов в процессе оптимальной организации систем управления баз данных. Считается что своей работой он внес существенный вклад в развитие систем управления баз данных и стал одним из основоположников теории реляционных баз данных. Применяя операции реляционной алгебры, Эдгар Кодд в 1981 году создал реляционную модель данных. Когда используется база данных, предполагается, что несколько различных пользователей могут работать с разными прикладными задачами. За сохранность файлов при решении задач в прикладной программе отвечает программист, работающий с этой задачей. Это касается отдельных файлов. Когда работа происходит с различными интегрированными данными, количество информации и различных отдельных файлов существенно возрастает, что приводит к невозможности сохранение достоверности лежащее на программисте. Он уже физически не может отвечать за это. В этом случае любое расширение решаемых возможностей приводит к дополнительному появлению новых типов записей и как следствие к новым взаимоотношениями между этими записями. Трудно мирится с тем фактом, что такое изменение должно повлиять на ранее разработанные и успешно функционирующие прикладные программы самой системы. И в обратном направлении тоже есть существенное ограничение. Возможное изменение прикладной программы не должно влиять на изменение структуры базы данных. Видно что эти ограничения приводят к необходимости отделения прикладных программ от базы данных. Роль отделяющего элемента, или интерфейса между прикладными программами и базой данных, обеспечивающего их независимость, играет программный комплекс, который называется системой управления базами данных (СУБД) (Рис. 2.1). СУБД – программный комплекс поддержки интегрированной совокупности данных, предназначенный для создания, ведения и использования базы данных многими пользователями (прикладными программами). ![]() Рисунок 2.1 – Обеспечение независимости прикладных программ и базы данных Прежде чем рассказать о классификации банков данных повторим его определение. Банк данных – система языковых, алгоритмических, программных, технических и организационных средств поддержки интегрированной совокупности данных, а также сами эти данные, представленные в виде баз данных. Классификация банков данных (БнД) Банки данных являются сложными системами, и классифицировать можно по разным признакам. Классификация баз данных. Как уже говорилось, база данных является центральным, ключевым компонентом банка данных и большая часть признаков по которым может быть произведена классификация, относятся именно к базе данных. По форме представления информации различают видео- и аудиосистемы, а также системы мультимедиа. Это показатель того, в каком виде информация выдается пользователю. Это может быть в виде изображения (фотографии, рисунки, чертежи и т.д.), в виде звука или имеется возможность использовать разные разных форм отображения информации и их комбинацию. С практической стороны наибольшее распространение имеют базы данных, содержащие обычные символьные данные. Они, в свою очередь, могут быть классифицированы на неструктурированные, частично структурированные и структурированные. К неструктурированным базам данных могут быть отнесены БД, организованные в виде семантических сетей. Частично структурированными можно считать базы данных в виде обычного текста или гипертекстовой системы. Структурированные базы данных имеют большую практическую значимость и поэтому могут делиться дополнительно. Они могут разделяться по типу используемой модели: иерархические; сетевые; реляционные; смешанные; мультимодельные. С коммерческой точки зрения выделяются в использовании реляционные системы (базы данных). По типу модели можно классифицировать не только базы данных, но и системы управления базами данных и даже банки данных. Деление баз данных по типу хранимой информации производится на документальные, фактографические и лексикографические. Если подразделить документальные базы данных то можно еще получить библиографические, реферативные и полнотекстовые. Лексикографические базы данных, представляют из себя, различные словари. Базы данных можно классифицировать по характеру организации хранения данных и обращения к ним. В этом случае различают локальные (персональные), общие (интегрированные) и распределенные базы данных. Классификация может быть осуществлена по охвату предметной области. Эту классификация можно производить по различным признакам. По территориальному, это может быть мир, страна, город, регион и т.д. По временному признаку это может быть год, месяц, с начала века и т.п. Так же могут быть признаки ведомственные и проблемные. Классификация систем управления баз данных. Деление систем управления базами данных, так же как и самих баз данных, осуществляется по множественным признакам. Причем приведенное деление не является окончательным. Системы управления базами данных можно разделить по языкам общения. В этом случае они могут быть открытыми (используются универсальные языки программирования), замкнутыми (собственные языки общения с пользователями) и смешанными. Система управления базами данных имеет в своей архитектуре уровни, соответственно может разделяться по числу уровней. Могут быть одноуровневыми, двухуровневыми и трехуровневыми. Архитектурный уровень системы управления базой данных это функциональный компонент, механизмы которого служат для поддержки некоторого уровня абстракции данных. Функциональное предназначение является центровым в классификации и под ним понимается разделение систем управления базами данных по выполняемым функциям. Он делятся по этому признаку на информационные и операционные. Информационные системы управления базами данных позволяют организовать хранение информации и доступ к ней. При этом, для выполнения более сложной обработки необходимы дополнительные специальные программы. Операционные системы управления базами данных выполняют более сложную обработку. Они могут давать возможность автоматически получать различные агрегированные показатели, не хранящиеся непосредственно в базе данных, могут изменять алгоритм обработки и т.д. Рассмотрим классификацию систем управления базами данных по сфере возможного применения. Это очень важный признак, который учитывает спрос и соответственно выдает предложение. Это признак который дает развитие базам данных. По этому признаку различают универсальные и специализированные, обычно проблемно-ориентированные системы управления базами данных. Набор типов данных, которые поддерживает система управления базами данных, различен. Разные типы данных допустимы для разных систем управления базами данных и этот набор может быть различен. В современных системах управления базами данных наблюдается тенденция к расширению числа используемых типов данных. Имеются системы управления базами данных, которые дают возможность разработчику добавлять новые типы данных и новые операции над этими данными. Такие системы называются расширяемыми системами баз данных (РСБД). Расширяемые системы баз данных являются концепцией развития баз данных и представляют в этом взгляде объектно-ориентированные системы баз данных, обладающие достаточно мощными выразительными возможностями, чтобы непосредственно моделировать сложные объекты. В заключении классификации систем управления базами данных можно представить генераторы системы управления базы данных, как новое направление в развитии программного обеспечения банков данных. Генераторы системы управления базы данных позволяют разработчику строить собственную систему управления базами данных нового типа без полного переписывания программного кода из заготовок. |