Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Posibnik.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
5.62 Mб
Скачать

Системы с базами данных

Все перечисленные выше ограничения файловых систем являются следствием двух факторов:

1. Определение данных содержится внутри прикладных программ, а не хранится отдельно и независимо от них.

2. Помимо прикладных программ не предусмотрено никаких других инструментов доступа к данным и их обработки.

Для повышения эффективности работы необходимо использовать новый подход, а именно базу данных (database) и систему управления базами данных, или СУБД (Database management System-DBMS).

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

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

Вместо разрозненных файлов с избыточными данными, здесь все данные собраны вместе с минимальной долей избыточности.

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

В совокупности, описание данных называется системным каталогом (system catalog), или словарем данных (data dictionary), а сами элементы описания принято называть метаданными (meta-data), т.е. “данными о данных”.

Именно наличие самоописания данных в базе данных обеспечивает в ней независимость между программами и данными (program-data independence).

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

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

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

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

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

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

Атрибутом (attribute) называется свойство, которое описывает некоторую характеристику описываемого объекта;

Связь (relationship)это то, что объединяет несколько сущностей.

Диаграмму "сущность-связь", или ER-диаграмму (Entity relationship – ER) рассмотрим на примере абстрактного учебного процесса. Он состоит из следующих компонентов:

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

  • Связей (обозначены ромбиками), объединяющие основные сущности. Например, ГС (сокращение Группа/Студент): каждый студент находится в определенной группе, и каждая группа содержит определенного студента. Аналогично, каждая группа принадлежит к определенной кафедре, а кафедра состоит из определенных групп (связь ГК – сокращение от Группа/Кафедра); преподаватель относится к кафедре, а кафедра имеет определенных преподавателей (связь КП – сокращение Кафедра/Преподаватель) и т.д.

Рис. 1.1. Пример диаграммы «сущность-связь».

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

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

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

Примечание. Первоначально вместо перманентных данных использовался термин операционные данные. Старый термин акцентировал внимание на особом значении оперативных, или производственных, приложений баз данных, т.е. рутинных, часто выполняющихся приложений. В последнее время используется термин оперативная обработка транзакций (On-Line Transaction ProcessingOLTP). Однако теперь базы данных все чаще применяются в приложениях поддержки принятия решений (decision support), и термин операционные данные для них уже не подходит. На сегодняшний день на практике используют две отдельные базы данных – с операционными данными и с данными для поддержки принятия решений; последнюю обычно называют хранилищем данных (data warehouse). В хранилищах данных часто содержится агрегированная информация, которая, в свою очередь, периодически извлекается из операционной базы данных.

Типы информации в базе данных:

1. Данные пользователей. Сегодня большинство БД представляют данные пользователей в виде отношений (relations). Отношениеэто таблица данных. Столбцы таблицы содержат поля, или атрибуты, а строки содержат записи о конкретных объектах делового мира.

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

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

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

Система управления базами данных – СУБД

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

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

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

2. Позволяет вставлять, обновлять, удалять и извлекать информацию из базы данных, что обычно осуществляется с помощью языка управления данными (Data Manipulation Language). Наличие централизованного хранилища всех данных и их описаний позволяет использовать язык DML как общий инструмент организации запросов, который иногда называют языком запросов (query language). Язык запросов позволяет устранить присущие файловым системам ограничения, при которых пользователям приходится иметь дело только с фиксированным набором запросов или постоянно возрастающим количеством программ, что порождает другие, более сложные проблемы управления программным обеспечением.

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

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

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

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

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

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

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

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]