Вопрос 1. Базы данных: архитектура и модели данных.
Во многих исследовательских и организационных задачах любой предметной области возникает необходимость хранения и обработки больших объемов информации и обеспечения доступа к этой информации различными прикладным программам. Эта задача эффективно решается с использованием программного обеспечения, где главную роль играют базы данных и системы управления базами данных, обеспечивающие доступ к информации, хранимой в базе данных.
Впервые термин "база данных" появился в 1962 году. Большая важность проблематики, связанной с разработкой принципов и приемов создания и использования баз данных, а также соответствующих программных средств, привела к оформлению технологии баз данных в самостоятельную область информатики.
Термин БД трактуется чрезвычайно многозначно.
Можно сказать, что база данных — это упорядоченная совокупность данных, используемая при выполнении разнообразных задач, предназначенная для получения ответов на информационные вопросы, позволяющая извлекать, просматривать, редактировать данные оптимальным способом.
В широком смысле можно сказать, что БД — это совокупность сведений о конкретных объектах реального мира в какой-либо предметной области или разделе предметной области. Например, база данных поликлиники (предметная область — медицина), БД видеофильмов (видеотека), база данных сотрудников предприятия и т. д.
В данном определении нет упоминания о компьютере или информационной технологии. Потому что, например, врач может создать бумажную картотеку своих больных и хранить ее у себя в кабинете. В библиотеках хранятся справочные картотеки книг и журналов. Если же в этих учреждениях установить компьютер и перевести содержимое карточек в электронных вид, то, создав, таким образом, “компьютерный” банк данных, мы получаем возможность выполнять быстрее операции учета, оформления, получения информации (например, в поликлинике — воспроизведение и печать, сделанных ранее кардиограмм, сравнение и анализ состояния пациента; в библиотеке — выбор и заказ из архива читателя (его собственной базы данных) нужных книг; поиск по компьютерному библиографическому указателю и т. д.) Но многие возможности компьютера все же остаются за рамками такого подхода.
Создавая базу данных, мы пытаемся обеспечить себе возможность
1) упорядочивать информацию по различным признакам и критериям;
2) быстро извлекать выборки с произвольным сочетанием признаков.
Все это требует определенного подхода, определенных соглашений в заполнении и получении информации. Поэтому и возникает необходимость создания баз данных.
Итак, база данных -это совокупность определенным образом связанных и зависимых записей различного типа, которые характеризуют информационную модель предметной области.
Согласно теории баз данных выделяют три уровня представлений или абстракций БД:
· концептуальный;
· уровень реализаций (логический);
· физический.
С понятием концептуальной БД и представлением реализации связано понятие модели данных —средства представления исходных данных и их взаимосвязи.
На уровне представления реализаций используются три основные модели данных:
· иерархическая;
· сетевая;
· реляционная.
Для физической организации БД и обеспечения доступа к ней используетсясистема управления базой данных (СУБД).
СУБД —это программное обеспечение, предназначенное для осуществления операций с БД в соответствии с потребностями пользователя.
Конкретная СУБД поддерживает оригинальную модель данных.
Рассмотрим подробнее каждую модель данных на простых примерах.
Сетевая модель данных.В сетевой модели допускаются только связи типа “многие к одному”. Основные особенности:
· основная единица обработки – запись;
· обработка может быть начата с записи любого типа независимо от ее расположения в структуре БД;
· от извлеченной записи возможны переходы как к ее подчиненным записям, так и к тем, которым она подчинена;
· подчиненная запись может иметь только одного владельца, что делает невозможным представление связей типа “многие ко многим”.
Иерархическая модель данных. Основные особенности обработки данных в иерархических моделях:
· данные представлены в виде иерархических структур;
· основная единица обработки – запись;
· обработка начинается только с корневой записи, а доступ к некорневым обеспечивается по иерархическому пути;
· каждая запись связывается с помощью ключа от корневой до данной в иерархическом пути.
Примером иерархической структуры может служить генеалогическое древо. Структуру иерархической модели можно представить в виде графа (дерева), только объект самого верхнего уровня называется корнем, а нижнего листьями. Движение по такому "дереву" возможно лишь сверху вниз и назад, но не по горизонтали. Древовидная структура может существовать лишь тогда, когда для каждого объекта указан только один исходный.
Указание на обоих "родителей" приведет к сетевойструктуре. Простейший пример сетевой структуры — родственные связи. Графически сетевая структура похожа на схему последовательного и параллельного соединения электрических сетей.
Недостатком графовых моделей является сложность механизма доступа к данным, а также необходимость четко определять связи данных.
Реляционная модель данных. Потребность в разработке модели, более независимой от аппаратных средств, привела к появлению в 1970 г. реляционного подхода. Самой популярной реляционная модель БД стала в эпоху персональных компьютеров. Все данные в модели представляются в виде таблиц и только таблиц, в связи с чем это единственная модель, обеспечивающая единообразие представления данных. Простейшим графическим примером является классный журнал.
Достоинством реляционной модели является сравнительная простота инструментальных средств ее поддержки, недостатком жесткость структуры данных, невозможность, например, задания строк таблицы произвольной длины и зависимость скорости ее работы от размера БД.
В реляционной модели данные представляются в виде таблиц, связанных между собой по ключевому полю. Таблица описывает объект базы данных. Каждая строка таблицы — набор атрибутов (характеристик) данного объекта. Значение одного из атрибутов рассматривается как первичный ключ.
Термин «реляционный» происходит от английского relation – отношение.
Любую структуру данных можно представить в виде простой двумерной таблицы. Реляционными БД занимается сложная математическая дисциплина – теория реляционных БД. В этой теории строку таблицы называют записью, а столбец – полем. Описание столбцов (полей) составляется разработчиком БД и называется макетом, или структурой таблицы. Каждое поле имеет имя, тип, дополнительные характеристики. Одно и то же поле может входить в состав нескольких таблиц.
Вопрос 2.Понятия реляционной алгебры.
Следующей компонентой модели данных является совокупностьопераций над данными для перевода базы данных из одного состояния в другое. Каждая операция включает селекциюданных, т.е. выделение именно тех данных, над которыми должна быть выполнена операция и собственно действия над выделенными данными. Действие может заключаться в чтении, записи, модификации (изменения) или удалении найденной записи (записей). Каждая модель данных определяет набор таких операций, который и составляет специальный язык манипулирования данными. В реляционных системах язык манипулирования данными базируется на разработанном Е.Коддом математическом аппарате реляционной алгебры. В этом языке все операции с данными описываются в виде операций с таблицами.
Почти каждый историк, планирующий сегодня создание персональной базы данных, начинает знакомство с программным обеспечением с СУБД, поддерживающей реляционную модель. Реляционная модель данных состоит из привычных и понятных каждому таблиц. Таблица представляет собой двумерный массив типа "объекты-признаки". Однако для того, чтобы таблица могла называться реляционной, она должна обладать следующими необходимыми для реляционной структуры свойствами:
· все столбцы (поля) в таблице однородные, т.е. все элементы одного столбца имеют одинаковую природу,
· полям присваиваются уникальные имена,
· в таблице не должно быть одинаковых строк,
· все строки таблицы имеют одну и ту же структуру, т.е. одно и то же количество атрибутов с одинаковыми именами,
· в операциях с таблицами ее строки и столбцы могут просматриваться в любом порядке и любой последовательности безотносительно к их информационному содержанию.
В терминах реляционной алгебры такая таблица называется отношением (relation), в столбцах которого стоят атрибуты, в строках кортежи. Число столбцов таблицы называется степенью отношения, число строк – мощностью.
Все действия историка–пользователя по созданию базы, поиску и модификации информации, анализу и представлению результатов этого анализа основаны на выполнении определенных операций над множеством записей в различных файлах базы данных.
СУБД реляционного типа выполняет следующие необходимые операции над таблицами: объединения, пересечения, разности, прямого произведения, соединения, селекции (выборки определенных строк), проекции (выборки определенных столбцов), деления.
Для облегчения понимания и запоминания ниже дана табл. 3 соответствий традиционных понятий, терминов реляционной алгебры и терминов систем управления базами данных.