Классификация и характеристика баз данных. Классификация бд по характеру хранимой информации Классификация бд по способу хранения данных

ТЕМА 2 КЛАССИФИКАЦИЯ БнД

Изучаемые вопросы:

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

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

Литература: , глава 1, глава 2, глава 3.

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

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

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

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

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

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

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

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

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

5) По характеру организации хранения данных и обращения к ним различают локальные и распределенные БД.

Локальная БД – это БД, предназначенная для использования одним пользователем. Локальные БД могут создаваться каждым пользователем самостоятельно, а могут извлекаться из общей БД.

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

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

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

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

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

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

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

Таблица 2.1 - Наиболее популярные настольные СУБД

СУБД

Производитель

Visual dBase

dBase, Inc

Paradox

Corel

Microsoft Access

Microsoft

Microsoft FoxPro

Microsoft

Microsoft Data Engine

Microsoft

Таблица 2.2 - Серверные СУБД

СУБД

Производитель

Oracle

Oracle Corp.

Microsoft SQL Server

Microsoft

Informix

Informix

Sybase

Sybase

5) По ориентации на преобладающую категорию пользователей можно выделить СУБД для разработчиков и для конечных пользователей .

Системы, ориентированные на разработчиков , должны:

¾ иметь качественные компиляторы;

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

¾ обладать развитыми средствами отладки;

¾ включать средства документирования проекта;

¾ обладать возможностями, позволяющими создавать эффективные сложные системы.

Основными требованиями , предъявляемыми к системам, ориентированным на конечного пользователя , являются:

¾ удобство интерфейса;

¾ высокий уровень языковых средств;

¾ наличие интеллектуальных модулей подсказок;

¾ повышенная защита от непреднамеренных ошибок («защита от дурака») и т. д.

3. Классификация банков данных

1) По условиям предоставления услуг различают бесплатные и платные. Платные делятся на коммерческие и бесприбыльные.

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

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

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

3) По степени доступности различают общедоступные и с ограниченным кругом пользователей.

4) По охвату предметной области БнД могут классифицироваться в разных «разрезах»:

¾ территориальный (всемирный, страна, город и т.д.);

¾ временной (год, месяц, с начала века и т.п.);

¾ ведомственный;

¾ проблемный (тематический) .

5) По характеру взаимодействия с пользователем БнД делятся на активные и пассивные. В пассивных БнД ведущая роль принадлежит пользователю. В активных – система может самостоятельно менять поведение.

6) По характеру преобладающей обработки информации различают OLTP - системы (On - Line Transaction Processing ) – системы оперативной обработки транзакций (реализуют большое число достаточно простых запросов) и OLAP – системы (On - Line Analytical Processing ) – системы аналитической обработки данных (реализуют сложную аналитическую обработку данных) или системы поддержки принятия стратегических решений (СППР) .

До середины 90-х годов ХХ в. Под БД понимали статические БД (OLTP ). К середине 90-х годов в БД класса OLTP скопилось столько хронологической информации, что объем БД резко возрос, а быстродействие начало падать. Например , в работе деканата чаще всего требуются детальные данные о текущем учебном годе. В то же время в БД хранятся ретроспективные данные и за предыдущие годы. Такие данные необходимы значительно реже и чаще всего в агрегированном виде. Наприме6р, выдать фамилии студентов, которые три последних семестра получали только отличные оценки.

Таблица 2.3 - Сравнение OLTP и OLAP

Характеристика

OLTP

OLAP

Преобладающие операции

Ввод данных, поиск

Анализ данных

Характер запросов

Много простых транзакций

Сложные транзакции

Хранимые данные

Оперативные, детализированные

Охватывающие большой период времени, агрегированные

Вид деятельности

Оперативная, тактическая, несложная обработка

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

Тип данных

Структурированные

Разнотипные

Период хранения данных

До года

До нескольких десятков лет

Изменчивость данных

