Дисциплина: Информационные технологии в управлении

Тема: Классификация баз данных

Москва 2004 г.

ПЛАН


1. Классификация СУБД.

2. Функциональные возможности СУБД.

3. Модели описания баз данных.

База данных – это информационная модель предметной области, совокупность взаимосвязанных, хранящихся вместе данных при наличии такой минимальной избыточности, которая допускает их использование оптимальным образом для одного или нескольких приложений. Данные (файлы) хранятся во внешней памяти и используются в качестве входной информации для решения задач.

СУБД - это программа, с помощью которой реализуется централизованное управление данными, хранимыми в базе, доступ к ним, поддержка их в актуальном состоянии.

Системы управления базами данных можно классифицировать по способу установления связей между данными, характеру выполняемых ими функций, сфере применения, числу поддерживаемых моделей данных, характеру используемого языка общения с базой данных и другим параметрам.

Классификация СУБД:

По выполняемым функциям СУБД подразделяются на операционные и информационные;

По сфере применения СУБД подразделяются на универсальные и проблемно-ориентированные;

По используемому языку общения СУБД подразделяются на замкнутые, имеющие собственные самостоятельные языки общения пользователей с базами данных, и открытые, в которых для общения с базой данных используется язык программирования, расширенный операторами языка манипулирования данными;

По числу поддерживаемых уровней моделей данных СУБД подразделяются на одно-, двух-, трехуровневые системы;

По способу установления связей между данными различают реляционные, иерархические и сетевые базы данных;

По способу организации хранения данных и выполнения функций обработки базы данных подразделяются на централизованные и распределенные.

Системы централизованных баз данных с сетевым доступом предполагают две основные архитектуры – файл-сервер или клиент-сервер.

Архитектура файл-сервер. Предполагает выделение одной из машин сети в качестве центральной (главный сервер файлов), где хранится совместно используемая централизованная база данных. Все другие машины исполняют роль рабочих станций. Файлы базы данных в соответствии с пользовательскими запросами передаются на рабочие станции, где в основном и производится их обработка. При большой интенсивности доступа к одним и тем же данным производительность информационной системы падает.

Архитектура клиент-сервер. Эта модель взаимодействия компьютеров в сети для современных СУБД фактически стала стандартом. Каждый из подключенных к сети и составляющих эту архитектуру компьютеров играет свою роль: сервер владеет и распоряжается информационными ресурсами системы, клиент имеет возможность пользоваться ими. Помимо хранения централизованной базы данных сервер базы данных обеспечивает выполнение основного объема обработки данных. Запрос на данные, выдаваемый клиентом (рабочей станцией), порождает поиск и извлечение данных на сервере. Извлеченные данные транспортируются по сети от сервера к клиенту. Спецификой архитектуры клиент-сервер является использование языка запроса SQL.

Сервер базы данных представляет собой СУБД, параллельно обрабатывающую запросы, поступившие со всех рабочих станций. Как правило, клиент и сервер территориально отделены друг от друга, и в этом случае они образуют систему распределенной обработки данных.

Характеристиками СУБД являются:

Производительность;

Обеспечение целостности данных на уровне баз данных;

Обеспечение безопасности данных;

Возможность работы в многопользовательских средах;

Возможность импорта и экспорта данных;

Обеспечение доступа к данным с помощью языка SQL;

Возможность составления запросов;

Наличие инструментальных средств разработки прикладных программ.

Производительность СУБД оценивается:

Временем выполнения запросов;

Скоростью поиска информации;

Временем импортирования баз данных из других форматов;

Скоростью выполнения операций (таких как обновление, вставка, удаление);

Временем генерации отчета и другими показателями.

Безопасность данных достигается:

Шифрованием прикладных программ;

Шифрованием данных;

Защитой данных паролем;

Ограничением доступа к базе данных (к таблице, к словарю и т.д.).

Обеспечение целостности данных подразумевает наличие средств, позволяющих удостовериться, что информация в базе данных всегда остается корректной и полной. Целостность данных должна обеспечиваться независимо от того, каким образом данные заносятся в память (в интерактивном режиме, посредством импорта или с помощью специальной программы). Используемые в настоящее время СУБД обладают средствами обеспечения целостности данных и надежной безопасности.

