Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
КонспектЛекций.doc
Скачиваний:
70
Добавлен:
14.05.2015
Размер:
1.26 Mб
Скачать

Конспект лекций по курсу «Базы данных». В.Пикулев.

2003 год. Home edition.

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

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

О замеченных опечатках и ошибках просьба сообщить на консультации перед экзаменом.

Глава 1. Теоретические основы баз данных.

    1. Информационные системы.

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

Информационная система (ИС) – взаимосвязанная совокупность средств, методов и персонала, используемая для хранения, обработки и представления информации.

К функциям информационных систем относятся:

  • хранение информации

  • ввод и редактирование информации

  • просмотр и поиск информации

  • выборка информации по заданным критериям

  • подготовка отчётов

  • контроль правильности информации

Различают два основных класса ИС: информационно-поисковые (развитой поиск данных по определённому критерию), системы обработки данных (пользователя интересует результат обработки, а не сами исходные данные).

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

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

Конечному пользователю не нужно знать:

  • о физическом размещении в памяти данных и их описаний

  • об особенностях реализации механизмов поиска запрашиваемых данных

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

  • об организации защиты данных от некорректных обновлений или несанкционированного доступа

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

    1. Терминология субд.

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

В широком смысле база данных:

  • Это совокупность сведений о конкретных объектах реального мира в какой-либо предметной области.

  • Это массив связанной информации.

В более узком (прикладном) смысле база данных:

  • Именованная совокупность взаимосвязанных данных, находящихся под управлением СУБД.

  • Файлы, снабжённые описанием хранимых в них данных и находящиеся под управлением СУБД.

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

Назначение СУБД:

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

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

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

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

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

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

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

Технология «клиент-сервер»подразумевает, что помимо хранения базы данных центральный компьютер (сервер базы данных) должен ещё и обеспечивать выполнение основного объёма обработки этих данных. Запрос клиента (программы-клиента) на выполнение какой-либо операции с данными провоцирует на сервере поиск и извлечение данных. Клиентская часть (Front-End) обеспечивает графический интерфейс и находится на компьютере пользователя; серверная часть (Back-End) обеспечивает управление данными, разделение информации, администрирование и безопасность. Примерами СУБД, работающих по технологии клиент-сервер, являютсяMSSQLServer,Oracle,IBMDB2,SyBase.

Функции СУБД:

  • Непосредственное управление данными во внешней памяти.

  • Управление буферами оперативной памяти (собственный набор буферов и протоколов буферизации данных)

  • Управление транзакциями

  • Журнализация (способность восстановить последнее согласованное состояние БД после любого аппаратного или программного сбоя)

  • Поддержка языков баз данных

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