Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебное пособие 700276.doc
Скачиваний:
11
Добавлен:
01.05.2022
Размер:
1.94 Mб
Скачать

1. Введение в базы данных

1.1. Что такое база данных

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

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

- добавление новой информации в существующие файлы БД;

- добавление новых пустых файлов в БД;

- изменение (модификация) информации в существующих файлах БД;

- поиск информации в БД;

- удаление информации из существующих файлов БД;

- удаление файлов из БД.

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

В качестве иллюстрации рассмотрим небольшую БД, приведенную на рис. 1.1, в которой хранится информация о стипендии студентов.

KOD

NAME

GROUP

BALL

STIP

525122

Батракова И.Н.

5-4-УПП

4,5

22.50

525123

Баулин А.В.

5-4-УПП

5

18.75

Запись

525124

Белянжн Д. А.

5-4-УПП

4

25.00

525125

Бондаренко О. В.

5-4-УПП

4,5

22.50

525126

Зеленский И.В.

5-4-УПП

3,4

0.00

525127

Климова В.В.

5-4-УПП

4,5

22.50

525128

Кричун О.Б.

5-4-УПП

4

18.75

525129

Кузнецова В.В.

5-4-УПП

4

22.50

525130

Нестреляй А.Н.

5-4-УПП

3

0.00

525131

СаловаО.П.

5-4-УПП

4,5

22.50

Поле

Рис. 1.1. Пример таблицы БД "Стипендия"

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

- KOD - номер студенческого билета;

- NAME - фамилия и инициалы студента;

- GROUP - наименование учебной группы студента;

- BALL - средний балл успеваемости студента;

- STIP - размер начисленной стипендии.

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

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

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

Если говорить более детально, то к функциям СУБД относят следующие:

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

- управление данными в памяти компьютера - функция, связанная в первую очередь с тем, что СУБД работают с БД большого размера. В целях ускорения работы СУБД используется буферизация данных в оперативной памяти компьютера. При этом пользователь СУБД использует только необходимую для его конкретной задачи часть БД, а при необходимости получает новую "порцию" данных;

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

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

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

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

- модели, основанные на инвертированных списках;

- иерархические модели данных;

- сетевые модели данных;

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

- операторы над адресуемыми записями.

БД, основанная на иерархической модели, состоит из упорядоченного набора деревьев. Каждое дерево состоит из одного "корневого" (предок) и упорядоченного набора из нуля или более связанных с ним поддеревьев (потомки). Целостность связи между ними поддерживается автоматически.

В таких БД поддерживаются следующие операторы манипулирования данными:

- найти дерево БД по заданному признаку;

- перейти от одного дерева к другому;

- перейти к записи внутри дерева или в порядке обхода иерархии (сверху вниз, слева направо);

- вставить новую запись в указанную позицию.

- удалить текущую запись.

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

- найти запись по заданному признаку;

- перейти от предка к потомку по указанной связи;

- перейти от потомка к предку по некоторой связи;

- создать новую запись или удалить существующую;

- модифицировать заданную запись;

- включить в связь или исключить из связи;

- переставить в другую связь.

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