Система управления базами данных управляет данными во внешней памяти, обеспечивает надежное хранение данных и поддержку соответствующих языков базы данных. Важной функцией СУБД является функция управления буферами оперативной памяти. Обычно СУБД работают с базами данных больших размеров, часто превышающими размеры оперативной памяти ЭВМ. В развитых СУБД поддерживается свой набор буферов оперативной памяти с собственной дисциплиной их замены.

Наибольшее распространение в настоящее время получили системы управления базами данных Microsoft Access и Oracle.


Этапами работы в СУБД являются:

Создание структуры базы данных, т.е. определение перечня полей, из которых состоит каждая запись таблицы, типов и размеров полей (числовой, текстовый, логический и т.д.), определение ключевых полей для обеспечения необходимых связей между данными и таблицами;

Ввод и редактирование данных в таблицах баз данных с помощью представляемой по умолчанию стандартной формы в виде таблицы и с помощью экранных форм, специально создаваемых пользователем;

Обработка данных, содержащихся в таблицах, на основе запросов и на основе программы;

Вывод информации из ЭВМ с использованием отчетов и без использования отчетов.

Реализуются названные этапы работы с помощью различных команд.

Централизованная база данных обеспечивает простоту управления, улучшенное использование данных на местах при выполнении дистанционных запросов, более высокую степень одновременности обработки, меньшие затраты на обработку.

Распределенная база данных предполагает хранение и выполнение функций управления данными в нескольких узлах и передачу данных между этими узлами в процессе выполнения запросов. В такой базе данных не только различные ее таблицы могут храниться на разных компьютерах, но и разные фрагменты одной таблицы. При этом для пользователя не имеет значения как организовано хранение данных, он работает с такой базой, как с централизованной.


Известны три типа моделей описания баз данных – иерархическая, сетевая и реляционная, основное различие между которыми состоит в характере описания взаимосвязей и взаимодействия между объектами и атрибутами базы данных.

Иерархическая модель предполагает использование для описания базы данных древовидных структур, состоящих из определенного числа уровней. «Дерево» представляет собой иерархию элементов, называемых узлами. Под элементами понимается список, совокупность, набор атрибутов, элементов, описывающих объекты.

В качестве примера простой иерархической структуры можно привести административную структуру высшего учебного заведения, элементами которой являются: «Университет – Факультет – Группа». На каждом уровне иерархии данной структуры могут быть использованы различные атрибуты. Например, атрибутами третьего уровня могут быть: специализация группы, численный состав, фамилия старосты группы и другие.

В данной модели имеется корневой узел или просто корень – «Университет», который находится на самом верхнем уровне иерархии, а потому не имеет узлов, стоящих выше его. Каждый узел модели имеет только один исходный, находящийся по отношению к нему на более высоком уровне, а на последующих уровнях классификации он может иметь один, два или большее количество узлов, либо не иметь их вообще.

Принципы иерархии:

Иерархия всегда начинается с корневой вершины (или главного узла);

Исходный узел, из которого строится дерево, называется корневым узлом или просто корнем, причем одно дерево может иметь только один корень;

Узел может содержать один или несколько атрибутов, описывающих находящийся в нем объект;

Порожденные узлы могут встраиваться в «дерево» как в горизонтальном направлении, так и в вертикальном;

Доступ к порожденным узлам возможен только через исходный узел, поэтому существует только один путь доступа к каждому узлу.

Достоинством модели является простота ее построения, легкость понимания сути принципа иерархии, наличие промышленных СУБД, поддерживающих данную модель. Недостатком является сложность операций по включению в иерархию информации о новых объектах базы данных и удалению устаревшей информации.

Сетевая модель описывает элементарные данные и отношения между ними в виде ориентированной сети. Это такие отношения между объектами, когда каждый порожденный элемент имеет более одного исходного и может быть связан с любым другим элементом структуры. Например, в структуре управления учебным заведением порожденный элемент «Студент» может иметь не один, а два исходных элемента: «Студент – Учебная группа», и «Студент – Комната в общежитии».

Сетевые структуры могут быть многоуровневыми и иметь разную степень сложности. Схема, в которой присутствует хотя бы одна связь «многие ко многим» и которая требует для своей реализации использования сложных методов, является сложной схемой.

База данных, описываемая сетевой моделью, состоит из областей, каждая из которых состоит из записей, а последние, в свою очередь, состоят из полей. Недостатком сетевой модели является ее сложность, возможность потери независимости данных при реорганизации базы данных. При появлении новых пользователей, новых приложений и новых видов запросов происходит рост базы данных, что может привести к нарушению логического представления данных.

