11_3_1

БАЗА ДАННЫХ

Базы данных являются одним из основных компонентов современных информационных систем. 

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

Цель любой информационной системы — обработка информации конкретной предметной области.

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

База данных — это информационные структуры, содержащие взаимосвязанные данные о реальных объектах.

Особенностями такой совокупности данных являются:

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

По технологии обработки базы данных делятся на централизованные и распределенные. Централизованная база данных хранится в памяти одной машины.

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

Централизованные базы данных по способу доступа делятся на:

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

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

ИНФОЛОГИЧЕСКАЯ МОДЕЛЬ БАЗЫ ДАННЫХ. ОСНОВНЫЕ ВИДЫ МОДЕЛЕЙ. ПРОЕКТИРОВАНИЕ БАЗ ДАННЫХ

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

Информационный объект — это описание некоторой сущности (явления, реального объекта, процесса) в виде совокупности логически связанных реквизитов. Например, информационный объект Студент описывает некоторую сущность — студент. Реквизитный состав этого информационного объекта, т. е. его структура, следующий: № группы, ФИО, № зачетной книжки, дата рождения. Информационный объект имеет множество реализаций — экземпляров. 

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

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

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

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

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

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

Табличная база данных

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

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

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

Строки таблицы являются записями об объекте; эти записи разбиты на поля столбцами таблицы. Запись базы данных — это строка таблицы, которая содержит набор значений различных свойств объекта.

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

Тип поля определяется типом данных, которые оно содержит. Выделяют следующие типы данных:

1) «счётчик» - набор целых чисел, которые задаются автоматически при вводе записей и не могут быть изменены пользователем БД;

2) текстовый – содержит одну строку текста не более 255 знаков;

3) числовой – содержит числа;

4) дата\время – содержит числа в формате времени;

5) денежный – содержит числа в денежном формате;

6) логический – содержит значения «истина», «ложь»;

7) поле MEMO – содержит текст из нескольких строк, просматриваемых с помощью полос прокрутки;

8) объект OLE – поле вставки изображения, звука, файла, таблицы Excel и др.;

9) гиперссылка – ссылка на другой информационный ресурс (объект, файл, Internet).

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

- размер поля (максимальная длина текстовой или числовой величины);

- формат поля (устанавливает формат данных);

- обязательное поле (поле, которое надо заполнять обязательно).

РЕЛЯЦИОННАЯ БАЗА ДАННЫХ И ЕЕ ОСОБЕННОСТИ 

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

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

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

Пусть создана таблица Студент, содержащая следу-рэщие поля: № группы, ФИО, № зачетки, дата рождения, шазвание специальности, название факультета. Такая организация хранения информации будет иметь ряд недостатков:

Нормализация таблиц предназначена для устранения этих недостатков. Имеется три нормальные формы отношений.

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

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

Третья нормальная форма. Таблица находится в третьей нормальной форме, если она удовлетворяет требованиям второй нормальной формы, ни одно из ее неключевых полей не зависит функционально от любого другого неключевого поля. Например, в таблице Студент (№ группы, ФИО, № зачетной книжки, Дата рождения, Староста) три поля — № зачетной книжки, № группы, Староста находятся в транзитивной зависимости. № группы зависит от № зачетной книжки, а Староста зависит от № группы. Для устранения транзитивной зависимости необходимо часть полей таблицы Студент перенести в другую таблицу Группа. Таблицы примут следующий вид: Студент (№ группы, ФИО, № зачетной книжки, Дата рождения), Группа (№ группы, Староста).

Над реляционными таблицами возможны следующие операции:

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

Существуют следующие типы информационных связей:

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

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

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