Изменяются

Добавляются

Упорядочение данных

По любому полю

По хронологии

Объем обрабатываемой информации

Небольшой

Очень большой

Скорость обработки

Средняя

Очень высокая

Часто и небольшими порциями

Редко и очень большими порциями

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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


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

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

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

СУБД - совокупность языковых и программных средств, предназначенных для создания, ведения и совместного применения БД многими пользователями. ПР FoxPro 2.5, Visual FoxPro 8.0, Paradox, Access. База знаний(БЗ) - формализованная система сведений? о некоторой предметной области, содержащей данные о свойствах объектов, закономерностей процессов и явлений, а т.ж правилах использования в задаваемых ситуациях этих данных для принятия новых решений.

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

1. По типу информационных систем

Локальные- обеспечивают автоматизацию отдельных функций(АРМ бухгалтера)

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

2. По характеру организации данных и доступа к ним

Локальные(персональные)

Общие(централизованные, интегративные)

Распределительные

3. По способу обработки

Система оперативной обработки информации (Online Transaction Processing) – относят БД, используемые для автоматизации процессов управления в предметных областях, таких как банк или склад. Для таких БД характерно большое число обновлений-транзакций. Транзакция – это неделимая с позиции воздействия на БД последовательность операций манипулирования данными,

Система аналитической обработки (Online Analysis Processing),

Дедуктивные логические БД – исп-ся в интеллектуальных системах. ПР: для вывода новой информации с использованием правил логики.

4. По виду хранимых данных

Не структурированные (семантические сети)

Частично структурированные (гипертекст)

Структурированные (БД FVP)

5. Структурированные БД, классифицируются по типу используемой модели данных

Иерархические,

Сетевые,

Реляционные,

Многомерные

6. по форме представления данных пользователем

Видеосистемы,

Аудиосистемы,

Мультимедиа

7. по типу хранимой информации

Фактографические БД (структурированная)

Документальные (текстовая информация)

Лексикографические (различные словари)

8. По экономико-организационным признакам:

8.1. По условиям предоставления услуг:

Бесплатные,

Платные

8.2. По форме собственности:

Государственные,

Негосударственные

8.3. По степени доступности:

Общедоступные,

С ограниченным кругом пользователей.

    Этапы развития концепции базы данных (БД).

1 этап связан с нач пер развития ВТ. Т.о, для начального периода хар тесная связь программ и дан. Дан, хранящиеся в памяти ЭВМ, на внешних запоминающих устройствах, называются физ. Уровень представления данных в памяти ЭВМ называется физическим. Программы непосредственно работали с физическим уровнем хранения. Незав-сть отсутствует. Основные понятия физического уровня: физическая запись, физические блоки данных на МЛ (магнитном носителе). Выводы: понятие инф. Б. в виде несвязанных массивов; один–физ.–ур. представления дан; отсутствие независимости.

Второй этап (60-е годы)Связан с появлением ЭВМ 2-го поколения, на транзисторах. Стали появляться ЯП и ОС, которые предоставили возможность работы на логическом уровне. ЯП позволили работать с именами, а не адресами данных. Появился новый уровень представления данных - логический. Была реализована физическая независимость данных. В это время ЭВМ стали использоваться для решения экономических задач. Базой данных стали называть набор файлов, хранящихся не ВЗУ и используемых для решения комплексов задач. Основные понятия логического уровня:

Файл – это именованная совокупность логических записей единого типа. Логическая запись – именованная совокупность связанных полей данных. Поле данных представляет собой наименьшую единицу (хранимых) данных. Поле имеет имя, тип, длину. Началась разработка различных АИС. Выводы: БД – совок-ть ф., имеет 2 ур. – лог. и физ., физ. уровень независим.

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

В книге Дж. Мартина “Организация БД в вычислительных системах” (Мир, 1980г.) дается опр., ставшее классическим:

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

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

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