Реляционная модель имеет в своей основе понятие «отношения», и ее данные формируются в виде таблиц. Отношение – это двумерная таблица, имеющая сове название, в которой минимальным объектом действий, сохраняющим ее структуру, является строка таблицы (кортеж), состоящая из ячеек таблицы – полей.

Каждый столбец таблицы соответствует только одной компоненте этого отношения. С логической точки зрения реляционная база данных представляется множеством двумерных таблиц различного предметного наполнения.

В зависимости от содержания отношения реляционной базы данных бывают объективными и связными. Объективные отношения хранят данные о каком-либо одном объекте, экземпляре сущности. В них один из атрибутов однозначно определяет объект и называется ключом отношения или первичным атрибутом (для удобства он записывается в первом столбце таблицы). Остальные атрибуты функционально зависят от этого ключа. В объективном отношении не может быть дублирующих объектов и в этом – основное ограничения реляционной базы данных. Связное отношение хранит ключи нескольких объектных отношений, по которым между ними устанавливаются связи.

Если набор атрибутов базы данных заранее не фиксирован, то возможны различные варианты их группировки, однако, независимо от выбранного способа, должны соблюдаться единые требования. В частности, если база данных содержит множество отношений, то они должны иметь минимальную избыточность представления информации; атрибуты, включаемые в базу данных, должны обеспечивать выполнение массовых расчетов; при добавлении в базу данных новых атрибутов перестройка наборов отношений должна быть минимальной.

К числу достоинств реляционной модели относятся: простота построения, доступность понимания, возможность эксплуатации базы данных без знания методов и способов ее построения, независимость данных, гибкость структуры и другие. Недостатками модели являются: низкая производительность по сравнению с иерархической и сетевой моделями, сложность программного обеспечения, избыточность.

ЛИТЕРАТУРА

1. Веретенникова Е.И., Патрушина С.М., Савельева Н.Г. Информатика: Учебное пособие. Серия «Учебный курс». – Ростов н/Д: Издательский центр «МарТ», 2002.

2. Могилев А.В. Информатика: Учеб. пособие для студ. пед. вузов / А.В. Моглиев, Н.И. Пак, Е.К. Хеннер; Под ред. Е.К. Хеннера.- 2-е изд., стер. – М.: Издательский центр «Академия», 2003.


Репетиторство

Нужна помощь по изучению какой-либы темы?

Наши специалисты проконсультируют или окажут репетиторские услуги по интересующей вас тематике.
Отправь заявку с указанием темы прямо сейчас, чтобы узнать о возможности получения консультации.

БД - это аббревиатура, расшифровывающаяся как "база данных", или "базы данных" (в зависимости от контекста). В данной статье рассмотрим, что она/они собой представляют, какими бывают и где применяются. Также обсудим, СУБД и БД - это одно и то же или нет.

Терминология

Базой данных называют некое структурированное хранилище информации. БД - это также способная вмещать в себе некие данные, с условием, что они обязательно будут упорядочены. Каждый из нас работал с БД хоть раз, но мог об этом даже и не догадываться, например, вводя поисковый запрос, мы обращаемся к масштабной базе данных за конкретными сведениями.

СУБД - это очередная аббревиатура, которую расшифровывают как В общем смысле они представляют собой различные программные решения, при помощи которых можно организовывать данные БД. Под этим понимается заполнение базы информацией, упорядочивание ее, удаление, копирование, анализ и многое другое.

Виды БД

В теории различают несколько их видов. Бывают:

  • Реляционные базы данных (от английского слова relation, что переводится как "связь") - характеризируются отношениями и выражены в совокупности взаимосвязанных сущностей. Последние представлены в виде табличек, в которых содержатся данные БД. Это наиболее распространенный
  • Иерархические - связи на уровне "предок-потомок", "начальник-подчиненный".
  • Сетевые - ответвление от предыдущего вида.
  • Объектно-ориентированные, которые напрямую работают с соответствующей методологией

Рассмотрим каждый из них подробнее, попутно останавливаясь на основных идеях и понятиях базы данных.

БД - это табличка?

В их обычном представлении не вызывают трудностей для понимания - это таблички с информацией. Для разъяснения можно призвать на помощь очень известную СУБД от компании "Майкрософт" - "Аксес", входящий в их привычных офисный пакет приложений.

