Тема 9. БАЗЫ ДАННЫХ

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

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

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

Инструментальные языки делятся на языки низкого уровня (близкие к машинному языку) и языки высокого уровня (близкие к человеческим языкам). К языкам низкого уровня принадлежат ассемблеры, а высокого - Pascal, Basic, C/C++, языки баз данных и т.д. В систему программирования, кроме транслятора, входит текстовый редактор, компоновщик, библиотека стандартных программ, отладчик, визуальные средства автоматизации программирования. Примерами таких систем являются Delphi, Visual Basic, Visual C++, Visual FoxPro и др.

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

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

Данные - совокупность объективных сведений.

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

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

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

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

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

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

Наряду с понятием «база данных» существует термин «банк данных», который имеет две трактовки.

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

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

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

БД в простейшем случае представляется в виде системы двумерных таблиц. Таблицы представлены в ПК в виде файлов.

Файл - информация, хранимая на электронном носителе после завершения отдельных заданий и рассматриваемая в процессе обработки как единое целое.

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

Домен - совокупность значений поля.

Универсум - совокупность значений всех полей.

Запись - строка документа. Это пользовательское представление называют также логической записью.

Запись физическая (совокупность данных записываемых/считываемых одним блоком) характеризует расположение данных в физической памяти ПК.

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

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

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

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

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

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

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

Внешняя схема - описание данных на концептуальном уровне.

Внутренняя схема - описание данных на физическом уровне.

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

Задание (работа) - программа или совокупность программ и преобразуемые этими программами данные.

Индекс - совокупность указателей, содержащих информацию о местоположении записи.

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

КОДАСИЛ (CODASYL) - набор стандартов для сетевых БД.

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

Кортеж - совокупность полей или запись.

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

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

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

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

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

Отношение r на множествах (доменах)S1 , ..., Sn - подмножество декартова произведения S1 & ... & Sn . Отношение может быть составным: r = (r1 , ..., rn ).

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

Предметная область - часть реального мира, представляющая интерес для данного исследования (использования).

Программа - полное и точное описание алгоритма на некотором формальном языке.

Процедура - некоторая подпрограмма.

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

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

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

Синтаксис - правила, определяющие разрешенные языковые конструкции, а также последовательности расположения символов в программе.

Системный журнал - журнал регистрации всех изменений БД.

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

Структура - совокупность элементов и их связей.

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

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

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

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

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

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

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