Первые СУБД поддерживали иерархические структуры данных, которые естественным образом отображали объемы предметной области: IMS, ADABAS, OKA и другие. Инес затем сетевые – Сетор, Седан. Постепенно сформировался общий взгляд на универсальные СУБД, которые реализуют исходные модели данных, формальные представления о данных. Сформировались преставления о реляц МД, но первые реляц СУБД были только экспериментальные. Итогом третьего этапа были формирование концепций БД, появление первых СУБД и развитие теории моделей данных. Появляются мини ЭВМ.

Для Четвёртого этапа (конец 80-х – начало 90-х гг.)характерно появление ПЭВМ, универсальных реляционных СУБД, развитие теории моделей данных и методов проектирования БД. Наиболее сложной для реализации является логическая независимость. Появилось представление о 3-х уровневой архитектуре СУБД. Получили распространение сети ЭВМ, распределение обработки данных (локальные, однородные), наряду с централизованными. Наиболее значительное достижение – реляционные МД, реляционные языки запросов, реляционные СУБД. Появился сетевой уровень представления данных в локальной сети. В методологии проектирования центральное место занимают БД.

Пятый этап Современный этап. Основная проблема – интеграция разнородных сетей на базе архитектуры «клиент - сервер». Сочетание централизованных и распределённых БД. Новый уровень – сетевой. Независимость от источника данных. Пользователям безразлично, где находятся нужные данные, в каком виде, дублируются данные в сети, или нет. Новые подходы к проектированию – объектный, компонентный. Выделяется ряд новых требований к СУБД:

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

Полотно БД

Кол. уровней

Независимость

Машинные языки

Массивы (ф) несвяз дан

Отсутствует

II поколение, МЛ

ЯП 1 поколения, ОС

Файлы данных

2 – физ, лог

Физическая

III поколение, ИД

ЯП 2 пок, ОС, СУБД

Концеп БД централиз

Логический, физический

IV поколение,

ПЭВМ, сети

ЯП 3 пок, сетевые ОС, ОС, СУБД

Реляц БД, распредел БД, мультимодельные

Логический, физический, независимы от источника

Сети, арх «кл - сер»,WWW

ЯП 4 пок, ОС, СУБД, технол internet, intranet

Распредел и центральные БД, ООБД, Гипертекст

Ур объектов + сетевой

Лог, физ, Независимость от источника данных


3. Цели проектирования БД, требования к БД. Структура процесса проектирования

Термином “проектирование” обозначают все виды работ, имеющих отношение к созданию конечного продукта.

Основные цели проектирования заключаются в том, чтобы:

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

2) обеспечить доступ к данным за приемлемое время.

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

Эти требования заключаются в следующем:

    Адекватность БД предметной области. В БД должны быть представлены объекты и процессы ПрО.

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

    Производительность. Обеспечение требований ко времени выполнения запросов пользователей.

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

    Простота и удобство эксплуатации (с точки зрения пользователей).

    Возможность взаимодействия польз. различных категорий и в различных режимах.

    Интегрированность, независимость, мин избыточность данных. Концептуальное представл. о данных должно быть единым.

    Целостность, согласованность, восстанавливаемость данных.

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

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

Восстанавливаемость . Возможность восстановления целостности после любого сбоя системы. Оказывает влияние на эффективность (копирование требует больших затрат).

    Безопасность - защита данных от несанкц. доступа, модификации или разрушения.

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

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

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

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

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

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

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

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

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

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

  • · БД во вторичной памяти (традиционные): средой постоянного хранения является периферийная энергонезависимая память (вторичная память) -- как правило жёсткий диск. В оперативную память СУБД помещает лишь кеш и данные для текущей обработки.
  • · БД в оперативной памяти (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 . Объявляя новые типы записей на основе уже имеющихся типов, пользователь может конструировать сколь угодно сложные типы данных.

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

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

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

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

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

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

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

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

Виды БД

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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