У таблиц реляционных БД есть записи (строки) и поля (столбцы). В первых содержится непосредственно информация, данные, в последних - описания того, что именно означают записи. Например, поле - "имя", запись - "Катерина".

Для полей задаются типы значения. Они могут быть числовыми, символьными, датой, временем и т. д. Кроме того, у каждой таблицы должно быть ключевое поле - записи в нем уникально идентифицируют данные.

Следует понимать, что сама по себе БД - это не таблица. В базе может храниться от одной до нескольких сотен таблиц в зависимости от количества и разнообразия информации.

Связи между таблицами

Для обеспечения связей между таблицами в СУБД есть схемы данных. Связи бывают:

  • "Один-к-одному" - каждой записи таблицы соответствует только одна запись из другой таблички.
  • "Один-ко-многим" и "многие-ко-многим". Одной записи может соответствовать сразу несколько из связанной таблицы. И наоборот (для второго варианта).
  • "Многие-ко-многим". Уже нетрудно догадаться, что в этом случае для нескольких строк может быть подобрано для связи несколько строк другой таблицы (такая связь организовывается при помощи промежуточной таблицы и двух связей вышеуказанного вида).

Движение вверх и вниз

Иерархические БД имеют гораздо более четкую структуру, чем реляционные. Им свойственно строгое подчинение. Имеется корневой элемент - "верхушка", от которого ответвляются подчиненные - "наследники" или "потомки". Иерархическая БД - это база с древовидной структурой, у которой у каждого узла может быть только один предок.

Такой тип удобно применять для построения хранилищ информации уже упорядоченной структуры: например, базы данных воинского подразделения или файлового менеджера. Недостатком считается невозможность для узла иметь более одного предка, а также сложность логики БД.

Расширяем связи

Сетевые БД стали решением недостатка иерархических, названного чуть выше. Единственным отличием этого типа от предыдущего стала связь "многие-ко-многим", которая в данном случае проявляется в том, что как предок может иметь много наследников, так и они, потомки, могут происходить сразу от нескольких узлов.

Табличный способ отображения

Несмотря на то что таблицы ассоциируются прежде всего с реляционными БД, и иерархические, и сетевые могут быть также представлены в виде таблиц. Основное же различие этих видов - именно в принципе построения структуры: реляционные по сравнению с двумя остальными гораздо более свободные и менее упорядоченные.

Объектно-ориентированный тип

Последний рассматриваемый тип - объектно-ориентированный - наименее распространен. Все потому, что он очень узкоспециализирован. Сложные структуры данных такой базы образуют объект и работают непосредственно с языками объектно-ориентированного программирования. Они разрабатывались в восьмидесятых годах прошлого века и не получили пока большой популярности из-за своей сложности и не очень высокого показателя быстродействия.

Существует огромное количество разновидностей баз данных, отличающихся по различным критериям.

Укажем только основные классификации.

Классификация БД по модели данных (примеры):

  • · иерархические,
  • · сетевые,
  • · реляционные,
  • · объектные,
  • · объектно-ориентированные,
  • · объектно-реляционные.

Реляционная модель является простейшей и наиболее привычной формой представления данных в виде таблицы. В теории множеств таблице соответствует термин отношение (реляция), который и дал название модели. Для нее имеется развитый математический аппарат - реляционное исчисление и реляционная алгебра, определены такие операции, как объединение, вычитание, пересечение, соединение и др.

Достоинством реляционной модели является сравнительная простора инструментальных средств ее поддержки, недостатком - жесткость структуры данных (невозможно, например, задать строки таблицы произвольной длины) и зависимость скорости ее работы от размера базы данных. Для многих операций в такой модели может оказаться необходимым просмотр всей базы.

Иерархическая и сетевая модели предполагают наличие связей между данными, имеющими какой-либо общий признак. В иерархической модели такие связи могут быть отражены в виде дерева-графа, где возможны только односторонние связи от старших вершин к младшим. Это облегчает доступ к необходимой информации, но только если все возможные запросы отражены в структуре дерева. Никакие иные запросы удовлетворены быть не могут. Типичными представителями иерархической модели являются классификаторы.

Указанный недостаток снят в сетевой модели, где, по крайней мере, теоретически, возможны связи «всех со всеми» (на практике прибегают к ограничениям). Чаще всего в качестве сетевой модели называют тезаурусы по областям знаний и каталоги продукции.

