Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Основы_БД_ХД.doc
Скачиваний:
13
Добавлен:
20.08.2019
Размер:
172.54 Кб
Скачать

12

Оперативный анализ данных Теоретич. основы базы и хранилища данных

1. База данных

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

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

Таким образом, если мы хотим представить данные о служащих фирмы и товарах в БД, то в модели сначала необходимо определить соответствующие типы объектов Служащий и Товар, а также указать какими свойствами и в каком порядке будем описывать элементы этих типов. Например, тип СЛУЖАЩИЙ может быть описан свойствами ТабНомер, ИмяСлуж, АдресСлуж и Пол, а тип ТОВАР – свойствами КодТовара, НаимТовара, КодПоставщика, Количество и Цена), т.е.

Служащий (ТабНомер, ИмяСлуж, АдресСлуж, Пол)

Товар (КодТовара, НаимТовара, КодПоставщика, Количество, Цена)

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

523; Акопян А.Г.; ул. Цветочная, 28; Жен

относится к типу СЛУЖАЩИЙ, а

3297; Лопата; 541; 120; 400,5

относится к типу ТОВАР.

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

1) Описание типов объектов и свойств, характеристик объектов (атрибутов), а также типов связей между конкретными экземплярами этих типов объектов. Такая информация называется интенсиональной.

2) Конкретные данные, экземпляры типов объектов и конкретные связи между этими экземплярами. Такая информация называется экстенсиональной.

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

Чаще всего, для представления данных в БД используется реляционная модель.

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

– расположение экземпляров в строках не имеет значения,

– запрещено наличие одинаковых экземпляров в одной и той же таблице.

Интенсионал такой модели представляет собой множество так называемых схем отношений. Каждая такая схема отношения задается именем соответствующего типа объекта (или типа связи) и списком имен его атрибутов.

В приведенном выше примере схемой отношения является

Служащий(ТабНомер, ИмяСлуж, АдресСлуж, Пол)

тогда соответствующая реляционная таблица (отношение) будет иметь следующий вид

Служащий

ТабНомер

ИмяСлуж

АдресСлуж

Пол

123

Коровина М.А.

ул. Петрова, 8

жен

862

Лавров К.С.

ул. Лебедева, 23

муж

012

Боков А.М.

ул. Садовая, 6

муж

523

Акопян А.Г.

ул. Цветочная, 28

жен

324

Чащина И.Н.

ул. Зеленая, 61

жен

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

Некоторые поля обладают замечательным свойством: зная значение этого поля у экземпляра объекта, мы можем однозначно определить значения, указанные в других полях этого же экземпляра. Например, в отношении Служащий по номеру 523 мы можем определить, что это Акопян А.Г. женского пола, проживающая по адресу Цветочная, 28.

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

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

В реляционной модели в виде отношений (реляционных таблиц) представляются как типы объектов, так и типы связей. Тип связи формируется для описания связей между конкретными экземплярами разных типов объектов. Интенсионал типа связи представляется последовательностью двух и более полей тех типов объектов, которые связаны между собой. Экстенсионал типа связи – это множество конкретных реализаций связи, т.е. кортежей этих полей.

Если у типов объектов есть ключевые поля, то тип связи может состоять только из них. Например, если в типах объектов

клиент (НомерКлиента, ИмяКлиента, АдресКлиента, ВозрастКлиента) и

счет(НомерСчета, ТипСчета)

ключевыми являются поля НомерКлиента и НомерСчета, то с их помощью можно сформировать тип связи владелец_счета, который характеризует, какой именно конкретный клиент с каким именно счетом связан (владеет им):

владелец_счета (НомерКлиента, НомерСчета)

Заметим, что поля НомерКлиента и НомерСчета для типов объектов являются первичными ключами, а в типе связи они играют роль внешних ключей.

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

Служащий (ТабНомер, ИмяСлуж, АдресСлуж, Пол)

ключевым является поле ТабНомер, а в типе объекта

компания (Название, Дислокация)

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

наниматель (ТабНомер, Название, Дислокация)

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

Например, связь между отношениями

БОЛЬНИЦА (КодБольницы, НазваниеБольницы, Адрес) и

ПАЛАТА (КодПалаты, ТипПалаты, КодБольницы)

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

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

СУБД обеспечивает выполнение множества функций управления данными, например,

– хранение больших объемов информации;

– внесение новых данных, изменение, удаление, сортировка и другие манипуляции с данными в БД;

– поиск данных по различным группам признаков;

– расширение и реорганизация данных в БД при изменениях предметной области;

– одновременное обслуживание большого числа пользователей;

– разграничение доступа пользователей к данным;

– выдача информации пользователям в различной форме.

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