Использование сетевой и иерархической моделей ускоряет доступ к информации в БД, но, поскольку каждый элемент данных должен содержать ссылки на другие элементы, требуются значительные ресурсы как дисковой, так и оперативной памяти ЭВМ.

Классификация БД по среде физического хранения:

  • · БД во вторичной памяти (традиционные): средой постоянного хранения является периферийная энергонезависимая память (вторичная память) -- как правило жёсткий диск. В оперативную память СУБД помещает лишь кеш и данные для текущей обработки.
  • · БД в оперативной памяти (in-memory databases): все данные находятся в оперативной памяти.
  • · БД в третичной памяти (tertiary databases): средой постоянного хранения является отсоединяемое от сервера устройство массового хранения (третичная память), как правило на основе магнитных лент или оптических дисков. Во вторичной памяти сервера хранится лишь каталог данных третичной памяти, файловый кеш и данные для текущей обработки; загрузка же самих данных требует специальной процедуры.

Классификация БД по содержимому (примеры):

  • · географические;
  • · исторические;
  • · научные;
  • · мультимедийные.

Классификация БД по степени распределённости:

  • · централизованные (сосредоточенные);
  • · распределённые.

Система управления базами данных (СУБД) -- совокупность программных и лингвистических средств общего или специального назначения, обеспечивающих управление созданием и использованием баз данных.

Основные функции СУБД:

  • · управление данными во внешней памяти (на дисках);
  • · управление данными в оперативной памяти с использованием дискового кэша;
  • · журнализация изменений, резервное копирование и восстановление базы данных после сбоев;
  • · поддержка языков БД (язык определения данных, язык манипулирования данными).

Обычно современная СУБД содержит следующие компоненты:

  • · ядро, которое отвечает за управление данными во внешней и оперативной памяти, и журнализацию,
  • · процессор языка базы данных, обеспечивающий оптимизацию запросов на извлечение и изменение данных и создание, как правило, машинно-независимого исполняемого внутреннего кода,
  • · подсистему поддержки времени исполнения, которая интерпретирует программы манипуляции данными, создающие пользовательский интерфейс с СУБД
  • · а также сервисные программы (внешние утилиты), обеспечивающие ряд дополнительных возможностей по обслуживанию информационной системы.

Классификации СУБД

По модели данных (примеры):

  • · Иерархические
  • · Сетевые
  • · Реляционные
  • · Объектно-ориентированные

По степени распределённости:

  • · Локальные СУБД (все части локальной СУБД размещаются на одном компьютере)
  • · Распределённые СУБД (части СУБД могут размещаться на двух и более компьютерах).

По способу доступа к БД:

· Файл-серверные

В файл-серверных СУБД файлы данных располагаются централизованно на файл-сервере. СУБД располагается на каждом клиентском компьютере (рабочей станции). Доступ СУБД к данным осуществляется через локальную сеть. Синхронизация чтений и обновлений осуществляется посредством файловых блокировок. Преимуществом этой архитектуры является низкая нагрузка на ЦП сервера. Недостатки: потенциально высокая загрузка локальной сети; затруднённость централизованного управления; затруднённость обеспечения таких важных характеристик как высокая надёжность, высокая доступность и высокая безопасность. Применяются чаще всего в локальных приложениях, которые используют функции управления БД.

На данный момент файл-серверная технология считается устаревшей.

Примеры: Microsoft Access, Paradox, dBase, FoxPro, Visual FoxPro.

· Клиент-серверные

Клиент-серверная СУБД располагается на сервере вместе с БД и осуществляет доступ к БД непосредственно, в монопольном режиме. Все клиентские запросы на обработку данных обрабатываются клиент-серверной СУБД централизованно. Недостаток клиент-серверных СУБД состоит в повышенных требованиях к серверу. Достоинства: потенциально более низкая загрузка локальной сети; удобство централизованного управления; удобство обеспечения таких важных характеристик как высокая надёжность, высокая доступность и высокая безопасность.

Примеры: Oracle, Firebird, Interbase, IBM DB2, Informix, MS SQL Server, Sybase Adaptive Server Enterprise, PostgreSQL, MySQL, Cache, ЛИНТЕР.

· Встраиваемые

Встраиваемая СУБД -- СУБД, которая может поставляться как составная часть некоторого программного продукта, не требуя процедуры самостоятельной установки. Встраиваемая СУБД предназначена для локального хранения данных своего приложения и не рассчитана на коллективное использование в сети. Физически встраиваемая СУБД чаще всего реализована в виде подключаемой библиотеки. Доступ к данным со стороны приложения может происходить через SQL либо через специальные программные интерфейсы.

Примеры: OpenEdge, SQLite, BerkeleyDB, Firebird Embedded, Sav Zigzag, Microsoft SQL Server Compact, ЛИНТЕР.

В наиболее полном варианте СУБД должна иметь следующие компоненты:

  • · Среда пользователя, дающая возможность непосредственного управления данными с клавиатуры.
  • · Алгоритмический язык для программирования прикладных систем обработки данных.
  • · Компилятор для придания завершенной программе вида готового коммерческого продукта в форме независимого ЕХЕ-файла.
  • · Программы-утилиты для быстрого программирования рутинных операций (генераторы отчетов, меню, экранов, кнопочных форм и др.).

Наличие и характер этих компонент во многом определяют технологичность работы программиста с СУБД и возможность ее использования людьми с небольшой компьютерной подготовкой.

Основные требования к готовой прикладной базе данных:

  • · Безопасное хранение данных, подразумевающее защиту как от сбоев и погрешностей оператора, так и от несанкционированного доступа и переноса.
  • · Возможности поиска, сортировки и отбора данных по заданным пользователем признакам.
  • · Возможность «неквалифицированного» ввода информации в базу персоналом с минимальной компьютерной подготовкой.
  • · Оформление и выдача печатных материалов, желательно с прямым подключением драйверов принтера для ускорения процесса печати.
  • · При необходимости - конвертация данных из других форматов и прием информации в базу.

Общая характеристика реляционной модели данных. Типы данных. Простые типы данных. Структурированные типы данных. Ссылочные типы данных.

Хотя понятие реляционной модели данных первым ввел основоположник реляционного подхода Эдгар Кодд, наиболее распространенная трактовка реляционной модели данных, принадлежит известному популяризатору идей Кодда Кристоферу Дейту.

Согласно Дейту, реляционная модель состоит из трех частей:

  • · Структурной части
  • · Целостной части
  • · Манипуляционной части

Структурная часть описывает, какие объекты рассматриваются реляционной моделью. Постулируется, что единственной структурой данных, используемой в реляционной модели, являются нормализованные n-арные отношения.

Целостная часть описывает ограничения специального вида, которые должны выполняться для любых отношений в любых реляционных базах данных. Это целостность сущностей и целостность внешних ключей.

Манипуляционная часть описывает два эквивалентных способа манипулирования реляционными данными - реляционную алгебру и реляционное исчисление. Первый механизм базируется в основном на классической теории множеств (с некоторыми уточнениями и добавлениями), а второй - на классическом логическом аппарате исчисления предикатов первого порядка.

Типы данных

Любые данные, используемые в программировании, имеют свои типы данных.

Важно! Реляционная модель требует, чтобы типы используемых данных были простыми.

Для уточнения этого утверждения рассмотрим, какие вообще типы данных обычно рассматриваются в программировании. Как правило, типы данных делятся на три группы:

  • · Простые типы данных
  • · Структурированные типы данных
  • · Ссылочные типы данных
  • · Простые типы данных

Простые, или атомарные, типы данных не обладают внутренней структурой. Данные такого типа называют скалярами. К простым типам данных относятся следующие типы:

  • · Логический
  • · Строковый
  • · Численный

Различные языки программирования могут расширять и уточнять этот список, добавляя такие типы как:

Целый, вещественный, дата, время, денежный, перечислимый, интервальный и т. д.…

Конечно, понятие атомарности довольно относительно. Так, строковый тип данных можно рассматривать как одномерный массив символов, а целый тип данных - как набор битов. Важно лишь то, что при переходе на такой низкий уровень теряется семантика (смысл) данных. Если строку, выражающую, например, фамилию сотрудника, разложить в массив символов, то при этом теряется смысл такой строки как единого целого.

Структурированные типы данных предназначены для задания сложных структур данных. Структурированные типы данных конструируются из составляющих элементов, называемых компонентами, которые, в свою очередь, могут обладать структурой. В качестве структурированных типов данных можно привести следующие типы данных:

  • · Массивы
  • · Записи (Структуры)

С математической точки зрения массив представляет собой функцию с конечной областью определения. Например, рассмотрим конечное множество натуральных чисел

называемое множеством индексов. Отображение

из множества A во множество вещественных чисел R задает одномерный вещественный массив. Значение этой функции для некоторого значения индекса i называется элементом массива, соответствующим i. Аналогично можно задавать многомерные массивы.

Запись (или структура) представляет собой кортеж из некоторого декартового произведения множеств. Действительно, запись представляет собой именованный упорядоченный набор элементов r i , каждый из которых принадлежит типу T i . Таким образом, запись r=(r 1 ,r 2 …r n) есть элемент множества T=T 1 ?T 2 ?…?T n . Объявляя новые типы записей на основе уже имеющихся типов, пользователь может конструировать сколь угодно сложные типы данных.

Общим для структурированных типов данных является то, что они имеют внутреннюю структуру, используемую на том же уровне абстракции, что и сами типы данных.

Поясним это следующим образом. При работе с массивами или записями можно манипулировать массивом или записью и как с единым целым (создавать, удалять, копировать целые массивы или записи), так и поэлементно. Для структурированных типов данных есть специальные функции - конструкторы типов, позволяющие создавать массивы или записи из элементов более простых типов.

Работая же с простыми типами данных, например с числовыми, мы манипулируем ими как неделимыми целыми объектами. Чтобы "увидеть", что числовой тип данных на самом деле сложен (является набором битов), нужно перейти на более низкий уровень абстракции. На уровне программного кода это будет выглядеть как ассемблерные вставки в код на языке высокого уровня или использование специальных побитных операций.

Ссылочный тип данных (указатели) предназначен для обеспечения возможности указания на другие данные. Указатели характерны для языков процедурного типа, в которых есть понятие области памяти для хранения данных. Ссылочный тип данных предназначен для обработки сложных изменяющихся структур, например деревьев, графов, рекурсивных структур.

Говоря подробнее о классификации баз данных по характеру хранимой информации, мы вы упомянем фактографические и документальные.

В системах фактографического типа в БД хранится информация об интересующих пользователя объектах предметной области в виде «фактов» (например, биографические данные о сотрудниках, данные о выпуске продукции производителями и т.п.). В ответ на запрос пользователя выдается требуемая информация об интересующем его объекте (объектах) или сообщение о том, что искомая информация отсутствует в БД.

В документальных БД единицей хранения является какой-либо документ (например, текст закона или статьи), и пользователю в ответ на его запрос выдается либо ссылка на документ, либо сам документ, в котором он может найти интересующую его информацию.

БД документального типа могут быть организованы по разному: без хранения и с хранением самого исходного документа на машинных носителях. К системам первого типа можно отнести библиографические и реферативные БД, а также БД-указатели, отсылающие к источнику информации. Системы, в которых предусмотрено хранение полного текста документа, называются полнотекстовыми.

В системах документального типа целью поиска может быть не только какая-то информация, хранящаяся в документах, но и сами документы. Так, возможны запросы типа «сколько документов было создано за определенный период времени» и т. п. Часто в критерий поиска в качестве признаков включаются «дата принятия документа», «кем принят» и другие «выходные данные» документов.

Классификация БД по способу хранения данных

Подробнее говоря о базах данных, классифицируемых по характеру хранения информации, мы выделим, что централизованные и распределенные БД предполагают возможность одновременного обращения нескольких пользователей к одной и той же информации (многопользовательский, параллельный режим доступа). Это привносит специфические проблемы при их проектировании и в процессе эксплуатации БД.

Рисунок 4 - Пример централизованной базы данных

Распределенные БД, кроме того, имеют характерные особенности, связанные с тем, что физически разные части БД могут быть расположены на разных ЭВМ, а логически, с точки зрения пользователя, они должны представлять собой единое целое.


Рисунок 5 - Пример распределённых баз данных

Программное обеспечение, предназначенное для работы с базами данных, называется система управления базами данных (СУБД).

Понятие “СУБД”

Система управления базами данных - это совокупность языковых и программных средств, которая осуществляет доступ к данным, позволяет их создавать, менять и удалять, обеспечивает безопасность данных и т.д. В общем СУБД - это система, позволяющая создавать базы данных и манипулировать сведениями из них. А осуществляет этот доступ к данным СУБД посредством специального языка - SQL.

SQL - язык структурированных запросов, основной задачей которого является предоставление простого способа считывания и записи информации в базу данных.

Итак, простейшая схема работы с базой данных выглядит примерно так:


Рисунок 6 - Схема работы с базой данных